31歳からの数学修士

なぜ再び数学するのか

「プログラマのための数学勉強会」の一年を振り返る

この記事は Math Advent Calendar 2015 の 24日目の記事です。(23日目:空の見えないセカイ - tsujimotterのノートブック

このブログはちょうど一年前 id:tsujimotter さんの 明日話したくなる数学豆知識 Advent Calendar 2014 に記事を書くために開設したのでした。今年も tsujimotter さんからバトンタッチを受けてクリスマス・イヴに数学について書けることを心から嬉しく思います。

プログラマのための数学勉強会

f:id:taketo1024:20151224020415j:plain

今年一月に第1回「プログラマのための数学勉強会」を開催し、以後も隔月ペースで全5回開催しました。毎回定員を超える参加応募があり、開催後も多くの満足の声を頂くことができました。僕自身も毎回発表者の話を楽しく聞いていますし、この勉強会を通してたくさんの出会いもあり、もっと勉強したいという情熱を得ることもでき、本当にやって良かったと思っています。

よく「発表者の方とはお知り合いなんですか?」と聞かれるのですが、知り合いに発表をお願いしているケースよりも、面白い数学記事を書いている方に直接連絡を取ったり、発表希望者からフォームを送って頂いているケースの方が多いです。なので当日まで「本当に来てくれるのかな…?」というドキドキはありますし、お会いして「こんな人だったのか!」という驚きもあって楽しいです。

発表内容についても事前のすり合わせはしておらず、面白そうだと思ったらもう丸っとお任せしています。前回参加者の方が「この会の「語りたい人が語る」という形式が素晴らしい」とツイートしてくれたのですが、まさにその感じを大切にしたいと思っています。語りたい人が語りたいことを語り、それを面白いと感じた人が興味を広げていく、そうして数学とプログラミングの距離が縮まっていけば良いなと思っています。

発表を振り返ろう!

せっかくなので過去の発表を振り返ろうと思うのですが、全部リストするとめちゃくちゃ長くなってしまうので、いくつかのテーマで発表をピックアップしてみました。

1. 見て楽しめる数学

明日話したくなる「素数」のお話 - @tsujimotter

3D表示の数学と高次元への応用 - μ崎みのり

円柱、円錐以外の、展開図の描ける曲面 - @taro_x

2. プログラマ向け数学の基本

プログラマのための線形代数再入門 - @taketo1024

内積が見えると統計学も見える - @kenmatsu4

今日からはじめる微分方程式 - Ryo Kaji

3. 数学とコンピュータサイエンス

フーリエ変換と画像圧縮 - @ginrou799

線形計画法と整数計画法 - @kaneshin

Hybrid Monte Carlo 法の紹介 - Kenji Ogawa

4. 数学ガチ寄り

五次方程式が代数的に解けないわけ - @tsujimotter

何もないところから数を作る - @taketo1024

忙しい人のための楕円曲線入門 - @srtk86

5. もっと広い数学とプログラミングの世界

エニグマ暗号とはなんだったのか - @thorikawa

物理における微分方程式数値計算 - 久徳浩太郎

音楽とトポロジー - @simizut22

いかがでしたか?上のリストにない素晴らしい発表もたくさんあるので、末尾のリンクから過去のレポート記事をご覧ください。

数学を「実験」するプログラミング

プログラマによる数学の発表がなぜこんなに面白いのか考えてみたのですが、それはプログラミングが数学の「実験」を可能にしているからなんじゃないかなと思いました。例えば小学校の理科で、アルミ片を塩酸水に入れて水素を発生させ、これに火をつけて「ヒュッ!」とやったら水が出来てる、という実験をやりましたよね。高校になると、

 2Al + 6HCl \rightarrow 2AlCl_3 + 3H_2 \\
2H_2 + O_2 \rightarrow 2H_2O

という化学式を習います(これであってますよね?w)。この式は小学校でやった「あの実験」の記憶があるから何が起きてるかイメージできますが、最初から化学式だけ習っていたら何のこっちゃ分かりません。しかし数学の教育ではそれと同じことが起きてしまっているように思います。公式の暗記と適用ばかりやらされていたら「これが何の役に…」みたいなことも言いたくなるでしょう。

先日たまたまこの「ピタゴラスの定理」の実証実験を見つけてとても感心しました:

学校でも公式を習うたびこのような実験ができれば良いのですが、一個一個作ってたら先生が大変でしょうがないし、製作における物理的な制約があります(4次元図形とかなると原理的に作れません)。しかしプログラムなら書けます。アルゴリズムを実装して計算をさせたり、複雑なグラフを表示して動かしたり、物理エンジンを使って現実世界をシミュレートしたり…工夫次第で色々な「実験」ができます。

プログラマのための数学勉強会」で発表してくれた方々は、それぞれ得意な方法でその実験を見せてくれました。その数学が理論か応用かということは関係なく「実験が分かれば面白い」という素朴な感動がたくさんあったんじゃないかと思います。

未来の数学教育では(それもそう遠くない未来で)プログラミングは当たり前のようにそこにあり、分からないことはその場でパパッと実験するようになっているでしょう。生徒は先生から一方的に教わるのではなく、生徒が自分で見つけた面白い実験方法を公開してお互いに教えあっているんじゃないかと夢見ています。

最後に

このブログ、しばらく「プログラマのための数学勉強会」レポート専用ブログになっちゃってますが、元々は数学記事を書くつもりで始めたものでしたw 年明けから勉強も再開し、記事もちょっとずつ書いていこうと思うのでそちらも楽しんで頂ければ幸いです。

改めて「プログラマのための数学勉強会」に関わってくれた皆さん、ありがとうございます。それでは、メリークリスマス&良いお年を ?


プログラマのための数学勉強会」過去レポート記事

Facebook ページ