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

字數:5561   加入書籤

A+A-


    

    元霄有把握說服江展宏。

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

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

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

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

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

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

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

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

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

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

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

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

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

    象棋跳跳棋五子棋等等。

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

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

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

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

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

    而第二步,則是種可能。

    如此類推。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    柯傑明白了。

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

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

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

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

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

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

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

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

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

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

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

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

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

    這兩者是天差地別的。

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

    ??傲世指數+

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

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

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

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

    任務有坑啊。

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

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

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

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

    這是最基礎的。

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

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

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

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

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

    模仿人類棋手的思考模式,快速將一些低概率的點淘汰掉。

    柯傑歎了口氣“看來,到時候我還要提供目前為止所有人類的對局棋譜了。”

    理論上而言,棋譜數量越多,策略神經網絡的成熟度也越高。

    “這一點,我們讓計算機自主學習。”元霄支出其中的關鍵。

    反複推演學習的結果,將會使策略神經網絡更加強大,選點更為準確。

    “而要做到這一步,還需要另外一個神經網絡的結合。”元霄寫下一個公式。

    價值神經網絡。

    其作用是能夠計算出,每個選點的勝率。

    每一步都進行這樣的估值判斷,直到棋局的結束,得到最精準的勝率數值。

    而同樣,這東西也可以自己學習。

    總結起來其實很簡單。

    就是模擬人類下棋的思維。

    首先判斷在哪些地方可以下,每個地方的勝率是多少。

    然後對這些選點進行集中計算,推演出最後的結果。

    每一步都這麽執行。

    那麽得到的每一手,自然就是最佳的下法。

    如果說一開始柯傑覺得元霄說的是天方夜譚。

    到了現在,他感覺這東西並不是完全不可能實現的了。

    他咽下口水“如此一來的話,那不是一開始的時候,計算機就已經鎖定了結果。”

    必勝的結果。

    ??傲世指數+

    “這隻是大概的概念,實際我們還需要一步步來,”元霄放下筆,“柯院長,到時候和圍棋軟件的對弈,還需要你來。”

    柯傑表示責無旁貸。

    蘇辰逸、卓越、方旭堯幾個都聽懂了。

    夏晚晴黎沐嵐之流,當然是不知所雲。

    尤其是夏晚晴,她表示很鄙視。

    花腦袋去開發這玩意有啥用。

    老師也真是的,有時間和我一起不香麽。

    計算機的世界,果然蘊含宅的屬性。

    

    

    。