第4回人狼知能国際大会で優勝しました

OVERVIEW

授業のプロジェクトとして参加した第4回人狼知能国際大会で優勝することができました。

YEAR 2022

今年の春に授業で人狼知能を開発するプロジェクトに参加しました。そこで人狼知能を開発し、大会に参加して優勝できたので、作ったものやそのプロセスを紹介したいと思います。

人狼知能とは

人狼知能はその名の通り、人狼ゲームをプレイする人工知能のことです。

AIは将棋や囲碁などのゲーム分野で既に人間を上回っていますが、そうした「完全情報ゲーム」とは異なり、人狼ゲームは他人の役職など、ゲームの情報が全てわかるわけではない「不完全情報ゲーム」と呼ばれ、人工知能にとってまだ未開拓です。

このような状況のもと、「人狼知能」の技術を高めあうために人狼知能プロジェクトがすすめられています。

人狼知能プロジェクトでは毎年人狼知能国際大会が開催されていて、私は計4人でチームを組み、リーダーとして第4回人狼知能国際大会(プロトコル部門)に挑戦しました。

開発のプロセス

開発にあたって、まず過去大会の決勝進出者のコードを分析することから始めました(人狼知能国際大会は決勝進出者のソースコードがすべて公開されています)。ソースコードを分析したり、実際に対戦させてみたりしながらどのエージェントを参考に開発を進めるか検討しました。

検討の結果、私たちは昨年の優勝エージェントであるTOKUをベースに実装していくことにしました。どのような実装を行うかを各メンバーが考えてスプシに書き出し、ミーティングでどれを誰が実装していくかを話し合いました。実装することで勝率が上がらなさそうでも、人狼知能が発展していくために必要そうなものは実装するように意識しました。

実装はgithubでソースコードを共有しながら、分担して開発しました。

作成したもの

実際に人狼知能が動いている様子を撮影しました。まずはこちらをご覧ください。

工夫した点は以下のようなところです。

  • 投票する相手を宣言する発言のバリエーションを増やしたり人狼どうしの「ささやき」を実装することで、より実際の人狼に近い動きを目指した。
  • 占い師・霊媒師のCOタイミングや人狼・狂人が騙る役職などを増やすことで、行動のバリエーションを増やし役職が推定されにくくした。
  • 村人以外のすべての役職がCOする「フルオープン」を呼びかける処理を実装した。

結果

提出したBasketというエージェントが国際大会のプロトコル部門で優勝しました。ほかにiohというエージェントも2位に入りました。

勝率などの詳細な結果は下記リンクからご覧いただけます。

http://aiwolf.org/archives/2873

また作成したエージェントについてのドキュメント・ソースコードなどはこちらからダウンロードできます。

http://aiwolf.org/archives/2840

まとめ・これから取り組みたいこと

今回はチームメンバーにも恵まれ、優勝することができました。自分自身としてもはじめてPM的な立場をさせていただき、とてもいい経験になりました。

来年も出場したいので、イチから人狼知能に関する知識を学びなおしていきたいと思います。また、インフラ部門などほかの部門にも挑戦していきたいと思います。