第180章 圍棋軟件的工作原理

元霄有把握說服江展宏。

考古發現者挖掘出來的東西,如果沒有人知道怎麽使用,那就是廢棄物。

不知道為什麽,元霄認為江展宏不會那麽輕易放棄自己的發現。

果然沉默幾分鐘後,電話那頭的江展宏答應了。

他立即動身來裏倫威爾市。

掛斷電話,柯傑這才湊了過來:“元老師,不如你和我們說說這圍棋軟件的大概構想吧。”

天知道這幾天他是怎麽煎熬的。

一個能夠指導棋手下棋的軟件程序,誰都想要。

就好比看書看到精彩的地方,結果作者不更新了。

柯傑對於元霄,那是心癢難搔。

學生們也有興趣,畢竟大家都喜歡新鮮的事物。

元霄幹脆坐下來,讓卓越擺弄電腦。

“任何的棋類,規矩之下,大部分都是考驗計算力的。”元霄開始說明。

撲克牌、哪怕是鬥地主之類,想要打好,也需要計算。

象棋跳跳棋五子棋等等。

包括圍棋,除了相應的一些技巧外,其實都是對計算力的考驗。

柯傑認可:“這也是目前計算機界,認為圍棋軟件很難開發的緣故。”

之所以難,是圍棋可選擇的點太多了。

一個19路棋盤,橫豎各是19條線,一共361個點。

也就是說,第一步走哪裏,理論上有361個可能。

而第二步,則是360種可能。

如此類推。

“我剛剛查的資料,”蘇辰逸將電腦屏幕扳過來,“比如象棋的軟件,其實用的就是窮盡法。

簡單地說,把所有可能全部計算清楚。”

開局一步棋,已經預測到了結果,當然就不會輸了。

這就是計算機比人腦厲害的地方。

“但是圍棋不行,”柯傑補充,“想要窮盡所有可能,那是天文數字。”

“對,”元霄也很高興,“所以,我們不能使用這一類的算法。”

這裏就需要蒙特卡洛算法。

這個算法,其實就是一個抽樣樣本的計算。

舉個例子,要從一箱蘋果裏面,找出最大的。

正常人的做法,就是拿出一個蘋果,和另外一個比較,留下大的。

這樣一直淘汰,到最後剩余的蘋果,就是最大的。

那麽,這樣處理的結果,取決於箱子裏面的蘋果有多少。

越多的話,得出來的結果就越準確。

從這方面看,和圍棋的下棋思路很接近。

柯傑明白了。

高手下圍棋,也是根據當前的形勢,模擬推算下面的幾步,取最優的方案。

“也就是說,”柯傑捏著下巴,“不需要把所有可能算完,只是選取一些重要的來進行分析。”

“對,這就是圍棋軟件程序的核心要點。”元霄豎起了手指。

計算機對每一步棋,都是這麽分析。

當然,分析的點肯定不是百位千位這個數量的。

蘇辰逸也聽明白了:“那問題的關鍵,在於哪些點需要分析,哪些可以直接淘汰掉。”

元霄很滿意,小辰逸果然給力。

方旭堯不甘示弱,畢竟是全國智商最高的人:“有點像剪枝的行為。”

“沒錯,”和聰明人說話就是省事,元霄笑眯眯的,“就是剪枝。”

一顆盆景,樹幹分支出去,有很多樹枝。

元霄要做的,就是把沒有必要的剪去,留下有用的。

通過這樣的手段,壓縮計算的範圍和量,從而讓程序能夠順利進行下去。

柯傑點頭:“概念的置換,得到當前局面的最優解,而不是整盤棋的最終解。”

這兩者是天差地別的。

但是,只要從開始,計算機下的每一部,都是當前的最優解,累積起來,也就成了整盤棋的最優解。

傲世指數+8888

看看,這隨便弄幾下,就把柯傑給震出驚了。

可惜的是,學生們大部分對元霄都不感冒。

這就是收集傲世指數困難的地方。

看來只有等成品問世,對他們才能收割一波。

任務有坑啊。

柯傑興趣很濃:“那麽問題在於,如何篩選出這樣的點。”

“所以,我們需要對算法進行加成。”元霄解釋。

圍棋棋盤上的一個點,可以用數值表示它的狀態。

比如有白棋是1,有黑棋是-1,沒有棋就是0。

這是最基礎的。

如此一來,就可以對整個棋盤361個點,建立數學數值。

然後,程序就可以對這群數值進行反復的運算。

元霄畫出一個概念圖:“第一個我們需要的是,可以稱為策略神經網絡。”

策略神經網絡的作用,是判斷當前局勢下,下一步棋下在哪裏最合適。

元霄認為,這裏的選點,可以參考人類棋手的棋譜。