この記事は「ボードゲーム・パズルプログラミング Advent Calendar 2022」3日目の記事です(遅刻すみません)。
架空伝統ゲーム「机戦」とは
創作上の異世界ファイクレオネで遊ばれている(という設定の)伝統ゲームです。 日本机戦連盟では、それを実際に遊べるようにする様々な活動が行われています。
今回から、机戦のAIを作っていきます。
今日の成果
- リポジトリを作りました。
- もう半分くらいできたといっても過言ではありません(過言)。 github.com
- リポジトリ名は東島通商語(という架空の言語)でのこのゲームの名前 cetkaik と AI から取りました(お気に入り)。
- ランダムプレイヤーを実装しました。 github.com 状態遷移が複雑で、ランダム要素もあるため、既存の実装GitHub - cetkaik/cetkaik_full_state_transitionを活用しています。
- 単純に役を作れるなら作る、駒をとれるなら取る、という戦略を実装したAI (greedy)を実装しました。 github.com
- cetkaik_full_state_transitionのバグを発見しました
- 踏越え後の可能な行動をリストアップすると、非合法な行動が入ってしまうバグがあることを発見しました。近いうちに id:hsjoihs が直してくれるそうです。
今後の展望
踏越えルール等により、手の可能性が多く、何手も先まで探索することは非現実的です。 モンテカルロ法を利用したり、評価関数を実装したりすることにより、現実的な計算量で戦略的に行動するAIを作っていきたいです。