做出「狼人殺」的 AI 有哪些難點?

如果狼人殺的基本規則不變,選手每輪不作發言,只能做出決策選擇。在這種假設下,如何構建一個「狼人殺」的 AI 數學模型,保證其作為選手獲勝的概率盡量大?


沒有具體的規則很難構建具體的模型。但這種情況應該是一個多人不完美信息動態博弈。現在從數學的角度來解決還沒有太好的辦法。演算法的話,用蒙特卡洛方法做框架應該會比較好。


非常有意思啊

nlp和博弈論方向的結合

非常感興趣!

---------------------------------------------

提一下思路吧

昨天正好看到一篇paper

論文地址:https://arxiv.org/abs/1711.06351

我覺得如果真的想嘗試一下的話,不妨借鑒這篇paper的思路。

更新:還是大概解釋一下吧。這篇paper其實背景是NYU的研究員們在研究AI玩一個益智遊戲,遊戲雙方的目標是通過有效詢問猜到對方戰艦的長度。他們先觀察人類怎麼玩,怎麼提問題,然後借鑒了之前人類問過的問題,發展出一些新的問題。最後證明能得到一個水平很高的AI。


想了一下,簡化成顏殺抿身份的話,其實是個few shot leaening的問題吧。(邏輯什麼的我最差了。)


以下是個人觀點,未經測試。

整體採用深度神經網路框架,仿照初版alphago,訓練兩個網路:決策網路和身份推斷網路。

身份推斷網路是一個RNN,每輪輸入是以下信號之一:

- x在夜間死亡

- 昨天是平安夜

- x宣稱自己是y身份

- x對y的評價是z(輕踩/重踩/捧 對應不同權重)

- x查殺/金水/開槍帶走 y

- x爆狼

- x在投票中投y/棄票。

- x在投票中死亡。

- x是y身份(僅用於已知的確定性身份,如本人,隊友,預言家驗出的身份,白痴,爆狼者等)

將以上信號做成bag-of-words類型,輸入給RNN,輸出當前所有人vs所有身份的概率矩陣(當然還要加一組常量信號表示本局的配置和座次)。

決策網路是一個全連接深度網路,其輸入為身份概率矩陣和當前的遊戲狀態(存活人員,遊戲配置和座次,我方身份與目標),輸出為下一步(或下幾步)的決策。


能玩狼人殺級別的自然語言處理怕是要橫掃頂會了


狼人殺館可以從現在開始保存錄音了,以後是拿來賣錢的training data


本質是一個說謊遊戲,因此其實不盤邏輯,做一個測謊的語音識別的,就可以了。


只考慮網殺的話,自然語言處理(nlp),自然語言推理,你見過微軟小冰罷,那基本代表了現在的大公司的研究程度了,什麼時候微軟小冰你覺得對話起來特別流暢了而且看上去是有推理能力的,那大概就可以考慮做狼人殺AI了。

面殺的話還得加上人臉識別和語音識別,好在這兩個領域的情況比前者要好很多。對AI來說面殺不一定難,雖然有語音識別這關增加了最終接收到的文字不準確的可能,但增加了面部信息以及語調信息來輔助判斷情緒,反而可能容易些。


這個主要是是數據集的收集有難度而已吧(當然如果戰旗有興趣搞、數據也不是問題)我的baseline想法是每個選手的發言數據打上不同身份的label然後用卷積網路做預測、這樣訓練出來的模型你輸入一句話就能得到身份、應該還是能行的


如果狼人殺的AI都能做出來,那我覺得人類活不下去了


我覺得難點在於……ai怎麼聽發言語氣啊?

不發言?那有身份么?選不選警長?不發言怎麼選警長?


你們就不怕AI摧毀世界么?


推薦閱讀:

b大的深度學習框架有什麼獨到之處?
能否使用區塊鏈的算力來解決深度學習訓練?
目前,人工智慧語音在說中文時的語氣感覺上還比較機械,怎樣使人工智慧語音的語氣更自然一些?
theano中怎麼查看TensorVariable的值,在debug時如何跟蹤這樣的變數?

TAG:人工智慧 | 數據挖掘 | 機器學習 | 數學建模 | 深度學習DeepLearning |