3.2 問題解決・知識体系の構築としての数学の方法

私達がものを考えるのは何か課題を解決するためである。そこで数学を用いて課題を解決するという過程(process)がどのようなものであるかを考えよう[1]

 

3.2.1 数学問題解決サイクル

一般的にものを考えるプロセスは「認識(理解)する」(recognize, understand)→「(狭い意味で)考え(consider, contemplate)、処理する(carry out)」→「表現する(伝える)」(represent, communicate)ことになる。数学を用いてものを考える場合にはここで問題の「数学語」への切り替え(翻訳)の必要が生じる(「数学化」(mathematization)[Freudenthal])。そこで数学を用いた問題解決の過程は次のようなサイクルで表される:

1)問題を数学の言葉で言い表す(formulate mathematically)(数学化);

2)数学の問題として解決する(solve in mathematics);

3)数学で得られた解を本来の問題に適合する形で表現する(represent, describe);

4)本来の問題の解として適当かをチェックし(check)、更なる進展を検討する(feedback)。

そしてステップ2)では数学内部の問題としても、似たようなプロセスが繰りかえされる[2]:2a)問題を理解し「適切な」数学の問題として言い表す(言い換える)(定式化);2b)言い換えられた問題を解決する;2c)得られた解を初めの問題に合う形で表現する(チェックやフィードバックを含む)

実はまたさらに2b)の途中で別の問題への言い換えや部分的な問題への分割が行われ、同様のサブプロセスが実行される等々という何重もの「入れ子」構造が現れる。また途中で当初の問題に戻っての検証が行われることもある。

ところで何かある問題を解決する営みは、単に自己の既存の知識を応用することではなく、同時に自らの知的体系を更新していくことでもある。問題を定式化することは、自己の知識体系の中に問題を位置付けることであり、問題を解く行為は知識体系の更新作業そのもの、そして問題を表現することは更新された知識体系の部分を意識化・明確化することに他ならない。問題解決という「外的な」行為は、必ずこうした自己の「内的な」知識体系の更新を伴う。これが問題解決の持つ教育上の意味である。学習するとは自己の知識体系を更新してゆく営みであるが、この意味で問題を解決することは同時に自らにとっては学習であり、また学習はより多くの問題を解決できるよう自らの知識を豊かにすることなのである[3]

 

3.2.2 問題の数学化・定式化

・条件の明確化・意識化 一般的に問題が与えられたとき、まず第1に行うことは、問題をはっきりさせることである。最終的に何を得たいのかがまず明確でなければならないのは当然であるが、次に大切なのは、何が所与の条件であるかを明確にすることである。

・数学化 次に(と言っても、時間的には同時並行であることが少なくない)行うことは、問題を数学の言葉で表現することである。数式で表現することも多いが、その場合には立式という。一般には問題をある種の数学的なモデルとして捉え、その中の問題として言い換えるのである。具体例で考えよう。

[問題1]ある山の麓の平野から、山の頂上の位置と高さ(海抜)を測る:

このとき条件としては、平野のある広さの場所から山が望め、その地点の海抜は分かるとする(平野なので同じとしてよい)。私たちは図を描いて、幾つかの地点から観測して山の頂上(これも点で表される)の3次元的な位置を求める幾何の問題に帰着させることができる。これは立体幾何のモデル(多角錐)で考えることになる。

図4 山の測量図

 

[問題2]鶴と亀とが併せて100頭いる。その足の数は合わせて272である。鶴亀はそれぞれどれだけか(坂部広胖『算法点竄指南録』)

有名な「鶴亀算」の問題である[4]。これを有名にしているのは、むしろその解法の面白さであるが、数学(代数学)はもう1つの考え方を教える。つまり「分からない数をとりあえず何か文字で表して、分かっている条件を書き下せ」と。そこで亀をx匹、鶴をy羽とすれば、与えられた条件はx+ y= 100,  4x+ 2y= 272 となり、これからx, yを求めるのが問題である。これは連立1次方程式の問題(モデル)に帰着されたことになる。

ここでの例はいずれも求めるべきものが数値としてはっきりしているが、多くの場合、どう数量化するか、というところから考えなければならない。あるいは幾何の問題であれば、考える対象がどんな図形になるのか、数量の変化の問題であればどんな関数で表されるのかといったように、求めるべきものも様々の概念あるいは性質になる。さらに、例えば人の顔や指紋の認証ではその人であるかどうか、という判断を下すことが求められる問題では、どのように数学的に定式化するか、どのような数理モデルを考えたらよいか、つまりはどのように「数学化」したらよいかがすでに大きな数学としての問題なのである。

 

3.2.3 数学内での問題解決の方法

問題が数学の言葉で言い表されたとして、それを解決する方法はまず既存の(自分が既知の)数学理論が適用できるかどうかを見ることである。

上の問題で言えば、問題1では、水平面が麓の平野の地表として定まっているとすれば、(位置の分かった)平野上の2地点から山の頂上の(立体的な)方角が定まれば頂上の空間的位置は決まることが分かる。問題2では、標準的な2元連立1次方程式で、その解法はよく知られている。第2章「数学の世界A」で述べたように、数学は多くの問題に答えられる広範で深い知識の蓄えを持っている。

では、そうした解法がすぐ見出せない場合に私たちはどう考えていくだろうか。 その方法としては、答を予測し、関連する解決済みの問題を探し、それがなければ新たに解法を考えることになる。

このやり方は一般的な問題解決の方法と基本的に変わらない。ただ数学の場合、数学語の持っている論理性と抽象性から、そうした方法が類型的に比較的はっきり見えるということはあるかも知れない。以下、幾つかの場合について具体的に見よう。

1)解の予測 求めるものが数値であれ、関数あるいは何かの性質であれ、それを何らかの仕方で予測することが大切である。ここでは科学の実験と同じで、実例の計算が有効である。現在はコンピュータの発達によって、この手法が強力な手段を与える。むしろそこで新しい性質が見出され、新たな問題そのものが提起されることも珍しくない。普通の場合には、条件を簡単にしたりしてその様子を見る。

例えばSn= 1 + 2 + 3 + …+ nを求めるのに、最初の方を計算してその増え方を見ると大体n2と同じようであることが分かる。具体的には両者の比を取ってみるとだんだん1/2に近付くことが見て取れる。これからSnnについての2次式として書けるのではないかと予測できる。

図形や関数の問題の場合には、正確な図やグラフを描いてみるのは、答を見出す大切な方法である。それによって3直線が1点で交わったりとか、あるいは値があるところで極値を取ったりといった事実が観察できる。3直線が1点で交わるというような状況は偶然に起こることがまず考えられないので、比較的少数の例でその正しさを確信できる。これに対し、値の変化(増大・減少)などは予測に慎重でなければならない。

数学は最終的に演繹的推論によって正しさを保証されなければならないが、解そのものやそこに至る方向を見出したりする上では、こうした帰納的な考え方もきわめて重要で、頻繁に用いられる。

2)推論 問題解決の主要な考察は、条件を様々な角度から分析し、それらを総合することである。このときには条件から出発する演繹的な考察だけではなく、予想される解から逆に戻ってくる考察、あるいは幾つかの例を総合して考える帰納的な考察など、あらゆる方法が使われる。最終的には条件から結論に至る演繹的推論で結ばれた道筋を見出さなければならないのであるが、見出すための順序はどのようでもよいし、当てずっぽうでそれらしい道に飛んでも(あとから補完すればそれで)よい(発見的考察heuristic argument)。

こうした推論を進めていくのは、形式的な計算や演繹的推論はもちろん必要で基本であるが、それだけでは多くの場合道筋が見えない。幾つかのアイデアが必要である。

上の問題で、和が2次式であろうと予測したところですでにある意味ではアイデアが入っているが、2次式であると仮定すると、最初の3項を計算することでその2次式は  でなければならないことが分かる。あるいは2次式であるとの仮定と漸化式   からも同じ結論が得られ、この場合には(  を併せれば帰納法による)証明にもなっている。2次式という予想なしでも、この和についてはガウスのエピソードでも名高い[5]

という考え方で直ちに答が得られる。この他にも三角数として幾何的に表示して求める方法などいろいろある。

補助線 アイデアの例として数学で代表的なものに幾何学における補助線がある。ある幾何学的な性質を証明するのに、当初の図にはない直線や円を描くとそれによって証明の道筋が直ちに見えてしまうのである。有名なものの例として、三角形の内角の和が180°であることの証明と、ピタゴラスの定理の証明とに現れる補助線を示しておこう。前者では平行線の性質、後者では三角形の合同を経由することによって証明が与えられる。

図5 三角形の内角の和が180°であることの証明とピタゴラスの定理の証明

3)一般化 問題を解く場合、具体的な数値で考えた方が解きやすいかというと必ずしもそうではない。その具体性に幻惑されて、かえって問題の本質が見えなくなる場合も多い。例えば2次方程式 を数値的に幾つも解いたからといって、解の公式が推測できるわけではない。この公式は歴史的にはおそらく と変数変換すれば、1次の項が消えて完全平方の形になることから得られた。なおグラフを描くとこの事実はグラフが線対称になることからもっとはっきり意味が分かる。これらは2次方程式あるいは2次関数を一般的に考えることで分かるのである。

もう1つの例として等比数列の和がある。これは実際の数値計算ではなかなか答が想像つかないが、公比を文字rで表してみると(aは初項)

となって、上から下を引くことで直ちに答が得られる。

4)拡張 ある操作をしたり、ある概念を考えることが、途中でできなくなる場合、それらを拡張することで乗り越えることが数学ではよく行われる。自然数では引き算ができないので負の数を導入して整数に拡張する。整数ではまだ(余りのない)割り算ができないので、分数を導入して有理数に拡張する。実数では  が解を持たないので、その解  を付け加えて複素数へと拡張する、等々。

しかしこうした拡張を行う場合には、対象の拡張だけでなく、限界となった概念そのものの見直しも同時に行われている。例えば最初の引き算の場合、自然数での引き算は幾つかのものを「取り去る」という考え方である。だからこそ取り去るものがなくなってしまった場合(0になった場合)それ以上進まないのである。これに対し引き算を加法の逆演算、つまりaからbを引くとはx+ b= aとなるxを求めることであるとして初めて整数への拡張が自然に可能となる。また-(-a) = aも納得される[6]

この概念の転換がきわめて大きく、全く想像を超える場合もある。例えば「ベクトル」は力や風などの強さと方向を表す概念(幾何ベクトル)として物理的な場から導入されたものである[7]が、座標を用いることで位置ベクトルを経由して単なる数の組  と同一視されることとなった(数ベクトル)。

図6 ベクトル

しかしこの転換によって私たちはいとも簡単に空間は3次元までという限界を乗り越えて、一般のn次元空間を考えることができるようになった。つまりn個の数の組 を考えればよいのである。現在ではさらに進んで(加法とスカラー倍との2つの演算を持つ代数系という)抽象的なベクトルの捉え方が一般的になり、これによって私たちは無限次元の空間の中で数学を考えている。このように一見全く違うものが本質的に「同じ」であると見抜いてしまうところに数学の発想の「自由さ」がある。

5)類推・並行性 問題を考えていく上で、似たような別の問題で、解が知られていたり、もっと簡単に解けるものを見出すことは最も有効な手法の1つである[8]

例えば、上で空間をn次元に拡張したが、そこでの図形は2,3次元からの類推で考える。例えばn次元での単位(超)球面は

と定義すればよい。この考え方で面積や体積を一般次元で計算することができる。

これは比較する問題の背後にある数学的な構造にある種の共通性を認識していることになる。そうした共通性が当初から明らかでないこともあり、その場合はそれを突き詰めることで新たな抽象的概念が得られる場合がある。先に述べた抽象ベクトルはそうして得られたものである。

これと密接に関連した重要なものに「並行性」がある。すなわち異なる概念の元にある2つの世界そのものの構造に類似性があって、対応関係があるというのである。これは数学の宇宙そのものが持っている構造であって、数学の豊かさの源泉であると言ってもよい。

その第1は数の世界と図形の世界との並行性である。これを最初に指摘して用いたのはデカルトで座標幾何学がそれを実現した。上に述べた幾何ベクトルと数ベクトルとの対応はその例である。

その第2は離散的世界と連続的世界の並行性である。数列と関数、級数と積分、差分と微分といった対応関係があって、その類似と相違の認識は数学の理解に重要である。確率統計の分野でも離散分布と連続分布の関係は大切である。さらに言うならば、量子的な世界は離散的であり、私たちの日常世界は連続的である。

第3の例として、ユークリッド幾何と非ユークリッド幾何を挙げよう。後者は、ユークリッド幾何での平行線の公理などを変更して得られる。当初、人々は平行線の公理が他から証明できると予想して、平行線の公理を否定した幾何学を、ユークリッド幾何学に倣う形で並行的に構築していった。しかし矛盾は出ず、完全に並行した理論が成立する非ユークリッド幾何学の存在が分かった。分かってみると、従来から知られていた球面三角法の諸定理はこの並行性の表れであることが理解された[9]。そして上の量子的な世界と逆に、光速に近い大きなスケールになると時空は平らでなくなるのである(相対性理論)。

他にも線形代数方程式と線形微分方程式、円関数と楕円関数の並行性など重要なものが幾つもある。

 

3.2.4 解の記述、解の吟味

さて、首尾よく数学の問題としての解が得られたとすると、最後にこれを記述することになる。ここで2つのステップがある。すなわち

・数学の中での問題解決として(数学向けに)答を記述する;

・得られた数学としての解を本来の問題の解として言い直す。

1)数学としての解の記述

まず前者であるが、求めるもの(数値など)が得られたとして、それを記述するだけが解ではないことをまず強調したい。その答がなぜ、どのように得られたのか、その道筋まで含めてきちんと記述されていなければ答とは言えない。数学の計算問題で最後の数値や式だけ記して、それが合っていてもそれは答ではない。途中の経過が読むものに理解できるように書かれていて初めて答なのである。それは、問題の解答は、自分がその答を得たこととともにその答がなぜ正しいかを人に伝えるものだからである。

このためには、まず問題をはっきりさせ、その前提条件を明確にし、そして得られた最終解答をきちんと記述することが必要である。一般的な形の問題の解として得られていれば、それは多く定理の名で呼ばれる。数式の場合には公式と名付けられる。

その結果の理由を述べる部分は「証明」と呼ばれる。証明部分は、先に述べた演繹的推論に従っていなければならない。しかしすべてを書き下す必要はなく、むしろ想定される読者の知識に適合する形で、適宜省略を行って、大切なアイデアや議論の流れを明確にする方が分かりやすい(cf.[3.1.4])。

計算問題の答の場合には、その計算の道筋やアルゴリズムを与え、それが新しい場合にはその妥当性も含めて説明する必要がある。

本節冒頭の鶴亀算(問題2)の場合、引用した本には答の求め方として「頭数(100)に亀の足の数(4)を乗じ、実際の足の数(272)を引いた答え(128)を亀と鶴の足数の差(2)で割って得られる数(64)が鶴の数である」と記されている。これは先に書いた連立1次方程式を消去法で解くアルゴリズムそのものである[10]

2)当初の問題に対する解答への言い換え・解の吟味

問題が現実の様々の事象から取られ、それを数学化して考えた場合には、得られた数学としての答を元来の事象のそれに言い直す必要がある。

本節冒頭の山の位置と高さを求める問題(問題1)の場合には、実際に幾何的なモデルに基づいて測量を行い、最終的な数値を得る必要がある。幾何的なモデルは三角法を用いた計算の仕方を与えるが、同時に何を測らなければいけないか、その条件もはっきりさせる必要がある。もし2地点から山頂への方向を測るというモデルを取るのであれば、必要な情報は、1)その2地点の位置、特に2地点間の距離;2)2地点の高さ(海抜)[今等しいとした];3)2地点を結ぶ線分を基準としたそれぞれの地点での山頂の方向への角度;4)2地点から山頂への仰角、である。

さて、数学理論としては解決したのであるが、現実の問題としてはまだ終わりではない。こうして得られた数値がどの程度の精度を持っているかを明らかにしなければならない。測定値は必ず誤差を伴うからである。この問題の場合、2地点を十分距離を置いて取れば位置情報に関してはかなり良い精度の値が得られるが、仰角は小さいので、高さの精度を良くすることはなかなか難しい。

鶴亀算の場合にも解の吟味が必要である。もし答として負の数が出てくれば、それは不適当なので、元来の問題については解なしとしなければならない[11]

3)反省(フィードバック)

当初の問題への答が得られたとして、さらにその解法を批判的に検証し、更なる進展の可能性について、数学自身としての問題解決の意味をも含めて考え直すことは重要である。

まず数学化の段階、すなわち採用した数理モデルが適当であったか、その限界はどこにあるか、といった検証が必要である。問題1について言えば、観測地点を増やすことで精度を上げることができる。またおそらく現在の技術では距離を直接測る方法が使える。前者は数学内の(ただし近似計算の)問題であり、後者は数学外の(技術の)問題である。

次に数学の問題として、もっと一般化する、あるいはより理解を深めることが可能かどうかの検証がある。1からnまでの和Snを求める問題では、この解法を振り返ることにより、一般項がnについての(d次)多項式で書けるような級数であれば、その和は(d+1 次)多項式で表せることが分かる。そしてこれは離散と連続の並行の表れとして、(d次)多項式の積分が(d+1 次)多項式になる事実と対応していることが注意される。こうした反省が自己の知的体系の更新となるのである。

最後に1つ注意しておきたい。上に述べたプロセスは数学以外からの問題を解決することを想定しているが、数学教育では、数学内でこうした思考プロセスを訓練している。特にいわゆる記述式問題は、通常言語で書かれた内容を数学の言葉に翻訳する過程を含んでいる。中でも初等幾何学、特にその証明問題では、与えられた情報の中から適当なものを選び出し、場合によってはさらにそこに書かれていない情報を追加して(補助線を引く)、解答に至るという、問題解決の訓練の場としてきわめて優れたものになっている。この意味で知的体系そのものを確立する(訓練用)モデルとして数学、特にユークリッド幾何学は今も大きな教育的意味を持つと言えよう。

 

[1] 基本的文献として[Polya][Schoenfeld][PISA2006] を挙げておく。

[2] [Polya][Schoenfeld]は主にこのプロセスを扱っている。

[3] 森有正の言葉を借りれば、問題を解決するという体験が自己の「経験」にまで深まってこそ、自らにとって問題を解決した意味があると言えよう。逆にそのような深まりをもたらす問題こそが大事な問題なのである。

[4] 鶴と亀の問題としての初出(1815)。類題としては、古く雉と兎の問題として中国の『孫子算経』(5世紀以前)に遡る。

[5] ガウスが小学生の時、1から100までの和(S100)を求める問題を算数の教師から出されてここに記されたアイデアでたちまち解いてしまったというもの。歴史的信憑性はない。

[6] 厳密に言えば、さらにそれが可能となる数学的なモデルが「存在する」ことを示さなければならない(「存在定理」[3.1.4]の必要性)。

[7] もちろん「平行移動」としてユークリッド以来知られていたが、ベクトルという一般的な枠組みでは理解されていなかった。同じように加法乗法は古くから知られていても、「群」の概念はずっと新しい。

[8] 学問としての数学研究における「アナロジー」の重要性を指摘した論考にA.ヴェイユが妹S.ヴェイユに宛てた手紙がある[Weil]。

[9] 球面三角法の公式は複雑だが類似性があり、三角形の辺の長さを0に近づけるとその極限として平面三角法の公式が得られる。

[10] 和算の本では、このように計算の仕方は記すが、その理由(証明)は書かれないのが普通である([4.9])。

[11] 数学内部の問題としても、対数方程式では真数条件をチェックする必要があり、三角方程式でも三角関数の値の絶対値が1を超える解は棄てなければならない。