31歳からの大学院進学(数学・修士課程)
この記事は note に移行しました。
2016/03/19 「第6回プログラマのための数学勉強会」開催しました!(資料&動画つき)
「第6回 プログラマのための数学勉強会」を開催しました!今回も 渋谷 dots. の会場をお借りして、5つの 30 分セッションと9つの LT をお届けしました。今回は「ブログまとめ枠」で3名の方に記事を書いて頂いたので是非そちらも御覧ください!
1. 「心地よさと数字」矢崎 裕一
デザイナ 矢崎裕一さんのセッションです。「データビジュアライゼーション」の考え方や効果について、ご自身の仕事を取り上げつつ紹介してくれました。紹介された作品は見ているだけでも楽しく、またその背後でどういう考え方があるのかを知ることができました。
同じデータでも、表に数字がズラッと並んでいるのと、視覚的に分かりやすく動きが見えるのとでは受け取られ方は全然変わります。テクノロジーの力でデータや式が「見える」ようになるということは、もっと初等教育でも取り入れられるべきだと思います。またデザインにおける「すでに完成していると思われているものを疑う」という姿勢は、数学の心にも通じるんじゃないかと感じました。
[ 資料 ]
2. 「数学がデジタルアートに!高速なシェーダで可視化する数学の世界」@h_doxas
webgl.org や WebGL総本山 を運営し、WebGL / GLSL の講師として活動されている @h_doxas さん。前半で WebGL の基礎を説明し、後半はご自身で開発された GLSL editor を使って GLSL ライブコーディングを披露してくれました。会場の参加者も一緒にコードを書いて、簡単なベクトルの演算や三角関数を組み合わせて見る見る不思議な映像が作れていくのは面白かったですね!
@h_doxas さんが昨年末開いていた GLSL短期スクール に僕が生徒として参加したことがキッカケで今回ご登壇いただきました。5月から WebGL 基礎スクール も開催されるそうなので、興味のある方は是非ご覧ください!
[ 資料 ]
3. 「6-3. Wolfram Language コトハジメ 〜 Wolfram Alpha って聞いたことあります?」若林 登
株式会社ヒューリンクス 執行役員の若林 登さんのセッションです。前回に続き今回もフードスポンサーをして頂き、製品紹介も兼ねて Wolfram Alpha や Mathematica に関する発表をして頂きました!
Wolfram Alpha は検索サイトのような UI でありながら、内部で Mathematica を動かして「計算結果」を返してくれます。数式を描画するだけでなく「ボーイング747には野球ボールがいくつ入るか?」といった問いにも答えてくれます。Mathematica は膨大な数の関数が備わっている数式処理ソフトで、「ノートブック」として計算結果と共に思考過程を記述していくことができるのが特長です。
Stephen Wolfram 自身の TED Talk 「万物の理論を研究する」もとても面白いので興味のある方は是非!
[ 資料 ]
4. 「暗号文のままで計算しよう 〜 準同型暗号入門」 光成 滋生
「クラウドを支えるこれからの暗号技術」の著者、サイボウズラボの光成滋生さんのセッションです。
前半では「楕円ElGamal暗号」を紹介。トーラスには加法群の構造が入り、暗号がトーラス上の点と対応するように定めると暗号文のままで足し算ができてしまうのです。デモ でクライアント・サーバ間の通信を一画面内で表示し、サーバ側で「足した」値をクライアント側に戻して復号すると、ちゃんとクライアント側で足し算されていることを実演されました(会場から感動の拍手!)後半ではさらに足し算だけでなく掛け算もできる「完全準同型暗号」を紹介。足し算と掛け算ができれば、原理的にはコンピュータが行う演算を全て暗号のまま行えることになります。現状では 1bit のデータでも 1GB ほどに膨らんでしまうんだとか…!
僕はこの発表を聞いて「カッコイイ!」と感じました。復号されない限り何の意味も持たなかった暗号文がそれ自体として「代数的構造」という生命を持つようになり、人間に分かる平文と分からない暗号の間でパラレルな関係が成り立つようになるのは、なんとも男心(?)を燃えさせるものがあります!この先まだまだ研究が進んで行くんだろうと思うとワクワクします。
[ 資料 ]
5. 「圏論とHaskellは仲良し」 大森 健児
3月に法政大学教授を退官されたばかりの大森健児先生のセッションです。ブログ bitterharvest's diary で圏論と Haskell について親切に解説をされていたので(法政大学の教授とはつゆ知らず)登壇のお願いをしてご快諾を頂きました。
圏論と Haskell …それは数学とプログラミングにおいて最も難しいものとして恐れられています。圏論は「抽象的な数学の中でも最も抽象的なもの」「異なる分野で異なる言葉として話される同じような概念を抜き出して共通化したもの」です。その圏論をベースに作られたプログラミング言語が Haskell です。Haskell は「純粋関数型言語」と呼ばれる言語で、プログラミングで当たり前と思われるような a = a + 1
のような再代入が一切できません。そんな難解な圏論と Haskell ですが、大森先生はにこやかに楽しそうに親しみやすい喩えを交えながら紹介してくれました。
大森先生が圏論を学び始めたのは68歳だそうです…「何ごとも学び始めるのに遅すぎることはない」というメッセージには胸が高鳴りました。
[ 資料 ]
Lightening Talk
1. 「√2 をつくる」 @taketo1024
[ 資料 ]
2. 「実践Scalaでペアノの公理」 @busterdayo
[ 資料 ]
3. 「せいほうけい育成日記」 @nekonenene
[ 資料 ]
4. 「packing にまつわるアレコレ」 @simizut22
[ 資料 ]
5. 「Introducing PONS」 @dankogai
[ 資料 ]
6. 「すべての図形を分類した男」 @matsumoring
[ 資料 ]
7. 「かんたんベジェ曲線」 @butchi_y
[ 資料 ]
8. 「ベータ分布の謎に迫る」 @kenmatsu4
[ 資料 ]
9. 「始代数とCatamorphism」 Ryo Mikami
[ 資料 ]
まとめ
今回も実に盛りだくさんでしたね…!セッションの前半は見て楽しめる数学、後半は難しいが分かると面白い数学、そして LT は数学好きが暴れまわるという感じでバランスが取れていたんじゃないかと思います(笑) HULINKS さん、今回もフードスポンサーありがとうございます!写真は今回も 馬場彩 さんに撮って頂きました!
リンク
「プログラマのための数学勉強会」の一年を振り返る
この記事は Math Advent Calendar 2015 の 24日目の記事です。(23日目:空の見えないセカイ - tsujimotterのノートブック)
このブログはちょうど一年前 id:tsujimotter さんの 明日話したくなる数学豆知識 Advent Calendar 2014 に記事を書くために開設したのでした。今年も tsujimotter さんからバトンタッチを受けてクリスマス・イヴに数学について書けることを心から嬉しく思います。
プログラマのための数学勉強会
今年一月に第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
いかがでしたか?上のリストにない素晴らしい発表もたくさんあるので、末尾のリンクから過去のレポート記事をご覧ください。
数学を「実験」するプログラミング
プログラマによる数学の発表がなぜこんなに面白いのか考えてみたのですが、それはプログラミングが数学の「実験」を可能にしているからなんじゃないかなと思いました。例えば小学校の理科で、アルミ片を塩酸水に入れて水素を発生させ、これに火をつけて「ヒュッ!」とやったら水が出来てる、という実験をやりましたよね。高校になると、
という化学式を習います(これであってますよね?w)。この式は小学校でやった「あの実験」の記憶があるから何が起きてるかイメージできますが、最初から化学式だけ習っていたら何のこっちゃ分かりません。しかし数学の教育ではそれと同じことが起きてしまっているように思います。公式の暗記と適用ばかりやらされていたら「これが何の役に…」みたいなことも言いたくなるでしょう。
先日たまたまこの「ピタゴラスの定理」の実証実験を見つけてとても感心しました:
学校でも公式を習うたびこのような実験ができれば良いのですが、一個一個作ってたら先生が大変でしょうがないし、製作における物理的な制約があります(4次元図形とかなると原理的に作れません)。しかしプログラムなら書けます。アルゴリズムを実装して計算をさせたり、複雑なグラフを表示して動かしたり、物理エンジンを使って現実世界をシミュレートしたり…工夫次第で色々な「実験」ができます。
「プログラマのための数学勉強会」で発表してくれた方々は、それぞれ得意な方法でその実験を見せてくれました。その数学が理論か応用かということは関係なく「実験が分かれば面白い」という素朴な感動がたくさんあったんじゃないかと思います。
未来の数学教育では(それもそう遠くない未来で)プログラミングは当たり前のようにそこにあり、分からないことはその場でパパッと実験するようになっているでしょう。生徒は先生から一方的に教わるのではなく、生徒が自分で見つけた面白い実験方法を公開してお互いに教えあっているんじゃないかと夢見ています。
最後に
このブログ、しばらく「プログラマのための数学勉強会」レポート専用ブログになっちゃってますが、元々は数学記事を書くつもりで始めたものでしたw 年明けから勉強も再開し、記事もちょっとずつ書いていこうと思うのでそちらも楽しんで頂ければ幸いです。
改めて「プログラマのための数学勉強会」に関わってくれた皆さん、ありがとうございます。それでは、メリークリスマス&良いお年を 🎅