你知道AlphaGo或「星陣」下圍棋時,「腦子」裡是怎麼盤算的嗎?它會考慮哪些因素呢?為什麼劉校長提到人工智能只能選擇「最佳」的策略,而不是「必勝」的策略呢?

前幾周劉校長為我們介紹了極大極小搜索算法、評估函數,今天他要告訴我們這兩者不同的使用時機。當遊戲的複雜程度較低,人工智能可以使用極大極小搜索算法,預想整局的賽局樹,然後從代表最後一層結果的「葉」,往前推到第一層「根」,決定第一步要怎麼走;然而,當遊戲的複雜程度升高時,人工智能只能從其電腦資源所能把握的層級往回推,給與每一層每個圖板位置相對的分數,也就是評估函數,來決定要走哪條「最佳」(雖然可能不是「必勝」)的路徑,但後續的層級就不在電腦的預算範疇裡。

之後,劉校長也提到,不同的遊戲對評估函數的計算方式也不同。以五子棋為例,人工智能在計算評估函數時,需要考量的因素為:1.棋子數目不影響函數值;2.棋子位置不同,函數值也不同,以中心位置最高;3.棋子的連續性與否將影響函數值。再以中國象棋為例:1.每個棋子所代表的價值因其名稱而異;2. 棋子位置不同,價值也不同,中間價值大、過「楚河漢界」後,棋子價值也會變大;3. 棋子的靈活度與攻擊力將影響函數值;4. 棋子在某個位置上對內的保護力、對外的攻擊力,也會影響函數值;5. 棋子間相互呼應的能力,會影響函數值;6.將帥安全的評估,亦為函數值影響因素。人工智能在計算象棋的函數值時,會將上述這些評分因子「加權」計算。劉校長最後還提到,評分函數不一定是平順的曲線,因著複雜程度,可能出現不同的加權效果,例如圍棋。

經由劉校長的清楚解說,你是不是更清楚AlphaGo或星陣「腦子」裡打的如意算盤了呢!