TOP新刊既刊I/OサポートQ&AI/O WEB版通販お問い合わせ
 既刊 > 2016年 > 8月 書名検索: 詳細検索...
アルゴリズムの強化手法を探る
Java将棋の アルゴリズム[改訂版]
池 泰弘 著
2016年 8月23日発売   B5判  240ページ 定価 \2,484(本体 \2,300)
   ISBN978-4-7775-1965-1 C3004 \2300E
 2012年、コンピュータとプロ棋士が対戦する「電王戦」がはじまりました。
 そして2015年10月、情報処理学会がコンピュータ将棋の実力はトッププロ棋士に追い付いている(統計的に勝ち越す可能性が高い)という分析結果を出し、「コンピュータ将棋プロジェクト」の終了を宣言しました。
 しかし、「コンピュータ将棋」の強さがプロ棋士を越えたからと言って、開発を辞めてしまう開発者はどれくらいいるのでしょうか。その程度のことで開発を辞める開発者は、おそらく誰もいないでしょう。

このように、大きな動きの中にある今、「コンピュータ将棋」ですが、本書はそんな「コンピュータ将棋」のアルゴリズムを、一から解説しています。

 本書では、使用言語としてJavaを使っていますが、アルゴリズムに絞って解説しているので、「C」や「C++」など他の言語にも応用することが可能です。
 また、「将棋」のルールや駒の動かし方から説明しているので、「将棋」がよく分からない人でも手軽に読むことができます。
 本書掲載の「将棋プログラム」もダウンロードできるので、プログラム制作の参考になるのはもちろん、「将棋プログラム」の実際の動きを見ながらアルゴリズムを学ぶことができます。

※本書は好評だった「Java将棋のアルゴリズム」に最新の情報を加筆し、現状に合わせてプログラムを一新しました。
■ 主な内容 ■

1章 将棋のルール

1-1 将棋のルール

 将棋の基本ルール

 盤上の位置を表わす符号

 駒の名称と動き方

 禁手

 棋譜の表記法

 

2章 将棋のルールの実装

2-1 基本的な定数の定義

2-2 「局面」の表現方法

2-3 「位置」の表現方法

2-4 「手」の表現方法

2-5 局面での合法手の生成

 

3章 簡単なユーザー・インターフェイスと思考ルーチンの実装

3-1 インターフェイスと思考ルーチンの実装

 

4章 「局面の評価」の実装と「思考ルーチン」の改造 「将棋」のルールの実装

4-1 評価関数

4-2 駒の価値

 

5章 MinMaxとαβ法

5-1 先読みをする

5-2 MinMax法

5-3 αβ法とは

5-4 「MinMax」と「NegaMax」、「αβ」と「Negaαβ」

 

6章 実装の高速化

6-1 高速化の実際

 

7章 序盤定跡

7-1 定跡とは

7-2 定跡データの保持の方法

7-3 定跡通りに指すためのプログラム

7-4 定跡データを用意する方法

 

8章 序盤の駒組み

8-1 序盤の考察

 

 

9章 中終盤の駒の価値の評価

9-1 中終盤での駒の評価

9-2 実際のプログラム

 

10章  指し手の評価と前向き枝刈り

10-1 指し手の評価

10-2 αβ法と組み合わせる

10-3 手法の評価

 

11章 ハッシュ法とハッシュ法を用いた高速化

11-1 ハッシュ法とは

11-2 将棋におけるハッシュの方法

11-3 乱数を用いたハッシュ表の生成

11-4 ハッシュ法を用いた高速化

 

12章  通信の実装

12-1 CSAプロトコル

12-2 CSAプロトコルの実装

 

13章  相手思考時間の利用

13-1 スレッドとは

13-2 通信や相手の入力などを待ちながら思考する

 

14章 「複数スレッド」での探索

14-1 並列化

14-2 変更を加えたプログラム

 

最終章 これからの課題とヒント

15-1 課題とヒント

15-2 展望 〜未来に向けて〜

 

本書内容に関するご質問は、こちら
本書のサポートページはこちら
通信販売
在庫あり
サポート情報
サポート
ご意見・ご質問

内容見本