【戯言】勉強の定量
前書き
勉強は今すぐに効果が出るものではないため,やる気を維持するのが難しい。また,子供が勉強の意味を聞いてきた場合に,将来の年収が上がるなどといった,子供からすると遠い未来の話をしても全く実感が湧かない。そこで今回は,勉強で増える知識によって対応できる問題がどのように増えていくかに着目し,勉強の効果を定量的に評価することを目的とする。
勉強=知識が増えること
以下では,簡単のために勉強によって使える知識が増えると仮定する。また,得られた知識さえあればどんな問題も解けると仮定する。
さて,義務教育の算数や数学の問題を考える(他の教科でも同様)。基本問題は新しく学んだ知識のみだけで解けるように作成されていることが多い。一方で,応用問題や定期テストの問題になるにつれて,今までの学習で学んだことと組み合わせなければ解けない問題が増えていく。これはおそらく,子供でも同様の感想を抱いていることであろう。
大人の世界ではイノベーションのような新しい物質・製品・ソフトウェアなどの開発によって世間に大きな影響を与えるが,これらも0からの開発・発見であることはまれで,多くの場合は「巨人の肩に乗る」といった言葉があるように,既存の知識・技術の先に生み出されるものである。
したがって,勉強によって知識を得るということは子供時代のみならず,成長してからも使える有用な技術であることが分かる。しかし,前書きでも述べたように,理屈では分かっても肌感覚としていまいち理解できない諸兄も多いであろう。
知識獲得による効果の定量化
そこで知識が増えることによって,どのように対応できる問題が増えるかを定量化し,数値的に視覚化することを考える。
まず,勉強によって知識は1増えると仮定する。1回の勉強では1つの知識しか得られないので,その知識が直接使える問題群しか解くことができない(→基本問題)
次に,2回の勉強で知識が2に増えたとする。この時,基本問題は2種類解けるようになるが,さらに,2つの知識を組わせて解く問題1種類も追加で解けるようになり,合計で3種類の問題が解ける。すなわち,知識が$1 \rightarrow 2$に増えたことで,解ける問題の種類は$1 \rightarrow 3$と2種類増えている。
一般に,$n(\geq1)$回の勉強によって知識を$n$個得たとき,解ける問題の数$S_n$は$\sum^M_{m=1} {}_n \mathrm{C}_m$個となる。ここで,$M (=n)$はある問題を解くために必要な知識の数である。
さて,さらにもう一回勉強し,知識を$n+1$個に増やしたとする。この時,勉強前と比べて解ける問題はどれくらい増えるのだろうか。これは単に$S_{n+1}$から$S_{n}$を引けばよいので
\begin{split}
S_{n+1} - S_n &= \sum^{M+1}_{m=1} {}_{n+1} \mathrm{C}_m - \sum^M_{m=1} {}_n \mathrm{C}_m \\
&= {}_{n+1} \mathrm{C}_{M+1} + \sum^M_{m=1} {}_{n+1} \mathrm{C}_{m} - \sum^M_{m=1} {}_n \mathrm{C}_m \\
&=1+\sum^M_{m=1}\frac{n!}{m!(n-m!)}\cdot\frac{m}{n+1-m} \\
&=1+\sum^M_{m=1}\frac{n!}{(m-1)!(n+1-m)!} \\
&=1+\sum^M_{m=1} {}_{n} \mathrm{C}_{m-1} \\
&=1+\sum^M_{m=1} {}_{n} \mathrm{C}_{m} \\
&=S_n+1
\end{split}
となる。ただし,最後から2番目の式変形は${}_n \mathrm{C}_{0}={}_n\mathrm{C}_{n}=1$を用いた。$n=1$の場合,上で確かめたように,知識が増えたことで解けるようになる問題の種類の数は$S_2-S_1=3-1=2$となる。別の見方をすれば,新たに得られた知識によって解ける問題が1種類と,今まで解けるようになった問題の総数$S_n$との組み合わせの個数$S_n$が新たに解けるようになるわけだから,増分は$S_n+1$と分かる。
さて,差の式を見ると,$S_{n+1}-S_n=S_n+1$だが,これは$S_{n+1}+1=2(S_n+1)$と式変形できるから,数列$S_n+1$は初項$S_1+1=2$,公比2の等比数列である。したがって,$S_n=2^n-1$となり,上で確かめた$S_1=1, S_2=3$を満たす。
面白いことに(?)$S_n=\sum^M_{m=1} {}_n \mathrm{C}_m$と定義したのだから,$\sum^n_{m=1} {}_n \mathrm{C}_m=2^n-1$であることが分かった(M=nに注意)。これは二項定理の特殊な場合である。二項定理は$(a+b)^n=\sum^n_{r=0} {}_n \mathrm{C}_ra^{n-r}b^r$である。このとき,$a=1, b=1$として$r=0$を和の外に出せば,$(1+1)^n=\sum^n_{r=1} {}_n \mathrm{C}_r+1$となり,$S_n=\sum^n_{r=1} {}_n \mathrm{C}_r=2^n-1$を得る。
脱線してしまったが,話を戻して$n$が増えたときに解ける問題がどのように増えるか考えよう。$S_n=2^n-1$なのだから,$S_{n+1}-S_n=2^n$と分かる。知識を1つしか持たない人は勉強して$n=2$にしても,解けるようになる問題は$2^1=2$個しか増えない。しかし,一週間勉強して知識を7つ学び,さらに知識を一つ増やしたとき,解けるようになる問題は$2^7=128$種類増える。さらに,一年間勉強して知識を365個学んだ人は,さらに知識を増やすと$2^{365} \simeq 7.5\times10^{109}$種類解けるようになる。全宇宙に存在する粒子の数が多くて$10^{100}$個程度とされているので,全宇宙にある粒子に全部違う問題が書かれていても解けるということである(すごい!)。これが「継続は力なり」と呼ばれる所以である(?)。このように,組み合わせの数が爆発的に増えていく話は意外とあったりする。(秀吉をあわてさせた「ヤバい計算」など)。
後書き
実際にはこんなに計算できる問題が増えるはずもないので何かがおかしいが,それは読者への宿題にしたい。そこに勉強のヒントが隠されている。例えば,最初にこんな仮定を置いた。
勉強によって知識は1増えると仮定する。
一日勉強したところで知識が1増えるとは限らない。勉強の内容が難しくなるほど,知識を1個得るためにかかる時間は長くなる。逆に言えば,だからこそ勉強は知識を得るために行うものである。決して学校から出された課題を消化することだったり,何も考えずに教科書に線を引くことではない。