出版時(shí)間:2009-5 出版社:電子工業(yè)出版社 作者:蔣鵬 等著 頁數(shù):333 字?jǐn)?shù):550000
Tag標(biāo)簽:無
前言
程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的必修課,從C到C++,再到可視化程序設(shè)計(jì)VC++。C/C++是大學(xué)計(jì)算機(jī)專業(yè)的基礎(chǔ)語言課,不少程序員都是從C走上他們的程序設(shè)計(jì)之路的。大學(xué)課程主要從語法的角度講解C/C++。具體是C講述基礎(chǔ)的語言設(shè)計(jì)方法,C++主要講述面向?qū)ο蟪绦蛟O(shè)計(jì)方法,VC++則講述基本的可視化程序設(shè)計(jì)的知識。太多的語法基礎(chǔ)占據(jù)了語言課的大部分時(shí)間,學(xué)生學(xué)習(xí)后基本只能應(yīng)付課后習(xí)題,要提高程序設(shè)計(jì)能力還有很長的路要走。學(xué)生一路走來,到畢業(yè)時(shí)很多人竟不能獨(dú)立編寫一個(gè)像樣的程序。 數(shù)據(jù)結(jié)構(gòu),算法分析與設(shè)計(jì)則是計(jì)算機(jī)專業(yè)的主要課程,可許多學(xué)生學(xué)習(xí)之后竟然覺得數(shù)據(jù)結(jié)構(gòu)無用。理論教學(xué)與實(shí)踐的脫離使得學(xué)生只追求盲目的60分。很多計(jì)算機(jī)專業(yè)學(xué)生畢業(yè)之后沒有獨(dú)立程序設(shè)計(jì)的能力,無法從事計(jì)算機(jī)相關(guān)行業(yè)。 案例教學(xué)成為近年比較流行的教學(xué)模式。它將課本理論與實(shí)際項(xiàng)目開發(fā)結(jié)合在一起,提高了學(xué)生的動(dòng)手能力和實(shí)踐經(jīng)驗(yàn)。實(shí)踐證明,編寫一個(gè)帶有實(shí)際意義的項(xiàng)目是提高編程能力最高效的方法。如果能有一個(gè)項(xiàng)目將C、C++、VC++、數(shù)據(jù)結(jié)構(gòu)、算法分析與設(shè)計(jì)結(jié)合在一起,提高學(xué)生的基礎(chǔ)程序設(shè)計(jì)能力,同時(shí)又能掌握數(shù)據(jù)結(jié)構(gòu)與算法的高級應(yīng)用,必然為以后從事軟件開發(fā)打下良好的基礎(chǔ)。中國象棋程序就是這樣一個(gè)項(xiàng)目,它綜合了C、C++、VC++、數(shù)據(jù)結(jié)構(gòu)、算法分析與設(shè)計(jì)等知識。象棋作為競技體育同時(shí)又作為一個(gè)游戲,具有一定的趣味性。學(xué)生通過自己親身參與游戲程序的編寫可以提高學(xué)習(xí)的積極性?! ≈袊笃宄绦蛑饕删置姹硎尽⒆叻ū硎炯吧?、局面評估、搜索算法、界面控制等五大部分組成?! 【置婢褪且槐P棋經(jīng)過若干回合之后當(dāng)前所處的形勢,包括棋盤、紅黑雙方所剩棋子及其在棋盤上的分布、當(dāng)前該走棋一方、雙方所剩時(shí)間、雙方所剩走棋步數(shù)等內(nèi)容。局面表示是象棋程序的基礎(chǔ),局面表示的好壞直接關(guān)系到走法生成、局面評估和搜索算法的效率,從而影響象棋程序得到的最佳走法?! ∠笃宄绦蛎恳淮嗡伎嫉哪康氖谦@取一個(gè)最佳走法(至少在程序看來是最佳的)。要實(shí)現(xiàn)這一目的的簡單方法就是生成全部所有可能的走法,然后再一個(gè)一個(gè)的比較,找出最佳的一個(gè)。實(shí)際上程序也是這樣做的。
內(nèi)容概要
本書由淺入深地介紹了中國象棋博弈程序的各個(gè)基本知識點(diǎn),以實(shí)際案例來促進(jìn)讀者對算法的理解,提高實(shí)際編程能力。主要內(nèi)容包括:中國象棋博弈,局面表示,走法表示及生成走法,局面評估,基本搜索算法,人機(jī)博弈,機(jī)器對弈,置換表,算法分析及測試技術(shù),時(shí)間控制策略,啟發(fā)式搜索策略,更多搜索策略。 本書適用于在校計(jì)算機(jī)專業(yè)本科學(xué)生及研究生,以及程序設(shè)計(jì)、算法、博弈和人工智能的愛好者及專業(yè)人士。
書籍目錄
第1章 緒論 1.1 機(jī)器博弈 1.1.1 Tic-Tac-Toe游戲 1.1.2 國際象棋機(jī)器博弈 1.1.3 機(jī)器博弈發(fā)展趨勢 1.2 中國象棋程序 1.2.1 中國象棋博弈程序組成 1.2.2 中國象棋程序研究現(xiàn)狀 1.2.3 全國計(jì)算機(jī)博弈錦標(biāo)賽 1.3 C/C++基礎(chǔ)知識 1.3.1 結(jié)構(gòu)體 1.3.2 聯(lián)合體 1.3.3 枚舉 1.3.4 指針 1.3.5 面向?qū)ο蟪绦蛟O(shè)計(jì) 1.4 數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識 1.4.1 線性表 1.4.2 棧和隊(duì)列 1.4.3 樹 1.4.4 查找 1.4.5 排序 1.5 算法分析基礎(chǔ)知識 1.5.1 算法描述 1.5.2 算法時(shí)間復(fù)雜度分析第2章 中國象棋博弈 2.1 中國象棋簡介 2.1.1 棋盤與棋子 2.1.2 走棋和吃子 2.1.3 將死和困斃 2.1.4 勝、負(fù)、和 2.2 中國象棋博弈程序 2.2.1 局面表示 2.2.2 走法生成 2.2.3 搜索算法 2.2.4 局面評估第3章 局面表示 3.1 簡單的表示方法 3.2 擴(kuò)展數(shù)組表示 3.2.1 棋盤表示 3.2.2 棋子表示 3.2.3 二維數(shù)組與一維數(shù)組 3.3 字符串表示局面 3.3.1 棋子表示 3.3.2 棋盤表示 3.3.3 走方表示 3.3.4 走棋步數(shù) 3.4 不同表示方法的轉(zhuǎn)換 3.4.1 一維數(shù)組轉(zhuǎn)換成FEN串 3.4.2 FEN串轉(zhuǎn)換成一維數(shù)組第4章 走法表示及生成走法 4.1 走法表示 4.2 車炮馬象(相)士(仕)卒(兵)將(帥)走法生成 4.2.1 馬的走法生成 4.2.2 將(帥)的走法生成 4.2.3 士(仕)的走法生成 4.2.4 象(相)的走法生成 4.2.5 車的走法生成 4.2.6 炮的走法生成 4.2.7 卒(兵)的走法生成 4.3 產(chǎn)生一個(gè)局面的全部走法 4.4 簡化合理位置數(shù)組 4.5 棋子數(shù)組 4.6 將軍檢測 4.7 如何更快地生成走法 4.7.1 事先生成法 4.7.2 位行位列第5章 局面評估第6章 基本搜索算法第7章 人機(jī)博弈第8章 機(jī)器對弈——博弈引擎第9章 置換表第10章 算法分析及測試技術(shù)第11章 時(shí)間控制策略第12章 啟發(fā)式搜索策略參考文獻(xiàn)
章節(jié)摘錄
第2章 中國象棋博弈 中國象棋是一種具有悠久歷史的棋類,早在2000多年前的戰(zhàn)國時(shí)代就已經(jīng)有了關(guān)于象棋的記載。如:《楚辭·招魂》中有“蓖蔽象棋,有六簿些:分曹并進(jìn),道相迫些;成梟而牟,呼五白些?!?。經(jīng)過歷代的發(fā)展演繹,到北宋末定型為現(xiàn)代的中國象棋。元明清時(shí)期,象棋繼續(xù)在民間流行,技術(shù)水平不斷得以提高,出現(xiàn)了多部總結(jié)性理論專著,其中最為重要的有《夢入神機(jī)》、《金鵬十八變》、《桔中秘》、《適情雅趣》、《梅花譜》、《竹香齋象棋譜》等?! ≈袊笃鍏f(xié)會成立于1962年,40多年來,由于群眾性棋類活動(dòng)和比賽的推動(dòng),象棋棋藝水平提高得很快,優(yōu)秀棋手不斷涌現(xiàn),其中以楊官磷、胡榮華、柳大華、趙國榮、呂欽、許銀川等最為著名。 本書主要內(nèi)容 簡單介紹中國象棋?! ≈袊笃宀┺某绦蚪M成?! ?.1 中國象棋簡介 2.1.1 棋盤與棋子 象棋棋盤由九條豎線和十條橫線交叉組成。棋盤上共有九十個(gè)交叉點(diǎn),象棋子就擺在和活動(dòng)在這些交叉點(diǎn)上。棋盤中間沒有畫通直線的地方,叫做“河界”;畫有斜交叉線的地方,叫做“九宮”。
編輯推薦
本套叢書對編程語言、語法等基礎(chǔ)知識講得很少,重點(diǎn)在對語言的運(yùn)用能力上。讓讀者看完書后,有一種“豁然開朗”的感覺,不只是簡單地理解一種語言的語法,而是對一種技術(shù)的全面認(rèn)識,并知道如何進(jìn)行靈活運(yùn)用。本書的目的主要是提升讀者項(xiàng)目編程的知識,展現(xiàn)代碼編寫中的技巧與經(jīng)驗(yàn),讓讀者能更便捷地獲取知識、積累經(jīng)驗(yàn),這也是本叢書的重要特色之一。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載