類似AlphaGo一樣的人工智慧什麼時候才可以擊敗RTS(如星際)頂級選手?

聲明:本問題問的是何時擊敗,不是能否擊敗;擊敗人類是個不可逆轉的歷史進程,但是就目前而言,以Google項目組與Berkeley Overmind對該問題的判斷還是尚未能完美完成的,答主可以鄙視題主的星際計算機理論水平,但最好能夠尊重Google和Berkeley的判斷。

為了方便討論,對遊戲版本以及對陣選手進行設定:

  • 遊戲版本定為《母巢之戰》,即《星際爭霸》,選擇原因:版本穩定、平衡性良好、上線歷史較長(星際爭霸2不滿足上述要求)。
  • 對陣選手定為韓國人族選手李永浩(ID:FlaSh),選擇原因:歷史成就極高、戰術打法穩定、狀態保持良好、三族對抗均衡、玩家呼聲高(現役選手僅最終兵器李永浩選手滿足上述要求)

--------------------------------------------------------------------------------------------------------------------------------------------
鑒於部分問題上分歧較大,這裡申明人機對戰公平性界定:

  1. ai數據獲取方式:人類獲取信息方式為圖像+滑鼠點擊(圖像表現為視野內的單位走位,滑鼠點擊表現為點擊單位獲取單位具體屬性值);ai獲取方式若為遊戲api傳輸數據文本,數據文本包括一切需要圖像+滑鼠點擊獲取的數據,這樣信息獲取難度人類大得多,而人類信息處理速度遠低於電腦,此種意義下沒有對抗的可能。ai獲取方式若為類同人類的圖像+滑鼠點擊(滑鼠點擊可以用api模擬),那此種意義下,對抗具有意義且尚未實現。
  2. apm是否限定:目前來說限定apm是較為公平的選擇,但是以星際爭霸本身的發展歷史來看,慢手流戰勝抽筋流並非少數,這一限定可以適度放寬,如ai的apm可以高於人類,甚至不做限制

另:限制apm的意義

  1. 把優化重點放在智能上而非反應或機械操作上,於AI是進步,否則僅僅是機器速度的提高,並未對AI智能性有提升
  2. 遊戲平衡性設計可以採用AI實現,三族apm天花板設置相同,AI左右互搏快速、大量得到平衡性數據,避免平衡性不公
  3. apm設定不同水平會給不同水平的玩家尤其大量普通玩家以練習、學習的作用,增加可玩性

--------------------------------------------------------------------------------------------------------------------------------------------
相關問題:

  • 《英雄聯盟》基於各種數據運算進行遊戲,那麼超級計算機控制的英雄會不會打爆世界冠軍? - 英雄聯盟 (LOL)
  • 機器人操作同樣的電腦同人類對戰星際爭霸 2,與機器人與人進行圍棋比賽,哪個難度更低? - 遊戲
  • 如何評價Google DeepMind 要挑戰星際爭霸的新聞? - 谷歌 (Google)

相關人機對戰比賽:

  • Berkeley Overmind

相關新聞:

  • 趣味盤點:未來星際的AI對手該有哪些能力?
  • 教主Flash喊話AlphaGo挑戰:能贏,讓它來!
  • 人工智慧玩《星際爭霸》,水平趕上頂尖人類玩家--百度百家

這個題目其實挺有意思的,但是答案大部分實在不能看。要麼對人工智慧缺乏基本的理解,要麼對RTS遊戲缺乏足夠的認識,或者兼有之,少數幾個很贊的答案要麼沒人贊,要麼被踩的不行。

其實這個問題有這樣的結果並不奇怪,因為我們的民族主義情緒怎麼會允許暴雪出的娛樂玩意居然比圍棋國粹還複雜這樣的叛逆言論呢?然而,在面對AI方面,這是事實,事實就是事實,我今天得罪你們一下。

我個人碩士期間對神經網路進行過一點很粗淺的研究,發過幾篇中文核心,在網易做數值策劃期間,也是負責我們遊戲的AI設計,當然這些研究和實踐都非常粗淺,但是至少能夠保證我對這方面有一點基礎的常識。而在RTS方面,我以前是RN的戰報員,主要就是REP的發布簡介和戰報製作,水平在普通人里算不錯的,參加過一些比賽,成績不怎麼樣。

首先要討論這個問題,我覺得有幾點需要形成共識:

(1)目前的阿法狗的演算法哲學其實是經驗主義的(Empiricism),也就是說,它並不關心也無法做到理解它每一步為什麼這麼走的深刻含義,但是它知道這樣走能夠獲取最高的預測勝率(通過一定程度的搜索、試錯與枚舉)。如果不認同這一點,認為阿法狗是在主動思考或者計算之類,可以點×,或者反對沒有幫助隨你意。

(2)阿法狗進行RTS對抗,不能使用內部介面獲取數據。這是和暴雪官方AI最大的區別,官方AI獲取數據是從內部獲取的,所以如果深度優化可以實現匪夷所思的操作,因為在你出手的一剎那,AI就能獲取到你的所有信息。但是阿法狗作為人工智慧對抗人類,必須遵從一個原則就是足夠擬人化,所以獲取信息應該通過圖像識別的方式。

(3)很多人提到了限制APM,這確實是應該的,但是不是限制APM,而是應該限制操作不能超過外設的物理極限。最主要是滑鼠的物理極限,滑鼠速率是有上限的,即使絕對準確,每秒鐘能夠移動的總距離是有限的,不能進行無限制的操作(因為AI是調用API進行操作的,如果沒有這個限制,確實AI每秒鐘是沒有操作數量限制的),更重要的是滑鼠的左右鍵都是有鍵程的,也就是說,每秒鐘能夠支持按下左右鍵的總量是有限而且非常少的,不超過5次。而左右鍵又是制約最重要的操作——目標的行為的(攻擊、移動等),也就是說,理論上來說,一個使用滑鼠的人在一秒鐘之內是不能進行5次以上的A操作或者右鍵操作的。如果AI不遵循這個規則,那麼如同汽車和博爾特比賽一樣,沒有意義。當然,我這裡認為,第三條不是最重要的,只要遵循第二條,目前的阿法狗在短期內還難以擊敗頂尖人類選手。

好,我們來以war3為例,看看RTS和圍棋到底有哪些區別。

(1)輸入信息量大

圍棋的輸入信息量是極小的,每一步只需要幾個數字就可以表述場面的變化,哪怕是兩千年前,兩個隔離一百公里的人也可以通過烽火通信實現准即時對戰(理論上)。但是RTS場面複雜,哪怕在同一個頻幕內,需要辨識並解析的元素極多。

我們以下圖為例,就這麼小一個圖,有多少元素需要解析?雙方的兵力數量,兵種構成,每一個士兵的屬性(當前血量、最大血量、攻擊力、護甲、護甲類型、BUFF/DEBUFF、當前坐標、當前目標,甚至技能CD),當前時間、地形阻隔等等等等。而所有這些的解析、決策、執行都需要在1s時間內完成。

很多人認為計算機的算力是無窮大的,然而顯然不是,從阿法狗對戰李世石的比賽可以看出,在圍棋項目這個省略了解析步奏的情況下,計算機擬人智能時的計算速度僅僅能達到與人類持平,甚至有時候下的比李世石還要慢。而RTS瞬息萬變,每一秒鐘的局面都不一樣,都需要重新解析、決策,計算量差距之大簡直不可同日而語。當然,我們可以通過演算法增加解析間隔,比如每5秒觀察一次,但是這樣顯然就是極大的拉低了能力,因為人類選手不可能5秒才觀察一個局面,5秒秒殺一個英雄是很容易的。

(2)狀態空間大

前面提到了解析步驟的難度,再看決策步驟,前面已經看到了,每個單位的屬性值是極多的,盤面上的單位數量也是比較多的,而每一個屬性值和最後1的勝負關係也是相關的,而且相關程度是不同的,而這個關係還會因局面不同而發生改變。顯然僅從理論上來看,複雜度也不是一個層級的。

綜合1和2來看,目前的阿法狗在公平的輸入輸出環境下,操作上很可能成大問題。偵查方面可能會比人類強很多,但是同樣帶來了問題,如果解析需要大量的運算資源,則過多的偵查會影響正面戰場的運算,當然在非戰鬥狀態下,獲取信息優勢我相信是可以做到的。

在看戰略方面

(3)狀態改變與結果的不一致性

簡單來說,不同的智力遊戲,在這一點上是各不相同的,每走一步,對最終勝負與否的影響大小程度是絕不一樣的,象棋、圍棋、RTS肯定是不同的。而RTS因為狀態複雜度足夠高,所以很多時候,貌似正確的操作,最後結果是輸了,比如前期拼步兵大獲全勝,最後卻輸了,因為這個時候需要的是避免作戰去進行其他行動,而不是去研究如何在戰鬥中獲得勝利本身。這個看似簡單的思考,卻凝聚了一些人類的主觀能動性、運用背景知識、推理、思考、博弈的過程,而目前阿法狗這種基於搜索、試錯、枚舉的方法,對這種非直接相關的複雜邏輯是無法處理的。

(4)關鍵勝負手結果的滯後性

很多時候,一場RTS比賽輸贏,是決定於一些非戰鬥時刻的細節,比如偷礦、偷怪、搶鞋,這些最終體現在了決戰時刻的勝利上,我們很清楚知道這些細節導致了最後的勝負關係,但是這和上一條一樣,這是基於了一種主觀思考演繹,而非局部計算的結果。而且值得一提的是,偷礦透怪搶鞋這些細節,可能帶來勝利也可能帶來的失敗(如3所言),所以阿法狗目前的海量學習評價策略很可能失效,因為這些細節本身是中性的,帶來勝機是因為基於臨場的觀察和理解。

(5)博弈的多維性

很多人會把rts理解成類似圍棋的雙人博弈,其實如果你真的玩熟練了,你會發現其實博弈的對手還有遊戲內單位的AI。什麼意思呢,我拿海島奇兵這個遊戲舉個例子,這個遊戲你丟下兵之後是不能直接控制每一個兵的行動的,只能打引導彈命令士兵攻擊某個建築或者移動到某個位置。高手和普通人的區別就在這個地方,高手對於AI可能的行為非常熟悉,會充分利用這個特性來達到自己想要的走位甚至卡BUG點之類,整個過程行雲流水如同每個兵是自己親手控制一樣,而普通人看起來就是有點笨手笨腳動作拖沓。

RTS很多時候也是一樣,比如同樣是A地板,A什麼位置是用講究的,同樣是集火+部分A地板,集火的單位和A地板的位置可能對陣型帶來的牽拉是什麼也是非常複雜的感覺。

這一塊雖然可以利用阿法狗目前的預演模式來試圖演算,但是在本身已經資源吃緊的情況下,能夠有多少效果很難說,而人類頂尖選手對這些已經非常熟練,如何利用單位的AI用最少的操作量打出最大的效果,這個也屬於一個比較複雜的感知和學習過程。

其實歸根結底,AI的行為還是需要對目標進行數學建模,然後使用各種演算法去簡化和求解。越是難以數學建模的遊戲,高級AI的設計難度就越大,而很巧的是,RTS就是屬於很難數學建模的一個東西,元素太多,除了基本的資源(金木)和子力(攻防血等)外,至少還有時間、空間、經驗這三個維度,任何兩兩維度之間都可以進行轉換,而且因時因地轉換效能又全然不同。

我的結論是,目前的阿法狗的演算法機制,要在我說的前提下,擊敗人類頂級RTS選手是很難的。當然,很多因素可以通過巧妙的演算法來逐漸改良並逐步克服,我相信過幾年,採用全新演算法並擁有更強硬體性能的阿法狗是完全可能獲勝的。其實寫完這篇答案,我腦海里都浮現了很多改良的演算法,甚至都很想親自上陣來參與完成這個壯舉呢。


2016-3-15更新

我看到不少討論的朋友,可能不太了解星際,以及職業星際比賽。

舉一個具體場景,zvz,懂的人都知道zvz前期摩擦度過之後,勝負就在於之後的一波飛龍決戰,這種特性使得zvz是所有對抗裡面最刺激的。
而飛龍決戰之前,如何判斷能不能打得過對方就非常的關鍵,而此時ai會怎麼做呢?
不管ai分析的模型是什麼,由於信息是不完全的,ai最後對於人類飛龍的數量一定是一個區間,再加上決戰戰場附近的飛龍未必等於人類擁有的飛龍總量,這個區間將會變得更大。比方說10-15隻。

但估算出對方10-15隻飛龍,沒有太大意義,因為如果是10-11隻則能打贏,12-13隻不好說,14-15隻打不贏。此時ai怎麼辦?把每種情況自己左右互搏幾百萬盤看最後的勝率?這個方法對圍棋管用,但是對星際沒什麼用,因為ai可以自己下棋的走法和人類的走法相差不那麼大,但ai打星際的方法和人類打星際的方法相差太大,模擬不具備什麼參考性
很簡單,你把ai下圍棋的棋譜單獨拿出來,不告訴你有幾個人知道是ai下的?
但,你把ai打星際的操作記錄單獨拿出來,基本上一眼就能看出來是ai打的。
所以蒙特卡羅方法對星際用處不大,但天才們會不會有其他更適合的方法現在還不知道。

而人類可以在一瞬間判斷能不能打得過(當然判斷正確與否就不一定了,這也是高手和菜鳥的區別)。有網友質疑,憑啥人類一瞬間能判斷而ai不能?

因為人類的決策方式和ai不一樣。
ai在星際中的判斷永遠是:信息——概率——建模——決策
而人類的判斷我告訴你是:信息——決策
更有喪心病狂的選手是:決策(沒有信息)
這就是人類和ai的根本區別


-------------------------------------------------------------------------
2016-3-14更新,李世石終於扳回一盤,看到一種說法,不知道是不是正確
「如果阿法勾進入劣勢,那麼阿法勾將很難翻盤,因為在它左右互搏的幾百萬盤分析中,它會把對方想成和自己一樣強大在優勢下不會犯錯誤,因此阿法勾會認為自己可以選擇的下法勝率都很低,隨機選擇一處去落子,從而翻盤無望。」

這兩天思考,比如說德州撲克,據說現在ai完爆人類,我想這裡的完爆是指勝率完爆。
但真正的賭博卻並非是比拼勝率,也許10盤裡面我輸了9盤,但我贏的1盤頂你100盤,這才是賭博的關鍵所在,對於這種情況,我不知道現在的ai是否有很好的解決方法。

比如ai判斷自己勝率64開,如果只追求勝率那麼ai必然會跟注,但如果在真正的賭場,人類梭了,一把定勝負,ai這時候該不該跟呢?

如果給ai的要求不是追求最高勝率,而是追求最高財富,ai會怎麼做?
沒把握就不跟?還是有把握就下重注?那麼人腦也太容易預測ai的行為了,即便是好牌下慢慢誘導下注也一樣會很快被人腦找到規律。
或者隨機決定跟還是不跟?那麼ai如何保證獲得最高財富呢?

說到這裡想起當年看ATV的《勝者為王》,最終boss屠天龍就是用ai晶元植入大腦,但最後被主角石志康擊敗,其中關鍵的地方就是「該跟的不跟,不該跟的亂跟」……呵呵


-----------------------------------------------
截止今天20160311,鑒於阿發狗戰勝了李世乭2盤,關於rts遊戲下面ai戰勝人類的討論又熱了起來。我也來湊個熱鬧。

我曾經在這個問題下面有過回答《英雄聯盟》基於各種數據運算進行遊戲,那麼超級計算機控制的英雄會不會打爆世界冠軍? - 盧斌的回答;
當時我認為ai要在rts遊戲要戰勝人類是很困難的,但是對於圍棋,我原文中有這麼一段描述「圍棋程序的棋力現在也在不斷的增強,更有效的演算法,更龐大的博弈樹,以及計算機能力的飛速發展,都使得計算機的圍棋博弈能力迅速的接近人類,我不敢說什麼多少年之後怎麼樣的話,但是我想要計算機達到或者超越人類的圍棋水平並不會非常遙遠。」

不曾想僅僅1-2年過去,ai就達到了戰勝人類圍棋的水平,進步實在令人讚歎。

阿發狗的策略,有效規避了圍棋窮舉量太大以及圍棋子力不易確定價值的特點,從而進步神速,因此未來在rts遊戲有各種我們意想不到的策略都是可能發生的。

但是,棋類、麻將、撲克這類項目和rts競技(以下就用星際作為例子),還是有很大的不同。首先最重要的一點就是,人類和ai的公平性。

公平性在棋類、麻將、撲克這類項目上基本不存在太多探討的空間,但是在星際領域,卻極其關鍵。如果不能解決公平性,則談論人類和ai競爭無意義。

第一:信息的公平性
棋牌麻將,不論ai是用圖像識別,還是直接得到可見的底層數據,都不影響雙方的信息對稱。
而目前所有的星際ai,都是直接獲得底層數據的(有的是全部數據,有的是可見數據),這顯然是不公平的。

戰爭迷霧這個就不說了,大家都懂,我要說的是另外兩點:
1. 即使是在可見的畫面下,公平起見,ai也不能直接讀底層數據,而需要用圖像識別的方法來獲取信息。
以下圖為例

在這個畫面下,如果ai通過底層直接獲取數據,ai可以直接得到所有可見範圍內的信息,但人類是不可以的,同樣這個畫面,人類需要用滑鼠去選中某一坨水晶才能看到水晶儲量、需要用滑鼠選中scv才知道scv的hp,需要用滑鼠選中槍兵才知道槍兵的hp(如果是魔法單位才知道mp),需要用滑鼠選中基地才知道基地的hp……

因此,即便是在己方可見信息下,公平起見,
如果想知道水晶儲量,必須有一個選中水晶的動作然後再去識別水晶的數量;
如果想知道scv的hp,必須有一個選中scv的動作,然後再去識別scv的hp
……

2. 除此以外,同樣的道理,人類獲得信息的視角窗口是有限的,比如整個地圖的大小是128*128,但人類獲得信息的視角窗口只有打比方16*16,如果人類要獲得超過視角窗口的信息,就必須進行操作,移動到其他的視角窗口。
因此,公平起見,ai的視角窗口大小也需要和人類保持一致,你不能說ai隨時隨地獲得128*128內所有的可見信息,ai要獲得超過視角窗口的信息,也必須有一個移動視角的操作。

畢竟星際是real time的,和棋牌麻將的本質區別之一。
只有這樣,才能保證ai和人類在信息上的公平性。

第二:操作的公平性
和信息公平類似,操作也必須在公平的前提下進行,ai可以比人類擁有更高的駕車技巧,但必須是同樣的車。

就星際的操作而言,ai能有多快的反應速度和多高的apm這個必然是ai的自由,只要星際本身能夠承受就行,但仍然要提出2點:

1. 操作線程
我們常說職業選手雙線操作三線操作,其實大家都知道不管怎樣操作都是有先後邏輯的,這是遊戲本身的設置決定的,畢竟只有一個游標。
所以,對於ai來說,不論多麼快的操作多麼快的反應,必須要一個一個的操作,不能夠同時操作

2. 操作邏輯
和上面提到的信息公平有類似的地方,ai操作的邏輯必須要符合遊戲本身的邏輯
比如星際1編隊上限是12個單位,ai就必須一次只能操作12個單位;
星際1不能夠兵營群編,ai就必須只能一個一個的兵營造兵;
星際1蟲族的大象狂點右鍵可以增加攻擊頻率,如果ai也要那麼做,在那段時間就不能操作別的(此處同理上面說的操作線程的問題)
……諸如此類

再說一個複雜的,現實中在視角範圍外對單位進行操作是沒問題的,比如人類指揮視角外的一個編隊發起A的指令,完全沒問題,ai這麼做也沒問題(只要滿足單線程)。但是,如果此時這個編隊要明確的對某一個具體單位發出攻擊指令就必須切屏操作(常識),所以ai如果要這麼做就必須切屏。

以上表達一個意思,ai想怎麼操作都行,但必須符合遊戲的機制並且單線程操作。

綜上,先不去談宏操微操、戰略戰術,先把公平性討論清楚了,我們再去探討ai在宏操微操、戰略戰術上對抗人類的優勢和劣勢。

按照我上面闡述的信息和操作的公平性,我們可以看到完全不同於棋牌麻將的模型,這就是實時和回合制的區別。行內玩家更能理解,我以前經常提到的,星際1的精髓在於取捨和操作邏輯,因為某一個時刻事情是干不完的,如果按照上述公平原則,對ai而言同樣在某一個時刻事情是干不完的,這就是和棋牌麻將最大的區別。

我們可以不要求ai是一個實體機器人,在電腦面前握著滑鼠打星際,但我們要求ai和人類對打的第一視角畫面是可視的(只要ai滿足上述公平原則,那麼第一視角畫面必然是可視的)。


-----------------------------------------
2016-3-12添加


ai的操作也許可以是10萬APM,不夠可以加到1000萬(經專業人士0xfefeee指出上限一般為3600,每秒60幀,每幀只接受1個輸入),這都沒問題。但大家不妨考慮ai的操作邏輯是什麼?1分鐘內10萬次操作,任意兩次操作之間,ai需要思考嗎?肯定是需要思考的。

如果設定場景,讓ai解題,比如1個scv無傷打1隻狗,或者12個scv無傷打12隻狗,12個蕾絲無傷打12個刺蛇,12個大象最高頻率攻擊……
那麼這時候ai的操作邏輯是清晰的,只要能按照正確的解題方法操作下來就ok。
這種情況下,人類只能仰望ai。

然而,實戰中的場景要複雜得多。
圍棋ai可以再每一次下子之後,大概知道未來n步的樣本庫,或者大概知道未來的勝率。隨著越接近殘局,ai對局勢的判斷就越準確。比如國際象棋中,ai已經可以在比如7-8個子的殘局下獲得所有最優解。

但是,星際對戰中,這個邏輯行不通。執行某次操作之後,ai無法得知較為準確的未來n個需要操作的樣本庫,也不可能知道未來的大概勝率。
因為,在棋牌麻將中,操作之後就意味著結果,操作就是結果,每一次操作就對應著每一個瞬間的結果
但是,在星際等rts中,操作僅僅是開始,比如你想殺掉某個單位,當你選中自己的一個單位a過去的時候,這個操作已經執行完了但這個操作想要達到的目的卻還沒有在那一瞬間實現,目標單位還沒死,什麼時候死?不知道,會不會死?不知道。

理論上來說,假設ai在t0時刻就安排好了未來1分鐘的10萬次操作,但是在t1時刻,ai所能得到的信息中必然有很大一部分都發生了變化,那麼ai是繼續按照之前安排好的10萬次操作來進行呢,還是重新安排新的10萬次操作呢?

那麼你可能會說,縮短時間間隔,比如每1秒重新安排一次,一次安排下一秒的1666次操作。1秒看起來短,但在某些時候已經足以讓部隊受到重創。當然你可以說讓電腦對局面進行評估,如果發現重要信息則立刻重新思考安排,但如何定義「重要」?星際不是圍棋,在尾氣中某一步棋不確定,電腦可以計算每一個可能走法之後的勝率情況來判斷這步棋怎麼走,但在星際中,某一個操作有沒有在某一個具體的時間點執行對於最後的勝率有多大影響?

回過來說,t1-t0可能只是很小的時間,最極限的情況是ai在每一次操作之前都重新「思考」一遍,如果是這樣的話,ai的效率跟得上嗎?當然大家可以假設ai在1分鐘內思考10萬次(每次思考都考慮未來的若干種變化)並且執行10萬次操作毫無問題,但這不是解決問題的好思路,就好像如果人們都寄希望於能夠窮舉的話,那麼現在圍棋ai肯定還不能戰勝人類。

下圍棋時,ai的思考邏輯是,在某一個時刻得到一個確定的信息(人類下子),接著ai分析盤面(不管什麼演算法,不管多少次左右互搏,時間可長可短只要在規則範圍內),分析完成後ai落子產生另一個確定的信息,然後等待人類下一個確定的信息,如此往複

而打星際時,ai遇到的情況是這樣的:ai連續不斷的根據連續不斷變化的信息分析局面,然後ai連續不斷的執行操作產生更多連續不斷不確定的信息(操作執行後未必得到預想的結果),如此往複
-------------------------------------------------
從博弈的角度:

星際中,在一定程度下操作差距可以跨域一定程度的兵種相剋,或者完成超越常規的戰損比。但操作也是有極限的,ai操作再厲害也無法用狂徒打飛龍是不是?

比如,ai要不要從第6個農民開始就開始探自己基地周圍防大招?如果ai是正常9-11個農民探路,人類可以往死里用比如4個農民就開始的大招打ai。
如果ai固定從第6個農民就開始偵查自己基地周圍防大招的話,人類就不用這麼極端的大招。
如果ai糾結於這種情況,那就算是入套了,因為可以針對ai設計n個套餐,難道ai要從第6個農民開始去不斷花費成本防n個套餐?

或者ai自己設定個隨機數,有時候偵查有時候不偵查?

插播一個案例,sc1當年july和gf在osl決賽中,gf在先勝1盤的情況下,連用兩盤8bb,都被july化解,第4盤gf居然用出6bb,終於幹掉july使得比賽進入決勝局。

以tvz為例,就算z的操作飛到天上,也無法用純drone和scv+marine對剛,10萬的apm也不行。


這件事知乎上早有結論,以SC2為例:
目前頂級的SC2AI(不開全圖),可能打得過黃旭東(畢竟雞霸),但是打不過F91.
當然AI不能在IO上作弊(不然人也應該允許編程鍵盤搞什麼無限丟蛋),這裡AI的限制是:用滑鼠鍵盤的API輸入,只能得到每一幀渲染前這一幀所包含的內容(也就是只同時能看一個屏幕里有啥,然而這並不妨礙你一秒鐘切60次屏)

SC2和棋類是完全不同的兩個概念,最大的區別在於SC2不是完全信息的,你不能時時刻刻知道對手在幹嘛,所以棋類AI的那一套理論完全不通用.
但是你又不能固定一套戰術,或者隨機選擇幾種戰術的一種,因為人一旦察覺到,就可以憑藉一兩次探路做出針對性的打法,光是戰術博弈的問題就很難解決.
----------------------------
當然AI也會探路,也可以看到人在幹嘛,但問題是AI不知道人想幹嘛
其實AI一直都不知道人想幹嘛,但是在棋類遊戲中,它不需要知道,所以看起來還行.但是RTS上,這個問題就完全暴露了出來.
反過來說,AI怎麼了解對面的戰術呢?("了解戰術"對AI的意思是指,通過已知的信息,判斷對方戰爭迷霧中的動態)只有探路看到某些特徵,比如出的是星門還是機械台,采了多少氣,然後和它已知的戰術做類比,找最像的那個.
但問題是戰術有無數種,也就是狀態空間是無限的,光是偷莽穩狗諧組合就有31種,加上奶再翻倍,什麼靈車漂移死亡衝鋒,每個時點都會產生無數種選擇,我前期採氣可以是提速狗,可以是狗毒爆,可以是兩礦飛龍,可以是野龍塔...幾條狗到家門前繞一圈,可能是探路,可能是在附近變了毒爆,可能只是嚇嚇人跳科技,也可能蟑螂都快來了...但是AI沒有任何現成的辦法覆蓋所有可能性,只會做出有限種判斷,一旦戰術大師孫一峰又領先了一個版本,電腦就會錯誤估計對面的動向,然後就變成多線送兵.
-------------------------
綜上,現在的AI基本都處於有限狀態機主義媽的智障階段,所以deepmind也只有在解決圍棋之後才敢試試SC,因為事實上SC比棋類都要難,它最起碼要涉及到"對未知信息的推測"

有人說AI的操作完爆人類,這點是當然的,但是很多問題不是操作解決得了的,有可能根本到不了需要靠拼操作決勝負的局面,舉個例子,AI的蟲族裸雙,然後遇到野2BB,隨便你怎麼操作
或者我有2個雷神,AI只有4個飛龍,隨便你怎麼甩.
至於APM限制,有沒有都無所謂,因為有個天然上限(雖然比人類高不少),他每一幀只能看一個畫面,做一個用時不超過1/60秒的運算,然後在這個畫面上做一個操作.很多存在於hack中的操作,比如小狗躲坦克,真的放到公平的輸入環境下打起來是做不到的.


先澄清一點,目前Deepmind想的是星際1比賽,相對來說簡單。星際2比起來難度幾何級增長。
其次,星際1目前可以使用的介面是Bwapi,github有公開,c++寫的。java開發的同學可以使用bwmirror庫。
目前的Ai水平大家可以翻牆去youtube搜索(starcraft ai),只能說很傻,本人斷言,未來十年還無法打過頂尖高手,打贏一般菜鳥不成問題


我發現很多人都進入了一個非常嚴重的誤區,就是RTS遊戲到底應該怎麼玩

事實上一個被大多數人忽略的事實是,RTS遊戲目前的玩法,完全是針對人類玩家的局限性的。也就是這個遊戲設計的時候根本就只考慮了倆人之間互相對抗的情況。

對於電腦來說,完全是另一回事兒。


RTS的決策難度,考慮問題的多寡,完全是建立在大家APM差不多的情況下的。舉個極端的例子,我去跟樹懶打,我需要什麼決策?考慮什麼問題?我一堆兵衝過去怎麼也幹掉它了。

人和人之間的APM差到一個數量級(10倍)的時候,策略就已經變得不那麼重要了。相差幾個數量級呢?直接碾壓好不,,,,


不信你保持1的APM,我找個小學生培訓一天都能打爆你


電腦相較於人在RTS遊戲中,存在非常多的作弊一樣的潛質,上面很多答案基本對星際和電腦兩方面缺乏常識。

譬如說一個水晶礦還剩多少,電腦需要去點擊查看嗎?
不需要的,因為只需要維護一個計數器算礦機過去多少次就可以了。(星際爭霸礦機的速度、水晶礦的儲量都是固定的,這是星際常識,就是人都可以估算出一片水晶礦的大致耗盡時間)

再比如一個炸彈過來,你有八個單位是目標,人類怎麼處理?
最優秀的選手也只能是單位立即分散後撤。

而電腦極強的APM可以做到八個單位在同一時刻向八個方向散開,這也是人類玩家基本做不到的。

再比如說同步移動。
利用單位視野優勢,在視野邊緣監控敵方單位,與敵方單位採取一模一樣的移動方向和速度,確保己方單位永遠落在敵方視野之外。

這也是人做不到的。

當這些優勢加到一起的時候,如果不加限制,電腦面對人類的時候可以搞出非常多我們現在根本無法預見的策略出來

這個問題下面很多答案根本就是在討論這樣一個問題:
機器一定不能跑過人類,因為目前人類在奔跑中自動調整的平衡機制,肌肉群和關節相互配合的協調,都是目前的機器做不到的。


但問題是,誰說機器只能用跑的?他可以搞個輪子轉啊!

很多人認為星際爭霸最重要的是策略,我只能說你們缺乏常識

對於星際爭霸這款RTS來說,下面幾個方面都是決定性的:

1、戰略、策略、理念。
2、微操(局部利益最大化)。
3、資源利用效率。

電腦即使在第一點上不如人類,而在後面幾個方面卻強得多。

還有很多說星際爭霸的變化遠高於圍棋的,呵呵,好啊,你七農民八農民不去造房子試試看,打得你滿地找牙。

星際爭霸的變化基本上從開局一分半鐘後才開始。

電腦如果你們真的不關心觀賞性,只想被我虐,我不需要考慮全局,不需要考慮戰略,我只需要保證比你高一丟丟的採礦效率,比你高得不知道哪裡去的多線操作。我不需要建造隊列,因為我可以精確的預測每一個單位的建造時間。我確保每一個水晶礦都被用來製造單位,確保每一個水晶礦都被最大化的產出更大的效率,在局部戰鬥中永遠用微操保證戰鬥效率,用射程和視野虐你。。。地球人,你們基本沒啥機會。

其實真的打過星際的就知道,星際爭霸這款遊戲,無非是兩個效率最大化:

1、資源開採/利用效率最大化
2、局部戰鬥效率最大化


無論多麼精彩激烈的比賽,獲勝方基本都是效率高的一方。對於職業選手而言,能夠保證這兩個最大化,就是全部造機槍兵用小圖都能虐遍網吧一群人。

他不會讓你有機會出地刺或者坦克這種克機槍兵的東西的。

當這兩個效率有明顯的差距的時候,僅僅靠戰略取勝的情況是很罕見的。


如果有一天機器在星際2這個遊戲中雙方不開全圖,在有效操作數相同甚至低於人類對手的情況下能做到100%勝率,那才是可怕的一天!

如果這天到來,說明機器在信息不完全的情況下,也能成功做出準確的判斷。這這這……逆天了啊!說明它不但有了邏輯判斷,還要能做戰術創新(個人認為,如果沒有持續的新戰術和打法是無法做到百分之百勝率的)。

尼瑪,這簡直不就是一個碾壓人類的高智商物種嗎?再加點自我意識,不就無敵了!


星際不懂,說說War3吧。其實造一個能擊敗頂級人類選手的AI,在現有水平下是完全可能的。之所以沒人這麼干(或者說有人干,但只限於玩票水平),無非是因為無利可圖罷了。

AI的APM達到百萬不成問題,這是個啥概念?很可能你的英雄連對方農民都殺不死(比如DK C小精靈,AI可以無限躲)。其他方面就更多了,自己想像吧。等於說AI可以在操作上完爆你。帶來的結果是什麼?AI 50人口乾翻你70人口的大軍不成問題。

至於有人說,RTS的變化有無窮多種,AI根本計算不過來,這是根本不懂遊戲AI所致,還在用窮舉的思路來套一切。遊戲AI究竟是怎麼回事,這個問題里介紹了不少:
即時戰略遊戲(比如 WAR3)的 AI 是怎樣實現的? - 計算機

RTS遊戲看似變化多端,但實際總結下來,套路也無非那幾種。把RN上所有的錄像都輸入進去,然後對比對手用的套路搜索相對應勝率大的套路,運用起來進行針對就完事了。實際上這和這次AlphaGO是一種原理,沒什麼複雜的。AI在套路針對的情況下,微操又完爆你,也根本不可能有任何失誤,人類如何對抗呢?只能束手就擒吧。
---------------------------------------------------------------------------------
@歐捏醬:你所說的AI能打贏人類是在AI上帝視角情況下,AI沒有全圖,不知道人類資源的情況下,根本打不贏人。APM再高你也攔不住速礦坦克,也攔不住卡你人口不讓你爆兵,電腦根本就不明白什麼叫骷髏海什麼叫吹風流。War3令人發狂他還是2倍的資源下才顯得厲害的。

答:我可沒說AI開全圖。偵察對電腦來說實現起來的再容易不過了,無非遇到需要決策的時候去某個地點看而已(至於怎麼看用小兵還是探照燈什麼的,具體情況具體分析,但都沒啥難度可言)。你的什麼速礦坦克卡人口暴兵,無非都是做好偵察就能防。至於說骷髏海吹風這種最基礎的套路,它電腦如果學了幾萬盤replay還學不到這些,那深度學習可以去死了。知道圍棋定式么?和war3套路一個性質的東西,阿發狗有怕過?
至於令人發狂的電腦就別拿來說事了,這AI是暴雪故意做出來輸給你開心的東西。


電腦遊戲ai可能實現起來有兩種完全不同的方式,

一種是目前的相對簡單的方式,直接在遊戲內部增加介面,可以直接調取各個對象的狀態,目前所有的遊戲ai都這樣做的,在操作層次相對簡單(比如不會誤操作等),唯一的一點可能會存在不公平現象。

另外一種則是@Longinus說的
一個很簡單的規則即可:AI當做滑鼠跟鍵盤接入電腦,而電腦的視頻音頻信號輸入AI。

這種當然是保證了公平性質, 但是實際操作起來需要額外的一套包含輸入輸出的系統 比如很簡單一個介面,「返回當前屏幕所有可見的對象」, 圖像引擎就需要去識別在各個動畫狀態的對象,這只是這套ai很簡單的一個介面,然而實現起來就相當難了!(這肯定是未來的大方向,完全擬人化的機器人,因為這樣機器人可以做的事情才會變得很多)

這兩套方案,對ai的勝率也有很大影響的。

簡單的說就是有兩種ai解決方案,一種是程序就是程序,另一種是完全擬人,未來到底是人對抗」人「,還是人對抗」程序「 。

目前的谷歌ai在圍棋上實現的是人對抗」人「(因為這個不需要太複雜的輸入輸出識別引擎) 所以大家覺得驚奇。
但是谷歌打算打星際的話,我覺得,谷歌很可能是直接調取星際已經做好的介面,(因為自己寫一套看起來公平的輸入輸出引擎太難了)但是,這樣子看起來是不太公平的。

如果是只看題目的話,就是程序在完全擬人的情況下什麼時候可以擊敗頂級高手,我的答案是很久之後


我想說一個alphago的毛病——就是它把對手想得跟自己一樣強。
(傳言第四局alphago後期血崩就是因為這個)

但凡棋類ai都會假定對手跟自己用同一個演算法,往下連走幾步看看情況來決定自己在哪裡下子。
這在棋類當中自然是沒有問題的,然而,假如把這種思路放到星際里,就是:
ai一波槍兵扎一針a了上去,發現對面比自己多兩個槍兵,掉頭就跑。
對面飛龍騎臉送了一波,ai做出對面多半是在騰人口轉大牛的判斷。
或者看見對面有閃電,ai的醫療運輸機就不敢往前飛等等。

我的觀點是:
像悍馬2000這種完全手寫的ai,如果再多寫幾個套路,並且把一些奇葩打法都考慮進去,可以跟職業選手打得有來有回。
但如果弄個深度學習,自己跟自己玩上幾百萬盤,很可能會陷入各種奇奇怪怪的overfit當中。


看了幾個答案,總感覺沒答到點上。總是混淆了圖像與人工智慧的區別,困在圖像處理的泥濘中。圖像處理,例如人臉識別不屬於人工智慧的範疇。人在玩遊戲的時候能夠從圖像中快速獲取信息是與生俱來遠勝機器的超能力。這種能力在未來計算機發展過程中很有可能也會被機器超越,但是顯然就目前可以預見的未來,AI在接受數據方面也模擬人類,完全從畫面中獲取數據,顯然是不可能在RTS這種畫面機器複雜的遊戲中取勝的。

答主以多年程序員,多年RTS遊戲及棋類愛好者的身份來聊聊這個話題,雖然這幾個方面都比較渣,說得不好還請別見怪。

首先,我們假設可以不用圖像處理的方式模擬人類從圖像中獲得的數據

如上圖我們人能從畫面中輕鬆獲取信息:對手在建造祭壇進度1/5,大廳在建造農民,列表中有2個,一個快完成了,還有每個單位的位置大小等。如果AI要通過圖像獲取上述信息,我不知道要多少年才能達到人類如此快速分辨的級別。而且這中信息獲取對AI聰明不聰明,或者對一個人聰明不聰明沒有任何鑒別作用。所以答主覺得所謂AI應該在決策中起作用的部分而剔除掉怎麼獲取輸入數據的問題。那麼怎麼跳過複雜的圖像處理又能模擬人類從圖像中獲取的信息呢。答主從程序的角度可以這麼解決:AI告訴電腦想知道當前畫面中正在播放什麼動畫/渲染什麼單位,系統告知X0Y0坐標在播放大廳建造單位的動畫,X1Y1坐標在播放祭壇建造的動畫,XnYn農民背著金子動畫,xy什麼單位在播放什麼動畫等等。這樣AI就可以通過畫面切換來獲取任何和人類一樣能獲取到的信息。個人覺得這樣的方式即可以輕鬆解決數據輸入問題又不失公平。

其次,AI要戰勝電腦操作也不能太差。
但是對於RTS遊戲,想必稍微有所了解的人都知道,如果在戰術決策上很犀利,其實操作不至於太渣基本是能贏的。所以答主覺得只要模擬職業水準的操作也基本可以了,不需要動用什麼超物理極限,多線程並行等電腦特性。簡單的將AI作為指令發出者,指令發出的頻率與人類相當就可以了。

最後,讓AI學會這個遊戲
如同人類一樣,不是誰都天生會RTS遊戲,都是通過學習練習來達到很高水平的。那麼AI如同alphaGo一樣也是通過學習來不斷完善策略。所以有個答主舉例說:AI看到對手建造空軍兵營,就傻傻認為肯定是建造兵營,結果對手用的是欺騙戰術,其實是暗中造了一大堆地面部隊,我想說我們在玩的時候何嘗不是被這樣的戰術欺騙過,然後吃一寸長一智。所以我覺得合格的AI應該也是有這樣的學習技能,第一次他被騙了,輸了。那麼AI應該能總結出來為什麼會輸,原來是對手暗中建造了地面部隊,應該再偵查以便確認。那麼如同alphaGo一樣有這樣學習能力的AI有多可怕,可以24小時不間斷,分析模擬歷史比賽數據來提升自己。哪怕是最開始都不知道造什麼兵,慢慢的總是能在某一個形成很牛逼的決策體系來贏得比賽

結論:答主以為如果基於取巧式的方式來解決從圖像中獲取數據的瓶頸,改造alphaGo為一個RTS的AI不是特別難的事情。但是如果非要說從圖像中獲取數據的能力也是AI的一部分,那麼有生之年答主不認為能有所實現


其實樓主更想問的是當電腦模擬人的行為方式進行遊戲,能不能擊敗人類。
我所設想的場景是,電腦通過攝像頭獲取星際爭霸的畫面數據,並能夠通過一個滑鼠鍵盤軟體輸出指令,根據所獲取畫面數據,判斷場上的局勢通過運營暴兵擊敗對手。
問題的關鍵點1:電腦不能涉及遊戲底層數據。
就像已經有的微操地圖或者如悍馬兩千那種,在遊戲框架內,他能獲取距離速度攻擊,攻速,彈道軌跡等實際數據,這叫做作弊,這種根本不是AI,充其量叫做腳本,絲毫不能與智能二字相聯繫。
關鍵點1:電腦所能操作數應該有個上限
人類生理機能的孱弱我們必須都得承認,連一些動物都比不過何況,我們自己製造出來的機器。所以電腦的APM必須有個閾值,不能超過太多,否則毫無意義。

在上述設定的條件下我們再談電腦AI能不能在星際爭霸這款遊戲里擊敗人類才有現實意義。
首先在不能獲取遊戲內部數據的情況下,電腦必須通過攝像頭,判斷所獲取畫面數據的內容。就像人臉識別一樣,認識哪個樣子的東西是建築,哪個是兵,有什麼作用,如何去操作。這些才是人工智慧需要考慮的東西。
其次電腦也需要對局勢做出判斷,做種各樣的偵查,獲取對手的情報。還能根據時間節點,對手的關鍵性建築或兵種做出相應的應對。這個是最關鍵的部分,對於人來說,局勢這種東西相當容易理解,但是對於電腦就沒有這麼容易教了。舉個最典型的例子,你的180人口部隊沖向對手基地準備決戰,結果走到半路對面繞路換家了,這時候救還是不救,分多少兵去救,這都是很微妙的東西。人類通過成百上前盤的經驗,再加上臨場的判斷,能夠做出相對正確的選擇。

就目前的ai,我覺得還不能做到能與人類抗衡


sc2er醒醒吧… 人家研究的對象肯定是sc1嘛= =


現在ai至少在微操上是完虐人類的,隨著計算力的提升,全局完虐指日可待。

第一個:躲濺射

紅圈ai預判坦克落彈點之後,周圍所有小狗都撤離,只剩一個炮灰

最終實現,每發坦克炮只犧牲一個狗,沒有任何濺射傷害。

從此所有濺射類武器在ai面前全部失效。


再看第二個:上下飛船

運輸機秒下坦克,開火,秒回收。
無傷虐純地面單位

第三個:Hit Run

遠程且有速度優勢的兵種始終保持射程優勢,前一個毫秒開火,後一個毫秒撤退,始終讓人近不了身。

如果APM受限的話,假設300個上限,一秒也有5次操作了
不同於人,人的APM雖然高,但是廢操作太多,真正一秒鐘能有一兩個有效操作就不錯了。
而AI每秒5次的操作都是有效的。

你再想想,
殘血秒後撤
遭遇戰時電腦第一個毫秒就判斷出勝率從而做出打還是不打的決定

就算沒有全局觀,無數個微操細節積累在一起,碾壓個把職業選手是正常的。

視頻地址:
[AI覺醒] 星際2 神級AI微操完虐人類玩家 人類輸定了嗎?


RTS 第一有信息不對稱,第二是兩個玩家同時操作,和象棋圍棋完全兩回事,在這方面 AI 需要有完全不同的設計,所以我估計時間還需要以 10 年尺度計。


首先要規定ai不能用操作碾壓人類

假設一個情況吧,在蟲心,讓大家感受一下ai如何應對即時戰略的瞬息萬變

狗哥放戰術修地堡!ai裸雙剛開始沒偵察到,跟普通選手一樣,ai偵察到以後,經計算準備完美防守

狗哥在2礦點一個水晶,蟲族要拖6個農民來咬,好拖到一半發現狗哥又點一個水晶,狗哥拼了!6個農民已經不夠了,電腦再拖3個!狂咬水晶

狗哥瘋了,第三個水晶點下去了,又有兩個農民到了,第一個地堡再造了,電腦再繼續拖農民,狗哥媽的不給人活路啊,又點兩個地堡,再點三個水晶卡奇葩位,電腦經計算髮現不可能打贏了,狗哥這麼傷經濟,不如回家運營也還能打,於是放棄二礦往回走,走到一半發現狗哥取消了3根水晶和1個地堡!

ai一算,回去打也打不掉,不回去打又媽的虧大了!一口老血,gg


看看視頻吧
2014年星際2精彩和逗比瞬間(4)_網遊·電競


AI肯定不行啊,我ZVP用幾條狗把通向主礦的路一封,把主礦農民拉到分礦采,你以為我正常打呢,我主礦爆一波刺蛇不就直接打死了!


對於任何rts遊戲,電腦ai能力必須刻意降低才能照顧人類脆弱的小心臟。

所以遊戲自帶ai都是刻意弱化的,避免玩家產生情緒上的不適。

至於一個專門設計的星際頂級ai究竟能吊打8個還是10個人類,貌似目前無人做過測試。但網上有自製ai用最低檔單位零損耗全殲對方高級單位的視頻(評論區有鏈接)。這基本說明了ai只要全力發揮,人類毫無勝算。

換句通俗一點的話說:AI就是外掛,你覺得靠譜的外掛打不贏人類?


拋開反應速度、操作速度(APM)這些AI完虐人類的因素,那RTS也就是個策略遊戲罷了。

策略遊戲的話,星際爭霸真的能夠在策略性上超過圍棋么?或者說純粹策略的話,星際配給圍棋提鞋么?


怒答一記
為什麼這麼多人都在考慮著給AI開放內部控制介面?我們要測試的是一場公平的對決, 也就是AI必須在同等硬體條件下與人類進行對抗。用攝像頭看屏幕,用機械臂操縱滑鼠鍵盤。

為什麼呢?競技項目不僅拼的是思維速度,還有肉體的反應速度。就好像你要讓AI去打籃球/踢足球,AI可能很容易就判斷出什麼時候去回防什麼時候因該突破,但是如果沒有相應的成熟硬體操控,再好的大局觀也無法挽救被吊打的局面(參見機器人足球賽)。 然而在圍棋這種非即時競技中,這種操控帶來的劣勢就被忽略了。

然而到了星際這種即時的競技項目中,操作的能力是受到器材的限制的。正如同踢出去的球要服從空氣阻力的制約,RTS中APM也是受滑鼠鍵盤按鍵回彈速度限制的。像有些答主所舉的悍馬2000散狗咬坦克的操作是不可能在實際的滑鼠操作中實現的。這也就給AI在操作上完虐人類這個命題打上了個問號。

拋開戰略的推測不提,我認為AI對於人類最大的優勢在於運營以及抗壓能力,因為AI沒有「緊張」這種概念。再好的韓職,也不能保證在高壓下女王注卵不斷,不卡人口,這也正是星際爭霸這種RTS遊戲在人與人對戰的過程中「多線」的意義:看誰更能夠在高壓力的情況下還能做好多任務處理------然而這正是機器所擅長的。


沒有任何懸念。

許多人把職業選手想的太高了。

而且把他們心中的星際想的太神聖了。

他們假定星際是一個平衡的遊戲,某選手就是完美操作。

但事實不是這樣。

跟我打過遊戲的。鄙人純文科生。概率數學都是苦手。
但常常陰得那些常勝者無話可說。

為啥呢。

競技遊戲說到底就是遊戲環。

什麼叫遊戲環。

石頭剪刀布就是遊戲環。

何時出石頭,出剪刀,出布就是決策。

而你們認為神,不過那些人出的時機比較好。

或者他乾脆就是石頭剪刀布一起出的。

所謂星際,可以解構,就是個在單位時間內不斷變換石頭剪刀布的遊戲。

怎麼講:
你有小狗他有飛龍,你有飛龍他有刺蛇,你有刺蛇他飛龍加小狗.....

各種兵種地空,數值,其實是粗暴武斷的剋制。

他永遠處於有利的狀態。

當然由於微操的存在。很多東西是設計者都沒有想到的玩脫了。

玩得深了,自然明白許多競技遊戲設計者的愚蠢。

不過因此會出補丁,掩蓋這樣的愚蠢。

是真的很蠢。

理解了這一點,就能理解,沒有神。只有神一樣的對策與微操。

只有最優解。

星際不同圍棋,是一個有限解的遊戲。而且是一個很容易窮盡有限解的遊戲。
若是能精準固定到地圖,種族。其解是有限的。非常有限。

有人拿某些很多單位的圖圖來說明複雜。別忘記了,這個時候,最優你能有什麼,你應該有什麼,都是固定的。

因為你的資源決定了。

而你的打法也是固定的。

因此與其說做ai,不如做對面策略的最優解。

或者自己種族策略的最優解。

乾脆再爛點,仿形。

無論哪種,都用不到硬體。只怕軟體就夠了。

-----
刪除了幾個亂罵的。

知乎許多人還穿開襠褲的時候,我就在某些競技項目是職業或者准職業水準了。

我玩遊戲做遊戲砸錢打遊戲都是找頂尖高手。不會像某些yy的一群拿弱者意淫。

遊戲最忌的是什麼。

沒有自己的東西。人云亦云。把設計者想的過於強大。

鄙人不光做過ai,但主業還是測試。專門找設計者漏洞的。

記住一點,是人做的遊戲都有漏洞。

比如飄基地,變小狗飛龍,坦克架飛龍什麼的。

還有一些構架上的隱形bug。不是專業人士無法察覺的。

比如卵出生的速度。改過幾次。兵營的錢。改過幾次。

為什麼比賽過去只有失落神廟一張圖。

還有一個問題,為什麼二代會加個蜂王么。它是為了什麼這樣改。

承認星際系列是個不斷完善的刻意去動態平衡遊戲,很難么。

官方都在不停的打補丁。加東西。只有他們知道發生了什麼。雖然經過十幾年變動已經很難一眼看穿。

它有最優解。而且由於電腦可以極限微操,解法狠無恥。

說ai難做的那位。我提供一個思路吧。

以敵為主,肯定做不了。

只能以我為主。我為什麼要根據敵人決策決策。我自己就有最優決策,強制招法。

應該是編寫特定時間內的特定行為邏輯。找出自己的最優解。始終給對手以壓力。不斷攻擊對手。利用微操碾壓。

一直在以自己的鎚子對敵人的剪刀。

因為星際這個遊戲。不像回合結算的遊戲。時間到強制結算。
而存在微操,所以人腦的鎚子不一定能剋死剪刀,而ai的剪刀必然能剋死人腦的布。

我們做即時ai都是悠著做。不然沒得玩了。

-----
利益相關:網遊測試策劃。大約12年吧。

星際水平:98年就拷磁碟回去玩。

吊打知乎99%的人沒問題。當然現在估計只剩大局觀了。

職業比賽身邊同事就有。打不了我兩個,打我一點三估計差不多。

刪除了大半評論。還刪除了一個私信的。告訴我錯了,要我刪答案。

很好。我把他刪了。

看了兩個答案。我很欣賞上面那個編程的。這才是實際做事的。

其實他跟他說的一個意思。

星際大部分操作沒有任何意義。只有採礦效率最優,兵種利用資源效率最優,兵力控制範圍三種才有意義。

你們見過哪種兵其實比你沒多多少。但東門有,西門有,南門起火,北門吶喊的操作沒有。

比如蟲子內戰,一般地圖必然是飛龍互噴。其實勝負就在5-8條龍左右就定了。因為只要對方剩三條龍,是補不了放空的。

電腦哪種微操,八條對八條,能把我打成什麼樣,只能屈頭補防空。然後你就輸了。

出刺蛇你的油是用不完的。而且你兵力控制區域很小。基本安樂死。只有飛龍帶小狗才是最優解。強制招法。

圍棋之所以難。是因為沒有真正意義上的強制招法。最優解。

阿爾法調戲柯潔的招數,是否在更高意義的算度上成立。很難說。

但星際有。這就是最優解的強制招法。資源利用率

幾個高叫你不懂星際,星際比圍棋更複雜。

搞笑吧。圍棋的排列組合多少?

星際就算不探路,每張地圖是固定的,開局幾分鐘它有多少兵多少人口也是可以大致推算的。甚至ai只要看一眼礦就有了。

大多數策略在強制招法前無意義。

高手開基地架鈾礦出農民等等操作。都是掐秒的。你見過他們千變萬化開局?

流行開局就那麼幾種。

這不扯淡么。

越是高手越是格式化。

對手有什麼也基本瞎子吃湯圓。

他多少人口打你多少人口也是可以預知勝率的。

所以.....按這思路這寫個初步的版本ai並不複雜。

至少蟲子內戰比較簡單。

所以幾位說幾個團隊合作至今搞不出戰勝浩方的ai。

這個是你們自己的問題。別拿這個當論據來證明別人應該跟你一樣水平。或者不如你。ok?

只是這個東西利益不大。我是見過不少功能匪夷所思,細思恐極的外掛與功能的。有錢你就是黑白宮都有人敢幹。

拿一位我敬重的程序員說的話:只要肯付出代價,沒有在虛擬世界裡程序員做不了的事情。

柯潔都下課了。幾個星際選手時間問題爾。

結果答個問題。

逼乎幾個小屁孩既開除了老夫的行業籍,又開除了我的遊戲籍。

他們這種思維方式一看就是學生。

學生罵我。我告訴他如何刪繁就簡,簡化做事。今天我生日,就當一次雷鋒吧。


我不用任何工具寫程序。謝謝。公司里大把高級程序員,我為什麼搶他們工作?再說自己也不會。

逼乎只能是看看照片,看看見聞,看看體驗。
專業問題,點贊高的答案,真是應了哪句老話

知識性社區整體水準與其人數成反比。

說得通俗點:點贊過萬,智商減半。
-----
有些人啊。到目前為止還不明白一些簡單的理論。

圍棋之所以強大。是因為核心是圍地。每一步結算收益在宏觀上的評估很難。所以只能靠硬體。

象棋之所以軟體被搞定。是因為象棋的核心是攻王。

所以象棋開局,子力最多的時候是變化最少的時候。第一步有效招法只有不超過十種選擇。而後手應對,更具有強制性。每種對應可選的更少。

我當頭炮,你進中兵。這不叫變化多樣。這叫腦子有問題。

正著只有兩種。

星際更近於什麼。仔細想想。不要再扯什麼變化比圍棋更多的胡話。再看到一律刪除

這兩年真是人工智慧火了。熱錢多了。

--------
https://zhuanlan.zhihu.com/p/28473878


結果真打臉。
李世石好歹還鑽漏洞贏了一局。

這人直接掛白旗了。
他為什麼掛白旗?
跟我預言的一樣。
說白了遊戲本質說到底遊戲環,大家猜拳應對而已。
刀塔裝備英雄技能剋制。星際兵種克制而已。

他知道沒得打。出布碰石頭ai跑了,出石頭ai布追上來,玩組合拳ai更6,都沒跑沒間隙,還沒有看到對面就掛了。打到他媽都不認識他了。十分鐘就崩了。
打下去更丟人。

至於這類即使戰略遊戲,基本的二元要素,從沙丘時代就有的,搜集資源與探索迷霧,ai更是甩人類十幾條街。

這個答案炸出不少自命不凡的。一路追著私信死對我。什麼比圍棋更複雜的胡言亂語。連即時戰略遊戲基本規則與元素都搞不清楚。直接統統刪除拉黑。

現在臉痛不。

遊戲能力與智商是兩個概念。我見過許多高工博士打遊戲,理論一套一套,打起來智商瞬間歸零。

他們絕對在本專業是專家高工以上。遊戲之外的能力值的矚目。

當然不值得嘲笑。畢竟別人把天賦點點到正途上去了。

遊戲的輸贏其實就是遊戲內的輸贏而已。

說白了打遊戲要做的是減法。而且是在設計師腦海里框架內做減法。

減無可減,有效操作都是最高效率,無懈可擊,你就是贏家。就是菜鳥眼裡的神。

大道至簡。

換而言之,把問題複雜化的,全部拉黑沒有冤假錯案。一群書獃子?遊戲菜鳥而已。

方向錯誤,知識越多越反動。--太祖

遊戲更是如此。

而且這個設計師的腦瓜,是不是有價值,真平衡,是一件值得考慮的事。

我為什麼不玩爐石。因為爐石是一個送外賣的做的。

並非我瞧不起送外賣的,我們這行不少出身還不如送外賣的。而是你要搞清楚一些基本的遊戲邏輯禁忌,至少得吃五年虧。

所以我不想當小白鼠。寧願玩已經吃虧二十多年的萬智牌。就算是錯也更有深度一點。

至於三國殺與遊戲王。構架都有問題。以至於某天才程序員在他的桌游店裡禁掉了這兩類顧客。

錯誤是成功他媽。我們挨踢這行都皮實。

人生就是個錯誤。改錯再犯錯。直到錯無可錯改無可改。

不信么?

我最大的錯誤就是創建了阿里巴巴。--馬雲

星際么。其實1在哪個時代還是很驚艷的。也鬧出許多經典笑話與bug。

當然就目前這個平衡性差不多已經是人類設計師極限了。

暴雪么,還是搞搞暗黑魔獸這樣大家聯合起來打ai的狩獵遊戲算了。

最近又在沉迷單機,如永恆之柱2這樣的復古dnd單機。

幾個競技遊戲越玩越覺得設計師智商欠費。

至於星際2沒有十幾個版本想穩定,太難。

真要超級ai介入,只能是逼著暴雪與所謂職業高手,自己打落牙齒自吞,坐等他們被艸到他媽媽也不認識,然後自己出布丁改設置。

data2已經淪陷了。

坐等狗狗繼續打暴雪的臉。反正看熱鬧不嫌殯大。


推薦閱讀:

TAG:人工智慧 | 星際爭霸 | 即時戰略遊戲(RTS) | 深度學習(Deep Learning) | AlphaGo |