Skip to content

Latest commit

 

History

History
41 lines (34 loc) · 2.17 KB

README.md

File metadata and controls

41 lines (34 loc) · 2.17 KB

ml_tictactoe

三目並べのAIを重回帰分析で作る

English | 日本語

概要

このプロジェクトは、三目並べ(Tic Tac Toe)のゲームをプレイするAIを重回帰分析を用いて作成するものです。AIは、ゲームの盤面状態を特徴ベクトルに変換し、重回帰モデルを使用して最適な手を選択します。

ファイル構成

  • ml_tictactoe.py: 重回帰分析モデルを使用して三目並べのゲームを開始するメインファイル。
  • tictactoe.py: 三目並べのゲームロジックを実装したファイル。盤面の幅を表す定数WIDTHと、升目の数を表す定数SIZEが含まれています。
  • user.py: ユーザーの入力を扱う関数を実装したファイル。
  • rand.py: ランダムな手を生成する関数を実装したファイル。
  • minmax.py: Minimax手法で手を決める関数を実装したファイル。
  • mc.py: 原始モンテカルロ法で手を決める関数を実装したファイル。
  • recorder.py: ゲームの記録を扱うクラスを実装したファイル。
  • scorer.py: ゲームのスコアリングを扱うクラスを実装したファイル。
  • regression.py: 重回帰分析モデルを使用して最適な手を選択するクラスを実装したファイル。
  • dataset.py: ゲームの盤面パターンを管理し、データセットを生成するクラスを実装したファイル。
  • README.md: このプロジェクトの日本語版の説明書。
  • README.en.md: このプロジェクトの英語版の説明書。

使い方

  1. 必要なライブラリをインストールします。

    pip install pandas scikit-learn
  2. 学習データを作成します(ランダムな打ち手から生成されます)。

    python dataset.py
  3. ml_tictactoe.pyを実行して、重回帰分析モデルを使用した三目並べのゲームを開始します。

    python ml_tictactoe.py

リンク

詳細な解説は、以下の記事を参照してください。 https://qiita.com/y-tetsu/items/8fcacea73d58ab692196