対戦ゲームに学ぶ、フレームワークの設計技法とAIのアルゴリズム入門 #builderscon tokyo 2019
builderscon tokyo 2019 にて、表題にて発表します(した)。スライドだけでは十分に情報を伝えられないため、この記事にて補足していきます。
登壇資料
指のゲーム
ここ(heroku)で動かせます。本来は対戦ゲームですが、1人で両方動かす形です。Display GuideをONにすると、後退解析によって解析された結果を利用して、各Moveのwin/lose/drawが表示されます。
コードはこちら(GitHub: qsona/yubisen)にあります(かなり雑然としたコードでスイマセン)。boardgame.ioを利用しています。後退解析のコードはその中のanalysis.tsです。
ぷよぷよの名勝負
紹介した対戦は ALF vs かめ 100本先取 (2010, 実況 Tom) です。劇的な結末を迎えます。ぷよぷよを知らない方も最後の方だけでもぜひ。
"天才の詰み"
郷田真隆 - 羽生善治 の一戦。解説の先崎さんに「天才の詰み」と言わせた羽生さんの詰めが鮮やかです。 Youtube
「最後の審判」について
こちらのnoteマガジンで書き進めています。登壇時に未完成ですが、1-2週間で結論まで書き上げる予定です。ぜひマガジンをフォローしてください!
モンテカルロ木探索
資料中では十分説明できませんでした。こちらの資料がとっても分かりやすいので、ぜひご参考に。
コンピュータ囲碁におけるモンテカルロ法 ~理論編~ 美添 一樹
ぷよぷよのAI
ぷよぷよ AI: mayah(AI) の実装 / @mayah_puyo が資料としては最も参考になります。それ以外にも、ぷよぷよ AI などで検索すると実際の対戦の様子なども見ることができます。
参考文献
「どうぶつしょうぎ」の完全解析 / 田中哲朗
ゲームを解く!Educational DP Contest K, L 問題の解説 - Qiita / @drken
コンピュータ囲碁におけるモンテカルロ法 ~理論編~ / 美添 一樹