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