是否能做出一種可以戰勝所有人類玩家的dota類遊戲AI?

規則公平的前提下,就像深藍那樣,能夠打敗所有人類玩家的dota類遊戲ai。


首先明確一點,深藍能勝過世界冠軍,是因為國際象棋的規則相對遊戲而言過於簡單,計算機只要不斷用窮舉法推算出對手的每一步落子,然後靜觀其變,等待對手失誤即可。但面對演算法更複雜的圍棋時,當時的深藍便無能為力,更別說綜合了英雄選擇、人物成長、裝備合成、戰線控制等多種元素Moba類遊戲。即便放到現在,也沒有哪一台計算機能100%贏過李昌鎬聶衛平。

接著來說AI。無論是什麼類型的遊戲,其AI都是由程序用代碼實現的,所以一定會有規律可循。而幾乎所有的遊戲玩家都知道,擊敗AI的方式就是發現規律→分析規律→打破規律。這就好比令狐沖的獨孤九劍,自己可以無招,但只要對手有招,便可破之。

再舉個例子:你看War3里,即使高級電腦擁有兩倍英雄經驗、兩倍資源和視野全開的優勢,也會被某些玩家1VN的血虐。

So,除非我們能開發出擁有自主意識的AI,否則以現階段AI的實現方式以及計算機運行能力來評估,它們還無法在Dota這種MOBA類遊戲中與最頂尖的玩家為敵。


搞人工智慧不玩dota的來回答這個問題會不會被噴死?

其實我也不能確定能或者不能,只是覺得樓上諸位對人工智慧的威力太過低估了……

提幾點吧。

1.dota的AI設計與深藍的AI設計是幾乎完全不同的兩種思路。樓上認為dota規則比國際象棋複雜所以AI一定打不過人類高手是不全面的。

1.1 dota出現時間短,而且規則複雜。所以時至今日,基本可以肯定,人類頂級高手對這個遊戲的發掘尚未達到國象高手對國際象棋這個遊戲發掘的程度。

1.2 dota不是回合制的遊戲,敏捷性和操作的精確性在玩家水平中佔據相當大的部分。計算機在這兩塊是有天然優勢的。

1.3 哪怕是深藍,也不是靠窮舉所有步驟擊敗卡斯帕羅夫的。各種啟發式規則佔據了相當大的部分。而dota玩家將對當前局面的判斷做成計算機可讀懂的啟發式規則不見得是一件很困難的事情。

1.4 說計算機無法預測是完全的誤解。人工智慧、模式識別、機器學習很大程度上解決的就是預測問題。 @朱瑞禹說的Bayesian推論是其中的一大類演算法,除此外還有很多其他的應用。

1.5 計算機的另一個優勢是實時監控全局,對已開地圖在任何時候都了如指掌。這個也是相比於人類的優勢。

2.我不會玩dota,不過本科的時候做過若干其他遊戲的AI,微軟2006年的ImagineCup比賽AI是一款即時戰略遊戲。當然規則沒有dota複雜,決賽的參賽AI至少看著都具有很高的智能水平,而且都把決賽現場的人類挑戰者虐成渣。另外本科還做過《帝國時代2》的AI,基本能完虐班上最牛的傢伙(大概是3家極難電腦的水平……)。——當然帝國肯定比dota簡單。升級速度快20s左右基本就鎖定勝局了。

3.總結。相比於深藍,dota的AI對遊戲的發掘必然遠遠不及,但上述1.2、1.5的優勢,以及1.1所述人類玩家相對於卡斯帕羅夫等人的劣勢,此消彼長之下,能否抵消規則複雜帶來的難度增加,尚未可知。


作為一個資深的dotaer,想過一個問題,dota作為一款即時策略遊戲,能不能有一種必勝的策略呢?

為此我打了近7k盤的dota,觀看了2k+的比賽,follow了無數的大神

精疲力盡

終於

我總結出了好多的tips,各種情況下的最優選擇

得意洋洋

熟練的啟動了遊戲,滿懷信心的對所有人打出了gggl

當然,贏得要有風度,我對自己這樣說

然後就是無比恥辱的30分鐘。我不說,你也懂得

對面在最後defeat我們後,打出,gg,gl

贏得真TM真有風度。

如今有近兩年不碰dota了,閑的時候發獃,想,如果有人認認真真的做這件事情——設計一個無敵AI,這是可能的,灰溜溜地不死心地想。

為什麼呢?

直覺上的考慮:路人賽里輸的姿勢千奇百怪,而職業賽中贏的方式仍然是有相似之處。

所謂不幸各有不同,幸福總是相似。

從直覺上,既然有相似之處,那就是可分析的,然後制定演算法,策略。安慰自己想,至少可以提高1%勝率吧?!

那倘若具體實行呢,輕佻地想一下,眼下倒有兩種思路

1,利用電腦的優勢,我覺得一定可以做出100%反補這種對人來說bug級別的操作。即,從細節上擊敗人類。

大局的考慮先不講

a,由於人總會漏刀,gank一次賺200+吧?這時間打錢也是差不多收益。但是gank總有風險。也就是說,gank是一把雙刃劍,類似七傷拳,gank成功才有收益,失敗就是浪費了200+

反補,控兵線,這對人類來說難,對電腦來說簡單,控制兵線到塔下,不發動主動攻擊,降低被gank成功的幾率。

b,在團戰和小規模戰鬥時,人總會衝動和走位失誤,而電腦不會。而且在局部的戰鬥中,位置,技能傷害計算,這些電腦總比人能更快反應

AI利用這兩點,不斷積累優勢,形成裝備碾壓。

2,通過大量的數據,來做好大局上的策略調整。

額,我又認真了。人類一思考,上帝就發笑。還沒思考,就累得一顧茫然

或許真有呢?氣喘吁吁地這樣想。


如果指的是相同經濟條件和經驗條件下(在LOL裡面的一般的電腦經濟加成遠高於玩家),即使AI具有極其bug的操作,幾乎零延遲的補刀和及其精準的技能釋放,還有基於目前所有發生過的比賽進行經驗分析得出的人工智慧,目前或者是很長一段時間的計算機AI是不可能戰勝所有遊戲玩家的。

遊戲AI與深藍戰勝象棋玩家不同,因為象棋中所有的情況是有限種的,棋盤上的棋子的擺放是可以計數的。這樣的話電腦就能根據人類的每一步,分析後面的情況,得出必勝的可能。同理橋牌、圍棋一類的,即使對於我們來看是無窮無盡的可能,但是對於計算機來說是可數的,所有情況都能預測,電腦就能夠必勝了,不過這個前提是電腦有充分的運算能力。不過對於目前的電腦還是有一定的困難的,以國際象棋為例,不違規的所有的走法大概有10^{120} 種,而宇宙中的原子才10^{81        } ,但是進行一定的演算法優化之後可以使這個值大大的減少,根據摩爾定律來看的話,計算機還是有可能在未來達到這個算力的。這種情況就像是物理學在19世紀流行的一種成為拉普拉斯妖的科學假設,這個妖怪知道宇宙中每個原子確切的位置和動量,能夠使用牛頓定律來展現宇宙事件的整個過程,過去以及未來。拉普拉斯妖的假設就是,以簡單的模型下,所有情況是可以預測的,甚至是宇宙的進程,而這個瓶頸只是計算能力而已。如果dota類遊戲能夠簡化到這一種程度的話,那麼就可能有必勝的AI出現,但是情況卻遠遠不如這麼簡單。

dota類遊戲本身就是一個複雜的混沌系統,可以說只要任何人類參加具有無限的可能的遊戲都是一種無法預測的混沌系統(當然這是建立遊戲地圖模型足夠精細的情況下)。例如只要玩家的下一步動作由東北45度角轉換為東北50度角走了,就能觸發蝴蝶效應而引發整個遊戲巨大的變化甚至影響戰局的勝負。在「自由意志」存在的情況下,人的心靈就是一個無法預料的過程,電腦不可能在這樣的一個複雜體系得到必勝策略。這樣的一種推斷就類似物理學裡於推翻拉普拉斯妖的「薛定諤的貓」,心靈如量子一樣是一種無法預測的可能,而且在這類充滿無數種可能遊戲使條件再一步的細化,就會產生更多的可能,例如東北45度角變為45.1度角在變成45.01度一直往下就類似於分形幾何的演變就會有無限種可能,這完完全全不是能夠計算的範圍之內,因此針對這樣的一個混沌體系,電腦無法通過有限次數的預測來取的一種必勝策略。 但是在我本段論證的開頭所說的那樣,這一些是建立在模型足夠精確的情況下,當操作已經精確到一個像素點的時候無法再縮小,即使人的心靈有無數種變化,但是反映在操作上卻成為有些種可能了,這情況也許是能夠列舉了,不過這種可列舉的可能也還是永遠不可能計算出來的。

針對這種混沌體系分析,AI理論上是不可能具有必勝的策略。但是通過一些大數據分析以及機器技術學習能夠使其戰略意識超過絕大部分的玩家,再通過AI零延遲的操作和配合幾乎能夠在實際中戰勝所有的玩家,當然這也是需要計算機算力保證的,而目前的情況還是達不到,否則LOL也不需要通過經濟附加來作為難度加強的AI。


我講的意思,不是說真的可以,你問我可不可能,我說可能,我明確告訴你這一點。

人工智慧畢竟還too young,明白這意思吧。。。

鑒於有些同學想得太複雜,我舉一個最簡單的例子:剪刀石頭布

規則公平的前提下,電腦沒有辦法準確預測人會出什麼,最多根據之前的比賽分析出對手的思路然後反制,這樣勝率的確會大大提高。但是只要人類玩家亂出,電腦就沒法必勝了。甚至人類玩家發現電腦在分析自己,於是反其道而行,電腦輸的概率反而更高。

這就是AI,可以輕鬆算出幾十萬的數字開方,但再怎麼設計,遇到剪刀石頭布這樣的模糊問題還是會跪。而dota正是一個充滿模糊問題的遊戲

下面有童鞋說道了博弈論,而博弈就是對雙方行動的預判,如果有大量的計算和優秀的AI演算法,AI能夠將勝率提高,但是以人工智慧目前的發展還是不要想了。。。現在的AI只會被人耍的團團轉

那為什麼深藍的象棋達到世界頂尖水平?

1.大量的數據,讓它在經驗上不輸給任何人

2.象棋的走法很有限,遠不如Dota那麼複雜,電腦發揮了快速計算的優勢

3.象棋全部是可見的,確定的信息很多,電腦減少了猜測的風險

4.象棋步數很多,人每下一步都相當於和猜拳高手猜了一次拳。有了前面的優勢,一個優秀的電腦和人猜拳100次贏下50次以上確實不是難事。

參考象棋的特點,以目前的水平開發一個Solo賽的神級影魔還是可以的,在精確的計算的幫助下,AI可以做到對拼90%以上的把握,以及地球最精準的補刀(補刀比賽是比反應和計算,人類的反應和計算在電腦面前就是渣),只是沒人這麼蛋痛罷了- -b


不知道你有沒有玩過lol的人機 雖然基本上都能贏人機 但人機潛力無限

排除gank的因素,完美計算傷害,控血能力max,gank的人一出現就能計算好傷害來判斷跑路還是打,而且不會因為慌張出錯。

前段時間打lol的噩夢人機模式,ai躲技能的能力簡直max,非得機關算盡才能消耗到一下。有的時候對面紅血只要一個技能就帶走,偏偏就躲掉了。不敢想像要是給ai加上max的補刀,線上完全打崩。何況dota還有反補這種逆天的設定,經驗金錢都被無腦壓制,除非有gank因素的干擾,線上靠人腦鬥智斗勇基本完蛋。

說到gank,也不一定算不穩定因素。比賽裡面為了效益最大化,收野時間和gank時間總是有規律的。如果出現這個演算法,ai可以根據你上次來gank的時間,野怪刷新時間,英雄清野能力,移動速度和移動路線算出你下次來gank的時間。怕不怕?而且ai掌控的是全局,在完美地點插眼不會比任何一個輔助差。

我覺得操作上ai絕對贏人腦,到ai畢竟只是靠演算法活的,如果人類給出錯誤指引完全可以在戰術上打敗ai。但鬼知道將來會不會有人開發出能制定戰術的ai,那真是無敵了。


單人賽目測可以,絕對的100%正反補,經濟壓制不是一般的強。然後就推塔,對面打野基本都不用管,應該這種方法效率比較高。

5bots vs 5人類的話估計看不見了,不是dota這遊戲沒了就是人類被機器人統治了。

把我給另外一個人的回復貼過來

「學過一點AI而且玩過dota但是兩方面都弱雞的表示,單人和群戰是兩碼事。詳見我的答案。

還有AI這東西不能自帶地圖全開的。。這明顯玩賴。。雙方都地圖全開的話感覺電腦以後有希望。

我玩dota玩到後期發現這玩意就是靠補兵,前期被壓後期就沒法打,草鞋對神裝,不用計算對砍就贏了,這方面電腦有絕對優勢。但是在戰爭迷霧狀態下戰術這種東西個人覺得電腦沒法打破,具體執行情況變數太多,如果做CBR或者神經網路分析就目前而言運算量太大,gank那十幾秒肯定算不過來。

電腦超凡的計算能力帶來的劣勢你們都沒有想到,比如倆人一起從河道/野區消失,經過電腦一番計算髮現兩個人hp/mp/奔跑速度/距離/技能cd/技能傷害/進入野區後可能的回復能力/技能的可能配合癱瘓時間/引誘小兵配合打出的最大傷害等等對方因素,再結合己方是否能夠增援/逗留時間補兵收益與死亡時間損失/自己hp mp 技能cd...能否反殺 等等己方因素,AI能算出來的結果是撤退比較好,然後電腦就撤了。結果發現那倆人根本沒算出來這麼多,人家就是進野區插個眼/買個裝備。。。電腦就被人類蠢哭了。。。」

「回復 蕭井陌 :你小看戰爭迷霧這種東西了,一個單位喪失視野之後對於AI的運算量太大了。國際象棋就64個格子,你讓深藍去試試361個格子的圍棋去,然後你再看看dota一張地圖有多少個基本六邊形。

不要看不起玩遊戲的。。。學遊戲的逃兵飄過。。。」


可能的,電腦可以是全圖全知型的,不用設計相應的感知和行為模塊

100%反補,最優裝備,全知AI圍堵追殺 最高效推塔演算法,積累後等級壓制

但是!!這個要迭代開發一段時間


在機械動作上,人類難以戰勝電腦,換言之,你在對線上會被電腦完全壓制,電腦以精確的走位,完美的反應,無懈的補刀毫不留情的蹂躪你

但是電腦只能對現有情況作出判斷,無法進行預測,他不知道你什麼時候去gank,不知道你打算一級肉山,他所能做的,都是從你的現有行為計算出的結果

所以無敵的dota AI是不存在的,深藍的強大在於基於象棋規則,行為是可計算的,但dota不行,電腦能做的是豎立已有模型,比如navi的戰術,ig的套路,但是它沒有"想像力"


深南能戰勝人類,這是因為遊戲規則太簡單。他已經沒有絕對固定出棋套路,而是根據對手的路線進行計算來尋找破敵之策。

但我們玩的一般遊戲,卻規則太多了,太複雜。就說DOTA吧。目前DOTA的AI的難度多少是根據AI獲得的金幣和經驗量來區分的。

如果AI的金幣和經驗兩和玩家是完全相同的情況下,你要做出高智商的AI,那就必須給這個AI設置更多的智能性的、類似於人類的操作法則。

模擬永遠是局部的,因為給AI設計玩法法則都是人類主觀認為什麼樣的法則和思維才是厲害的,說白了,一個高智商的AI,需要你不斷的休整和提升他的智能型,就是100年,你也做不出一個和人一樣的AI,因為人類有很多思維上的東西,連人類自己都察覺不到。

人類最大的特點是創造性和變化性,電腦最大的特點是按章程辦事。


不可能贏每一盤!再智能的電腦也會遵循哥德爾命題,也就是不確定性。

但個人覺得頂級AI與世界級戰隊大戰10盤,Ai能勝8盤以上。

經常幻想自己完美控制5個電腦——

1.選擇陣容

敵方每選一個英雄,瞬間分析出此英雄主動技能cd、距離,被動技能的每一個數值,與已選英雄的配合,各場比賽的勝率、打法出裝,都分析一下,能夠確保陣容優勢。

2.資源分配

線上資源,敵方英雄抬手、s、彈道行程的時間差,小兵血量、敵我英雄的攻擊力都算到精確值,能夠確保補刀優勢。

野區資源,AI陳能夠完美N控,算計時間每分鐘完美拉野+遠古,優勢增加。

3.視野與gank

算計好眼位的範圍與時間,消失英雄的位置時間,基本可以大致掌握對方5人的行蹤。

4.團站

AI可以瞬間得到視野內敵方英雄的等級、裝備、站位、技能cd等一切可以計算的信息,判斷團戰如何打,而且AI可以對自己英雄的技能攻擊等完美算計...

5.後期

靠前4點優勢積累。


根本不是你們想的那麼一回事好吧。

人類對dota的處理的輸入是顯示器,輸出是鍵盤滑鼠。

ai呢?

你要是讓ai直接訪問遊戲引擎獲取數據,那沒什麼好說的現有的技術已經足夠做到了,只是沒人做這麼個無敵ai。

如果公平競賽,ai也從顯示器獲取數據,通過鍵盤滑鼠輸出結果到遊戲,那別扯了。不說什麼機械臂操作鍵盤滑鼠了,就算讓你繞過一這一步,單純從顯示器獲取數據這一條,這種圖像識別技術可以說沒可能在短時間內實現,畢竟連人臉識別這種簡單的東西(相比遊戲)都沒普及。

或者讓人類也有和ai同樣接觸遊戲內部數據的機會,參考各種外掛。在這種情況下,很容易演變成ai大戰ai,不過人類可以通過取長補短來造成:(人類長+ai長)vs(ai短+ai長),還是人類佔上風。

利益相關:10年dota,見過用過研究過各類dota外掛;本科畢業設計人臉識別,現計算機決策支持系統博士在讀。


星際2里悍馬2000ai可以完爆一切職業選手


理論上可能——僅僅討論CM模式,基於足夠強大的計算能力與存儲空間:

第一步,事先輸入對手的資料,使得ai能夠了解對手的常用戰術,並進行BP。

由於事先有對手的資料,理論上可以了解對手各自擅長什麼英雄什麼戰術,並且可以由高手事先擬定一系列的應對戰術。

第二步,ai可以在線上完爆人類:ai可以使用不遜於人類的「欺騙」——假裝補刀實際要放技能,假裝放技能實際補刀,走位點人,等等。

第三步,ai可以預測gank。基於過往數據,根據本局的實際情況,來「猜測」對手可能在做什麼:比如優勢路的倆臭醬油2分鐘mis了10s,ai就非常可能猜到人類在gank中路,於是中路就會提前收縮,諸如此類等等。

第四步,團戰中ai的走位會比人類精準,技能釋放更加到位,人類玩家能夠「猜」的東西,ai統統可以猜,並且不會失誤。

另外,ai可以藉助事先寫好的邏輯鏈來進行指揮,並且有極高的執行力,不必贅述。

綜上所述,可以認為能夠編寫足夠牛逼的ai,在與人類對抗中佔有優勢,但是不能保證一定總是取勝。

----------分割線----------

曾經在文明5貼吧看到過一篇文章,大意是說,現在我們總覺得ai很弱,有兩方面原因:一是通過大量數據數據學習出一個很牛逼的ai需要大量的資源,而且對遊戲平衡性改動依非常敏感,稍微動一動原來的數據基本就廢了,相比之下一個粗糙的演算法就很容易實現,而且有相當的魯棒性。

另一方面,如果真拿出一個牛逼到不行的ai血虐全球玩家了,那還有誰會再來玩這個遊戲呢?

下面是節選:


我就是來問問,是dota複雜呢,還是圍棋複雜。

據說圍棋已經被搞定了呢


圍棋之前之所以認為ai破解不了,是因為運算量太大了,但這次谷歌的deep mind 告訴我們,ai可以不用那麼蠢的。

深藍對陣卡斯帕羅夫的勝利基於深藍暴力的背棋譜,而deep mind戰勝圍棋歐洲冠軍則是因為它會學習了。

上圖截取於果殼網的微博文章。http://card.weibo.com/article/h5/s#cid=2309773936079299353271vid=1506198395extparam=from=1061095010wm=20005_0002ip=124.237.66.134

我想所謂的「棋感」也許就是無法自覺的計算過程。

deep mind的決策樹是大大簡化了的,並不需要暴力窮舉。

也許dota的地圖比棋盤大很多,可能進行的操作也多很多。但排除掉明顯不恰當的操作和決策,實際的選擇路徑並沒有那麼恐怖。

如果分割來看,完全可以簡化成已知對方裝備和技能,此時先出分身斧好還是先出bkb好這樣的問題。

在細節操作上,星際ai已經告訴人們,ai的操作是驚天地泣鬼神的。完爆人類選手。比如下面的視頻鏈接。

http://games.cntv.cn/2011/v_07_0413/7999.shtml

在大局觀上,AlphaGo在圍棋中的表現讓人們認為ai完全大有可為。而且AlphaGo可以自己跟自己下棋提升技藝。

不存在任何團隊溝通問題,相當於一邊是在玩dota一邊是在玩3C。


當代人和計算機智能比賽的核心並不是看誰反應快,因為電子計算機的物理特性使它比人腦反應快的多,這是顯而易見的。我認為比賽的核心是策略與謀劃類的智能領域。所以要做moba類遊戲的人與計算機智能的比賽,必須控制變數,用統計學的方法把反應速度的差距抹平。


我在想,電腦應該能實現百分百補刀,操作走位來躲技能連操作時間和延遲都沒有。如果加點意識和戰術之類的東西,簡直不可戰勝


已經實現了


OpenAi和Dendi在TI7現場solo影魔,Dendi連敗兩局,毫無還手能力,不得不說Ai的操作令人驚艷。

就這次對戰來說,Ai的即時決策比人類要高明,所以線性成長比人類選手快,沒有情緒,不需要什麼反射弧,贏得乾淨利落。

但是,這次比賽也有很多因素被限制了,比如不能控符,不能運瓶,這只是solo,不確定性因素降到最低才能進行。

Ai想在這類競技遊戲取得像阿法狗那樣的成績,應該比阿法狗本身還要難,圍棋有無窮盡的可能,但是有必勝的規則,而dota沒有。

但Ai在電競中打敗人類,這一天終究會來的。


推薦閱讀:

為什麼 DotA 里回血道具大都是按固定數額回血,而回魔道具大都是回復速率百分比增加?
如何看待11平台發布dota 6.85?
以我是一個dota里的小兵為背景 能寫出什麼樣的故事?
跟dota/dota2專業玩家同場競技是什麼感覺?
dota中的信使會有什麼樣的故事?

TAG:遊戲 | DotA | 電子競技 | 英雄聯盟LoL |