リニア・テック

ログイン

カート

ホーム理論メモ「帰納」と「演繹」

「帰納」と「演繹」

インデックス

何らかの情報をもとにして結論を導き出す「推論」の方法として,「帰納」と「演繹」という2つのパターンを紹介します.また,これらの用語と関連して,数学的な命題の証明でよく使う「数学的帰納法」についても解説します.

帰納

「帰納」(きのう,induction)とは,いくつかの具体的な事例をもとにして,それらに共通する性質や普遍的な法則を導くことを指します.

たとえば,次のような状況を考えます.

  • ある電子機器Aは周囲の温度が高いほど早く故障した.
  • 別の電子機器Bも周囲の温度が高いほど早く故障した.
  • また別の電子機器Cも周囲の温度が高いほど早く故障した.

こうした個別の事例から,

「すべての電子機器は周囲の温度が高いほど早く故障する.」

と結論づけることを「帰納的」な考え方といいます.

帰納のもとになる個々の具体例は「事実」ですが,帰納の結果は正しいとは限りません.すなわち,帰納によって得られる結論はあくまで「仮説」です.仮説ではあるものの,帰納的な推論はそれまでに無かった「新しい知見」を生み出します.このように「帰納」は論理的に新しい知識体系を生み出すための原動力であり,これは「学習」という行為を支える根本的な原理でもあります.

もし仮説に反する事実が見つかった場合は,その仮説を取り下げるまでです.そして,その新しい事例も材料に加えて仮説を作り直します.これを何度も何度も繰り返して,幅広い対象に適用できる「普遍的な法則」を発見しようとする営みを「科学」といいます.

一般的な科学(物理学や工学など)の本に書かれている内容は,すでに十分な検証が行われているので(ほぼ)正しいと考えられます.ただし,反例が見つかった場合はすぐに修正する必要があります.そういった意味で,いま私たちが持っている科学的な知識は「真実に近づいていく途中の中間結果」だと見なせます.

科学的な理論は実験や観察の結果によっていつでも修正されるべきものであり,科学のこのような性質を「反証可能性」といいます.科学には反証可能性があるからこそ,妄信にとらわれることなく常に最善の状態を保つことができます.

演繹

「演繹」(えんえき,deduction)とは,幅広い対象に適用できる普遍的な原理や法則をもとにして,個別の具体的な事象を導くことを指します.推論の方向としては「帰納」の逆です.

たとえば,中学校で習う「オームの法則」を考えます.

電圧 “$V$”,電流 “$I$”,抵抗 “$R$” の間には “$V=R \cdot I$” が成り立つ.

オームの法則を利用すると,「$5\ \mathrm{Ω}$ の抵抗」について次の事実が得られます.

  • $5 \ \mathrm{V}$ の電圧を印加すると $1 \ \mathrm{A}$ の電流が流れる.
  • $10 \ \mathrm{V}$ の電圧を印加すると $2 \ \mathrm{A}$ の電流が流れる.
  • $15 \ \mathrm{V}$ の電圧を印加すると $3 \ \mathrm{A}$ の電流が流れる.

このように議論を展開することを「演繹的」な考え方といいます.

前提とする法則が正しければ,演繹によって導かれる結論はすべて正しくなります.これは,結論があくまで仮説にすぎない「帰納」との大きな違いです.当然ですが,前提が間違っていれば演繹された結果もすべて間違いとなります.

演繹の前提となる「普遍的な原理や法則」は,様々な対象に共通する「抽象的な情報」を持っています.演繹とは,この抽象的な情報に何らかの制限や制約を加えることによって具体化する(つまり対象を限定する)行為だと見なせます.そのため,演繹によって本質的な情報量が増えることはありません.

「オームの法則」を使って電子回路の中の電流を求めたり,「運動方程式」を使ってロボットの挙動を計算したりする仕事では演繹的な考え方を利用します.そういった意味で,技術者が行う「設計」はすべて演繹的な作業です.これに対して,普遍的な物理法則を探したり,様々な物質に共通する性質を調べたりする仕事では帰納的な推論を使います.このことから「研究者の仕事は帰納的,技術者の仕事は演繹的」だと言えます.

会社の組織図を眺めていると「研究・開発部門」というものをよく見かけます.ここまでの話のとおり,「研究」と「開発」では推論における頭の使い方が完全に逆向きです.もちろん重複する部分もありますが,このことを意識していないと自分が進むべき方向を見失って迷子になります.

数学的帰納法

「数学的帰納法」(すうがくてき きのうほう,mathematical induction)とは,ある 命題 が「すべての正の整数(いわゆる自然数)で成り立つ」ことを証明するときによく使われるテクニックです.

自然数 “$n$” に関する何らかの命題(proposition)“$P(n)$” があるとします.この命題 “$P(n)$” は “$n$” に関する文章でも良いし,“$n$” を含む単発の数式でも構いません.ここで,次の手順を踏めば「命題 “$P(n)$” はすべての自然数 “$n$” について成り立つ」ことを証明できます.

  1. “$n=1$” のとき “$P(1)$” が成り立つことを示す.
  2. 「任意の自然数 “$k$” について “$P(k)$” が成り立つ」と仮定して「“$P(k+1)$” が成り立つ」ことを示す.
  3. 「手順1」と「手順2」より,任意の自然数 “$n$” について “$P(n)$” が成り立つと結論づけられる.

以上の論法を「数学的帰納法」といいます.

数学的帰納法のポイントは「連鎖」です.これは,いわゆる「ドミノ倒し」のイメージで考えることができます.

数学的帰納法の「手順1」では,“$n=1$” の場合に命題 “$P(1)$” が成り立つことを証明します.これによって「最初のドミノが倒れる」ことが保証されます.

続いて「手順2」では,「任意の自然数 “$k$” で命題 “$P(k)$” が成り立つ」と仮定します.仮定なので,実際に成り立つか否かを気にする必要はありません.この仮定の上で,なんとかして「1ステップ先の “$P(k+1)$” も成り立つ」ことを証明します.通常は,ここが数学的帰納法を使った証明で一番頭を使うところです.これを証明できれば「1つ前のドミノが倒れたなら,次のドミノも必ず倒れる」ことが保証されます.

こうして得られた「手順2」の結果で “$k=1$” とすると,「“$P(1)$” が成り立つなら “$P(2)$” も成り立つ」となります.“$P(1)$” が成り立つことは最初の「手順1」で確認済みなので,これにより “$P(2)$” が成り立つことが確定します.続いて “$k=2$” とすると「“$P(2)$” が成り立つなら “$P(3)$” も成り立つ」となるので,これによって “$P(3)$” が成り立つことも確定します.この論法を繰り返し適用すれば「任意の自然数 “$n$” について “$P(n)$” が成り立つ」という結論が得られます.要は「最初のドミノが倒れれば,ドミノはどこまでも倒れていく」という話です.

数学的帰納法の例

実際に数学的帰納法を使ってみましょう.ここでは,“$1$” から “$n$” までの自然数の2乗の和 “$S(n) = 1^2 + 2^2 + \cdots + n^2$” が次式で表されることを証明します.

$\begin{eqnarray*}S(n) \ \ &=& \ \ 1^2 + 2^2 + 3^2 + \cdots + n^2 \ \ \\ &=& \ \ \cfrac{1}{6} n (n+1) (2n+1) \end{eqnarray*}$

最初に,“$n=1$” のとき上式が成り立つことを確認します.

$\begin{eqnarray*}S(1) \ &=& \ \cfrac{1}{6} \cdot 1 \cdot (1+1) \cdot (2\cdot 1 + 1) \\ \ &=& \ \cfrac{1}{6} \cdot 1 \cdot 2 \cdot 3 \ = \ 1 \end{eqnarray*}$

続いて,任意の自然数 “$k$” について次式が成り立つと仮定します.

$\begin{eqnarray*}S(k) \ &=& \ 1^2 + 2^2 + \cdots + k^2 \\ \ &=& \ \cfrac{1}{6} k (k+1) (2k+1) \end{eqnarray*}$

この仮定のもとで,“$1^2$” から “$(k+1)^2$” までの和が “$S(k+1)$” と一致することを示せば証明完了です.そこで,上式の両辺に “$(k+1)^2$” を加えて次のように式変形します.

$\begin{eqnarray*} S(k) + (k+1) ^2 \ &=& \ \cfrac{1}{6} k (k+1) (2k+1) + (k+1)^2 \\ \ &=& \ \cfrac{1}{6} (k+1) \left\{\ k(2k+1) + 6(k+1) \ \right\} \\ \ &=& \ \cfrac{1}{6} (k+1) (2k^2 + 7k + 6) \\ \ &=& \ \cfrac{1}{6} (k+1) (k+2) (2k+3) \end{eqnarray*}$

上式の最左辺は “$S(k)$” に “$(k+1)^2$” を加えたものなので “$S(k+1)$” です(“$1$” から “$k+1$” までの自然数の2乗の和).よって,上式より次の結果が得られます.

$S(k+1) \ = \ \cfrac{1}{6} (k+1) \left\{\ (k+1) + 1 \ \right\} \left\{\ 2(k+1) + 1 \ \right\}$

上式より,“$n=k+1$” の場合も “$S(n) = n(n+1)(2n+1)/6$” が成り立つことが示されました.よって,“$S(n)$” の計算式は「あらゆる自然数 “$n$” について成り立つ」と言えます.(証明完了)

数学的帰納法は「帰納」ではない

最後に1点だけ,注意があります.数学的帰納法で使われている本質的な論法は「演繹」です.「帰納」ではありません.ちょっとややこしい話ですが,これは「帰納」と「演繹」という言葉を学ぶ良い題材なので簡単に触れておきます.

数学的帰納法では “$n=1$”,“$n=2$”,... といった個別の “$n$” について命題 “$P(n)$” が成り立つことを確認し,最終的に「すべての “$n$” で成り立つ」と結論づけます.この様子は,まるで「個々の具体例をまとめて一般的な法則を得る」すなわち「帰納的」な推論をしているように見えます.この論法を数学的「帰納法」と呼んだ人の気持ちもわかる... かと思います.

しかし,思い出してください.そもそも「帰納」によって得られる結論はあくまで「仮説」にすぎないのでした.この仮説が正しいことは保証されていません.そんな論法を使って「普遍的に成り立つ数学的な命題を証明しました」と言うのは,かなり無理があります.

数学的帰納法の証明において,すべての計算は「自然数に関する演算規則」にしたがって行われます.具体的には “$1+1=2$” とか “$2 \times 2 = 4$” といったものです.このような計算は当たり前だと思うかもしれませんが,それは私たちが小学生の時からずっと自然数の計算を叩き込まれているからです.こうした計算をするときは,普遍的な「自然数の計算に関するルール」(自然数に関する 公理 とも見なせる)が常に適用されています.よって,証明のために使う計算結果はこの普遍的なルール(法則)から「演繹的」に導出されたものだと見なせます.

前提となる命題が正しければ,「演繹」によって得られる結論も正しいのでした.よって,デタラメな計算をしなければ(自然数の計算ルールにしたがっていれば)数学的帰納法による証明の結果は常に「正しい」ことが保証されます.このような性質は「帰納」にはありません.「演繹」だからこそ言えることです.

このように,数学的帰納法では帰納ではなく「演繹」によって結論を導いています.なお,数学的帰納法に限らず,あらゆる数学的な命題の証明は何らかの定義や公理にもとづいた「演繹」です.