Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

人狼知能プロジェクト・プロトコル解説

20,922 views

Published on

人狼知能セミナー(11/19)で用いたプロトコル解説

Published in: Technology
  • Be the first to comment

人狼知能プロジェクト・プロトコル解説

  1. 1. ルール・プロトコル説明
  2. 2. 人狼のシンプル化 • 発話:特に必要な発話のみ – 役職のカミングアウト – 能力によって得られた情報の共有 – 疑っている対象の報告 • 発話順はランダムで決定 – 同時COなどの問題はなし – 先送りができる
  3. 3. 人狼サーバにおけるゲームの流れ • 会話 • 投票 • 能力者の行動決定 • 吊り、襲撃処理 • 占、霊へ情報提供 • 勝敗処理 ゲーム開始ゲーム終了
  4. 4. 人狼サーバにおける会話の流れ 1日の始まり 全員の話し合い 人狼の 話し合い 会話終了 話し合い開 話し合いに参加するエージェ ントの並び替え(ランダム) エージェントによる発話 まだ喋 る 話し合い終 了 YES NO 始 人狼エージェントによる 発話
  5. 5. ゲーム内容 • BBS型人狼準拠ルール – 例12人村:狩人1、狂人1、霊媒師1、占い師1、 人狼2、村人6 – 初日は吊り・襲撃無し。占いのみ – 各エージェントの発話 • 表発言量:各日付ごとに最大10回 • 狼発言量(狼のみ):一回発話が回る毎に10回×10 回 – 発話順はランダムに割り振られる
  6. 6. 発話プロトコルの内容
  7. 7. 人狼プロトコルの開発 • 自然言語は扱いが難しい • 人狼で行われる会話をモデル化した言語設 計 – プログラムに扱える範囲で、かつ記述可能 な範囲をなるべく広げる
  8. 8. 人狼BBSの発話割合 • 意思表示で50% 弱 • 理由説明20% • 雑談15% • その他15% 稲葉通将, 大畠菜央実, 鳥海不二夫, 高橋健一, 雑談ばかりしてると殺される- 人狼BBSにおけるプレイヤーの発言傾向と意思決定・勝敗の分析-, JAWS 2013, 2013.
  9. 9. 意思表示内容(10種類) • estimate(Agent, Role) – Agentの役職はRoleだと思う • comingout(Agent, Role) – AgentがRoleをカミングアウトする • divined(Agent, Species) – Agentを占った結果Speciesだった • inquested(Agent, Species) – Agentの霊能結果がSpeciesだった • guarded(Agent) – Agentを守った • vote(Agent) – Agentに投票する • agree(TalkType, day, id) – 対象の発話に同意する • disagree(TalkType, day, id) – 対象の発話に反対する • skip() – まだ今日話したいことがある • over() – もう今日は話すことない
  10. 10. 大まかなプロセス • これらの発話は、発話量を1消費する – 情報交換 • 予想:estimate • CO:comingout • 能力結果通知: divined, inquested, guarded • 投票先:vote – 同意/非同意 • agree • disagree – 話を飛ばしたい場合 • skip – 話すことがなくなったら • over
  11. 11. estimate(Agent, Role) • 他エージェントの役職を推定する言い方 • 「Agentの役職はRoleだと思う」
  12. 12. comingout(Agent, Role) • CO発言。エージェントの役割を宣言 • AgentがRoleをカミングアウトする – Agentが自分なら自分のCOだが、他人のCOにも 使う(狼COや共有者CO)
  13. 13. divined(Agent, Species) • Agentを占った結果Speciesだった • 占い師、もしくは偽占い師が占い結果を告げ るときに使う – Speciesは人間もしくは人狼
  14. 14. inquested(Agent, Species) • Agentの霊能結果がSpeciesだった • 霊媒師、もしくは偽霊媒師が霊能結果を告げ るときに使う – Speciesは人間もしくは人狼
  15. 15. guarded(Agent) • Agentを自分が守った • 狩人、もしくは偽狩人が護衛結果を告げると きに使う
  16. 16. vote(Agent) • Agentに投票する • 踊り子バルバラに投票する
  17. 17. agree(TalkType, day, id) • 対象の発話に同意する • 日付と発話IDを指定
  18. 18. disagree(TalkType, day, id) • 対象の発話に反対する • 日付と発話IDを指定
  19. 19. skip() • まだ話したいことがある • 会話量を1消費する
  20. 20. over() • もう話したいことはない • 会話量を1消費する • 全員がこれを選択した場合、その日の会話は 終了する
  21. 21. わりと複雑な会話も可能
  22. 22. 準備中です プロトコルの拡張について
  23. 23. 将来課題:BDIによるプロトコル拡張 • BDI論理を使うことで、人狼における複雑な推論(入れ子の推 論)を記述可能となる。 • ログから検証 Do divine, Liesa ∩ Is Liesa, villager BEL퐽표푎푐ℎ푖푚 AX ¬Do ∀푝푒표푝푙푒 푒푥푐푒푝푡 퐴푙푏푖푛, tell, Is who, seer → Is Albin, seer
  24. 24. BDI論理による推論表現 • 占い師を演じる狂人の襲撃に失敗した人狼 が、狂人を庇う村人の動きから、その村人が 狂人を護衛した狩人と見抜く
  25. 25. 「モーリッツがオットー村側と信じる」「モーリッツは狩人!」 BEL푂푡푡표(BEL푀표푙푖푡푧 Is Otto, VILLAGESIDE ) → BEL푂푡푡표(Is(Molitz, hunter)) Is x, VILLAGESIDE → Is x, HUMAN Is x, attacked ∩ AX(Is x, live ) → Is x, guarded 「村側なら人間」 BEL푀표푙푖푡푧 Is Otto, HUMAN 「襲撃されて生きてるなら護衛成功」 Is y, HUMAN ∩ Do x, tell, Is(x, seer) ∩ Do x, tell, Is y, HUMAN ∩ (Do ∀z except x, tell, Is(z, seer) ∩ Do z, tell, Is y, wolf ) → Is x, seer Is Otto, HUMAN BELy Is x, VILLAGESIDE → BELy(Do y, know, Is x, attacked ) Is Albin, seer Do Molitz, know, Is Albin, attacked Is Albin, attacked AX(Is Albin, live ) Is Albin, guarded Is x, seer ∩ Do x, tell, Is y, HUMAN → Is x, HUMAN 푟푎푡푖표푛푎푙 푎푐푡: 合理的行動 ℎ푒푢푟푖푠푡푖푐푠: 経験則 BEL푀표푙푖푡푧 Is Albin, seer Is(x, hunter) ∩ B(Is y, guarded ) ↔ Do(x, know, Is(y, attacked)) 푩푬푳푴풐풍풊풕풛 Is x, seer → Is x, VILLAGESIDE BEL푀표푙푖푡푧 Is Albin, VILLAGESIDE 푩푬푳푶풕풕풐 푓푎푐푡: 事実 푟푢푙푒: 規則からの推論 estimation: 推測 「占い師は嘘付かない」 「2人の占い師の一人が人間を人間と 占ったら、そいつが本物」 「オットーは人間」 「アルビンが占い師」 「占い師は人間」 「アルビンは襲撃されたが生きてた」 「アルビン護衛」 「モーリッツはアルビン人間と考えてる」 「人間と信じてるなら、たぶんその人は襲われたと知ってる」 「アルビン占い師」 「モーリッツはアルビン襲撃されたと知ってる」 「襲撃先を知ってるのは狩人だけ」

×