Ⅰ 象棋步數的計算跟算數的計算原理是不是差不多,人還是算不過電腦么
象棋的步數計算多是邏輯運算,對特定局面進行分析,對著手進行得分、失分(得子、失子、有殺、無殺,還有更多我不知道,更別提說出來的知識)進行分析。局部可能會有算術計算,算術計算結果多作為知識庫存儲,以減少運算時間。
連殺局、隔殺局,電腦軟體可以秒殺。普通對局,軟體中局最快可1秒8個回合,軟體叫16層,人類高手5分鍾可進行5個回合精確分析,軟體叫10層。
如果軟體和人下全局,如果不是開局劣勢,被大師精確打擊,一般不會輸棋。
Ⅱ 計算機去算棋類的每一步的走法可能嗎
在三項棋類中,國際象棋和中國象棋電腦的水平都已經可以跟最頂級的職業棋手抗衡了,為什麼圍棋電腦的水平卻上不去呢?
目前圍棋電腦的水平確實不高,圍棋電腦大賽獲得冠軍的軟體如果與當今中國的一流圍棋手過招,恐怕讓九子還不夠。也就是說,它的水平連業余初段棋手都不如,更別說職業棋手了。
為什麼圍棋電腦水平上不去呢?原因大致有三。
一、國際象棋盤64格,中國象棋90個交叉點,而圍棋則有361個交叉點。象棋一局棋一般三四十個回合七八十步棋,而圍棋一盤棋要一百七八十步棋,最多的會超過300步,恐怕目前的電腦容量還不能勝任。
二、中國象棋和國際象棋的目的比較明確,就是保存子力,保衛老將。而圍棋的厚勢與薄味、要子和廢子、模樣和實地,這些都是判斷上的問題,很難在電腦上作出界定。
三、在國象和中國象棋中,計算占的比重很大,因此電腦可以用准確無誤的計算來彌補它判斷上的不足。但圍棋的計算只是圍棋的一部分,只有在中盤攻殺或死活問題時才需要,因此電腦計算的強項不能彌補它判斷上的弱項。
正是由於上述三個原因,圍棋電腦水平恐怕在短時間內還不會有重大突破。
Ⅲ 電腦下象棋的原理
一種主要是通過棋譜少量由電腦計算來下棋的。還有一種則主要通過電腦的計算,當然不能完全脫離棋譜第二種的比較少見而且下起來比較卡(因為運算大,手機什麼的特別明顯,電腦幾乎無差別)
Ⅳ 電腦下中國象棋時,是怎樣思考的,怎樣分析的,怎樣運算的
電腦是根據棋子價值和雙方子力總和對比分值。如果雙方各100分,帥是無價之寶50分,車9分,炮4.5分,馬4分,士象均為2分,兵未過河1分,過河2分,當然兵過河後位置好能大於2分,但絕不會超過炮的價值。從戰略的角度,在中國象棋局面評估中所要考慮的最基本的幾個因素主要包括如下四點:
1、子力這個理解起來很簡單,「紅方多個炮」這黑棋劣勢了。這個結論的得出,就是「子力」比較的結果。子力是指某一棋子本身所具有的價值。通俗地講就是一個棋子它值個什麼價。例如,車值300的話,那可能馬值140,炮值150等等。所以在評估局面時,我們首先要考慮雙方的子力總和的對比。
2、棋子位置棋子位置,決定「控制區域「。是指某一方的棋子在棋盤上所佔據(控制)的位置。每個棋子在棋盤的不同位置,其價值是不同的,開局要考慮棋子在該位置對陣型的維護作用,從它的開始位置移出參戰,對這樣的棋步要給分;中局則更多的考慮棋子在該位置對對方子力、將帥的威脅。移到」敵區「的加分。同時例如,沉底炮、過河卒、以及車占士角等都是較好的棋子位置狀態加分,而窩心馬、將離開底線等則屬較差的棋子位置狀態罰分
3、棋子的活動性棋子的活動性指棋子的靈活度(可移動性)。是棋子在該位置向各處調動的可能性。棋子的威力能否充分發揮作用,與他的活動性有直接的關系。例如,起始位置的車機動性較差,所以我們下棋講究早出車。同樣四面被憋馬腿的死馬機動性也較差(對於一步也不能走的棋子,可以認為其機動性為零)。活動性的計算是把棋子在棋盤所能到達的位置數作為活動性,給予評分,而能移動到對方九宮之內,評分稍高。
4、棋子的協調性這一點的分析較為復雜,因為一個棋子與其它子之間往往存在多重關系(包括攻擊關系和保護關系)。如:一個馬可能在對方的炮的攻擊之下同時它又攻擊著對方的車。估值過程最後返回的是每一方的總分的差值,而各方的總分就是上面所提到的幾個因素的打分的總和。同時棋子的協調性有許多戰術的應用,比如捉雙、抽子、棄子……等本文不再贅述。這就是開始提到幾種進攻策略的評估選取,勢必從棋子的協調性中「定型「給予不同的分值設定,決定棋局所選擇的「側翼「、」底線「、」中路「進攻的方向。如果棋子在該位置導致數個棋子(同兵種或不同兵種)有目地的配合作戰,它從屬總的行動計劃,服從於特定的作戰目地,那麼這樣的棋步根據不同的作戰方針(SideAttack(側翼、底線進攻)、MidAttack(圍繞中路進攻)、HybidAttack(混合式進攻、棄子強攻),給予不同的分數。當然,上述四條只是中國象棋局面評估中需考慮的基本情況,覆蓋並不全面。「局面評估「決定著每一步棋的走向。所以,如果今後要對引擎進行改進,提高程序的下棋水平的話,還應當在此多做文章……在象棋與計算機結合的那天起,註定軟體引擎必須隨著計算機的發展而不斷更新。同時也引來大批的計算機博弈開發者。未來中國象棋的「引擎「會隨著軟硬體技術的發展,進步驚人!
Ⅳ 中國象棋怎樣計算有效步數
有效步數就是除開每一次走到位的步數,目的性明確,必須那樣走的步數,其它的閑招除去
Ⅵ 電腦象棋程序是怎麼設計出來的
LZ您好,我並不清楚你對編程語言的了解程度。
我就當你已經學過編程語言了。
我姐夫編過一個叫做《跳棋專家》的程序。
他跟我說過大概的方法。其實就是深搜、廣搜。
對於己方和對方每個棋子,算出後面N步的可選情況。
再找出最優解。
像跳棋專家,可以設置可算的步數,比如算後面6步,在這種情況下,理論上來說人已經不可能贏過電腦的。
但是,隨著預算步數的增加,計算量會呈指數級增長。
比如算一步,電腦需要1秒鍾反應時間,算9步,可能就需要幾個小時。
所以,強度和效率有些時候需要折中一下,因為他們是相對的。
而且由於深搜和廣搜是遞歸演算法,單層的效率直接決定演算法消耗時間的增長程度。
希望我的回答對你有所幫助!
如果覺得好的話,請麻煩樓主採納qianguozheng_ 的答案,為了團隊的採納率,多謝了!
Ⅶ 跟電腦下象棋怎麼也下不過,電腦是如何計算出來走下一步不會被吃掉而安全的將對方打敗
它是根據一些大師的走法來制定的,在某些時候他會像大師一樣,比如棄子進攻等,他並不是死的,因為它會根據你的走法去變換棋路,如果你比他多想幾步的話,你一樣會贏,畢竟人腦比電腦更厲害,何況他是根據大師的棋路來下的,加油吧,多練就行,
採納一下