第180章 圍棋軟體的工作原理(1/2)
元霄有把握說服江展宏。
考古發現者挖掘出來的東西,如果沒有人知道怎麼使用,那就是廢棄物。
不知道為什麼,元霄認為江展宏不會那麼輕易放棄自己的發現。
果然沉默幾分鐘後,電話那頭的江展宏答應了。
他立即動身來里倫威爾市。
掛斷電話,柯傑這才湊了過來:「元老師,不如你和我們說說這圍棋軟體的大概構想吧。」
天知道這幾天他是怎麼煎熬的。
一個能夠指導棋手下棋的軟體程序,誰都想要。
就好比看書看到精彩的地方,結果作者不更新了。
柯傑對於元霄,那是心癢難搔。
學生們也有興趣,畢竟大家都喜歡新鮮的事物。
元霄乾脆坐下來,讓卓越擺弄電腦。
「任何的棋類,規矩之下,大部分都是考驗計算力的。」元霄開始說明。
撲克牌、哪怕是鬥地主之類,想要打好,也需要計算。
象棋跳跳棋五子棋等等。
包括圍棋,除了相應的一些技巧外,其實都是對計算力的考驗。
柯傑認可:「這也是目前計算機界,認為圍棋軟體很難開發的緣故。」
之所以難,是圍棋可選擇的點太多了。
一個19路棋盤,橫豎各是19條線,一共361個點。
也就是說,第一步走哪裡,理論上有361個可能。
而第二步,則是360種可能。
如此類推。
「我剛剛查的資料,」蘇辰逸將電腦屏幕扳過來,「比如象棋的軟體,其實用的就是窮盡法。
簡單地說,把所有可能全部計算清楚。」
開局一步棋,已經預測到了結果,當然就不會輸了。
這就是計算機比人腦厲害的地方。
「但是圍棋不行,」柯傑補充,「想要窮盡所有可能,那是天文數字。」
「對,」元霄也很高興,「所以,我們不能使用這一類的算法。」
這裡就需要蒙特卡洛算法。
這個算法,其實就是一個抽樣樣本的計算。
舉個例子,要從一箱蘋果裡面,找出最大的。
正常人的做法,就是拿出一個蘋果,和另外一個比較,留下大的。
這樣一直淘汰,到最後剩餘的蘋果,就是最大的。
那麼,這樣處理的結果,取決於箱子裡面的蘋果有多少。
越多的話,得出來的結果就越準確。
從這方面看,和圍棋的下棋思路很接近。
柯傑明白了。
高手下圍棋,也是根據當前的形勢,模擬推算下面的幾步,取最優的方案。
「也就是說,」柯傑捏著下巴,「不需要把所有可能算完,只是選取一些重要的來進行分析。」
「對,這就是圍棋軟體程序的核心要點。」元霄豎起了手指。
計算機對每一步棋,都是這麼分析。
當然,分析的點肯定不是百位千位這個數量的。
蘇辰逸也聽明白了:「那問題的關鍵,在於哪些點需要分析,哪些可以直接淘汰掉。」
元霄很滿意,小辰逸果然給力。
方旭堯不甘示弱,畢竟是全國智商最高的人:「有點像剪枝的行為。」
「沒錯,」和聰明人說話就是省事,元霄笑眯眯的,「就是剪枝。」
一顆盆景,樹幹分支出去,有很多樹枝。
元霄要做的,就是把沒有必要的剪去,留下有用的。
通過這樣的手段,壓縮計算的範圍和量,從而讓程序能夠順利進行下去。
柯傑點頭:「概念的置換,得到當前局面的最優解,而不是整盤棋的最終解。」
本章未完,點選下一頁繼續閱讀。