推 LaPass:你是不是不了解圍棋中的「兵團」的意思? 11/29 09:25
→ LaPass:連在一起的棋子的死活是一起算的 11/29 09:25
→ LaPass:那是圍棋中的專有名詞 11/29 09:26
雖然我很想說這可能是過度狹義解釋才造成你以為戰略遊戲沒有這種概念。我舉
個簡單的例子:戰略遊戲你兵活下來再多,你的主要勝負目標失敗了,你整體就失敗
了。也就是說,你的整體原本就是可以視為一個總軍團,裡面單兵的勝負永遠不如總
軍團的勝負重要。
而一個總軍團為了達成總目標,他會發展出許多的子目標需要完成,而為了完成
每一個子目標就會分出許多子軍團。每一個子軍團也是一個整體,裡面的單兵輸了沒
關係,子目標完成就是該子軍團整體的勝利,而子軍團所有的成果之總合就會決定總
目標是否完成。但是,無論再怎樣用這種「整體」的方式去概念化、模糊化,最終的
勝負判定終究是可以從細微的每一個單位之行動(用圍棋來說就是每一手)的累積來
推算。圍棋確實是一整塊相黏棋的共生共死,但每一塊棋都是一手一手下出來的,每
一個turn你要推算的永遠都只有一手,雖然為了推算這一手你可能得算到整個棋盤、
算到後面的無數手。
推 LaPass:但問題是AI對圍棋中的軍團認定是有問題 11/29 09:38
其實我真的不太懂LaPass你的疑問在哪,這樣講好了,如果圍棋棋盤就只有4x4
,它規則都一樣,你會覺得它是算不完的東西嗎。只要窮舉了所有可能,勢的概念基
本上是自然產生的,到最後勝負評估就是目數或子數,相黏棋的共生共死是基本計算
勝負所需的規則,本來就會算到。
你說的軍團認定,應該是指發生在對局中,某些還沒有真正連起來的棋,到底是
否要預設它們將來為相連的判斷吧。但這問題還是一樣,就是因為盤面太大算不完的
關係而已,只要算完你自然就知道之後雙方怎麼下,某些棋是否會相連,而造成的勝
負又是如何,評估函數根本沒有為此而變複雜。是因為算不完,才被迫用人為複雜化
評估函數的方式來減少運算量,而不是規則上評估函數就很複雜,這一點的因果不要
弄反了。
講到那個戰略遊戲的軍團觀剛好是我有一段時間在研究的東西,雖然我最後也沒
研究出很直接可以用的General Framework就是了......要想用單一架構 + 規則
Plug-in整合所有類型的戰略遊戲實在難度有點高XD
某些東西窮舉得完那還罷了,但很多光是最小子軍團的子目標就窮舉不完了,我
就是實際做過了,要說這東西比圍棋簡單我根本覺得不可能啊,除非是規則非常特化
而地圖非常小才可能。
事實上這跟以前在這版也談過的,MTG的General AI處理是大同小異的問題,雖
然一個是戰略遊戲一個是紙牌集換式遊戲,可是其中大概念其實非常相似。
推 LaPass:其實我之前也過泛用型的策略AI這種事.... 11/29 10:01
→ LaPass:那個等下講,先講戰略遊戲的AI的問題..... 戰略遊戲一般都 11/29 10:02
→ LaPass:是用場的觀念下去算,而不該用窮舉的吧? orz 11/29 10:02
我想這就是你誤解的地方了,你把「現有的」那些爛SLG AI當成是SLG AI的一般
性解法,我事實上可以告訴你大多數的戰略遊戲AI根本連什麼場不場的都沒有考慮,
幾條if-else經驗法則就打發掉了,複雜一點的像Starcraft的也就是給它一些事先寫
好的套路,下去看目前狀況大概適合哪一種就照經驗法則run下去罷了。這些根本不
是去解問題,是人先解好了問題(而且用了很爛,其實根本沒有解開的解法)寫好給
電腦直接用。
這當然是一種AI,但是解題的責任卻其實還是在人身上,而且沒有超出事先寫好
規則以外的隨機應變能力。
推 LaPass:連圍棋這麼小的棋盤都會用場的觀念下去計算了.... 那種非棋 11/29 10:08
→ LaPass:格的場地不用場的觀念下去算是要怎麼知道地域....= = 11/29 10:10
我直接這樣講啦,戰棋就是棋類,只要你的資訊是全公開的情況,你拿來解棋類
的演算法就是拿來解它們的演算法,然後因為選項更多盤面更大所以複雜度更高更算
不完啦,而遊戲製造商不可能這樣幹,所以隨便寫些簡單規則就上了。你玩SLG總也
想過「要是我來控對面的部隊,我軍根本就死無葬身之地嘛」這種事吧XD
只要能窮舉完成,根本不需要場的概念。我不知道你對這點有多少理解,要是你
沒有這個概念,我們根本沒法繼續討論下去,因為你說的AI其實都已經是在談人為事
先解了部分題、被干涉過的版本了,而不是全然自行運算 + 學習的AI了。
推 LaPass:這點我同意..... 所以我才會覺得那種幾萬*幾萬的地圖不用 11/29 10:14
→ LaPass:filed下去算很奇怪.... 11/29 10:14
這種人為干涉加入概念的AI,其實比的都是人類事先解題的功力,比如說假設某
個時代電腦超慢連井字棋都算不完,可是有人就硬是找出了規則說先手下中間一定可
以下到至少不輸,那結果這個AI並不是本身算得好,是因為那個人提供了一個保證
Dominate此遊戲的知識。
現在圍棋只是因為硬算算不完,而就算人為也沒有人能提供100% Dominating的
知識,所以才有一直做下去的空間。戰略遊戲亦同,只要窮舉不完 + 沒有人可提供
Dominating知識,那難度是不會輸給圍棋的。現在說圍棋用場啊、用連通(某個大學
學長就做這個)、或是分析棋譜啊之類的,也都是眼前人腦能夠想出來可用的一些被
認為相對可用的概念,但哪一天要是哪個天才提出了更好的概念,場說不定就直接被
丟棄不用了(只是假設)。這些人為概念直到真正有決定性之前,沒有一個是絕對必
要元素的。唯一絕對必要的元素只有由基本規則直推得到的標準評估函數而已。
推 LaPass:同意 11/29 10:46
→ LaPass:我當初是直覺認定不會有人把策略遊戲的規則搞到這麼複雜, 11/29 10:48
→ LaPass:才會認為圍棋會比較難 11/29 10:50
推 cowbaying:回個文好嗎? XDD 11/29 10:54
推 cowbaying:以圍棋來說 我相信人腦也不會去窮舉 每一步是有時間 11/29 10:58
→ cowbaying:限制的 但是用超級電腦來窮舉 我是覺得可行的 11/29 10:59
推 LaPass:人腦在判斷局部的話的確是窮舉,不過會先用直覺去挑幾個看 11/29 11:00
→ cowbaying:ddavid有一點我不同意 每個回合要計算的是2手 對面會 11/29 11:01
→ LaPass:起來「有味道」的棋步去算 11/29 11:01
→ cowbaying:怎麼下 會影響到自己怎麼下 11/29 11:01
窮舉就是將對方的所有回應也都考慮以後挑最佳呀,考慮一下井字棋你人腦怎麼
窮舉的就OK了,不管怎麼下,至少九手之後一定會導向一個結束的盤面,所有可能性
都有了以後再回推是不是有一手不管對方怎麼應都能至少通往一種自己贏/不輸的盤
面即可。反過來說,如果我方所有著手,對方的應手都能導向至少一種你輸的結果,
表示從目前開始下的話,在雙方可以下出最佳著手的前提下,你已經敗定。
而所謂一種遊戲被窮舉解決掉,就是這個窮舉已經算完所有可能性,可以直接回
推到第一手就確定雙方最佳情況下的勝負了。和局也是可能的,比如在沒有特別限制
什麼禁手的西瓜棋(http://taiwanpedia.culture.tw/web/content?ID=24221)來說
,最佳解應該是雙方和局吧(以前有做過,不過沒有真的去窮舉完,所以我只說「應
該」,雖然就規則上看是無禁手的情況雙方永遠都有不被吃子的著手存在)。
推 LayerZ:我覺得可以拿LoL的AI來討論,跟SLG比起來相對簡單(只需要操 11/29 11:15
→ LayerZ:做一個單位) 但是光是前方一個敵人走進草叢要不要追擊 11/29 11:16
→ LayerZ:可能就要算整場的概念了.. 11/29 11:16
→ LayerZ:AI畢竟還是人腦寫出來的,要計算也只能往寫的人能預測方向 11/29 11:16
→ LayerZ:我個人覺得AI其實是將人腦推往無窮計算的極限而已.. 11/29 11:17
→ LayerZ:這也是遊戲能夠做到的程度,要做到自然學習的AI 11/29 11:18
推 LaPass:我到是很想教AI自己去想去學習..... 11/29 11:19
可以找一下Data Mining跟Maching Learning領域就在嘗試幹這回事XD。當然它
們都可以說是原本AI領域的延伸/變體就是,雖然嚴格來講也是有不同之處啦。
→ LayerZ:背後的運算跟資料庫就不是一般遊戲能夠負荷的了..雖然特意 11/29 11:19
→ LayerZ:往這方向做也算一個特殊的遊戲XD 11/29 11:19
→ LayerZ:自然學習...其實我對AI沒特別研究啦,在我認知中自然學習 11/29 11:21
→ LayerZ:需要儲存大量樣本 然後依造一個演算法去決定最後的結果 11/29 11:22
→ LayerZ:那個演算法也是人寫出來的不是嘛? 11/29 11:22
比較General的Maching Learning演算法基本上都沒有針對遊戲規則上的偏頗就
是了,主要是不針對遊戲規則的一些機率假設啦。
至於需不需要一個資料庫其實是看演算法,有的把Model學出來後只要存Model架
構就好,大多數資料可以丟掉。再舉井字棋為例,當你已經學出先手下正中必不輸時
,我方先手下另外八個位置的資料就一點都不用存了......類似這種概念。
→ ddavid:整個推文推到那麼長其實是因為感覺要是刻意每有一點想回就 11/29 12:18
推 LayerZ:所以是用人腦寫的演算法去分析要儲存的情報嚕.. 11/29 12:18
→ ddavid:回文,感覺好像會很有戰文的感覺,其實大家都只是分享意見 11/29 12:18
→ LayerZ:就回阿 還能針對不同細向討論XD 11/29 12:19
→ ddavid:,只是不知不覺想講的講完就你看看我的推文已經這麼大了XD 11/29 12:19
→ chchwy:拜託回文.... 這一長串我連看都不想看 11/29 13:04
→ chchwy:這種推文法根本就虐待眼睛 11/29 13:05
→ chchwy:版主要不要處理一下 11/29 13:07
推 cowbaying:這情況「無法」處理 XDDDDDD 11/29 13:15
→ ddavid:需要我幫忙把推文內容色碼修掉嗎?也許會好一點XD 11/29 13:16
→ ddavid:剩下就只能希望後續版友(包括我)用回的這樣XD 11/29 13:16
→ cowbaying:正常的討論還是用回文的吧 不然容易失焦 11/29 13:17
→ ddavid:主要是有人用推文回應我就很自然推回去......就......XD 11/29 13:17
推 cowbaying:建議你把推文分段 因為這是你的文章 你回應可以用修文 11/29 13:18
推 cowbaying:的方式巧妙的把文章隔開 11/29 13:18
→ ddavid:我把我自己的推文整理一下好了 11/29 13:19
※ 編輯: ddavid 來自: 114.32.156.172 (11/29 13:46)
※ 編輯: ddavid 來自: 114.32.156.172 (11/29 13:53)