プログラマのための圏論勉強会
イベント内容
概要
プログラマの皆さん、圏論をやりましょう!
対象とする参加者:
- プログラマ全般、情報・CS系の学生
- 圏論に興味がある/入門してみたい/過去に入門書を手に取ってみたが挫折した
- 圏論好きなプログラマ同士で交流したい
(プログラマ以外の職種の方も歓迎します!)
予習用資料
予習は必須ではありませんが、圏論を知らない状態で講演を聞くよりも一度は自分で定義を見て図式を書いてみたりした方が(その時点ではサッパリ分からなくても)得るものは多くなると思います。以下の資料を参考に軽く予習して来て頂けると嬉しいです:
タイムテーブル
開催: 2018/10/16(火) 19:00 〜
時間 | 発表タイトル | 難易度 | 発表者 |
---|---|---|---|
18:30-19:00 | 受付開始 | ||
19:00-19:45 | トポロジーと圏論の夜明け | ★☆☆ | taketo1024 |
19:50-20:35 | 圏論は、随伴が全て | ★★☆ | 大森 健児 |
20:40-21:25 | プログラマのためのモナド入門 | ★★☆ | inamiy |
21:30-22:00 | 懇親会 |
難易度の目安:
- ★☆☆:圏論の知識は不要
- ★★☆:圏論の基礎的な概念(圏・関手・自然変換など)を知っていると聞きやすい
- ★★★:圏論の基礎的な概念は既知とする
講演概要
トポロジーと圏論の夜明け 〜 佐野 岳人
18世紀にオイラーが多面体は「頂点 - 辺 + 面」が一定になることを発見し、20世紀初頭にポアンカレが "柔らかな図形" を扱える「トポロジー」を創設しました。20世紀中期、トポロジーで用いられる代数的手法をアイレンバーグ・マックレーンらが公理化して出来たのが圏論です。
トポロジーはグラフ理論や TDA(Topological Data Analysis)において、圏論は型理論や証明支援系において用いられ、これらの理論は数学だけでなくコンピュータ科学やエンジニアリングにおいても重要になってきています。しかしそのルーツが20世紀以降の抽象数学にあることから、数学専攻でない人たちが学ぶのには高いハードルがあるのが現状です。
この発表ではトポロジーと不変量(特にオイラー数)の説明、単体的ホモロジー群の構成、そして圏論による定式化という順に数学的ルーツを辿りながら、トポロジーの考え方と圏論的視点の有用性をプログラマ向けに説明します。前提知識は行列計算のみです。
佐野岳人 @taketo1024
東京大学数理科学研究科修士2年、トポロジー専攻。元 iOS エンジニア。
圏論は、随伴が全て 〜 大森 健児
数学の概念の中で最も重要な概念の一つは同値である。中学校で三角形の合同を学んで以来、同値という概念をいくつも学んだ。もちろん、圏論においても「同じ」という概念はとても重要だ。随伴と呼んでいるが、オーソドックスに学ぶと、とても最後の方に出現するので、ここまで到達しない人も多いことと思う。そこで、ここでは、分かりやすい比喩を用いていきなり随伴を理解することにしよう。さらには、随伴の汎用性についても説明する。
大森 健児
学歴:東京大学工学部卒業、カリフォルニア大学バークレイ校修士課程修了、工学博士(東京大学)
職歴:日本電気中央研究所、法政大学工学部教授、同情報科学部教授、同情報科学部長などを経て、現在は、法政大学名誉教授
プログラマーのための圏論 著者
プログラマのためのモナド入門 〜 稲見 泰宏
Swift や Kotlin、Rustなど、近年のモダンなプログラミング言語に欠かせない「null安全性」(Optional
型 や "optional binding" など)は、私たちが日々書くコードを、コンパイラが強力な「型(システム)」で守ってくれます。
また、Haskellのように、「外部との副作用」(IO
型)にまで踏み込んで、型を扱いにくくしながらプログラムの安全性をより強固にする純粋関数型言語もあります。
これらの「型」や「計算」の理論の背景にあるのが、「モナド」です。
私たちが普段、何気なく使っている flatMap
/ and_then
/ bind
(>>=
) の正体であり、「圏論」における「随伴」の概念から導くことができます。
この発表では、「随伴」の基本を復習した後、「モノイド」「モノイダル圏」を見ていき、かの有名な「モナドは自己関手の圏におけるモノイド対象」をゴールとします。
稲見泰宏 @inamiy
AbemaTV iOSエンジニア
会場:
株式会社サイバーエージェント
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。
新規会員登録
このイベントに申し込むには会員登録が必要です。
アカウント登録済みの方はログインしてください。
※ ソーシャルアカウントで登録するとログインが簡単に行えます。
※ 連携したソーシャルアカウントは、会員登録完了後にいつでも変更できます。