在電子遊戲領域,為何電腦始終不是人腦的對手?
例子有很多,比如類DOTA遊戲,人機對戰永遠是入門級水平,而電競賽事永遠是人人對戰。再比如FPS競技遊戲也是如此。總感覺在遊戲世界裡,電腦AI扮演的角色永遠是陪練,而一些高水平比賽通常都是人與人之間的對抗。但是在其他領域,比方說著名的圍棋AI-阿爾法狗,人工智慧的發展勢頭就非常強勁,這是何故?
看到很多答主拿FPS競技遊戲出來佐證,比如作弊器就是AI的一種表現形式,我表示認可,但另一個問題來了,就拿CSGO來說吧,競技賽事全部都是PVP對抗,顯然不能用與人斗其樂無窮來解釋,競技的目的是登上最高領獎台,實現人生價值,不斷超越自我。那麼以人腦的反應速度,對抗擁有作弊器的電腦,豈不是比與人斗更有含金量?
我認為人類與AI對抗這個話題真正有意義的是ai的智商而非操作,單純說操作人類連腳本都打不過。所謂的人機對抗應該建立在ai的反應速度和執行速度都在限制內,與人類一個數量級上。
因為大家關心的是ai的智商與大局觀,長遠的意識。而不是完美躲過技能,預判全中這種沒意義的計算能力。以ai的智力作為標準的話,我們不在注重操作。轉而注重ai的智力和自我進化能力。以英雄聯盟為例,ai一直都在計算最優解。
此時你擊殺了對線的敵人並且有三波兵可以壓入對方塔下。ai如果在沒有提前有程序猿設定好計算方法的情況下自己發現如果推線可以獲得經濟優勢,這就說明了這個ai是有一定智力的而非單純的腳本。情況變複雜一些,在你推線的同時獲得一個小地圖信息,對方的打野支援過來咯,繼續推線會死~此時ai是選擇給打野300快壓制兵線還是保命呢?~諸如此類情況不斷複雜,這時候電腦做出的判斷對後期產生了影響,如何保證電腦的智力呢?當然了如阿爾法狗這種也是不斷的自我博弈,感覺就是電腦通過結果來檢驗了過程通過大量的數據確定了選擇的好壞,只要自我博弈的次數足夠多就沒有人類可以戰勝它了。當然了這種問題這麼高深我也不是專業人士只是說出自己的見解我覺得很多人都誤解題主的意思了,應該是指電腦在不開掛不開全智能的情況下全靠智能戰勝人類。說起來很繞口,簡單意思是把電腦獲取信息的能力調到人類的平均值,不是說什麼像fps遊戲裡面一樣0.00001s瞄準敵人爆頭,rts遊戲裡面一樣瞬間調配好每個單位最優調配,moba遊戲裡面一樣百分百躲避技能。上述和人類根本不是一個水平線不應該算是公平,簡單地說給予電腦和人類一樣的反應時間和獲取信息的能力,純靠智能思考下一步怎麼做這樣才算公平對決,恕我直言,這種ai現在還沒有更新:簡單來說,應該把機器的第一視角放出來,起碼,最起碼要給大多數現役職業選手感覺這種操作和意識我也能打出來,但是我怎麼想不到這樣做的感覺,才能算是在電子競技領域電腦ai公平的打贏了人類
如果你是遊戲開發商,你做一款把玩家從頭虐到尾的遊戲,然後你會賠的很慘。
買黑魂的你們都是抖m嗎?!
我去steam上看看多錢…
大部分答主偏題了。題主提問的後半段清楚的問到:「為什麼RTS遊戲不像象棋的人工智慧發展那麼強勁?」 因此此處該討論的是真正的遊戲人工智慧,而不是偽遊戲AI。
因此聲明:作弊器、純靠操作獲勝、不對等信息 (如地圖全知)等都不該被認為是真正意義上的AI(Artificial Intelligence)。沒有Intelligence(智能)的那就是普通NPC,叫AI像話嗎????
所以真正的問題是:如果遊戲AI和人類玩家公平對抗,人類會不會輸?
我認為在短時間內,我們很難看到RTS遊戲AI可以相對公平的戰勝人類。
------------------------------------------------------------------
1. 什麼是遊戲AI?為什麼現在的遊戲不存在真的AI?
我們期待的遊戲AI應該有和人類玩家相似相似的行為模式。現在大部分即時戰略(RTS)遊戲裡面的電腦嚴格意義上說應該叫做Game Agent,可以感性的理解為一個個不存在高級智力的小機器人,從內核上說就是一種NPC。
1.1. 當下遊戲中自帶的「偽AI」:一般就是一套寫死的代碼邏輯,如策略機狀態樹,在不同的情況下觸發不同的動作。舉例,如果玩過澄海3C的人應該會記得,電腦英雄一般就是衝到場上,狂放技能,在殘血時自動回城,有錢也不買裝備而是簡單的買「智慧書」和「體力書」提高英雄自身的屬性。這種看起來「弱智」的行為是因為程序員無法枚舉所有可能發生的結果,只好憑藉感覺決定什麼策略是有效的。
這種不叫AI,因為這種邏輯不會進化,不會學習,也不會改變。即使偶爾會出隨機狀態,但不會變得更加智能。
1.2. 通過操作戰勝人類玩家:也不是真正的AI。因為我們清楚的知道,人類機器相比明顯沒有操作優勢。正如你不會和計算器計較誰更擅長算大數乘法。
1.3. 其他外掛類的輔助程序:大部分都是依靠越過遊戲設置調用許可權對遊戲進行修改。比如CS中的一槍爆頭外掛,這更不是AI,而是作弊。
對於真正的遊戲AI,我們需要提供數據輸入及訓練來讓AI要學習到什麼才是【獲勝策略】。重點在於【學習】和【策略】。當然,對於不同遊戲的學習數據可能各不相同。
2. 什麼是公平狀態下的遊戲AI?
遊戲AI的公平應該代表它獲得知識/制定策略的模式應該和人類玩家相似。一個很好的例子就是AlphaGo,圍棋不像其他對戰類遊戲,玩家只能看到角色當下的視角,而是可以在任意時刻觀察到整個棋局。在這個方面,機器無法對人類做出歧視,但至於人類能算多少步棋,是否記得棋局的演變發展,是遊戲的規則限定,暫且不表。
而大部分即時戰略遊戲,比如紅警(暴露年齡)、星際、魔獸等遊戲,在任意時刻玩家對於全局是沒有全部了解的。玩家只能看到當下視角所被允許看到的場景。然而這些遊戲自帶的偽AI,對於全局是可以有100%的知識的,比如通過調用內部API等。
因此,公平的遊戲AI要規範對於遊戲場景的認知和獲取方式:遊戲內部AI不該獲得超過玩家的許可權獲得信息,AI做出決策應取決於當前的畫面/聲音輸入。
如果遊戲自帶的AI想要確定自己所在的位置,調用遊戲的API直接獲取這就屬於不公平。如果AI和人類一樣,也需要調取當前的遊戲畫面,進行機器視覺解析,並和先前獲得知識相結合確定自己所在的位置,那麼就相對公平。如果遊戲系統自帶的AI可以直接獲得一個坐標,並且有對於地圖的全知了解,那麼這明顯就違反了這個規定。
當然,這不代表遊戲AI必須需要使用機器視覺來解析畫面,只是想說遊戲AI應該盡量避免所有違規的獲取信息方式。
為什麼「公平」很重要?因為只有這樣的AI,才有趣,不確定性帶來了對抗的快感,也只有這樣的AI才有拓展到其他領域的價值。
3. 為什麼公平的遊戲AI很難開發?
3.1. 拋開上文提到的訓練數據以及認知方式的問題。遊戲AI最難的是定義出盡量完整的策略,對於大型策略型遊戲這顯得更難。
遊戲中有很大的隨機性,這種隨機遠比下圍棋中所面臨的隨機性大得多。比如對方的英雄出了一個假腿...但2秒後發現買錯了又賣了...很多問題太瑣碎和太隨機。而且還要包含多個AI agents之間的互動,且這種互動需要和玩家真是互動相類似,比如通過文字或者語音而不是發送一個API call。這一切都使得做出強大的遊戲AI很難,我們現在連簡單的自然語言生成都還做不好。對於大部分AI來說,都逃不過通過評分來制定策略,RPG對戰類遊戲的場景的系統非常複雜,非常不好制定一個有效的評分的系統,因此很難學習到出有效的策略。
一度比較主流的演算法叫做分而治之(Divide and Conquer),比如阿爾伯塔大學的學者[1]就描述了他們在2011/2012星際競賽中做的AI。這個AI可以把複雜的策略拆分成很多小任務,再進行整合。但即便如此,這樣的AI也只能完成一些任務,而不能得到完整的、可工作的遊戲AI。
3.2. 運算能力的限制也是一個問題。在現階段,深度學習的運算成本是很高的,AlphaGo的耗電量是驚人的。估計要想開發一個紅警AI可能需要成百上千個AlphaGo的耗電,不現實也不划算。
3.3. 人才缺乏/投資回報比。大部分遊戲公司很難有頂尖AI資源花到這個上面,如果有AI/ML人才,還不如讓他們去做推薦系統給公司賺錢來的更快:( 一個好的遊戲AI是錦上添花,不是雪中送炭。更何況,當我們有能力做出這樣的AI時,可能AI技術已經在很多更重要的領域發揮作用了,比如軍事推演、反恐等。
4. 未來展望
話雖如此,還有有頂尖團隊願意跳這個坑的!噹噹噹噹,他們就是鼎鼎大名的DeepMind,已經和暴雪合作打算做星際的AI "谷歌DeepMind宣布與暴雪合作 開發人工智慧挑戰《星際爭霸》"。
我猜測DeepMind短時間內的目標應該不是建立公平的遊戲AI,而是一步一步的開發改進,一次只實現一點點功能,通過迭代開發進行探索。很難說哪天這個坑他們就不跳了。
然鵝....我想如果這樣的AI做出來的時候,大部分其他領域早就被AI攻陷了。我很期待那一天:)
[1] Churchill, David, and Michael Buro. "Incorporating search algorithms into RTS game agents." AI and Interactive Digital Entertainment Conference, AIIDE (AAAI). 2012.
----------------------------------------------------------------------------
安利一下自己的其他人工智慧和機器學習相關的回答...
a. 隨著人工智慧的進步,財務工作者會大批失業么?該如何應對? - 知乎
b. 金融學如何應對人工智慧和大數據? - 知乎
c. 目前機器學習的瓶頸有哪些? - 知乎
不務正業的我還回答了:
d. 外行應屆畢業生找數據分析工作多難? - 知乎
e. 假設機器人有了自己的思想的,身為創造者的我們該以什麼樣的態度去對待他們? - 知
f. 四大諮詢第一年應該怎麼著裝?有哪些服裝品牌可供選擇? - 知乎
g. 計算機領域頂級會議的短文一般多少頁呀? - 知乎
好的,現在有一張cs地圖,基於公平,電腦不允許調用涉嫌作弊的數據,他只能模仿人類來操作。電腦從基地出發了,他的移動方式很奇怪,大概以每秒10萬圈的速度邊旋轉邊往前走,我想他是在偵查敵情。電腦突然停下了,他站在一個牆角等了5秒,通過配平左右兩個聲道的音量大小,他可以通過腳步聲精準定位敵人的y軸位置,誤差不會大於0個像素。判斷敵人走遠後,他再次出發。敵人出現了,傻傻的人類走在牆邊,只露出了2個像素大小的腦袋尖,不過不重要,電腦可以把滑鼠指針精確定位到屏幕以內的任何一個像素點,不管是800x600解析度,還是8k解析度。雖然電腦可以在0.00000000001秒內一槍打死這個人,但他沒有開槍,他在地圖上走到時間只剩最後1秒的時候,來到人類的面前。人類整整一局都沒有看到電腦,只在最後一秒看到了一個槍管,便躺在了地上。對了,如果你能看到電腦移動的軌跡的話,其實他在這局比賽中用足跡寫了三個字:我是誰
一個段子好像引發了技術大討論,驚恐
就我淺薄的了解來看,面對一台策略完整的ai,人類勝利的希望只能是想像力,除此之外的一切對ai來說都只是時間問題。比如dota曾經的王者體系潮汐小娜迦,ai能窮舉出這樣一個技能組合,但ai判斷不出這種組合能產生什麼樣的化學反應。還記得被悍馬2000統治的陰影嗎?
腳本都打不贏,要是真有團隊研究個AI,還不是輸得跟玩一樣。http://www.bilibili.com/video/av7052566
人的反應時間是按0.2秒來算的,電腦可以做到一幀一計算,當你出現在對方視野的一瞬間,對方就知道了你的位置和動作,你的移動脫離不了速度值,加上AI自身的走位,那麼你一秒內能走的位置就是有限的、可以計算的,你的攻速,你的血量,你的防禦力,你的CD……這比職業選手還精準太多。
還記得人機里那些非指向性技能永遠命中不了的局面嗎?是的,除非是死局(比如貼臉),不然你的輸出就會少了大半,但是AI會盡量減少死局的出現。職業玩家和業餘高分段玩家比賽,甚至不需要團戰,不需要gank,不需要火拚,對線打著打著7~10分鐘就崩潰了。而AI,可以把這一部分做到極致。人類到時候要怎麼打?5人瘋狂團Gank嗎?還是極度詭異的戰術選擇?至於槍戰……遊戲里人物的動作大多是固定的,那麼AI聽聲辨位可以直瞄你頭部,哪怕只有0.01mm擦邊距離。除非人類也能夠腦部連接電腦,畢竟人腦的計算量和反應擺在那裡,雖然戰術是個很有趣的東西,但在全知即全能面前,一切都是紙糊的。
————————————
很多人傾向於讓AI識別畫面,而不是直接讀取可以讀取的信息,因為那樣對TA們來說不公平,但是同樣的,對AI來說,人類的行為就像是砍了AI的一隻手,這對AI是否也是不公平的呢?我只能說即使是現在把ai的機能完全釋放也能吊打現在的職業戰隊。人機大戰人類的優勢在哪?戰略戰術,可以陰人。這是電腦做不來的,但也就僅此而已。ai的優勢,完美把控CD節奏,近乎零誤差的出裝,幾乎不漏刀,天衣無縫的走位躲技能。這些只是基本的。最恐怖的還是ai的運算能力。職業選手和弱雞的差別在哪?除了操作外,那就是大局觀和預判了,什麼是大局觀和預判?就是對形勢的把控,對方技能釋放的推測。職業選手是直覺和經驗總結。但是ai呢?它可以通過你上一次出現的時間來猜測你走到了哪,進而推測出你的行動。很多rts和moba玩家也有這種技巧,但是人腦能比的上電腦么?人家ai可以同步平行每時每刻的運算,幾十種可能總有一種中吧,這就使得在moba遊戲中要gank難如登天,更別提人家對線都近乎無敵了。再說預判,高級點的ai完全可以運算某個地區的「危險度」比如一些AOE控制技能,完全可以控制走位避免那些危險。而高級的ai之間配合也是很流暢恐怖的。而且ai還有幾個巨大的優勢,首先就是生理優勢。ai不需要吃喝也不用上廁所,賽場上可以把對面拖死。而且如果ai可以學習的話完全可以不眠不休的學習累計經驗。其次是心理優勢,ai心態不會崩,永遠的冷靜永遠的理性,哪怕線上大崩也不怕。第三專業性,幾個位置幾百個英雄以ai的訓練,你以為你的英雄池和對英雄的理解程度能夠比得過ai?
如果你贏不了它,你玩它幹嘛?
朋友你玩過imca或者imba嗎?
朋友你知道imba裡面有個英雄叫影魔嗎?
你知道影魔的技能可以手動取消後搖嗎?
你知道完美取消掉後搖的影魔有多牛逼嗎?
抱歉,電腦的影魔就能做到把每一個技能都取消掉後搖。
如果你沒有隨機到好的技能,估計世界冠軍來也打不過這個電腦的影魔。
電腦打不贏人我是不信的。
不管什麼遊戲,多平等的設定,電腦都可以做到比人類強。
區別只在於它想不想打而已。因為電子遊戲本身就是電腦的領域呀電腦比人腦強在反應速度和操作精準度上,而人腦比電腦強在策略選擇上,目前的競技類電子遊戲大部分都是對操作有著一定要求的,因為對策略有要求的已經有棋類卡牌類遊戲了。而面對一個絕對迅速反應和絕對精準操作的對手,人類沒有什麼還手之力的。FPS見面就死,rts和衍生的moba無限躲傷害躲技能,在強力的操作下,只要有基礎的策略選擇就能鎖定勝局。而棋牌類這類策略遊戲又不一樣了,任你運算速度再快反應更強,終究還是回合制遊戲,相對的決策就成為了關鍵。而牌類遊戲需要猜測對手的手牌,棋類遊戲大多不是單純的數學問題,故而對於決策這一電腦未能開發的方向有著要求。所以本質上電腦在棋類上的表現,其實是人類對於電腦的開發,是對演算法的研究,而目前已經初見成效了(掃平大部分棋類領域)。遊戲什麼的,扔給魚唇的人類去玩吧。
所以題主沒玩過噩夢人機?
不不不,遊戲製作者可以輕易的讓AI把你虐的懷疑人生毫無還手之力。
比如一款FPS遊戲,製作者完全可以讓AI做到發現玩家,瞄準頭部,一槍擊斃一氣呵成如同外掛,反應之快超越人腦。RTS遊戲,完全可以讓槍兵秀出極限的諸葛連弩,比ByuN玩的6多了。可是這麼著你還玩嗎?因為如果超過了,就沒人買了啊,想想你去個圍棋網站動不動就遇到個阿法狗是什麼感覺!其實大多數遊戲AI都是一隻手站在那裡不動跟你打的。
現在看到的AI分為幾種:
1.明明可以碾壓你,但是故意不碾壓,如cs。cs的AI演算法就是畫個圈,在圈內隨機發射子彈,專家級的電腦就是隨機的範圍小一點而已,完全可以做到變態級,見到你就爆你頭,人從看到敵人開始,挪動滑鼠,按下鍵盤這個過程沒有個幾百毫秒是搞不定的,AI在這斷時間內可以把你們的頭全瞄一遍,子彈射速多快,人就死的多快,找虐也是夠無聊的。2.微操和戰略都需要的遊戲,AI可以跟人拼微操避免拼戰略從而有很大希望獲得勝利。魔獸,星際這種及時戰略類遊戲,人如果打不過電腦是因為操作不過來,就靠個滑鼠鍵盤,如何操作這麼多傻的呵的軍事單位,電腦可以靠多線程,每個單位都可以有一個獨立的大腦。要是能找一大幫基友,一人控制一個小兵,不虐死電腦我吃shit(雖然現在這種AI還沒做出來,還不好這麼定論,但是阿爾法狗的下一個目標就是星際,我覺得阿爾法狗是可能贏的,但是主要是靠微操贏的,而不是戰略選擇,它可以從十個方向騷擾人類,找到一種賴皮的方法強行跟人拼操作,不過這種固定套路也是有被人破解的可能)。更新一下:目前看阿爾法狗在面對星際,遇到了瓶頸,主要是因為他們想完全地讓ai真的擁有戰略上的智能,而不是靠微操取勝。如果真的用心去人工的干預設置微操,以噁心人為目的,那麼我覺得是存在勝算的,就像dota2的全明星賽上的solo賽ai戰勝了人一樣,但是這個ai只是solo贏了人,不能說明什麼,因為根本沒有考慮支援gank等情況,就一條路走到黑就行,下文會詳述。
3.再怎麼努力也碾壓不了人類的AI。這種遊戲可以認為是圍棋的升級版。
這種AI可以分為兩類:LOL,Dota是一類,那種回合制的策略類遊戲(光榮的三國志系列,文明系列,英雄無敵系列)是另一類。前者主要制約因素是電腦運算時間以及複雜度,後者制約因素是複雜度。lol和dota,人類和電腦都只要操作一個人物,電腦不能在多線程上欺負人了,電腦頂多是多一雙眼盯著小地圖和草叢,多幾個耳朵和嘴巴跟「隊友」交流。
同時,dota,lol是不僅解空間太大,而且要求運算速度特別快,一幀就得判斷一遍,可選擇的東西太多了,從走位到技能的釋放,對線技巧,戰術運用,都需要一種宏觀把控,AI能做到的也僅僅就是補兵准一些,技能放的快一些。然而補刀時被玩家騷擾該怎麼辦,什麼時候該放什麼技能,要不要支援隊友,該不該回家,判斷這些東西AI就傻了。電腦和人類要在同樣的時間內做出一些戰略性判斷,這時電腦就懵逼了。現在的AI普遍是if else 堆出來的,用O(1)的時間瞬間決策,決策樹越深就看起來越智能,但是對於複雜度高的遊戲,比如圍棋和lol,把情況分類討論已經討論不完了,於是就有了使用深度學習演算法的阿爾法狗,嘗試從另一個角度解決問題,但是阿爾法狗每一步要計算若干秒,才勉強戰勝人類,是因為人類給了阿爾法狗足夠的思考時間,而且圍棋的規則和複雜度遠遠低於電子遊戲。在lol里跟本沒法用阿爾法狗那些智能演算法,時間複雜度和空間複雜度都太高了,還有那些比較有名的智能演算法:遺傳,蟻群,模擬退火什麼的演算法統統跑不起來,跑出結果來天黑了。對於回合制的遊戲,其實就是把魔獸爭霸和星際節奏調慢了,讓人類能分別操控單位,電腦魔獸如果能打贏人類就是因為人類操作不過來。阿爾法狗雖然圍棋能勝人類,但是圍棋棋盤只有361個點,兩種顏色,這跟文明,三國志這種複雜的數值博弈差太遠了,而且玩家的動作可以被隱藏,人物特技產生的效果也很難量化,而且回合制的AI也是需要運算速度的,玩家不可能等電腦操作一回合半個小時,所以目前這裡AI也不能寫的太複雜。還是以大量的if else 和 rand為主。電腦要是能打三國志戰勝人類,那國家主席這職位易為AI指日可待。
所以我們發現,lol,文明這種遊戲,要提高遊戲難度,只能通過調整AI的屬性數值來實現,比如lol出的噩夢人機,就是通過把AI的血調厚,技能調變態來實現遊戲難度上的增加,文明和三國志系列,也是增加了AI的收入以及造兵速度,並且讓AI變得aggressive。增加了難度並沒有提升「智能」,本來是打瘦子智障,現在變成打傻大個,傻大個錘的疼而已。
。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。其實我是不願意在專業問題上探討太多的,但是發現大家對人工智慧發展水平太過樂觀,而且認識上有偏差,這裡實在忍不住在評論區互懟,如果有言語過激的,也請互相諒解。我本科和碩士都是學計算機的,搞過演算法競賽,遊戲上,從lol的s1開始打到了現在,也寫過簡單的ai,一直關注人工智慧的發展,對於這個話題我覺得我還是能說上兩句話的。實話說,我很不理解各種lol小編寫的關於遊戲ai的文章,把ai描述的神乎其神,實際上他們並沒有任何根據,純忽悠,有人看到阿爾法狗的表現就認為人工智慧無敵了,但是lol和圍棋的複雜度簡直是天文數字的差別,好比人類剛剛會爬,就想像能在宇宙光速航行了。我不絕對否認有一天lol的ai能打敗職業選手,但是這一天的到來不會有想像中的那麼快,更不是現在有些人說的「只是不想做」,這個偉大的任務需要無數像deepmind里的演算法工程師這樣的人的不懈努力去完成,或早或晚,甚至可能要藉助未來的生物技術和量子技術來反哺。我看大家爭議最大的是關於lol和dota的AI,很多人拿現在的lol腳本來支持AI無敵論,我認為這個是不成立的。這個腳本只能說明AI可以操作很完美,但是不能說明它智商高。
這個腳本是人控制的,本質上它不算ai,因為沒有「智能」,它就是個外掛,戰略決策都是人替它做的,這個腳本是建立在人的戰略決策上,彌補了人的操作缺陷(無延遲連招,流暢走a等等)。離開了人類,這個腳本什麼都不是。AI可以在微操上勝過人類,但是這一點帶來的優勢並不能彌補在其他方面帶來的劣勢。與君共勉。
有人說這些遊戲比圍棋簡單,圍棋更複雜。我統一回復一下:對於人來說,電游自然是更容易玩,圍棋更考驗計算,深度博弈,這個毋庸置疑。做AI就不這樣了,有一點要注意,圍棋的規則限定的很死,只有19*19這麼大點地方,棋盤格只能放黑白。人的想像力,計謀,被圈在了這個巴掌大的地方上,發揮不出來,套路玩不了,玩不動陰招。
但是在電子遊戲中,人類可以選擇的策略就多了,太多了,多的我列舉不完,全局都是爾虞我詐,賣走位,偏技能(AI把一堆大招甩坦克身上並不稀奇),佯攻,佯敗,誘殺,埋伏,在合適的時候集火殺關鍵人物(ai連誰是優先擊殺對象都一定傻傻分不清),幾百種對象,幾千種方法,每時每刻都在排列組合,而且不斷有人開發出新玩法,新戰術。玩家的一些行為可以輕易被有經驗的玩家識破,但是可能用一些煞筆的策略可能AI就會上鉤,如果這個策略AI以前沒見過,那更完球,做出令人捧腹大笑的行為都很正常。阿爾法狗對李輸的那場,就明顯是,走了最不該走的一步棋,輸了比賽。而且很多遊戲行為都有明顯的對應剋制方案,ai的行為容易被針對,人在遊戲博弈中是不斷變換策略的,而且有一種叫意識的東西,你看不到對方的行動,你要猜,這跟圍棋又不一樣了,圍棋是陽謀,遊戲里可以玩陰謀,ai只擅長完全信息博弈。遊戲的地形還更複雜,不是19*19了,可能是1000*1000,其中還有牆,有草叢,僅移動這一個操作就夠ai喝一壺,要不要用位移技能穿牆呢?從哪邊過去更有利呢,利用地形卡視野呢?移動過程中潛在的風險呢,走到那個地方會不會踩翔呢或者草叢跳出來個人呢。不考慮這些那每次就幾乎是固定的移動路線,如果要考慮,那就是一個龐大的計算,如果用if else 堆砌,那終歸有漏洞,如果用智能演算法,怎麼用二進位表示這些利害關係(AI面對的遊戲數據全部都是一堆量化的數值,或者是一堆數值組成的表示狀態的矩陣,根本不會直觀地理解和思考),如何在短時間內跑出結果又是一個艱難的問題,至少目前還解決不了。有人說圍棋必須求最優解,遊戲中容錯率高,次優解也能接受,那麼這就相當於給玩家擊敗自己的機會,就不是必勝的AI了,而且還沒討論這個次優解會次到什麼程度,可能會次的太多。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。關於為什麼我不看好用現在的智能演算法的電子遊戲ai,跟圍棋不同,我認為電子遊戲的操作方式更多元,局勢每變化一次,每當要分析的時候,跟上一次相比,都有很多因素在變動,電腦只能統統學習,它很難分辨哪些是強相關因素,哪些是弱相關因素,而圍棋的影響勝敗的因素只有一個,那就是我的子落在了哪裡,就是一個xy坐標。遊戲中,單位位置的變動,屬性值的變動,裝備的變動,戰術選擇的變動,技能效果的變動,甚至技能cd,地形,都是影響勝負的因素,而且難以量化(比如技能眩暈對方兩秒,這個價值你沒法估量,地形優勢也沒法估量,一些常用的戰術怎麼寫成2進位告訴AI,當這樣這樣的時候就叫41分推),你對手大招cd還有20秒還是10秒對你的影響是不同的,幾百種單位,技能效果也是不同的,不同單位的不同技能所在的不同的cd狀態和該人物所處不同的地形在不同的隊友支援情況下都會影響一個人的決策,比圍棋的組合多多了,隊友位置變一個像素點都要把他當成一個全新的問題,技能cd差0.01秒也是一個全新的問題,因為積少成多,量變產生質變,就算經過優化,把情況合併討論,那數據量也是龐大的,優化合併時產生的臨界值也是bug可能出現的地方。而且至少圍棋能把棋盤上的子擺清楚,lol是可能對方在哪你都不知道,要猜,要靠意識,這個就太難學了。
如果用深度學習演算法,AI學習過程中,成功擊殺了一次玩家,他把擊殺的過程中的細節都保存了下來,但是他不知道到底哪個才是決定性因素,因為對方血線低?因為我英雄技能壓制他?因為他大招在cd?因為他隊友沒支援?因為地形對我技能有利?或者這次擊殺本身就是玩家故意賣的,其他四個人把大龍偷了,或者有些時候明明是劣勢的東西,比如本來地形劣勢,因為對方血線低才實現了擊殺,但是AI不會分辨,也會認為這個地形它是值得學習的,也記錄了下來當做是值得學習的地方,於是局部就很容易學壞,圍棋也容易學壞,但是糾正的也快,因為更容易遇到相似情況(圍棋一局下來就幾百種狀態轉移,lol光一分鐘就可以有3600種狀態)。對局結束後,AI修正這些參數,見賢思齊,三省悟身,修改了一通,實際上對它個人提升並不大,下次對局可能遇到的情況類似,但是微微的一個走位細節變動了一下,或者是玩家運氣好打出了幾發暴擊,情形就完全不按照AI的思路發展了,AI可能面對的就是一個全新的未見識過的局面,然後做出煞筆行為,要避免這種情況就要大量的訓練訓練訓練。目前來看,這種學習方案,收斂速度還是太低了。你一局獲勝了,把這局所有的行為都當做是獲勝的因素,學一遍,不能說一點幫助沒有,幫助還是太低了。就算經過一些優化,讓天河學一輩子可能都學不完,因為是不可能學完的,只能學一部分。就算學完了重點這些部分,且不說阿爾法狗比賽中遇到了前所未見的情形然後有重大失誤,狗每下一步都要思考個幾秒,LOL這種遊戲多思考0.1秒可能就延誤了戰機。如何讓AI一秒思考60次呢。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。評論區的dalao們,我沒說圍棋不能用策略,我只是說相對電子遊戲而言能採取的策略少,變化相對少,注意,是相對。還有說圍棋是世界上最複雜的遊戲的,醉了,我給圍棋每個子都加上炫酷的技能和複雜的屬性,圍棋分分鐘變第二。圍棋只是世界上比較有名的棋類博弈遊戲里最複雜的,而且因為古老,有歷史底蘊,才總是拿它說事。圍棋的棋盤狀態窮舉是3^361。。。這已經是個天文數字了,比這天文的數字多了去了。如果論窮舉複雜度了話,就拿魔獸來說,都不用算技能裝備什麼的,假設地圖大小1000*1000,存在100個可操控單位,光單位位置的狀態就可以有C(1000000,100)種可能。。。人機是為了照顧你啊,不是他不強,而是要照顧你,你一個新手進去打,被人機打得都找不著北了,還有信心嗎。
你想像一下,你在玩一場war3人機對戰,把什麼AI擁有玩家所有信息的變態條件去掉。
在你們都是滿人口的時候,兩波人肛了起來
你的單位在你沒操控的時候,執行的都是你之前的指令,AI的單位,所有都在同時不停執行不同的指令,技能施放到位,控制銜接完美,殘血撤退及時,急火關鍵目標迅速,100人口的單位永遠在hit And run ,好比你一個人控制自己一堆編隊,面對對面每一個單位都由一個頂級moba玩家控制的四面八方圍過來的大軍,怎麼想都打不過??這只是因為設計AI的人沒有設計一個足夠高的難度而已……
一群對線腳本都不一定打得過的人憑什麼認為自己能打贏走位能精確到1px級別的存在……其實這個說法不能說不對,不過要看你說的是哪部分遊戲,以及你對「AI」的定義。
首先說一個事實:電子遊戲,至少我所知的熱門遊戲,目前還沒有任何AI使用了現在人工智慧前沿的技術,比如深度學習等等。所有的AI都是事先寫好的行為樹和狀態機。
這一點也不難理解,現在人工智慧專家的身價高得嚇人,而且深度學習之類的方法簡直是計算資源黑洞,電子遊戲玩家們也還沒表現出對高強度AI的強烈需求(實際上大部分玩家應該不喜歡太強的AI才對)。這是目前人工智慧前沿快速發展但是遊戲里似乎沒什麼進步的原因之一。
既然所有現有AI都是行為樹和狀態機,那麼它們的強度實際上就取決於遊戲設計者。
對於策略性較低、反應要求較高的遊戲如FPS,設計者可以對AI開放大部分即時遊戲數據的訪問,甚至讓AI全程獲得你的位置、全程死死瞄準你的頭,難度區分全靠「什麼時候該假裝看不見你」和「『看見你』之後發多久呆再開槍」的設置。
對於策略性較高的遊戲,用行為樹、狀態機實現強力AI相對比較難,因為複雜博弈下的決策集可能非常龐大,很多決策的支付函數很難甚至無法計算,設計者也就很難把它們寫進行為邏輯里——這也是現在先進人工智慧盯著圍棋的原因之一:它的策略極端複雜,並且AI的反應速度完全不提供可以彌補策略不足帶來的優勢。電子遊戲中的這類遊戲一般可以靠不公平資源來實現高難度AI。
當然,公平起見的話還可以設想一種更高級的AI形態:用攝像機獲取屏幕信息而不是從內存中直接訪問、用機械臂靠鍵盤滑鼠輸入操作信息而不是直接控制。這樣的AI即使靠目前的前沿AI技術應該也是很難實現的,是個很大的系統工程,不止是演算法問題。我就問,如果你每次都被電腦打爆,這遊戲你還會去玩嗎?能不能完爆你是一個問題,是不是有必要這樣做是另一個問題,很顯然,遊戲廠商希望你玩的開心,有輸有贏,有來有往。。。
入門打個人機被電腦按住暴打,這種抖M玩家已經跑去玩黑魂了。
推薦閱讀:
※如果讓你只推薦一本C++書籍,你會推薦什麼?
※同意 「目光長遠的程序員都不會輕易加班」 么?
※程序員為什麼要用 Linux 環境編程,用 Windows 不可以嗎?
※程序員如何一個人干幾個人的活?
※Google為什麼不為Android中的RecyclerView添加Item的點擊監聽器?