コンピュータ将棋に期待する
まえがき
序章 将棋プログラムとは
0.1 ゲームをプレーするプログラムとは
0.2 ゲームプログラムの意味
0.3 将棋プログラムの現状
1 将棋プログラム設計事始め
1.1 将棋プログラムの設計
1.2 将棋の局面を表現するデータ構造
1.3 盤面を画面上に表示する
1.4 「手」の動作を分析する
1.5 可能な手の条件
1.6 次の局面を生成する
1.7 可能な手を列挙する
1.8 局面を評価する
1.9 先読みの考え方
1.10 ゲーム木の枝刈り
1.11 将棋を強くするからくり
2 ゲーム木探索のアルゴリズム
2.1 ゲームアルゴリズムの適用範囲
2.2 ゲームの状態とゲーム木
2.3 αβ法
2.4 PVS法
2.5 順序付けによるαβ法
2.6 SSS法
2.7 静的評価
2.8 まとめ
3 将棋プログラム設計の実際
3.1 将棋プログラムの構成
3.2 高速将棋盤の設計
3.3 定跡ルーチン
3.4 中盤の次の一手ルーチン
3.5 詰ルーチン
3.6 必死ルーチン
3.7 在来将棋譜表記法
4 将棋プログラム K1.5 の思考アルゴリズム
4.1 はじめに
4.2 K1.5の思考アルゴリズム
4.3 棋譜の例
4.4 詰将棋について
4.5 今後の課題
5 森田将棋 II のアルゴリズム
5.1 森田将棋 II について
5.2 思考の基本
5.3 着手生成ルーチン
5.4 森田将棋 II の着手生成ルーチン
5.5 評価関数
5.6 森田将棋 II における局面の評価方法
5.7 探索
5.8 コンピュータの強さを決めるその他の要因
オンライン座談会
付録1 将棋ソフトウェア一覧
付録2 コンピュータ将棋協会の案内
索引
まえがき
序章 将棋プログラムとは
0.1 ゲームをプレーするプログラムとは
0.2 ゲームプログラムの意味
0.3 将棋プログラムの現状
1 将棋プログラム設計事始め
1.1 将棋プログラムの設計
1.2 将棋の局面を表現するデータ構造
1.3 盤面を画面上に表示する
1.4 「手」の動作を分析する
1.5 可能な手の条件
1.6 次の局面を生成する
1.7 可能な手を列挙する
1.8 局面を評価する
1.9 先読みの考え方
1.10 ゲーム木の枝刈り
1.11 将棋を強くするからくり
2 ゲーム木探索のアルゴリズム
2.1 ゲームアルゴリズムの適用範囲
2.2 ゲームの状態とゲーム木
2.3 αβ法
2.4 PVS法
2.5 順序付けによるαβ法
2.6 SSS法
2.7 静的評価
2.8 まとめ
3 将棋プログラム設計の実際
3.1 将棋プログラムの構成
3.2 高速将棋盤の設計
3.3 定跡ルーチン
3.4 中盤の次の一手ルーチン
3.5 詰ルーチン
3.6 必死ルーチン
3.7 在来将棋譜表記法
4 将棋プログラム K1.5 の思考アルゴリズム
4.1 はじめに
4.2 K1.5の思考アルゴリズム
4.3 棋譜の例
4.4 詰将棋について
4.5 今後の課題
5 森田将棋 II のアルゴリズム
5.1 森田将棋 II について
5.2 思考の基本
5.3 着手生成ルーチン
5.4 森田将棋 II の着手生成ルーチン
5.5 評価関数
5.6 森田将棋 II における局面の評価方法
5.7 探索
5.8 コンピュータの強さを決めるその他の要因
オンライン座談会
付録1 将棋ソフトウェア一覧
付録2 コンピュータ将棋協会の案内
索引