alphago圍棋軟件和韓國圍棋手九段李世石對弈那是相當(dāng)?shù)木,谷歌官方也發(fā)布了谷歌圍棋程序alphago手機(jī)版軟件,普通的圍棋愛好者也可以通過谷歌圍棋程序alphago軟件來和機(jī)器人下圍棋了。
【程序介紹】
谷歌圍棋程序alphago手機(jī)版軟件經(jīng)過官方授權(quán),有官方開發(fā)成了apk安卓版游戲,讓圍棋愛好者使用手機(jī)來下圍棋。
【注意】谷歌圍棋程序AlphaGo手機(jī)版程序?qū)⒂诮谏霞,大家耐心等待?/strong>
推薦一款不錯的圍棋練習(xí)軟件:
【官方介紹】
3月9日,AlphaGo與李世石的圍棋對決第二場開戰(zhàn)。昨天李世石棄子認(rèn)輸讓很多支持他的人感到驚訝,今天他頂住壓力再上戰(zhàn)場,到目前為止一直處于領(lǐng)先地位。作為AlphaGo的創(chuàng)始人,德米什·哈薩比斯表示,除了李世石,他還希望讓AlphaGo與其他更多圍棋高手對弈,比如柯潔。
AlphaGo的創(chuàng)始人德米什·哈薩比斯
AlphaGo與李世石的比賽是歷史上第一次電腦挑戰(zhàn)職業(yè)九段棋手,而且李世石是在圍棋界頂尖水平已有超過十年的選手。在結(jié)束了這次比賽之后,AlphaGo還有可能前往中國和日本,去挑戰(zhàn)當(dāng)?shù)氐捻敿馄迨帧?/p>
AlphaGo在與歐洲圍棋冠軍樊麾(Fan Hui)的對壘
從技術(shù)的角度分析,個人覺得,3月份AlphaGo要戰(zhàn)勝李世石難度是比較大的。為什么呢?請看下文。
一、 AlphaGo的兩大核心技術(shù)
MCTS(Monte Carlo Tree Search)
MCTS之于圍棋就像Alpha-Beta搜索之于象棋,是核心的算法,而比賽時(shí)的搜索速度至關(guān)重要。就像深藍(lán)當(dāng)年戰(zhàn)勝時(shí),超級計(jì)算機(jī)的運(yùn)算速度是制勝的關(guān)鍵因素之一。
MCTS的4個步驟:Selection,Expansion,Evaluation(rollout)和Backup
MCTS的并行搜索:
(1) Leaf Parallelisation
最簡單的是Leaf Parallelisation,一個葉子用多個線程進(jìn)行多次Simulation,完全不改變之前的算法,把原來的一次Simulation的統(tǒng)計(jì)量用多次來代替,這樣理論上應(yīng)該準(zhǔn)確不少。但這種并行的問題是需要等待最慢的那個結(jié)束才能更新統(tǒng)計(jì)量;而且搜索的路徑數(shù)沒有增多。
(2) Root Parallelisation
多個線程各自搜索各自的UCT樹,最后投票
(3) Tree Parallelisation
這是真正的并行搜索,用多個線程同時(shí)搜索UCT樹。當(dāng)然統(tǒng)計(jì)量的更新需要考慮多線程的問題,比如要加鎖。
另外一個問題就是多個線程很可能同時(shí)走一樣的路徑(因?yàn)榇蠹叶歼x擇目前看起來Promising的孩子),一種方法就是臨時(shí)的修改virtual loss,比如線程1在搜索孩子a,那么就給它的Q(v)減一個很大的數(shù),這樣其它線程就不太可能選擇它了。當(dāng)然線程1搜索完了之后要記得改回來。
《A Lock-free Multithreaded Monte-Carlo Tree Search Algorithm》使用了一種lock-free的算法,這種方法比加鎖的方法要快很多,AlphaGo也用了這個方法。
Segal研究了為什么多機(jī)的MCTS算法很難,并且實(shí)驗(yàn)得出結(jié)論使用virtual loss的多線程版本能比較完美的scale到64個線程(當(dāng)然這是單機(jī)一個進(jìn)程的多線程程序)。AlphaGo的Rollout是用CPU集群來加速的,但是其它的三個步驟是在一臺機(jī)器完成的,這個就是最大的瓶頸。
版本記錄
2022-08-12 版本: 11.7.0
V11.7.0 更新日志:
1、賽事講解內(nèi)增加“賽事預(yù)告”,圍棋賽事,按月羅列,隨時(shí)更新;增加“現(xiàn)任”,誰領(lǐng)風(fēng)騷,一目了然;
2、本地棋譜支持拆分聚合棋譜(一譜內(nèi)多譜)的功能;
3、新增棋譜:梶原武雄詰棋選(120)、坂田榮男圍棋官子妙手(96)、弈括·演官子式(337)、巖田達(dá)明對局集;并修訂大量棋譜;
4、解決一些問題。
展開