資源描述:
《畢業(yè)論文--基于JAVA的中國象棋》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、太原理工大學(xué)畢業(yè)設(shè)計(論文)用紙基于JAVA的中國象棋摘要近年來,現(xiàn)代化的人工智能以及先進的計算機技術(shù)迅猛發(fā)展,基于此基礎(chǔ)的電腦象棋程序,其下棋水平也得到了進一步的提升。然而,早在二十世紀的六十年代初期,來此美國麻省理工學(xué)院的約翰·麥卡錫就提出了修剪算法——“alpha-beta”。在該算法提出以前,通常計算機下棋程序在決定每一步走步時,所需的棋盤狀態(tài)空間的搜索量都是指數(shù)級別的,而該算法則將這一搜索量的數(shù)量級減少為指數(shù)的平方根,這極大程度地提高了電腦下棋程序的水平。而隨后IBM公司推出的超級計算機“DeepBlue”,則是一個不擇不扣的神話,這一耗資上千萬,耗
2、時8年所建造出的世界上最強大的國際象棋“棋手”,著實為廣大棋迷們所神往。本文內(nèi)容根據(jù)以往國內(nèi)外象棋程序在設(shè)計上所取得的一些成功案例及經(jīng)驗,為中國象棋設(shè)計其基本的思路和算法。關(guān)鍵詞:中國象棋,位棋盤,alpha-beta搜索,Zobrist鍵值,置換表i太原理工大學(xué)畢業(yè)設(shè)計(論文)用紙ChineseChessbasedonJAVAAbstractInrecentyears,modernartificialintelligenceaswellastherapiddevelopmentofadvancedcomputertechnology,computerches
3、sprogrambasedonthisfoundation,itslevelofchessalsogotfurtherimprovement.However,asearlyastheearly60softhe20thcentury,totheUnitedStatesattheMassachusettsinstituteoftechnology,JohnMcCarthywasproposedpruningalgorithm--"alphaandbeta".Beforethealgorithmisputforward,thecomputerchessprogram
4、susuallyeverystepindecidingwhenwalking,theboardofstatespacesearchvolumeindexlevel,whilethealgorithmreducesthesearchquantityofanorderofmagnitudeastheindextothesquarerootofthedrasticallyincreasedthelevelofcomputerchessprogram.AndthenIBMsupercomputer"DeepBlue",isamyth,notchoosethetrave
5、lthisatacostoftensofmillions,spenteightyearsbuiltbytheworld'smostpowerfulchess"chessplayer",isbythemassesofchessenthusiasts.Thisarticlecontentbasedonpreviouschessprogramsathomeandabroadinthedesignofsomesuccessfulcasesandexperience,designthebasictrainofthoughtforChinesechessandalgori
6、thms.Keywords:ChineseChess,bitboard,alpha-betasearch,zobristkeys,transpositiontable太原理工大學(xué)畢業(yè)設(shè)計(論文)用紙目錄摘要IABSTRACTII目錄1引言11概述21.1棋盤的標記21.1.1縱線方式21.1.2坐標方式21.2棋子的名稱31.3棋譜的記錄方法31.4歷史局面的表示及存儲41.5棋譜記錄文件的格式41.5.1標簽部分41.5.2棋譜記錄部分51.5.3XML格式52基本數(shù)據(jù)結(jié)構(gòu)——位棋盤72.1什么是位棋盤72.2位棋盤的作用72.3位棋盤的基本運算92.4Ja
7、va中位棋盤的實現(xiàn)92.4.1位棋盤類的實現(xiàn)92.4.2位棋盤的初始化102.4.3位棋盤的更新103基本數(shù)據(jù)結(jié)構(gòu)——ZOBRIST鍵值113.1比較局面的方法113.2Zobrist鍵值的實現(xiàn)方法113.3Zobrist鍵值的工作原理及用途113.3.1Zobrist鍵值的工作原理113.3.2Zobrist鍵值的用途123.4Java中實現(xiàn)Zobrist鍵值124著法生成144.1偽合法著法的生成144.1.1數(shù)組及其下標的含義144.1.2算法示例——車炮的偽合法著法生成16太原理工大學(xué)畢業(yè)設(shè)計(論文)用紙4.2合法著法的生成185搜索算法215.1最小
8、-最大搜索215.1.1基于最小-最大