18
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonで〇×ゲームのAIを一から作成する 目次

Last updated at Posted at 2023-09-19

「Pythonで〇×ゲームのAIを一から作成する」の目次です

回数 タイトル 公開日 最終更新日
1 はじめに 2023/09/20 2023/09/20
2 Python のプログラムの記述と実行 2023/09/20 2023/09/20
3 ゲームの仕様の整理 2023/09/20 2023/09/20
4 配列 と list 型のデータ 2023/09/20 2023/09/20
5 ゲーム盤のデータ構造と繰り返し処理 2023/09/20 2023/09/20
6 list と繰り返し処理 2023/09/20 2023/09/20
7 Python のデータとオブジェクト 2023/09/20 2023/09/20
8 Python の変数と代入処理 2023/09/20 2023/09/20
9 list の仕組み 2023/09/20 2023/09/20
10 正しい初期化されたゲーム盤の作成方法 2023/09/20 2023/09/29
11 Python の代入処理の補足 2023/09/20 2023/09/21
12 マークの配置と条件分岐 2023/09/21 2023/09/29
13 関数の定義と関数呼び出し 2023/09/24 2023/09/29
14 名前空間とスコープの仕組み 2023/09/28 2023/09/29
15 名前解決を見分けやすいプログラムの記述方法 2023/10/01 2023/10/09
16 プログラムの修正と関数の副作用 2023/10/05 2023/10/09
17 モジュールのインポートと docstring 2023/10/08 2023/11/25
18 ゲーム盤の表示 2023/10/12 2023/10/12
19 オブジェクト指向プログラミング 2023/10/15 2023/10/15
20 クラスとインスタンスの仕組み 2023/10/19 2023/10/19
21 クラスの属性 2023/10/22 2023/10/22
22 手番の実装 2023/10/26 2023/10/26
23 勝敗判定 2023/10/29 2023/11/25
24 勝敗判定のテストの手法 2023/11/02 2023/11/02
25 テストを行う関数とデータと処理の分離 2023/11/05 2023/11/05
26 テストケースを表すデータ構造の修正 2023/11/09 2023/11/09
27 アルゴリズムとデータ構造 2023/11/12 2023/11/12
28 list と文字列の変換 2023/11/16 2023/11/16
29 文字列で表現する xy 座標 2023/11/19 2023/11/19
30 その他の座標を表すデータ構造 2023/11/23 2023/11/23
31 〇の勝利の判定に対するテスト 2023/11/26 2023/11/26
32 × の勝利の判定に対するテストと test_judge の改良 2023/11/30 2023/11/30
33 引き分けの判定に対するテストと組み合わせ網羅テスト 2023/12/03 2023/12/03
34 さまざまな勝利判定のアルゴリズム 2023/12/07 2024/01/28
35 さまざまな勝利判定のアルゴリズム2 2023/12/10 2023/12/11
36 すべてのマスが埋まっていることを判定するアルゴリズム 2023/12/15 2023/12/15
37 〇×ゲームを遊ぶためのメソッドの定義 2023/12/17 2023/12/17
38 play メソッドの改良 2023/12/21 2023/12/21
39 単純な AI の作成 2023/12/24 2023/12/24
40 AI の強さの評価方法 2023/12/29 2023/12/29
41 比率の表示と書式の指定 2023/12/31 2023/12/31
42 手番を入れ替えた対戦 2024/01/04 2024/01/04
43 AI の視点からの結果の表示 2024/01/07 2024/01/07
44 ルールベースのAIとAIの検証 2024/01/10 2024/01/10
45 勝てる場合に勝つAIと、浅いコピーと深いコピー 2024/01/14 2024/01/14
46 相手の勝利を阻止するAI 2024/01/18 2024/01/18
47 評価値を利用するアルゴリズム 2024/01/21 2024/01/21
48 デバッグ表示と、可変長引数と実引数の展開 2024/01/25 2024/01/25
49 評価値の計算方法 2024/01/28 2024/01/28
50 局面に対する評価値の設定と計算 2024/02/01 2024/02/01
51 〇×ゲームに勝つための条件 2024/02/04 2024/02/04
52 set の性質と利用方法 2024/02/08 2024/02/08
53 dict のハッシュ可能なオブジェクトへの変換と互換性 2024/02/11 2024/02/11
54 namedtuple を使った dict の変換 2024/02/15 2024/02/15
55 必要条件と十分条件と、複数の条件を考慮した評価値 2024/02/19 2024/02/19
56 棋譜の記録と、問題のある試合経過の検証 2024/02/22 2024/02/22
57 敗因の検証と改善方法 2024/02/26 2024/02/26
58 最強の AI と最善手の定義とその性質 2024/03/01 2024/03/01
59 演繹法とヒューリスティックによる問題の解決 2024/03/04 2024/03/04
60 弱解決の定義と性質とその判定方法 2024/03/08 2024/03/08
61 ai11s の検証と限定的な条件による問題の解決 2024/03/11 2024/03/11
62 条件の統合と乱数の種によるプログラムの再現性 2024/03/14 2024/03/14
63 最善手の優劣 2024/03/17 2024/03/17
64 ルールベースの AI の一覧、対戦成績、作成したデータファイルのまとめ 2024/03/18 2024/08/22
65 matplotlib による画像の描画の基本 2024/03/21 2024/03/21
66 枠線と文字列によるマークの描画 2024/03/24 2024/03/24
67 画像によるマークの描画 2024/03/28 2024/03/28
68 ipywidgets と ipympl の使い方とイベント駆動型プログラミング 2024/03/31 2024/03/31
69 画像の描画のタイミングと丸めによる座標の変換 2024/04/04 2024/04/05
70 マウスによる着手の処理 2024/04/07 2024/04/08
71 GUI による AI との対戦 2024/04/11 2024/04/14
72 リセットボタンによるゲームのリセット 2024/04/14 2024/04/14
73 重複する処理の統合 2024/04/18 2024/04/18
74 Dropdown による AI を選択するドロップダウンメニューの作成 2024/04/21 2024/04/21
75 循環インポートとDropdownの項目の自動登録 2024/04/24 2024/04/24
76 playメソッドのバグの修正とデフォルト引数に関する注意点 2024/04/28 2024/04/28
77 Dropdown による AI の選択と play メソッドの改良 2024/05/02 2024/05/02
78 リプレイ機能の実装 2024/05/05 2024/05/05
79 リプレイ機能の < ボタンに関する修正 2024/05/09 2024/05/09
80 リプレイ機能の残りの問題の修正 2024/05/12 2024/05/12
81 AI が手番を担当した場合のリプレイ機能とGUIの処理の分離 2024/05/16 2024/05/16
82 self の意味の混同に由来する様々なエラー 2024/05/19 2024/05/19
83 GUIの機能の分離の完了と差分による局面の再現 2024/05/23 2024/05/23
84 IntSliderとキー入力によるGUIの実装 2024/05/26 2024/05/26
85 キー入力による着手の処理の実装と inspect モジュールを利用したバグの修正 2024/05/30 2024/05/30
86 GUI による乱数の種の設定と対戦結果のファイルへの読み書き 2024/06/02 2024/06/02
87 ファイルダイアログの設定とOutputウィジェット 2024/06/06 2024/06/06
88 ゲーム木、木構造と親ノードと子ノードの関係の視覚化 2024/06/09 2024/06/09
89 幅優先アルゴリズムによる深さ 2 のゲーム木の作成と視覚化 2024/06/13 2024/06/13
90 幅優先アルゴリズムによる任意の深さのゲーム木の作成と部分木の視覚化 2024/06/16 2024/06/16
91 ゲーム木の視覚化の処理のバグの修正と改良 2024/06/19 2024/06/19
92 ゲーム木の部分木の表示範囲の改良 2024/06/23 2024/06/23
93 継承を利用したGUIの定義 2024/06/27 2024/09/05
94 ゲーム木を視覚化する GUI の作成 2024/06/30 2024/06/30
95 ゲーム木を視覚化する GUI の改良 2024/07/04 2024/07/04
96 テンキーとマウスによる中心となるノードの移動 2024/07/07 2024/07/07
97 ゲーム木の生成過程を表示するアニメーション 2024/07/11 2024/07/11
98 ゲーム木の生成過程を表示するアニメーションの改良と処理時間の計測 2024/07/15 2024/07/15
99 深さ優先アルゴリズムによるゲーム木の生成 2024/07/19 2024/07/19
100 再帰呼び出しによる繰り返し処理の性質 2024/07/21 2024/07/21
101 for 文と while 文による繰り返し処理の性質と使い分け 2024/07/25 2024/07/25
102 直線的な繰り返し処理を行うボトムアップとトップダウンな再帰呼び出し 2024/07/28 2024/07/28
103 複数の項で表される漸化式のトップダウンな再帰呼び出しによる計算 2024/08/01 2024/08/01
104 木構造のデータに対する幅優先と深さ優先アルゴリズムによる繰り返し処理 2024/08/04 2024/08/04
105 ミニマックス法によるゲーム木の全てのノードの評価値の計算 2024/08/08 2024/08/08
106 深さ優先アルゴリズムと幅優先アルゴリズムでのゲーム木の評価値の計算の過程の視覚化 2024/08/11 2024/08/11
107 ゲーム木を利用した強解決のAIの作成とエラーメッセージによるデバッグ 2024/08/15 2024/08/15
108 ゲーム木を利用した AI の処理の改良とプログレスバーの表示 2024/08/18 2024/08/18
109 強解決の AI であるかの判定 2024/08/22 2024/08/25
110 データ型による演算子の処理の違いによるバグとboard 属性を利用した局面の表現 2024/08/25 2024/08/25
111 同一局面の計算と同一局面を考慮した強解決の AI の判定 2024/08/29 2024/08/29
112 弱解決の AI であるかの判定と枝狩りによる探索の効率化 2024/09/01 2024/09/02
113 パラメータを必要とする AI に対する GUI の対戦機能の実装 2024/09/05 2024/09/05
114 データ構造を変更した結果生じた Marubatsu_GUI クラスのバグの修正 2024/09/08 2024/09/08
115 ファイルの保存と読み込みに関するバグの修正と改良 2024/09/12 2024/09/12
116 〇×ゲームの GUI とゲーム木の表示の連動 2024/09/15 2024/09/15
117 GUI の部分木への最善手の表示と最善手を着手し続けた場合の局面の表示 2024/09/19 2024/09/19
118 最善手の優劣を考慮したゲーム木を利用する AI 2024/09/22 2024/09/22
119 matplotlib での文字の表示の性質と部分木の表示サイズを変更する FloatSlider の実装 2024/09/26 2024/09/26
120 draw_subtree メソッドで表示する部分木の動的な作成 2024/09/29 2024/09/29
121 部分木の動的な作成の続きと潜在的なバグ 2024/10/03 2024/10/03
122 評価値が計算された部分木の動的な作成と Mbtree_GUI クラスによる表示 2024/10/06 2024/10/06
123 Dropdown による最善手・評価値の対応表の変更 2024/10/10 2024/10/10
124 リプレイ機能を利用した際のバグの検証と修正 2024/10/13 2024/10/13
125 現在の局面の状況と合法手を着手した際の局面の状況の表示 2024/10/17 2024/11/16
126 AI が計算した候補手または評価値のゲーム盤への表示 2024/10/20 2024/10/20
127 ラッパー関数 2024/10/23 2024/10/23
128 ラッパー関数を作成して返り値として返す高階関数とクロージャーの仕組み 2024/10/28 2024/10/28
129 デコレーターとデコレーター式によるラッパー関数の定義 2024/11/01 2024/11/01
130 クラスによるデコレーターの定義とデコレーター式による AI の定義 2024/11/04 2024/11/04
131 ラッパー関数とラップする関数の仮引数の関係 2024/11/09 2024/11/09
132 デコレーター式を利用したすべての AI の関数の再定義 2024/11/12 2024/11/12
133 再定義した AI の検証と任意の AI が計算した候補手または評価値のゲーム盤への表示 2024/11/16 2024/11/16
134 評価値を表示するAIの自動選択とゲーム木を利用するAIの評価値の一覧の計算 2024/11/24 2024/11/24
135 引き分けの局面での最善手の優劣と最大と最小の評価値の計算 2024/11/28 2024/11/28
136 ミニマックス法と引き分けの局面の評価値の再計算の処理の分離 2024/12/01 2024/12/01
137 ミニマックス法による探索の実装方法の種類と評価値を動的に計算する実装方法 2024/12/05 2024/12/05
138 αβ(アルファベータ)法の仕組みと実装 2024/12/08 2024/12/08
139 Mbtree_Anim クラスのバグの修正と改良 2024/12/15 2024/12/15
140 αβ 法による評価値の計算手順の視覚化 2024/12/19 2024/12/19
141 αβ 法の視覚化の改良 2024/12/22 2024/12/22
142 近日公開予定です
18
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?