回覆列表
-
1 # 象棋探討園
-
2 # 灑家要一桶草莓冰淇淋
象棋棋子少,變化相對圍棋少,人類目前總結的開局接近最優開局,有開局庫可以優化計算過程,但是個人覺得如果頂級軟體設計專家們全力改進象棋軟體,比如讓阿爾法狗團隊設計,會有更優的演算法或更快的速度,象棋應該是能被窮盡計算的,只不過這是人腦遠遠達不到的,現在棋軟基本已經讓人望塵莫及了
-
3 # 棋痴說棋
我學過神經網路,這是人工智慧的核心。我從兩個方面來回答你這個問題,第一,我們常見的象棋軟體,其實它跟人的對弈過程是它可以根據當前的盤面搜尋它資料庫裡面各種應招,並且依次對比找出比較優的走法。就是個搜尋、排序的過程。
第二,現在已經有了人工智慧技術,第二代阿法狗自我PK多少個迴圈之後就可以秒殺人類棋手。這裡自我PK的目的就是各種變例都走一遍,一次又一次的自我優化。優化好之後才是搜尋、排序 跟人類棋手PK。
所以,一定要有開局庫是因為,沒有開局庫的話,電腦可能會走出我們看起來很低端的招數。這個開局庫就相當於軟體提前優化了自身。
感謝你的邀請。關於此問題,我的回答如下。
一、棋譜庫對於象棋軟體的作用,就像記憶對人的作用一樣,沒有棋譜庫,軟體做不了什麼技術和分析。依據我的理解,象棋軟體的分析過程就是在其棋譜庫中查詢,匹配出最優化的走法。如果沒有了棋譜庫,象棋軟體就無法對局面進行分析了,象棋軟體的計算分析不是在空想、空計算。所以說,判斷某款象棋軟體牛不牛,那麼看它的棋譜庫大不大就可以了。越牛的軟體,其棋譜庫就越大,“記住”的棋譜也就越多。人也一樣,棋力比較的一個方面,就看誰記住的棋譜多一些。
二、一局象棋往往可以分為開局、中局和殘局三個階段,對應的棋譜庫也就常常分為開局庫、中局庫和殘局庫。如果一開始就讓軟體分析,它也是根據當前該局象棋走了幾個回合和剩餘多少棋子來判斷,到了哪個階段,應該從哪個庫開始查詢和分析的。象棋的開局往往是前10多個回合內的走法,此時側重於儘快開出大子,儘快搶佔有利位置,和現實世界中的行軍打仗類似。如果此時貪多吃子,最後往往會處於被動挨打的局面。中局則是雙方拼殺的真正開始,如果你在開局中就不利,那到了中局就基本是處處捱打步步被動了。殘局則是中局拼殺的結果,此時往往勝負已經分曉,雙方所剩的棋子都不多了,但贏方還沒有殺死對方的老將。如果殘局的功夫不到家,出現了漏著,也有可能會被反殺的。象棋的棋譜就是根據這些特徵來劃分的,象棋軟體再依據這些局面去查詢不同的棋譜庫。
三、如果讓軟體在棋局一開始,它就跟隨分析的話,它也是先根據對方的走法在開局庫查找出合適的走法。如果沒有了開局庫,它就亂走一通,不管對方怎麼走,它都只管自己走它自己的。由此可見,開局庫對於象棋軟體是多麼的重要。象棋的開局體系非常龐大,如果沒有開局庫,軟體就無法判斷出哪種開局最優,針對對方的走法,應該採用什麼樣的開局來應對,那就容易出現亂招了,胡亂走出個開局來,那樣很快就可能被對方殺死了。這樣的軟體自然就沒有什麼價值,也就沒有存在的空間了。
四、將棋譜庫分為開局庫、中局庫和殘局庫,有利於軟體減少計算步數、縮短分析時間如果沒有開局庫,只有全域性庫,那麼針對於對手的每一步,軟體都要分析到勝利前的最後一步,則軟體的計算分析量是非常巨大的,將會出現卡機問題或死迴圈問題,甚至計算機無法完成分析工作。
五、最後,軟體能不能破解某個殘局,除了和它的棋譜庫有關以外,還與它的運算能力有關記住棋譜(棋譜庫),只是棋力的一個方面,棋力的另外一個方面是棋譜的理解和運用能力(對於象棋軟體來說,就是它查詢和對比棋譜的能力)。由此可見,如果軟體不能破解某個必勝的棋局,那麼有兩種可能,一是它的棋譜庫了沒有對應的棋譜,二是它的運算能力不行,它無法從眾多的棋譜中對比出(或找到)合適的棋譜走法。