阿爾法圍棋是怎樣戰勝世界當今頂尖棋手的
阿爾法圍棋橫掃圍棋界當今頂尖高手。四比一贏韓國的李世石九段,升級Master後,快棋全勝六十位中韓日三國一流高手。其後,在三番滿棋中,三比零完勝世界等級分最高的柯潔。隨後,又輕取中國五位世界冠軍組合。聶衛平說,阿爾法圍棋的棋力有二十段。
那麼,阿爾法圍棋是怎樣戰勝世界當今頂尖棋手的呢!根據我對圍棋的理解,以及從文獻上對阿爾法圍棋的了解,談談阿爾法圍棋的算法。
圍棋盤面361個點,如果窮盡所有對策可能性,數量級是361!。這是現代計算機無法承受的。對方走了一步棋後,阿爾法圍棋有360中可能的選擇,阿爾法圍棋應用啟發式(heuristic)算法只選擇250種可能性,也假設對手只選擇250種可能性,算步深度12步。如果用樹結構表示,這個樹有250^12個葉子。這個數也很大。阿爾法圍棋應用Monte Carlo隨機算法在250^12個葉子中隨機選取一個子集。然後,對這個子集進行估價。
所謂估價,就是對子集中,每個葉子所代表的棋形進行評估。這與人類棋手的審局是類似的。找到價值最大的葉子,回溯到樹根,就找到了當前最佳一手。
估價的模型是通過學習獲得的。首先可以用估價(啟發式算法)和最後價值的實現修改模型,當然對手越強,越客觀。還有,把棋形多維量化,建立擬合模型。這樣訓練數據越多,模型越客觀。千古無同局,不能期待當前棋形能在訓練數據中找到,但可以對模型查表的形式(插值)得到棋形的價值。當然,這個算法是很複雜的,應該是阿爾法圍棋的核心算法。
在對策組合上,即便是阿爾法圍棋考慮250^12個葉子的十分之一,也比人類棋手考慮得多。經過學習,估價模型返回的值也比人類客觀。所以,阿爾法圍棋當然要戰勝世界頂尖圍棋高手。