2-10 QEを使って問題を解く

演習問題を行う前に 1-2. Mathematica を使うときの注意を良く読んでください.


内容

  1. QEとは?
  2. 大学入試問題を解いてみよう(基本編)
  3. 大学入試問題を解いてみよう(実践編)
  4. 演習問題

QEとは?

QEとは、Quantifier (∀、∃)を含んだ数式をそれと同値であるQuantifier を含まない数式へ変換する方法です。

分かりにくいと思うので例をあげて見ましょう。例えば

という命題は、Quantifier (∀、∃)を用いると

と書き表せます。今、

とした場合を考えると、

となり、2次方程式が実根を持たないための条件となります。よく知られている通り、これは

と同値です。これを計算してみましょう。次のように入力してください (Element[x,Reals] は x が実数であることを示します)

入力
出力

きちんと、上の (1) が条件として計算されました。

上のように、Mathematica で QE(Quantifier Eliminaton)の計算を行うには、Resolve という命令を使います。

を解く為には

を使います( ForAll は ∀ を表しています)。また

を解くには

を使います( Exists は ∃ を表しています)。

さて、それでは次のための条件を求めてみましょう。

これは、∃を用いて次のように書き表せます。

よって、次のようにすればよいことになります。

入力
出力

答えは「 -b2+4c ≦ 0」ということになります。


大学入試問題を解いてみよう(基本編)

それでは、QEを用いて大学入試問題を解いてみましょう。まず、簡単なものから行きます。

(1), (2) の条件を Quantifier (∀、∃)を用いて書き表すと

となりますね(何故こうなるか分からない人は良く考えてください)。まず、(1) を解いてみます。

入力
出力

よって求める条件は -2 < a < 3 です。次に (2) を解いてみましょう。

入力
出力

Mathematica の && は論理の「かつ」を表します。ですから、上の「x ∈ Reals && 4 < x < 6」 は「x ∈ Reals かつ 4 < x < 6 」を表しています。
上の出力より、求める答えは a ≦22/7 であることがわかりました。

それでは、次に下の問題を考えます。

(1),(2),(3) の条件を Quantifier (∀、∃)を用いて書き表すと

となります。まず、(1) から解きます。

入力
出力

x と y は対称的ですので、x < y と仮定して問題ありません( y < x としても同じ答えが出ます)。
上の答えは 「m < 1/8 かつ m ≠ 0」です。

次に (2) を解きます。

入力
出力

答えは -1 < m < 0 であることがわかります。最後に (3) を解きます。

入力
出力

答えは m < -1 です。

最後に最大化問題を考えます。次の問題を見てください。

最大値を求める問題は、Quantifier(∀、∃)とは全く違っている気がしますが、実は最大化問題は次のように考えることが出来ます。

今、p(x) を満たす x の範囲で q(x) を最大化する問題、すなわち

を求める問題を考えます。上の問題の場合では

となっています。この最大値が M である

ならば、この M は次の条件を満たす定数であることがわかります(難しいかもしれませんが、よく考えてください)。

また、逆に上式を満たす M は最大値であることもいえます。よって

であるのです。よって、上の条件を満たす M を QE(Quantifier Elimination)で求めれば、最大化問題が解けることになります。

それでは、先ほどの問題を実際に解いてみましょう。先ほど述べたように

ですから、始めの∀を含んだ条件は

入力
出力

ですね(答えの条件を変数 c1 に代入しておきます)。次の∃を含んだ条件は

入力
出力

ですね(答えの条件を変数 c2 に代入しておきます)。

最後に「 c1 かつ c2」 の条件を求めます( Reduce は論理式を簡単化する命令です)。

入力
出力

ちょっと見づらいですが、a の値に応じて場合わけをすると、答えは

であることがわかります。

次の M=5 となるときの a の値を求めます。この場合は先ほどの M が 5 ですから

が最大値が満たすべき条件になりますね。

先ほどと同様にして

入力
出力
入力
出力
入力
出力

となり、a = -2 または 5^(1/2) が求まりました。


大学入試問題を解いてみよう(実践編)

それでは、実際の大学入試問題を解いてみましょう。次の問題を見てください。

この問題は、「2006年度山口大学入試問題 理系β(医学部、理学部数理化学科)」として実際に出題された問題です。

早速解いてみましょう。まず、下の図を考えます。

図の赤線の長さ L を求めるのが問題です。

に注意すると

がわかります。先ほどの最大値の条件より

ですね。では解いてみましょう。まず、∀を含んだ条件式です。

入力
出力

条件式が複雑になってしまいました。 a, M は長さなので a>0, M>0 の条件を入れて、 条件式を簡単にしましょう。

入力
出力

次に∃を含んだ条件です。

入力
出力

こちらも a>0, M>0 の条件を入れて、 条件式を簡単にします。

入力
出力

上の2つの条件を合わせて簡単化します。

入力
出力

少し見づらいですが、a の値に応じて場合分けすれば

がわかります。

次に下の問題を考えます(これは津田塾大学の問題です)。

この問題の条件は、次のように書けますね。

よって、QE を用いて次のように解けます
(後で点(a,b) の存在範囲の図示に使うため、計算結果を変数 c に保存しておきます)。

入力
出力

点(a,b) の存在範囲の図示には、RegionPlot という命令を使います。 先ほど、a, b に対する条件を変数 c に代入しておきましたので、 次のように入力します(→は -> と入力してください)。

入力
出力

演習問題

つぎの問題を解け

(1)

(2006年度山口大学入試問題 文系問題)

(2)

(上智大学入試問題)

(3)

(2006年度センター入試 数学II)