為什麼象棋軟件要有開局庫?讓軟件一開始就純計算不行嗎?人為設置開局庫會有漏洞吧?

還有殘局庫,為什麼計算能力那麼強的軟件,很多必勝的殘局它解不了?
5 個回答
象棋探讨园
2019-07-13

感謝你的邀請。關於此問題,我的回答如下。

一、棋譜庫對於象棋軟件的作用,就像記憶對人的作用一樣,沒有棋譜庫,軟件做不了什麼技術和分析。

依據我的理解,象棋軟件的分析過程就是在其棋譜庫中查找,匹配出最優化的走法。如果沒有了棋譜庫,象棋軟件就無法對局面進行分析了,象棋軟件的計算分析不是在空想、空計算。所以說,判斷某款象棋軟件牛不牛,那麼看它的棋譜庫大不大就可以了。越牛的軟件,其棋譜庫就越大,“記住”的棋譜也就越多。人也一樣,棋力比較的一個方面,就看誰記住的棋譜多一些。

二、一局象棋往往可以分為開局、中局和殘局三個階段,對應的棋譜庫也就常常分為開局庫、中局庫和殘局庫。如果一開始就讓軟件分析,它也是根據當前該局象棋走了幾個回合和剩餘多少棋子來判斷,到了哪個階段,應該從哪個庫開始查找和分析的。

象棋的開局往往是前10多個回合內的走法,此時側重於儘快開出大子,儘快搶佔有利位置,和現實世界中的行軍打仗類似。如果此時貪多吃子,最後往往會處於被動挨打的局面。中局則是雙方拼殺的真正開始,如果你在開局中就不利,那到了中局就基本是處處捱打步步被動了。殘局則是中局拼殺的結果,此時往往勝負已經分曉,雙方所剩的棋子都不多了,但贏方還沒有殺死對方的老將。如果殘局的功夫不到家,出現了漏著,也有可能會被反殺的。象棋的棋譜就是根據這些特徵來劃分的,象棋軟件再依據這些局面去查找不同的棋譜庫。

三、如果讓軟件在棋局一開始,它就跟隨分析的話,它也是先根據對方的走法在開局庫查找出合適的走法。如果沒有了開局庫,它就亂走一通,不管對方怎麼走,它都只管自己走它自己的。

由此可見,開局庫對於象棋軟件是多麼的重要。象棋的開局體系非常龐大,如果沒有開局庫,軟件就無法判斷出哪種開局最優,針對對方的走法,應該採用什麼樣的開局來應對,那就容易出現亂招了,胡亂走出個開局來,那樣很快就可能被對方殺死了。這樣的軟件自然就沒有什麼價值,也就沒有存在的空間了。

四、將棋譜庫分為開局庫、中局庫和殘局庫,有利於軟件減少計算步數、縮短分析時間

如果沒有開局庫,只有全局庫,那麼針對於對手的每一步,軟件都要分析到勝利前的最後一步,則軟件的計算分析量是非常巨大的,將會出現卡機問題或死循環問題,甚至計算機無法完成分析工作。

五、最後,軟件能不能破解某個殘局,除了和它的棋譜庫有關以外,還與它的運算能力有關

記住棋譜(棋譜庫),只是棋力的一個方面,棋力的另外一個方面是棋譜的理解和運用能力(對於象棋軟件來說,就是它查找和對比棋譜的能力)。由此可見,如果軟件不能破解某個必勝的棋局,那麼有兩種可能,一是它的棋譜庫了沒有對應的棋譜,二是它的運算能力不行,它無法從眾多的棋譜中對比出(或找到)合適的棋譜走法。


這就是我的回答,希望能有幫助。歡迎對我的回答留言評論,感謝轉發、關注、點贊!

感謝你的邀請。關於此問題,我的回答如下。

一、棋譜庫對於象棋軟件的作用,就像記憶對人的作用一樣,沒有棋譜庫,軟件做不了什麼技術和分析。

依據我的理解,象棋軟件的分析過程就是在其棋譜庫中查找,匹配出最優化的走法。如果沒有了棋譜庫,象棋軟件就無法對局面進行分析了,象棋軟件的計算分析不是在空想、空計算。所以說,判斷某款象棋軟件牛不牛,那麼看它的棋譜庫大不大就可以了。越牛的軟件,其棋譜庫就越大,“記住”的棋譜也就越多。人也一樣,棋力比較的一個方面,就看誰記住的棋譜多一些。

二、一局象棋往往可以分為開局、中局和殘局三個階段,對應的棋譜庫也就常常分為開局庫、中局庫和殘局庫。如果一開始就讓軟件分析,它也是根據當前該局象棋走了幾個回合和剩餘多少棋子來判斷,到了哪個階段,應該從哪個庫開始查找和分析的。

象棋的開局往往是前10多個回合內的走法,此時側重於儘快開出大子,儘快搶佔有利位置,和現實世界中的行軍打仗類似。如果此時貪多吃子,最後往往會處於被動挨打的局面。中局則是雙方拼殺的真正開始,如果你在開局中就不利,那到了中局就基本是處處捱打步步被動了。殘局則是中局拼殺的結果,此時往往勝負已經分曉,雙方所剩的棋子都不多了,但贏方還沒有殺死對方的老將。如果殘局的功夫不到家,出現了漏著,也有可能會被反殺的。象棋的棋譜就是根據這些特徵來劃分的,象棋軟件再依據這些局面去查找不同的棋譜庫。

三、如果讓軟件在棋局一開始,它就跟隨分析的話,它也是先根據對方的走法在開局庫查找出合適的走法。如果沒有了開局庫,它就亂走一通,不管對方怎麼走,它都只管自己走它自己的。

由此可見,開局庫對於象棋軟件是多麼的重要。象棋的開局體系非常龐大,如果沒有開局庫,軟件就無法判斷出哪種開局最優,針對對方的走法,應該採用什麼樣的開局來應對,那就容易出現亂招了,胡亂走出個開局來,那樣很快就可能被對方殺死了。這樣的軟件自然就沒有什麼價值,也就沒有存在的空間了。

四、將棋譜庫分為開局庫、中局庫和殘局庫,有利於軟件減少計算步數、縮短分析時間

如果沒有開局庫,只有全局庫,那麼針對於對手的每一步,軟件都要分析到勝利前的最後一步,則軟件的計算分析量是非常巨大的,將會出現卡機問題或死循環問題,甚至計算機無法完成分析工作。

五、最後,軟件能不能破解某個殘局,除了和它的棋譜庫有關以外,還與它的運算能力有關

記住棋譜(棋譜庫),只是棋力的一個方面,棋力的另外一個方面是棋譜的理解和運用能力(對於象棋軟件來說,就是它查找和對比棋譜的能力)。由此可見,如果軟件不能破解某個必勝的棋局,那麼有兩種可能,一是它的棋譜庫了沒有對應的棋譜,二是它的運算能力不行,它無法從眾多的棋譜中對比出(或找到)合適的棋譜走法。


這就是我的回答,希望能有幫助。歡迎對我的回答留言評論,感謝轉發、關注、點贊!

洒家要一桶草莓冰淇淋
2019-07-14

象棋棋子少,變化相對圍棋少,人類目前總結的開局接近最優開局,有開局庫可以優化計算過程,但是個人覺得如果頂級軟件設計專家們全力改進象棋軟件,比如讓阿爾法狗團隊設計,會有更優的算法或更快的速度,象棋應該是能被窮盡計算的,只不過這是人腦遠遠達不到的,現在棋軟基本已經讓人望塵莫及了

逍遥游ing
2019-08-13

人為設置開局庫確實不合理,期待象棋zero的橫空出世。

公园老头象棋乱来
2019-07-13

開局庫那是信息儲存

河南象棋爱好者
2019-07-13

開局庫就是棋譜,沒有開局庫軟件可能算出正確的應著,但有開局庫一定能能走出正確的著法,所謂棋譜就是經過無數特級大師研究出來的必然不虧的應著,所以開局庫還是必須要有的。

相關推薦

推薦中...