象棋和西洋棋的電腦程式是如何設計的?為什麼?

2025-02-17 11:30:27 字數 2974 閱讀 2400

1樓:無翼天使

西洋棋打敗人類10多年前就已經由深藍完成了,近年僅是個人電腦的西洋棋軟體的等級分就已經大幅度超過人類,已經沒有人類的世界冠軍笨到跟計算機挑戰自取其辱了。原先還經常的舉辦西洋棋人機對抗賽,但是幾年前開始,為了使人機對抗賽更為有懸念,比賽規則已經改變成計算機讓f線以外的一兵了——如果對西洋棋有較為深入一點的研究,就知道乙個兵是多麼大的價值。西洋棋軟體的結構分為:

1,人機介面:讓人類能直接以西洋棋語言和計算機對話;

2,引擎:計算局面得分權重,以一定的演算法得出分值,正數則白棋優勢,負數則黑棋優勢,分數越大(越小)則白棋(黑棋)越優。世界電腦西洋棋錦標賽(wccc)每年都舉辦,引擎的計算能力是以摩爾定律的年為尺度的,而人類大腦的計算能力是以進化的百萬年為尺度的,差距只會越拉越大,何況之中還有程式設計師的努力將演算法優化的因素在內;

3,開局庫:集合數以百萬計的人類西洋棋比賽的開局,使得在有開局庫的前提下,計算機可以不必計算直接走出人類認為的開局譜招。西洋棋大師們都會記住相當多的開局,但是計算機會記住幾百萬盤棋局;

4,殘局庫:由超級電腦計算好剩餘棋子的所有局面,並儲存以備呼叫。當局面剩餘殘局庫中所儲存的局面時,不必計算,計算機直接可以知道結果。

6子以內殘局庫已經算完,7子殘局庫也已經算出大半。<>

2樓:消化

弈棋軟體的基本原理是決策樹和剪枝演算法,不同程式的區別也主要在於這些演算法的細節。之前看到乙個答案說列舉法,這是絕對不行的。在一盤棋中,每一步可能的走法大概有幾十上百種(當然大部分都是無厘頭的走法,正常人想都不會想),深藍的計算能力是每秒2億步,卡斯帕羅夫在長考中能考慮到14步之後的情形,請問如果僅用列舉法深藍要算多久?

數字太誇張就不算了吧。因此必須給決策樹剪枝,即合理地忽略掉一些不合理的可能性,有很多不同的剪枝演算法,如α-β剪枝等(下面的鏈結是演算法在黑白棋裡的應用,更好理解一些),這些都是是電腦科學基礎知識的應用,有很多資料可以查閱,敘述的都比我詳細,就不多說了。總之不同的剪枝演算法影響的是計算的速度和深度。

計算機西洋棋的設計結構

3樓:小青年_sw05敽

80年代中期, 卡耐基梅隆大學(carnegie-mellon university)的電腦科學家漢斯。波爾萊納(hans berliner)繼續了ken thompson的事業。這位曾經獲得過西洋棋通訊賽世界冠軍的科學家制造了一臺硬體驅動的弈棋機---名叫「hitech」。

他和他的學生carl ebeling設計了乙個硬體棋步生成晶元。裝配有64個這樣晶元的「清沒hitech」在1986年以微弱劣勢負於cray獲得世界計算機西洋棋錦標賽亞軍。

之後不久,berliner的學生許峰雄(feng-hsiung hsu),murray campbell等人開發了自己的弈棋機---名為「chiptest」後來發展為「深思」(deep thought),「深思」答碧納價值5000美元,它可以每秒計算500,000個局面。許峰雄和campbell後來脫離了他們的老師加入了ibm。並與joe hoane一道合作開發了「深藍」(deep blue)。

在費城和紐約與棋壇巨無霸---卡斯帕羅夫交手的「深藍」包含有乙個由大量可以進行快速計算的專用晶元組成的ibm sp/2伺服器。每乙個專用晶元可以每秒處理二百萬到三百萬個局面。超過200個這慧滾樣的晶元組合到一起,執行於其上的程式每秒便可以處理2億個局面。

計算機西洋棋的技術原理

4樓:情義光頭

西洋棋電腦可以充作「機器教練」 或「假拍培掘想對手」 供初學者練習棋術。高階的西洋棋電腦還可以儲存大量對局記錄和殘局著法,在棋手參加比賽時充作助手,幫助棋手查照對局,研究對手,進行賽前準備和分析封棋局面。計算機弈棋程式估計局面的方法、選擇最佳決策過程中限制選擇數量的有效方法襲核、擬訂各種戰略戰術等等,均可很簡單地比擬或轉化為經濟管理和軍事指揮中許多重要的實際問題。

中鬧。<>

計算機西洋棋的應用領域

5樓:孤星☆龍

編寫弈棋程式的主要問題在於計算大量的續著。在通常的乙個局面中大概有40種合法的變著。如果要為每一步棋計算乙個應著,則要分析1600個不同的局面。

這就是說2層分析(半個回合)需要分析1600個局面。計算兩個回合,則要分析250萬個局面,三個回合,41億個局面。每盤棋大約有40個回合,那麼所要分析的局面數為10的128次方個。

而這遠遠超過了宇宙中的原子數量。

顯然,沒有一臺計算機或其它機器可以分析如此之多的局面。然而人類也並非完美無缺,對於計算機來講,問題在於計算深度為多少時才可以與人類的戰略技巧相抗衡?早期的計算機可以每秒評估或分析大約500個局面,或者說是3分鐘內分析90,000個局面。

而在正式的錦標賽中,每步棋也就是需要大約3分鐘。這也就意味著,計算機只能進行3層搜尋(1個半回合)--這僅僅是初學者的水平。如要再增加1層搜尋深度,則需每秒分析15,000個局面。

但即使是4層深度,也還是太淺了。所以看起來,計算機好象不太可能達到大師級水平。 在戰爭期間,美國在位於新墨西哥州沙漠地帶的洛斯阿拉莫斯(los alamos)建立了乙個巨大的實驗室。

目的是用於研製原子**。為了正確求出用於引發鏈式反應的內向**所需的電量科學家們要進行大量的計算。1946年,為了加速這項計算過程,一位美籍匈牙利數學家john von neumann承擔了設計強力計算機的任務。

1950年,一臺名為maniac i的巨型計算機問世。他由成千上萬的真空管和開關組成,每秒可執行10,000條指令。當然,它是可程式設計的。

科學家們並沒有把這臺計算機立即用於**計算,而是做了一些實驗。第乙個實驗便是編寫乙個弈棋程式。他們將西洋棋棋盤上的「象」去掉,設計了乙個6*6大小的棋盤。

儘管如此,每進行4層深度的分析,這個程式便要花上12分鐘(如果加上「象」,則需3小時)。

在50年代中期這個程式曾經下過3盤棋。第一盤是程式自己對弈(白方獲勝),第二盤是挑戰一名大師,對方讓乙個皇后,經過10個小時的激戰,大師獲勝。第三盤則是與一位學棋僅乙個星期的年輕女士交手,結果程式用了23步獲得勝利。

這也是人類首次在智力型的遊戲中輸給計算機。

如何學習國際象棋,國際象棋應該如何入門

你在哪個城市,怎麼會找不到老師呢,現在社會上的興趣班很多的。當然如果真的愛好自己研究是最有意思的,在裡邊搜國際象棋吧,貼吧裡的朋友發的帖子會對你有很多幫助的,我吧,謝謝!國際象棋應該如何入門?國際象棋初學者入門教程 初學者要下國際象棋,要先知道國際象棋的相關規則,國際象棋由黑白兩種棋子組成。無論是白...

國際象棋和中國象棋哪個難,國際象棋和中國象棋哪個更有難度?

在所有棋盤遊戲中,國際象棋是一種把戰略戰術和純技術融為一體的理想遊戲。和西洋雙陸相比,勝負決定於骰子一擲,誠然是不由自己作主 和國際跳棋相比,棋子的規模化控制了技術上的勝負。和國際象棋在思想性上 科學性上和深度上可以相比的只有日本將棋和中國的圍棋 象棋。國際象棋幾乎就是融藝術 科學 知識和靈感為一爐...

國際象棋的特殊規則,國際象棋的規則

狸 媔 都 牁 以 琓 涬 譽 湜 關 健 沒 有 什 麼 問 是頁 除了上面所有棋子的一般著法外,國際象棋中存在下面三種特殊著法 吃過路兵 如果對方的兵第一次行棋且直進兩格,剛好形成本方有兵與其橫向緊貼並列,則本方的兵可以立即斜進,把對方的兵吃掉。這個動作必須立刻進行,緩著後無效。記錄時記為 en...