劉洋+++吳彥波
摘 要:本設(shè)計(jì)側(cè)重人機(jī)博弈引擎應(yīng)用分析,提高網(wǎng)絡(luò)教學(xué)平臺的穩(wěn)定性,提供嚴(yán)密的安全性和可控性,提高可靠性。基于本設(shè)計(jì)實(shí)現(xiàn)了一個支持多引擎人機(jī)對弈的交互式網(wǎng)絡(luò)教學(xué)系統(tǒng)。
關(guān)鍵詞:國際象棋;網(wǎng)絡(luò)教學(xué);平臺;設(shè)計(jì)
1 概述
人機(jī)博弈是人與計(jì)算機(jī)之間的決策計(jì)算過程,是對博弈樹搜索進(jìn)行了一些高效的優(yōu)化,也是人工智能領(lǐng)域的一個重要研究方面。隨著國際象棋在中國的普及,國際象棋教學(xué)領(lǐng)域仍然局限在名師面授輔導(dǎo)的教學(xué)形式,遠(yuǎn)遠(yuǎn)落后于國外應(yīng)用計(jì)算機(jī)人工智能輔助教學(xué)的潮流。本項(xiàng)目利用國內(nèi)外豐富的研究成果,嘗試將人機(jī)對弈與網(wǎng)絡(luò)教學(xué)結(jié)合起來,為國際象棋學(xué)員提供準(zhǔn)確、快速、可靠的實(shí)時國際比賽數(shù)據(jù),改進(jìn)和提高計(jì)算機(jī)博弈引擎的各項(xiàng)關(guān)鍵性能,提供人機(jī)對弈和名師一對多車輪戰(zhàn)等輔助教學(xué)方式,經(jīng)濟(jì)效益突出。
2 國內(nèi)外研究現(xiàn)狀
人機(jī)博弈是一門研究運(yùn)用計(jì)算機(jī)模擬和延伸人腦功能的綜合性學(xué)科,涉及數(shù)學(xué)、計(jì)算機(jī)科學(xué)、控制論、信息學(xué)、心理學(xué)等學(xué)科。80年代中期, 卡耐基梅隆大學(xué)的計(jì)算機(jī)科學(xué)家漢斯·波爾萊納(Hans Berliner)繼續(xù)了Ken Thompson的事業(yè)。這位曾經(jīng)獲得過國際象棋通訊賽世界冠軍的科學(xué)家制造了一臺硬件驅(qū)動的弈棋機(jī)——名叫“HiTech”。他和他的學(xué)生Carl Ebeling設(shè)計(jì)了一個硬件棋步生成芯片。裝配有64個這樣芯片的“HiTech”在1986年以微弱劣勢負(fù)于Cray獲得世界計(jì)算機(jī)國際象棋錦標(biāo)賽亞軍。在1997年IBM公司的超級計(jì)算機(jī)“深藍(lán)”與當(dāng)時的國際象棋大師卡斯帕羅夫進(jìn)行了一場大戰(zhàn),并以“深藍(lán)”計(jì)算機(jī)戰(zhàn)勝世界棋王卡斯帕羅夫(1997.5)而載入史冊。國外在國際象棋計(jì)算機(jī)輔助教學(xué)領(lǐng)域,最著名的就是Chessbase,集中了全世界絕大多數(shù)國際象棋職業(yè)棋手和業(yè)余愛好者,同時Chessbase開發(fā)的人機(jī)對弈系統(tǒng)也是當(dāng)前棋力最強(qiáng)的通用計(jì)算機(jī)國際象棋軟件系統(tǒng)。
3 技術(shù)路線
項(xiàng)目組首先搜集開源的機(jī)器博弈引擎和協(xié)議,對每一個引擎進(jìn)行評估、部署、分析,借鑒開源的協(xié)議實(shí)現(xiàn),設(shè)計(jì)并實(shí)現(xiàn)了我們自己的多引擎人機(jī)對弈系統(tǒng)。
3.1 開局庫
開局庫是棋類軟件的必要組件之一,也是軟件的組件之一,包括與開局有關(guān)的數(shù)據(jù)庫。計(jì)算機(jī)的計(jì)算能力十分強(qiáng)大,但是由于其計(jì)算原理,導(dǎo)致一盤棋中有很多關(guān)鍵步數(shù)看不到,從而導(dǎo)致局勢不利。計(jì)算機(jī)中國象棋博弈的難度比國際象棋有過之而無不及,但計(jì)算機(jī)中國象棋博弈的研究卻十分滯后。因此,不斷提高開局庫的研發(fā)與設(shè)計(jì)顯得尤為關(guān)鍵。大家知道,國際象棋8行8列,64個方格,正好對應(yīng)6位2進(jìn)制數(shù),數(shù)據(jù)格式比較簡單。通常情況下,一個程序所弈的前15至20步都來自開局庫,然后才真正進(jìn)入到程序“思考”階段。我們只要根據(jù)開局知識和經(jīng)驗(yàn)可以很方便的記錄在磁盤上并且在開局階段供程序使用。我們通過各種途徑幾乎嘗試過各種可行方案的組合,試驗(yàn)過各種搜索算法的效果,開發(fā)語言也是從C改為VC,又從VC改回到C。一遍遍地摸索,逐漸找到了適合國際象棋的數(shù)據(jù)結(jié)構(gòu)和搜索引擎,開發(fā)出高效率的走法生成模塊。
3.2 殘局庫
計(jì)算機(jī)博弈是人工智能領(lǐng)域中最具有挑戰(zhàn)性的科研課題之一。它實(shí)現(xiàn)了“計(jì)算機(jī)智能戰(zhàn)勝了人類天才”。為了能夠在這一新興的人工智能領(lǐng)域取得更快更多的突破性進(jìn)展,有力發(fā)揮機(jī)器博弈的“果蠅”作用,需要很好的明確當(dāng)前機(jī)器博弈所面臨的挑戰(zhàn)。國際象棋打敗人類10多年前就已經(jīng)由深藍(lán)完成了,近年僅是個人電腦的國際象棋軟件的等級分就已經(jīng)大幅度超過人類,已經(jīng)沒有人類的世界冠軍笨到跟計(jì)算機(jī)挑戰(zhàn)自取其辱了。隨著信息技術(shù)的發(fā)展,殘局?jǐn)?shù)據(jù)庫已經(jīng)囊括了六子(及以下)殘局所有的變化和結(jié)果。由超級電腦計(jì)算好剩余棋子的所有局面,并存儲以備調(diào)用。當(dāng)局面剩余殘局庫中所存儲的局面時,不必計(jì)算,計(jì)算機(jī)直接可以知道結(jié)果。6子以內(nèi)殘局庫已經(jīng)算完,7子殘局庫也已經(jīng)算出大半。
4 對弈對象設(shè)計(jì)
Chess PgnTable FenTable
Fen 棋步FEN局面 Event 賽事名 FenId 局面的ID
Times 應(yīng)對棋步次數(shù) Site 地點(diǎn) PgnId 棋局ID
NextStep 應(yīng)對棋步 Date 該局日期 NextStep 下一步PGN
WinRate 當(dāng)前局面的應(yīng)對棋步的勝率 Round 比賽的第幾輪 Fen 棋譜每一步對應(yīng)的局面
WinCount 局面勝利次數(shù) White 白方選手姓名 Result 結(jié)果
DrawCount 局面和棋次數(shù) Black 黑方選手姓名 StepCount 對應(yīng)步數(shù)
LoseCount 局面輸棋次數(shù) Result 比賽結(jié)果 StepOwner 走棋方
PlayCount 雙方共走多少步
EventDate 賽事開始日期
Pgn PGN棋譜
5 主要模塊功能
5.1 棋局演示
根據(jù)錄入棋譜。自動生成棋局演示功能。此功能可以針對演示模塊可以進(jìn)行前進(jìn)、后退、暫停等功能方便觀棋而用。
5.2 互動教學(xué)
此模塊根據(jù)主控機(jī)演示操作,客戶機(jī)實(shí)時顯示主控機(jī)操作結(jié)果。同時配送音頻、視頻、文字信息等教學(xué)信息。
5.3 棋局分析
根據(jù)棋局走勢分析相應(yīng)的對應(yīng)走法的百分比。根據(jù)棋譜的數(shù)量可以動態(tài)分析數(shù)據(jù)延伸走向。
6 結(jié)束語
國際象棋人機(jī)對弈是人工智能領(lǐng)域的一個熱門研究方向,通過積極參與并學(xué)習(xí)國外先進(jìn)的理論、方法和工具,并在消化吸收后投入到國內(nèi)棋牌項(xiàng)目的人工智能研究,有助于提高當(dāng)前國內(nèi)傳統(tǒng)棋牌項(xiàng)目人工智能領(lǐng)域的研究水平。隨著國際象棋在國內(nèi)普及程度的提高,國際象棋教學(xué)產(chǎn)業(yè)將迎來廣闊的發(fā)展機(jī)會,本項(xiàng)目實(shí)現(xiàn)的國內(nèi)第一個交互教學(xué)平臺,具有可觀的經(jīng)濟(jì)效益。
參考文獻(xiàn)
[1]方瑋瑋.機(jī)器學(xué)習(xí)方法淺析[J].福建電腦,2012,11.
[2]丁劍飛,何玉林,馬永昌.面向可重用的設(shè)計(jì)資源庫建模技術(shù)研究[J].工程圖學(xué)學(xué)報(bào),2013,1.
[3]瞿錫泉,白振興,包建平.棋類博弈算法的改進(jìn)[J].現(xiàn)代電子技術(shù),2012,1.endprint