第1回 「人狼知能」って何?|Tech Book Zone Manatee

マナティ

「人狼知能」って何?

第1回 「人狼知能」って何?

連載の第1回目では、「人狼知能」が戦う「人狼ゲーム」の紹介を行うとともに、人狼知能プロジェクトの概要、そして、その全国大会である人狼知能大会の要綱などについて説明していきます。

1.そもそも「人狼ゲーム」とは?

ある村に、人間の姿に化けられる人喰い人狼が潜んでいるという。人狼は人間と同じ姿をしており、昼間には区別がつかないが、夜になると正体を現し、村人たちを1人ずつ襲っていく。村人たちは疑心暗鬼になりながら、話し合いによって人狼と思われる人物を1人ずつ村から追放していくことにした……

 これが、「人狼ゲーム」のバックグラウンドストーリーです。人狼ゲームは10人程度のプレイヤーで行うテーブルゲームで、プレイヤーは村人陣営と人狼陣営に分かれてそれぞれの陣営の勝利を目指して戦います。村人陣営の目的は村人のフリをしている人狼チームのプレイヤーを追放(ゲームから排除)することにあり、人狼陣営の目的は村人に追放されないようにしながら、村人を食べ尽くす(ゲームから排除する)ことにあります。

 人狼陣営のプレイヤーは、人狼であることがバレてしまえば簡単に村人陣営によってゲームから排除されてしまいます。そのため、人狼チームのプレイヤーは村人チームの一員のフリをしながら目的完遂のために行動することになります。

 プレイヤーはお互いの正体を知らされないため、お互いが何者なのかを探るべく会話を行い、会話の中からヒントを見つけ出して人狼を探し出すことになります。しかし、何の情報もない状態では人狼側が有利になりすぎるため、村人側に有利な能力を持ったいくつかの「役職」が村人側に用意されています。それらの特殊能力をいかに有効活用するかが村人チームの戦略となり、特殊能力を利用させないようにすることが人狼チームの戦略となります。

 ゲームは、「昼のターン」と「夜のターン」の交代で進行していきます。昼のターンでは、全員で(人狼は村人のフリをしています)議論を行い、投票によって誰を追放するのかを決定します。夜のターンでは、役職が持つ能力に応じた行動をとります。人狼であれば、誰を排除するのかを決めて「襲撃」を行います。

 人狼ゲームにはさまざまなバリエーションがありますが、人狼知能で採用している役職と能力などの説明は表1のとおりです。

役職名 陣営 説明
村人 村人 特に特殊能力は持っていないため、会話と投票行為、追放されたプレイヤーが誰であるか以外からはヒントは得られない。ほかの役職に当たらなかったものが村人となるため、通常は村人の数が最も多くなる
占い師 村人 1日1人だけを指定して「占う」ことで、そのプレイヤーが「人狼であるかどうか」を知ることができる。誰を占うかは占い師が決める。人狼陣営のプレイヤーは「自分が占い師」であると騙り、混乱させる戦略を取ることが多い
霊媒師 村人 前日に追放されたプレイヤーが「人狼であったかどうか」を知ることができる
狩人 村人 プレイヤーを1人指定して、夜のフェーズの「襲撃」から「護衛する」ことができる。ただし、自分を護ることはできない
人狼 人狼 夜のフェーズにほかのプレイヤーを「襲撃」できる。昼間の議論の際に自身の正体がばれないように上手にふるまう必要があり、占い師や霊媒師であるというように「役職を騙る」ことで混乱させる。また、人狼同士はお互いを認識しており、協調して進行する
裏切り者 人狼 村人としてカウントされが、人狼陣営が勝利した際に同時に勝者となる。人狼をアシストするような行動を行う必要があるが、誰が人狼であるかは知らない。そのため、村人と同様に人狼を推測しながら、密かに人狼を助けるように振る舞う必要がある
表1 人狼知能における「役職」

 人狼ゲームは元々はロシアで遊ばれていたゲームで、「マフィア」と呼ばれていました。それがアメリカで商品化され、広く楽しまれるようになりました。日本でも「汝は人狼なりや」「タブラの狼」など、いくつかのゲームセットが発売されています。

 その後、日本ではインターネットで人狼ゲームを長期にわたって行う「BBS人狼」、短期間で行う「短期人狼」などが生まれています。ネット人狼も含めて人狼ゲームをプレイする人口は現在増え続けており、筆者の体感では大学生の8割程度が人狼ゲームについて知っており、5割くらいの学生にプレイ経験があるようです。一方で、上の年代になるにつれて知名度は減少しており、若者のゲームであると言えるでしょう。

2.「人狼知能」とは?

 そんな人狼ゲームを人工知能にプレイさせようというプロジェクトが、「人狼知能プロジェクト」(http://aiwolf.org/)です。

図1 人狼知能プロジェクト(http://aiwolf.org/

 人工知能の発展を語る上で、ゲームプレイングAIの存在は欠かせないものです。実に、世界最初のコンピュータが作られたころから、テーブルゲームの1つであるチェスをプレイさせることができないかという模索が始まったといわれています。映画『2001年宇宙の旅』でも、コンピュータのHAL 9000がチェスで乗組員と対局する場面が印象的に描かれていました。実際に、チェスや将棋、囲碁といったゲームをプレイする人工知能が人間をはるかに凌駕するようになり、人工知能の発展がわかりやすく示された事例となっています。2015年には情報処理学会のコンピュータ将棋プロジェクトがプロジェクトの役割を果たしたとして終了宣言を行い(http://www.ipsj.or.jp/50anv/shogi/20151011.html)、2016年と2017年にはコンピュータ囲碁がトッププロに勝利しました。

 囲碁や将棋といったゲームは、ゲームに関する全ての情報が全てのプレイヤーに明かされている「完全情報ゲーム」であり、また、運の要素が全くない「決定論的ゲーム」です。完全情報決定論的ゲームにおいては、すでに人工知能が人間を打ち負かしたといってよいでしょう。

 一方で、プレイヤーに情報がすべては開示されていない「不完全情報ゲーム」や運の要素が入る「非決定論的ゲーム」においてはまだ研究開発が十分に行われていないため、これからさまざまなゲームについて人工知能が参入してくると予想されます。

 人狼知能プロジェクトは、こうした不完全情報ゲームである人狼ゲームを人工知能にプレイさせることを目的としています。

人狼知能実現に必要な技術

 人狼ゲームは不完全情報ゲームであるため、将棋や囲碁といった完全情報ゲームとは異なり、多くの情報がプレイヤーによって隠蔽されます。また、人狼ゲームはプレイヤー同士のコミュニケーションによって進行するため、会話から自分が置かれた状況を理解する必要があります。

 つまり、簡単に言えば、人狼ゲームをプレイするためには、隠された情報を推定しながら思考する能力と、人間とコミュニケーションを行う能力の2つが必要ということになります。

 まず、思考の面から考えると、人狼ゲームにはプレイヤーが持つ情報の非対称性、信頼を得る説得・協調行動、嘘を見抜く推論など、従来の人工知能分野では扱っていなかった多数の解決すべき問題が存在しています。

 次に、コミュニケーションの面から考えると、その実現のためには多くの難問をクリアしなければいけないでしょう。たとえば、人間の発言を聞き取って(音声認識)理解する(言語理解)ことが必要であり、会話からゲーム状況を把握してどのような行動をすればよいかを決定し(知的処理)、必要に応じて発言を行う(発話生成、音声発話)必要があります。

3.人狼知能大会

 人工知能による将棋の対戦の場がコンピュータ将棋大会であるように、人狼知能同士を対戦させる場が存在します。それが、人狼知能大会です。

 2015年8月に第1回人狼知能大会が、2016年には人工知能学会30周年記念として第2回人狼知能大会が、国内最大級のゲームカンファレンスCEDEC(http://cedec.cesa.or.jp/2017/)において開催されました。大会には全国のプログラマーが作成した「人狼知能エージェント」(人狼ゲームを戦うプログラム)が参加し、予選、本戦を通じて人狼ゲームを自動プレイしました。2017年も同様に、CEDECにおいて第3回人狼知能大会が開催されます。

 人狼ゲームはコミュニケーションゲームなので、本来は自然言語で人工知能同士が会話を行ってプレイできるとよいのですが、自然言語処理を行うには高度な専門知識が必要です。そのため、現在は発言に制限が設けられており、あらかじめ決められた「人狼プロトコル」(http://aiwolf.org/protocol)にしたがった発言のみが許可された「プロトコル部門」、および、専門家による「自然言語部門」の2つに分けて大会が開かれます。

 人狼プロトコルはいわば人狼用の簡易言語で、人狼ゲームを行う上でよく使われるであろう発言のみを抽出したものです。たとえば「私は占い師です」といったカミングアウトや、「私はAさんに投票します」といった宣言などが含まれます。こうしたプロトコルべースで対話を行うことで、エージェント作成者は比較的簡単に人狼知能エージェントを実装できるようになっています。なお、昨年までの参加チームの実装コードや対戦ログは公開されている(http://aiwolf.org/resource)ので、これから参加しようという方は参考になるはずです。

 大会のルールは、ネット人狼の1つであるBBS人狼をベースに、対面型人狼に近くなるようなルールを導入しています。1回のゲームには15体のエージェントが参加し、表1に従って役職をランダムに振り分け、ゲームを行います。各エージェントは振り分けられた役職に応じてふるまいを変えられます。参加する15体のエージェントは固定して、役職のみを変更しながら1セット100回のゲームを行います。可能であれば、100回の大戦の間に相手のクセを学習して利用することもできます。これを複数セット行い、勝った陣営に所属するエージェントに1ポイントを与えました。最終的に高いポイントを持っているエージェントが勝者となります。

役職 人数 チーム
村人(VILLAGER) 8 村人
占い師(SEER) 1 村人
霊媒師(MEDIUM) 1 村人
狩人(BODYGUARD) 1 村人
人狼(WEREWOLF) 3 人狼
裏切り者(POSSESSED) 1 人狼
表2 人狼知能大会における「役職」とエージェント数

 大会は予選と決勝に分けて行われます。予選ではランダムに選ばれた15体のエージェントが人狼をプレイし、ポイント総計によって決勝進出エージェントが決定されます。ただし、動作の途中で例外処理(エラー)を起こしたエージェントはその時点で失格となります。

 決勝では、15エージェントがランダムに役職を割り振られ、ゲームを行います。そのすべてのゲームにおける勝率で決勝の成績が決定されます。

図2 第1回人狼知能大会の様子

図3 第2回人狼知能大会の様子

 人狼知能に興味が出てきて、参加してみたいという方は、人狼知能プロジェクトのWebサイト(http://aiwolf.org)および第三回人狼知能大会のページ(http://aiwolf.org/3rd-aiwolf-contest)を参照してください。

 第三回人狼知能大会の日程は以下のようになっています。

・アカウント登録締め切り(予定):7/14(金)
・予選プログラム投稿締め切り(予定):8/4(金)
・予選終了(予定):8月上旬
・決勝プログラム提出締め切り(予定):8月中旬
・決勝大会(CEDEC 2017):8/30~9/1

 皆様のご参加をお待ちしております。プログラムの提出までは1カ月ほどありますが、アカウントの登録は締め切りが迫っているので、まずは登録を済ませてください。

 次回からは、実際に人狼知能を作る方法、そのための基礎知識などについて解説していきましょう。

著者プロフィール

鳥海不二夫(著者)
東京大学大学院工学系研究科准教授。博士(工学)。2004年東京工業大学大学院理工学研究科機械制御システム工学専攻博士課程修了。名古屋大学情報科学研究科助教を経て、現職。エージェントベースシミュレーション、ソーシャルメディア、計算社会科学などの研究に従事。人狼知能プロジェクト代表。人狼ゲームを研究すれば仕事中に人狼ゲームをやり放題だと思って始めたら、学生が一緒に遊んでくれなかったため、泣きながら人狼知能大会のプラットフォームをコーディングする毎日を送っている。