やみくもに逃走者を追いかけるのは、効率的ではない。
建物にいる以上、外に出るには出口を通るしかない。つまり、最初にやるべきことは「出口をすべて塞ぐこと」だろう。出口さえ塞いでしまえば、その内部で動き回るしかないので、捕まえられるのは時間の問題だ。
これに似たような考え方は、思いのほか適用範囲が広い。つかまえるべき要素を闇雲に追い回すより、「最終的にここさえ張っておけば間違いない」というポイントを掴むほうが効率的、ということは思いのほか多い。
これに似たような考え方は、思いのほか適用範囲が広い。つかまえるべき要素を闇雲に追い回すより、「最終的にここさえ張っておけば間違いない」というポイントを掴むほうが効率的、ということは思いのほか多い。
xy平面上の原点と点(1,2) を結ぶ線分(両端を含む)をLとする。Lとy=x2+ax+b が交点を持つような実数の組(a,b)の集合をab平面上に図示せよ。
2005年、京都大学の問題。
京都大学にしては簡単な問題だが、まぁ文理共通問題だからこの程度だろう。
数学慣れしていない学生には、x, y, a, bと文字が4つも出てくるだけでうんざりするだろうが、まぁ、京都大学にとっては簡単なジャブ程度の問題だと思う。
示せばならないのは要するに実数条件だ。形としては「Aとなるような、Bの条件を求めろ」という問題。おおむね数学の問題では、Aには「パラメータ(tとか)入りの関数」が入り、Bには「その関数が実数解をもつようなパラメータの条件」が入ることが多い。
この京都大学の問題ではちょいとひとひねりしてあって、パラメータがa, bと2変数になっており、示す条件が単純な範囲ではなく領域になっている。まぁ、変数が1つであれば一次元上の範囲で条件が求まるが、変数が2つなので二次元上の平面で示す必要がある、というだけの話だ。
さて、こういう形の問題は数学に限らない。
「AがBとなるような、Aの条件を求めろ」というだけなら簡単だ。「Aは、こうすべきである」という直接的な制約を求めればいい。「ぐうたらな男が働くようになる条件を求めろ」というのであれば、「男を蹴っ飛ばしてむりやり働かせる」という直接攻撃をかければいい。
しかし、そうやってAに直接的に条件をかけても、実際に効果があるかどうかは定かではない。そこで実際には、「Aを構成する具体的な要素」を操作することが多い。たとえば男が働くようになるための要素として「給料」「ごほうび」「女」「ごはん」などという要素を並べる。こういう、Aを動かす要素(=Aに内在する変数)のことを「パラメータ」という。
すると問題は、例えば「ぐうたらな男が働くようになる、妥当な給料の額の条件を求めろ」というように、問題が変わる。先ほどの問題では「男をどうすればいいか」だったのが、「給料の額をどうすればいいか」となる。
パラメータの特徴は、操作が簡単なように、変動する数値で表せることだ。「男を働かせる」という事象Aは客観的に効果の有無がはかりにくいが、「給料の額」というパラメータは数字で簡単に操作できる。まぁ、京都大学の出題の意図としては、「将来、ヒモの男につきまとわれたときに、ちゃんと男を鍛えて働かせることができますか」といったところだろう。

冗談です。
さて京都大学の数学に戻ると。
関数であれば、入力と出力を備えた構造になっている。通常はxが入力でyが出力だ。普通、いじらなければいけない事象Aがこういう構造をしているとき、入力条件とそれに伴う出力結果を考えることが多い。
この問題の場合、そういう正攻法で解こうとすると、a, bというパラメータが入っているため、考えるのが面倒だ。そういう時は、どうすればいいのか。
集合論や関数の考え方に、「逆像法」という考え方がある。一部の受験参考書では「逆手流」と呼ばれている。関数や集合などの写像関係を、出力の側から逆に条件を求める考え方だ。
普通、関数というものは「入力をすれば、出力が出てくる」という一方通行になっている。これを逆に、「この出力が出てきたということは、入力はこれに違いない」という逆方向に見る考え方だ。正確に言うと、従属変数として値域を求めるのではなく、独立変数として定義域を求める方法だ。
クラスに気になる女の子がいるとする。お付き合いを願いたいが、どういう男が好みなのか分からない。どうすれば彼女の好みが分かるか。
求めたい「彼女の好みの男の集合」をBとしよう。そして「彼女の元カレの集合A」を考える。まぁほとんどの場合、集合Bは集合Aを部分集合として包含する構造になっているだろう。「好みのタイプの集合」の中から「彼氏」を選ぶ構造だ。
集合Aの要素、つまり個々の元カレをいくら詳細に検討しても、集合Bを導くのは難しい。そういう時は、先に集合Bを仮定し、元カレがその中に入っているのかどうかを検討したほうが早い。
Bを「メガネの男」としてみると、その中に集合Aの要素(元カレ)が入っていればマル。
Bを「マッチョな男」としてみると、その中に元カレが含まれていなければバツ、といった具合だ。
つまり逆像法とは、「出力をこう定めてみたときに、入力の要素がその中に含まれているか」という方向で考える。入力→出力、ではなく、出力→入力、という検討のしかただ。
関数というのは、単なる対応関係とは異なり、方向性がある。その方向性を「逆」に考えるから「逆像法」だ。
京都大学の問題では
Lは要するに y=2x (0≦x≦1)のことで、これとy=x2+ax+bが共有点をもつということは、yを消去して
2x=x2+ax+b、つまり
x2+(a-2)x+b=0 … (1)
が0≦x≦1で実数解xをもつ(a, b)の条件を考えればよい。
この考え方ができた段階で、この問題はほぼ終わりと言ってよい。「ふたつのグラフが共有点をもつ」を、「ふたつをつなげた関数が実数解をもつ」と言い換える。つまりyという出力を条件として言い換え、それが関数として成り立つそもそもの条件を求めればいい。
あとはそれを実際に確認するための「作業」であって、ひとつずつ可能性を潰せばよい。
f(x)を平方完成して軸を求め、
(i) 0<x<1に実解がひとつ、その他にひとつ解がある
(ii) 0<x<1内だけに解がある(ふたつ、あるいは重解ひとつ)
(iii) x=0, 1が解である
の3通りに場合分けして、その3つから得られる条件を図示すればいい(詳しい回答はコチラ)。
建物内で侵入者を捕まえるときでも、女の子の好みのタイプを推測するときも、数学の関数問題でも、「最終的にどうなればいいのか」という大枠の形から逆算して方法を抽出するやり方は、汎用性が高い。一般的に手段は目的から逆算して求まるが、それと似たような考え方だろう。「結果に関係ない過程は辿る必要がない」と考えるとわかりやすい。無駄を省くために有効な考え方だと思う。
夏休みはこーゆーいらんことばっかり考えてしまいますな。