打劫對於AlphaGo來說,真的增加了難度嗎(周志華的觀點正確嗎)?

南大周志華髮表了一篇支招的文章:AI專家周志華:給李世乭同學支個招 -- 科學人 -- 傳送門

他認為打劫增加了alphago的演算法複雜度,因為打劫增加了評分的難度。

事實真的如此嗎?起碼我持反對觀點。 我的理由如下:從演算法的角度看,打劫不僅僅沒有讓計算複雜度增加,反而自動為演算法剪掉了一些複雜度。打劫本質上就是不允許同型反覆,演算法在挑選下一步的時候,只需要去掉同型反覆的選擇,在剩下的選項里取個最大的就行了。不僅僅沒有增加複雜度,反而大幅降低了複雜度。懂嗎?打劫不是循環,恰恰相反,打劫的規則避免了循環,自動為演算法大量剪 枝了。

演算法的核心就是兩個,一個是局勢評估,一個是走子概率,打劫根本不影響兩個網路的評估,只需要在最後選子的時候,不選那個造成同形重複,違反打劫規則的子就可以了,一個條件判斷就能搞定的事情。

如果ai因為某個重大利益的位置放棄了找劫財,那只是因為這個利益點的價值比打劫獲勝要大。 放棄劫財也合情合理。

那麼,哪種觀點是對的?


從周老師微博里看來的:「阿狗作者研究打劫的論文 《電腦圍棋打劫的策略》 ,…… 「判別有價值的棋步被下了之後會不會增加劫材的搜尋深度通常很深,複雜度很高,因此我們的演演算法選擇消劫」 ,和我分析的一樣。這思路不行的」,…… 所以,周老師清楚阿黃研究過打劫。周老師認為打劫造成的困難是棋盤存劫以後,如果劫沒有消掉,以後任何地方每走一步棋電腦都要判斷會否新增劫材,從而導致電腦原來所有位置的評估都必須重新計算,使計算複雜度顯著增加,於是使電腦的有效搜索深度降低。周老師專門引出了上面打引號那句話,是阿黃論文里的,確認了他的看法。所以周老師在幾篇微博里給的建議都是「造個劫,別急著消」。他認為如果造劫了立即去爭劫消劫就無用。這個看法我覺得是正確的。


似乎題主已經修改了題目,現在的題目描述比較合理。

====================2016年3月12日分割線====================

題目中有 「周志華的理論正確嗎」,這哪裡算什麼理論,人家就是發表了個評論或者叫觀點而已。


打劫本身並沒有增加演算法複雜度,但是AlphaGo喜歡把某些人類認為應該保留的變化提前走掉,以降低後續計算的複雜度,不過會導致到了後面可能缺劫財。打劫就會存在一些問題,個人猜測。


這也是我困惑的問題。周志華的原文是:

舉個簡單的例子:假定黑棋走A點是絕對先手,並且當前A的績效評分最高,那麼黑不妨把這步棋走掉。但是若盤面上存在打劫,情況就變得微妙起來,先走掉A則黑棋損失一枚劫材,可能造成打劫不勝,於是,現在A的績效評分和剛才就不同了,A可能暫時不該走。再進一步,如果黑棋在其他地方走棋製造出一個新劫財,那麼A的績效評分又發生變化,A又變得可以走掉了…… 感覺到了嗎?A點的評分在不斷發生變化,而且是整個盤面上任何地方有走子,它的評分都可能變化。這就導致,後面每步棋不管走在哪裡,原來對A點的評分都會失效!

這好象是完全不理解決策搜索的原理才會說出來的話。對A點的評分無論如何都會和後面的棋的走法相關,當然是不斷發生變化的,這種相關性已經被整合在搜索中了。和是否存在打劫毫無關係。

當然,因為劫的存在客觀上影響了樹的形狀,劫材越多,樹的搜索就越困難,這應該是對的。但這並不意味著電腦需要主動在演算法層面考慮這回事。我贊同複雜的劫爭會對電腦造成困難,但這和周志華所說的應該是兩碼事。


推薦閱讀:

對於PCA或者SVD在降維來說,是去去除了相似性高的列?還是去掉信息量少的列?
Logistic回歸的檢驗方法有哪些?R中有比較完備的處理logit回歸的包嗎?
關於GBDT的幾個不理解的地方?
GBDT預測時每一棵樹是否能並行?
如何評價中山大學鄭子彬教授?

TAG:圍棋 | 機器學習 | 深度學習DeepLearning | AlphaGo |