社内数学勉強会でのアルゴリズム教材の候補
この記事は、株式会社LIFULLの社内勉強会で使うアルゴリズムの勉強資料の候補をまとめた雑多な記事です。
LIFULLの数学サークルの紹介
LIFULLには「あなぐま会」という、自主的に数学の勉強会を行っているサークルがあります。発足して4ヶ月程度で、ずっと筑波大学の線型代数の講座をネタに勉強してきました。私も(数学に詳しくないにも関わらず)、毎回参加しています。
そのあなぐま会が9月末の期が変わるタイミングで振り返りを行い、少し転換して「今まで通りの時間は1~2ヶ月で終わる内容にし、線型代数の講座は別枠で勉強することにする」という方針になりました。応用に興味の強いメンバーも多かったことや、準備が一部のメンバーに偏ってしまったことが理由です。
私はアルゴリズムの翻訳書のレビューを行い、わからない箇所も多かったので、それをテーマにしようと提案しようと考えています。そこで1~2ヶ月程度で(Pythonが書けるアナリスト中心の)数学に興味のある人でも興味を持ってもらえる内容を考えています。
余談ですが、いずれあなぐま会は、LIFULL Creators Blogなどでもお目にかかる機会があるでしょう。お楽しみに。
資料の候補
翻訳書のレビューを通して、一番私が興味を持った概念が「マトロイド」です。これはメトロイドではありません。
解決したい問題がこの性質を持つとき、貪欲法でうまく解けるというものらしいです。
離散最適化基礎論(2015年度後学期)
そのマトロイドで検索して出てきた講義です。
これは難しそう…と思ったけど、最初のスライドだけなら集合論の知識で解決できるので、なんとかなるかもしれません。また、他の年度は全く別の内容なので、それも候補になるでしょう。
アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~
特に動的計画法はネタにしても面白いかもしれません。この方の記事は、自分たちの目的にはちょうどいい難易度かもしれません。
計算量オーダー
プログラミングの基礎の一つ。あなぐま会メンバーにはPythonを使うアナリストも多いため、計算量オーダーを知って、とんでもなく遅いプログラムを避ける方法を知ってもらうのもいいかもしれません。
リュカのキャノンボール問題(平方ピラミッド問題)
paizaの記事にあった問題です。あまりアルゴリズムと関係ない気もしますが、面白そうなのでメモしておきます。