人狼知能で学ぶAIプログラミング: 欺瞞・推理・会話で不完全情報ゲームを戦う人工知能の作り方

Front Cover

コミュニケーションゲームにおける人工知能の最先端がここにある


将棋と囲碁の次に人工知能が取り組むゲームは人狼です。 

――松原 仁氏(はこだて未来大学 副理事長・システム情報科学部教授/人工知能学会 前会長) 


人を知り、人と遊び、人を出し抜く、人狼知能! 

――三宅陽一郎 氏(日本デジタルゲーム学会理事/ゲームAI開発者) 


「人狼ゲーム」とは、村に紛れ込んだ人食い人狼を、お互いに自分自身の正体がばれないようにほかのプレイヤーと話し合いながら、村人チームと人狼チームの生き残りを競うゲームです。与えられる情報に限りがあり、さらにプレイヤーごとに情報量に偏りがあるという「不完全情報ゲーム」で、騙す、嘘を見抜く、揺さぶるなど、「心理的な」駆け引きが重要になってきます。将棋や囲碁のように、お互いの情報が開示されている「完全情報ゲーム」における人工知能の研究は進んでおり、次のフロンティアは不完全情報ゲームであると目されています。 


本書では、AI同士で人狼ゲームを行う「人狼知能」を通してAIプログラミングを学んでいきます。人狼ゲームを戦うプレイヤープログラム「人狼知能エージェント」の概要、機械学習入門とそれを活用したエージェントの作成方法、さらには自然言語処理の基礎とそれを組み込んだエージェントの作成方法まで、人狼知能エージェントを作成するための知識が網羅されています。 


AIプログラミングの解説は数多くありますが、サンプルの実装ではなく、ここまで明確な目的を見据えた実装は多くはありません。本書を参考にして、強い人狼知能の開発や人狼知能大会への参加、さらには、推論や自然言語によるコミュニケーションが可能なAIといった応用へと踏み出してください。また、人狼知能エージェント同士を戦わせる「人狼知能大会(プロトコル部門)」を連覇中の最強エージェントのアルゴリズム解説も掲載されているため、脅威の人狼発見率を誇るプログラムの実際を知り、自分のエージェントに組み込むことも可能です。 


付録として、コマンドラインやツールの基本、Javaプログラミングの基礎やツールの活用、デバックの手法などが収められており、プログラミング初心者であっても、人狼知能エージェントの作成が学べる内容になっています。 


本書は「人狼知能エージェントの作成」をテーマに、「機械学習や自然言語処理の入門的内容」を学んで「プログラミングする」という構成になっており、学習者に合わせて内容の一部を選ぶことで、大学などでのプログラミング教材となるようにも構成されています


第1章 人狼知能とは 

第2章 人狼知能エージェントの基礎知識 

第3章 人狼知能エージェントプログラミング 

第4章 機械学習入門 

第5章 機械学習を活用した人狼知能エージェント 

第6章 自然言語処理入門 

第7章 自然言語処理を利用した人狼知能エージェント 

付録A コマンドライン利用の基礎 

付録B Javaプログラミングの基礎 

付録C オブジェクト指向の基礎と効率的なプログラミング 

付録 D Java標準ライブラリの利用

 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

第2章人狼知能エージェントの基礎知識
19
第3章人狼知能エージェントプログラミング
63
第4章機械学習入門
119
第5章機械学習を活用した人狼知能エージェント
151
第6章自然言語処理入門
179
第7章自然言語処理を利用した人狼知能エージェント
207
付録A コマンドライン利用の基礎
235
付録B Java プログラミングの基礎
261
付録C オブジェクト指向の基礎と効率的なプログラミング
295
付録D Java 標準ライブラリの利用
343
索引
383
著者プロフィール
396
おわりに
398

Common terms and phrases

About the author (2017)

静岡大学 准教授 

山形大学 准教授

東京大学 准教授

Bibliographic information