このリポジトリはTicTacToeの派生です。
派生元のリポジトリはCで実装されています。また、AIの種類が異なり、NPCと対戦することができます。
このリポジトリの3目並べは結果確認のみです。
pythonでTicTacToeの必勝法を調査する。
必勝法である「ゲーム木の全探索」を、NegaMax法で実装したプレイヤーに対して、対戦結果を確認した。
- 同じアルゴリズムのプレイヤーと対戦
- ランダムに行動するプレイヤーと対戦
100回ずつ対戦し、勝ちなら1,負けなら0, 引分けなら0.5をカウントした。つまり、全勝なら100,全敗なら0,全部引分なら50になる。
.
├─── README.md
├─── main.py # シミュレーション.
├─── player_ai.py # プレイヤー.指定したアルゴリズムで行動を決定.
├─── statevalue.py # 指定したアルゴリズムで状態価値を決定.
└─── tictactoe.py # ゲームの状態のクラスStateを定義.
Anaconda Prompt を推奨します。 ただし、Pythonが実行できる環境であれば、なんでも構いません。
- Anacondaをインストール.
- リリースからバージョンを選んでTicTacToe_pyをダウンロード.
- Anaconda Prompt を実行
- Promptに"python "と入力. (行末のスペースを忘れずに!)
- ダウンロードしたTicTacToe_pyから、main.pyをAnaconda Promptにドラック&ドロップしてください.
- Promptは以下のようになっているはずです。
そのままEnterで実行できます.
phtyon [パス]/main.py
-
布留川英一(2019) 『AlphaZero 深層学習・強化学習・探索 人工知能プログラミング実践入門』 ボーンデジタル.
https://www.borndigital.co.jp/book/14383.html -
八谷大岳, 杉山将(2008) 『強くなるロボティック・ゲームプレイヤーの作り方 プレミアムブックス版』株式会社マイナビ出版.
https://book.mynavi.jp/supportsite/detail/9784839956738.html -
伊藤 毅志 , 保木 邦仁 , 三宅 陽一郎 (2018)『ゲーム情報学概論- ゲームを切り拓く人工知能』 コロナ社.