Java人工知能プログラミング


Java人工知能プログラミング -オブジェクト指向と関数スタイルによるAIの実装-


三恵社


著者:深井裕二


はじめに

第1章 再帰処理と副問題への分割
1.1 再帰的プログラミング
再帰処理とは
再帰処理の過程
再帰処理のトレースプログラム
1.2 フラクタルカーブ
グラフィックス処理の基礎プログラム
コッホ曲線プログラム
ドラゴン曲線プログラム
シェルピンスキー曲線プログラム
ツリー曲線プログラム
1.3 ハノイの塔
目標と副問題への分割
ハノイの塔プログラム

第2章 解の探索とバックトラツキング
2.1 Nクイーン問題
解の探索と状態空間
Nクイーン問題プログラム
2.2 騎士の巡回問題
ルート探索とバックトラッキング
騎士の巡回問題プログラム

第3章 論理パズル
3.1 宣教師とモンスター
ルールと目標状態
宣教師とモンスター問題プログラム
3.2 農民と狼とヤギとキャベツ
ルールと目標状態
農民と狼とヤギとキャベツ問題プログラム

第4章 ゲーム木理論
4.1 ゼロサムゲーム
二人零和有限確定完全情報ゲーム
4.2 TicTacToe
ル ールと勝敗
TicTacToe基本プログラム
TicTacToeグラフィックスプログラム
4.3 ミニマックス戦略
最良の手を打つ戦略
TicTacToeミニマックスプログラム
4.4 アルファベータカット
目的とアルゴリズム
TicTacToeァルファベータカットプログラム

第5章 推論と知識ベース
5.1 推論エンジン
プロダクションシステムと推論エンジン
前向き推論と後ろ向き推論
5.2 前向き推綸
前向き推論エンジンプログラム
前向き推論実行プログラム
5.3 後ろ向き推論
後ろ向き推論エンジンプログラム
後ろ向き推論実行プログラム

第6章 人工生命とNPC
6.1 ランダムな働き
移動方向と方向転換のランダム決定
ランダム移動方向プログラム
ランダム方向転換プログラム
6.2 Boidアルゴリズム
群れのルール
Boidプログラム
6.3 ノンプレイヤーキヤラクタとゲームスレッド
ゲームの構成
マップ構築プログラム
キャラクタ基本要素プログラム
プレイヤー生成プログラム
NPC生成プログラム
ゲームループとマルチスレッドプログラム

第7章 自律行動と追跡
7.1 パンくず拾い
手掛かりを見つけて追跡する
パンくず拾い探索エンジンプログラム
パンくず拾い探索ゲームプログラム
7.2 A*アルゴリズム
ターゲットまでの最適ルート
A*アルゴリズム追跡エンジンプログラム
A*アルゴリズム追跡ゲームプログラム
7.3 有限状態マシン
NPCの自律行動システム
有限状態マシンプログラム
有限状態マシンゲームプログラム

第8章 機械学習とニューラルネツトワーク
8.1 ニューラルネットワーク
ニューロンモデル
ロジスティック回帰と学習
ロジスティック回帰プログラム
ロジスティック回帰パターン認識プログラム
8.2 多層パーセプトロン
線形分離不可能問題
多層パーセプトロンとバックプロパゲーション
多層パーセプトロンプログラム
多層パーセプトロン実行プログラム

9章 ディープラーニングの基礎
9.1 深層宇習の準備
ディープラーニング
手書き文字データ読み込みプログラム
可視化プログラム
9.2 オートエンコーダ
オートエンコーダの機能と構造
オートエンコーダプログラム
オートエンコーダ実行プログラム
9.3 デノイジングオートエンコーダと並列演算
デノイジングオートエンコーダプログラム
デノイジングオートエンコーダ実行プログラム
デノイジングオートエンコーダ並列演算プログラム
9.4 ディープニューラルネットワーク
多層デノイジングオートエンコーダの構成
多層デノイジングオートエンコーダプログラム
手書き文字認識のディープラーニングプログラム

第10章 Java環境の導入
10.1 Java開発環境とプログラム作成
Javaの関数型スタイル
Eclipseの導入
プロジェクトとパッケージの作成
Helloプログラムの作成
10.2 リスト処理ライブラリ
AI処理に適したデータ構造
コンスセルによるリスト処理ライブラリ
10.3 本書のソースコード入手先

索引

書籍目次

Posted by shi-n