第1章 |
将棋のルール |
(1)将棋のルール |
|
第2章 |
将棋のルールの実装 |
(1)基本的な定数の定義
(2)「局面」の表現方法
(3)「位置」の表現方法 (4)「手」の表現方法
(5)局面での合法手の生成 |
|
第3章 |
簡単な
ユーザー・インターフェイスと
思考ルーチンの実装 |
(1)インターフェイスと思考ルーチンの実装 |
|
第4章 |
「局面の評価」の実装と
「思考ルーチン」の改造
「将棋のルール」の実装 |
(1)評価関数 (2)駒の位置 |
|
第5章 |
MinMaxとαβ法 |
(1)先読みをする (2)MinMax法
(3)αβ法とは
(4)「MinMax」と「NegaMax」、「αβ法」と「Negaαβ」 |
|
第6章 |
実装の高速化 |
(1)高速化の実際 |
|
第7章 |
序盤定跡 |
(1)定跡とは (2)定跡データの保持の方法
(3)定跡通りに指すためのプログラム
(4)定跡データを用意する方法 |
|
第8章 |
序盤の駒組み |
(1)序盤の思考 |
|
第9章 |
中終盤の駒の価値の評価 |
(1)中終盤での駒の評価
(2)実際のプログラム |
|
第10章 |
指し手の評価と
前向き枝刈り |
(1)指し手の評価 (2)αβ法と組み合わせる
(3)手法の評価 |
|
第11章 |
ハッシュ法と
ハッシュ法を用いた高速化 |
(1)ハッシュ法とは (2)将棋におけるハッシュの方法
(3)乱数を用いたハッシュ表の生成 (4)ハッシュ法を用いた高速化 |
|
第12章 |
通信の実装 |
(1)CSAプロトコル (2)CSAプロトコルの実装 |
|
第13章 |
相手思考時間の利用 |
(1)スレッドとは (2)通信や相手の入力を待ちながら思考する |
|
終章 |
|
|
|