不寛容算数と指導者の「正しさハラスメント」

はじめに

この記事は数学 Advent Calendar 2016 25日目の記事です。埋めたくて書きました、少々雑かもですが、ご勘弁を。。

また、タイトルでお分かりの通り、以下の記事の影響を受けています。
不寛容社会とエンジニアの「正しさハラスメント」

上記の記事については、私もエンジニアの端くれで、ごくまれに技術的背景を考慮されていないコメントをたまに見かけるので、気持ちは分かります。ただ、コメントしている側も悪気はない、むしろ親切心で言っている場合が多く、「ハラスメント」とは言えないと感じます。(明らかに言い方がマズイを除き)
あと、記事を上げる側の人にもできることはありそうに感じました。コードがどうのこうのよりも使い勝手に関するフィードバックが欲しいのなら、そう書いた方がコメントする人に対して親切ですし、望まないフィードバックを得る可能性も抑えられそうです。

算数の「正しさハラスメント」

さて、「社会」もさることながら、「算数」という科目も、なかなかに不寛容な状態にあるといえるでしょう。むしろ、こちらの方がハラスメント指数は大きいかもしれません。
「不寛容算数」というものは、もちろん「不寛容社会」から連想を得た造語ですが、実例を連想することができる人も非常に多いと思います。
例えば、以下のような問題。

かけ算順序固定

7人で、8羽ずつ、つるを折りました。つるは、ぜんぶで、なん羽できたでしょう?

これに対して

  • 7 × 8 = 56 は×
  • 8 × 7 = 56 は◯
  • といった指導がされるというものです。
    正直なところ、どちらが◯でどちらが×か分からないまま適当に書いています。どうでもいいですよね。
    遅くとも大正時代あたりから反論はあったようですが、未だに未解決問題となっている難問です。

    面積の計算においても、「タテ×ヨコ」は◯で「ヨコ×タテ」は×だったりと、やりたい放題の規制ラッシュです。体積も然り。

    9.0減点

    「5.7+3.3=9.0」では減点で、「5.7+3.3=9」でないといけない『9.0減点』問題なるものもあります。
    小学校の算数においては、小数点以下の0を省けることは教えていますが、省かないと×にするような指導がなされているようです。ただ、省かなくて問題になるレベルとは思えませんし、有効数字から考えるとそのままでも良さそうです。(さすがに有効数字を小学生に教えたところで、ピンと来ないでしょうが…)

    くふうしなさい

    「次のけいさんを、くふうして行いなさい」といった曖昧ワードが問題文に埋め込まれている場合もあります。
    例えば、25×28。そのままでも計算できますが、 25×4×7=(25×4)×7=700 とすればより楽に計算できます。
    ただ、この過程で書かれていないと減点される場合があり、こういったことも、良く批判の対象になります。

    ここまではほんの一例です。

    算数・数学は本来、もっと自由であるべき

    算数・数学というのは、どれほど自由な発想であっても、その過程が論理的でありさえすれば許容されるところに、一つの魅力があります。「いろんな解き方がある」というのは高校数学ぐらいの段階でも感じられる面白さだと思いますし、大学数学ぐらいの段階になってくると、「いろんなルールがある」というレベルの自由度になってきます。有名なピタゴラスの定理にも、いろんな解き方があります。とりあえずWikiを貼る
    前述のような規制を始めとする不寛容算数は、こういった自由な発想を妨害します。 「こんなやり方でも解ける!」といった発見が醍醐味なのに、「教わったやり方で解かないとダメなんだ」という精神状態に持っていく不寛容さは、百害あって一利なしです。

    2016年における算数の「正しさハラスメント」論争の動向

    思えば2016年は、昨今の算数教育における「正しさハラスメント」の実態が、いつも以上にスポットライトを浴びた年といえるでしょう。

    例えば、茂木健一郎氏は少し前にブログでこの問題に言及し、「これは子どもに対する虐待である」「こんなのはすぐにやめるべきだ」と強い口調で批判したのは記憶に新しい方も多いと思います。

    また、TBSの初耳学という番組で、林修氏が、フィールズ賞受賞者の森重文氏にインタビューし、その過程で『かけ算順序固定』や『9.0減点』を批判しています。
    ※「(順序が違ったからって)何がいかんのだ!?」 というフレーズは非常に汎用性が高いですね。数学をやる際の態度は、こうあるべきではないかと感じます。

    著名な方が批判的に取り上げるようになってから、論調というか風潮が変わっている感じがあって、希望の持てる一年でした。

    twitter上でも#超算数というハッシュタグで、この種の問題がツイートされています。つい吹き出してしまう(けど笑えない)不寛容の見本市になっていますので、実態を知りたい方はぜひ覗いてみてください。

    おわりに

    2017年に、不寛容な指導、それにより算数・数学を嫌いになる人が、少しでも減ってくれることを願います。

    89とフィボナッチ数との深い関係がおもしろい

    ※この記事は、数学 Advent Calendar 2016 1日目の記事です。

    タイトルの「89」という数は、一見ただの普通の整数に思われるかもしれません。

    ですが、この数にまつわるすごく面白い性質を今年に入って知り、個人的にかなり感動したので、今回はそれを伝えたいと思います。

    素数

    まず、89は素数です。24番目の素数にあたります。

    この記事も素数のTシャツを着て書いている程度に素数大好きな私としては、これだけでも大絶賛に値するのですが、今回はこの件ではありません。

    フィボナッチ数

    89は、フィボナッチ数列の中にも出現します。

    1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

    フィボナッチ数列というのは、前2つの数を足していくことで作られる数列です。

    1 + 1 = 2
    1 + 2 = 3
    2 + 3 = 5
    3 + 5 = 8
    5 + 8 = 13
    8 + 13 = 21

    この数列は、黄金比との関係性など、数々の面白い性質を持っており、数学的にも大変重要な数列で、89はその一員です。

    これだけだと、89がたまたまフィボナッチ数の1つだった…といった感じですが、ここからが本題です。

    89とフィボナッチ数列

    突然ですが、最近個人的に勉強している『コンピュータの数学』の中で、次の興味深い問題が紹介されていました。

    以下の数列の和は、いくつになるか。

    0.1
    0.01
    0.002
    0.0003
    0.00005
    0.000008
    0.0000013


    フィボナッチ数列を、1桁ずつずらしたものを全部足すとどうなるか?ということなのですが…パッと見ただけでは有理数なのか無理数なのか、そもそも収束するのかもイマイチ分かりません。

    仮に、求めたい和を S、フィボナッチ数列の一般項を a_n とすると、上の小数列の一般項は

    「n桁おとして、n番目のフィボナッチ数を添える」

    と捉えると 10^{-n} \cdot a_n になることが分かります。なので、このように書けます。

    \displaystyle S = \sum^{\infty}_{n=1} 10^{-n} \cdot a_n = 10^{-1} \cdot a_1 + 10^{-2} \cdot a_2 + 10^{-3} \cdot a_3 + \cdots

    いったん和のおさらい

    一見難しく思えますので、まずはこれよりも少し分かりやすいものを取り上げてみます。

    以下の数列の和はいくつになるでしょうか。

    \displaystyle 1, \frac{1}{3}, \frac{1}{9}, \frac{1}{27},

    この数列は、前の項を\displaystyle \frac{1}{3}倍ずつしていくことでできる、いわゆる「等比数列」の一種です。等比数列の和には(とても覚えづらいことで悪名高い)公式も存在するので、それに当てはめて計算することもできますが、以下のように、比率の分だけずらして考えるとスッキリします。

    progression_sums

    2つの式では \displaystyle \frac{1}{3} 以降は全て同じ並びになるので、縦に上から下をごっそり引いてしまうと、

    \displaystyle S - \frac{1}{3} S = 1 \Longrightarrow S = \frac{3}{2}

    というふうに計算できます。「後半を揃えて、消してしまう」のがポイントですね。

    本題を解いてみる

    本題についても、この考え方が応用できます。 a_nという数列が入り混じっているぶん複雑ではありますが、a_n はフィボナッチ数列で、これは前2つの数を足していくことでできる数列なので、

    \displaystyle a_n = a_{n-1} + a_{n-2} すなわち a_n - a_{n-1} - a_{n-2} = 0 (n \geq 3)

    が成り立っています。

    ということは、a_n, a_{n-1}, a_{n-2} の3つを同じ列に揃えてしまえば、それを引き合わせて後半の列を消すことが同様にできるはずです。

    試しに揃えてみると

    fibonacchi_sums

    となっているので、縦方向に (1) – (2) – (3) を計算する (辺々引く) と

    fibonacchi_sums2

    となり、2行目以降は \displaystyle a_n - a_{n-1} - a_{n-2} = 0 なのでキレイに消すことができてしまいます。
    a_1 = a_2 = 1 なので、

    fibonacchi_sums3

    fibonacchi_sums4

    こんなにキレイな分数になってしまいました。

    しかも、今回の数列は小数点第1位から始めていましたが、小数点第2位から始めると、分子の10まで取れて、こんなふうに書けます。

    \displaystyle \sum^{\infty}_{n=1} 10^{-(n+1)} \cdot a_n = \frac{1}{89}

    本当にきれいですね…!

    まとめ … 1/89 を計算しよう

    これはもう、\displaystyle \frac{1}{89} を計算してみるしかないですね! 電卓を少し弾くだけで「ほぼフィボナッチ数列」な小数が現れるわけですから。

    1_89_calculation

    序盤に現れるフィボナッチ数列を眺めているだけで幸せな気分になれますねw 何回でも電卓を弾きたくなります。

    実は、フィボナッチ数列の逆数和

    \displaystyle \frac{1}{1} + \frac{1}{1} + \frac{1}{2} + \frac{1}{3} + \frac{1}{5} + \frac{1}{8} + \frac{1}{13} + \cdots

    は無理数であることが証明されているのですが、証明された年が 19『89』 年なのも、もはや単なる偶然には思えなくなってきますね。 …そうでもないですかね?

    追記: 和の収束性について

    計算の過程で下記の級数どうしを引き算している点について、「そもそも収束することが分かってないと引き算できないのでは?」とのご指摘がありました。ありがとうございます!確かに前提として使ってしまっていましたね。

    \displaystyle S = \sum^{\infty}_{n=1} 10^{-n} \cdot a_n

    が収束することを見るには、隣り合う項の比率を調べる方法があります。 a_{n+1} = a_n + a_{n-1} \leq 2 a_n (n \geq 2) なので、

    \displaystyle 10^{-(n+1)} \cdot a_{n+1} \leq 10^{-1} \cdot 10^{-n} \cdot 2 \cdot a_n = \frac{1}{5} \cdot 10^{-n} \cdot a_n

    となります。つまり3番目以降の項は、直前の項の \displaystyle \frac{1}{5} よりも確実に小さくなるんですね。ということは、求める級数は、以下のように公比が \displaystyle \frac{1}{5} の等比級数の和でおさえられるはずです。(n = 1, 2 の場合も左辺が右辺より小さくなるように初期値を調整する必要がありますが、この場合は 10^{-1} を初期値としてOKです)

    \displaystyle S = \sum^{\infty}_{n=1} 10^{-n} \cdot a_n \leq \sum^{\infty}_{n=1} 10^{-1} \cdot (\frac{1}{5})^{n-1}

    右辺の級数が収束することは、先ほどの公比が \displaystyle \frac{1}{3} の場合と同様に示せます。どちらも正項級数(つまり、負の数がない)であることから、右辺が収束すれば、左辺も何らかの値に収束することになります。(このへんの議論を厳密にやると本題とずれるので割愛します。感覚的には、「収束するときより小さい値を足していってるわけだから、収束はするよね」 という話で、何となく理解できるのではないかと思います)