見出し画像

10年単位で取り組みたいこと(2)数学

10年単位で取り組みたいことの2つ目は、数学だ。

物事を考える上で、数学を学べば学ぶほど、思考の整理がされるような思いになる。あるいは、自分が持っていなかった考え方を習得できるようになる。そのため、数学によって何か具体的な計算手法を獲得したいというよりも、何かしらの「考え方」や「考えるヒント」を得たい気持ちの方が強い。


もともと私の高校時代に最も得意な科目は、数学だった。高校の文系数学は、基本的には、「目的の設定」「与件の整理」「用いることのできる選択肢の確認」「実行(計算または証明)」という流れで、基本的に解けるものであった。言ってしまえば、プログラミングを書くことに非常に似ている。

大学に入ってから数学そのものについて学び直しをしてみると、数学の成り立ちや何のために用いるものとして開発されたかを知る方が、私にとってはずっと知的興奮を高める作用があることに気づいた。そこから、数学そのものがどのように作られたのか、基本的なところを調べるようになった。ここでの「10年単位で取り組みたいこと」としての「数学」は、そのような基本的な考え方を学ぶことに当たる。

ここでは、どのような数学の内容を学びたいのかを整理する。



2-1.記号論理としての数学(場合の数、集合)

野矢茂樹先生の『入門!論理学』などを読むようになって、数学の中でもまずは、論理学の基本で議論されるような内容から取り掛かることにした。

具体的には、

  • 場合の数

  • 集合と論理

がある。それぞれを紐解く上で、論理学の教科書からアプローチする方法もあれば、数学の解説書からアプローチする方法もある。どちらからも確認していこうと思っている。

もう一つ、数学を言葉のように読み解いていく上で格好の本がある。新井紀子先生が書いた『数学は言葉』という本である。「この本の目的は、『数学語を第二言語として身につける』です。」とあるように、数学を言語のように取り扱うアプローチを採っている。定義や数学における文章の書き方、そこに内在している論理について丁寧に解説がされている。こちらの内容も、またどこかにまとめてみたい。


2-2.プログラミング処理としての数学(漸化式、数列)

修士の頃に興味本位でプログラミング、当時はウェブアプリケーションの開発にトライしたことがある。メインの言語はRubyで、付随して、HTML, CSS, Java Scriptを多少触ることがあった。プログラミング文法を学ぶと、数学的思考法が実際に活きることがよく分かる。


事実、前職でITエンジニアの人たちと一緒に仕事をさせてもらう中で、数学的思考法が長けていることの重要性は何度も感じる瞬間があった。このようなプログラミングと数学との接点をまとめている書籍もある。また、どこかで内容を整理したい。

「第2章 論理 ―― trueとfalseの2分割」、「第3章 剰余 ―― 周期性とグループ分け」、「第4章 数学的帰納法 ―― 無数のドミノを倒すには」、「第5章 順列・組み合わせ ―― 数えないための法則」のあたりが特にわかりやすかった。この本は、数学の基本的な部分とプログラミングをセットで解説してくれるところがわかりやすい(特に、コードが書ける人間にとっては)。

以前書いたメモ

もう一つ、エンジニアの人たちとの交流で知った世界に、競技プログラミングがある。これは、プログラミング的な思考と実行を用いて、パズルのような問題を制限時間内に解くことを競う競技だ。人間が思考に割く部分と大量の計算をコンピュータに任せる部分をうまく配分しているところが特徴的だ。

競技プログラミングでは、いわゆる虎本(下記リンク)や蟻本が有名だ。また、こちらもじっくり取り組みたい。

競技プログラミングとは何かを知る上で良い本だった。計算量がどれくらいあるかを考慮した上で、人間がやらなければならない部分と機械がやる部分をまず区分する。初級編では、「第4章 シミュレーション」と「第5章 全探索」。つまり、全部調べてしまおうという手法を紹介している。中級編では、「第6章 計算量」、「第7章 動的計画法・メモ化」、「第8章 探索範囲を狭めるアルゴリズム」。将棋の速度計算に似ているのだけど、機械がやれることを人間が判断するような方法。このあたりの発想は、日常使いにも役立つと感じた。

以前書いたメモ

この競技では、特に漸化式や数列が求められるため、また時間をとって勉強し直したい。


2-3.基本的なところとしての遠山啓(量から数へ、関数、微分積分)

数学の面白さに気づくきっかけになったのは、遠山啓先生の新書だった。本屋でふと目にした、岩波新書から出ている『数学の学び方・教え方』を手に取ったとき、「あ、この本、めっちゃ面白そう」と思って、すぐ購入を決めた。買ってからは、のめり込むように読んでしまい、わずか数日で読み終えた記憶がある。

内容に関しては、「量→数」という順番を重要視している点、関数や微分積分について基本的なところから解説している(遠山先生の他の本も読んでいるせいか、少し記憶が曖昧だ)。とりわけ面白い点は、数学教育を専門としていることもあり、「どのような手順で学ぶと理解がしやすいか」を重視している点だ。数学を教える順序そのものが極めて論理的なのである。こちらの本の魅力については、別途書こうと思う。


2-4.数学を歴史的経緯から学ぶ(幾何学と代数学)

最後に、もう一つ数学について考えを深める上で大きなきっかけになった本がある。博士課程試験で指定文献となっていて、手に取った本である。『数学序説』という題名で、数学の起源から発展プロセスまでが分かりやすく書かれている。

特に印象に残っているのは、ヨーロッパを起源とする幾何学のアプローチと、アラビアを起源とする代数学のアプローチがあるということだ。端的に言えば、図形から考えるか、数字から考えるかということになる。

私たちは学校ではこのような枠組みで整理せず、ただリストになっている内容を順に学んできた。幾何学を数字に落とし込んだのがデカルトの生み出した座標であり、その後のベクトルである。エジプトの建設にあるように、積分は古くからあって、私たちが学んだx,yで表現するのは後のことだった。

言語表現に似た形で代数学の論理の積み重ねで考えるか、視覚的に分解したり組み合わせたりして考えるか、自分の思考プロセスに自覚的になる上で役に立つ。


以上のように、数学の中でも基本的なところや思考プロセスそのものを考える内容のものに関心がある。それぞれで学んだことを順次このnoteに書いていけたらと思う。


いいなと思ったら応援しよう!