999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種國際跳棋的博弈系統(tǒng)研究

2020-08-31 06:13:44桂義勇
智能計算機與應(yīng)用 2020年4期
關(guān)鍵詞:設(shè)計

桂義勇

(北京信息科技大學(xué) 計算機學(xué)院, 北京100101)

0 引 言

一直以來人們都想讓計算機來戰(zhàn)勝人類,從戰(zhàn)勝世界棋王卡斯帕羅夫的國際象棋深藍到戰(zhàn)勝李世石的圍棋博弈程序AlphaGo[1]。 人們一直以來都在為了這個目標而不懈努力。 國際跳棋是在全世界熱門的一個棋種,因為其簡單的規(guī)則和多樣的走棋方式在世界范圍內(nèi)備受歡迎。 目前國際跳棋8×8 的研究已經(jīng)被完善,但10×10 的研究還在進行中。 本文研究的是國際跳棋10×10,通過棋盤界面的構(gòu)建、棋盤局面的評估和對局面的搜索,實現(xiàn)了一個國際跳棋的計算機博弈系統(tǒng)。

1 國際跳棋規(guī)則簡述

1.1 棋盤表示

西洋跳棋的棋盤為10×10 黑白相間的方格棋盤,每個玩家的右下角應(yīng)該是白色格子,如圖1所示。

黑格為合理棋位,棋位統(tǒng)一編碼如圖2 所示。開局時黑白雙方的棋子各擺在棋盤靠近自己一方的4 行黑格當(dāng)中,如圖3 所示。 黑方先手,然后雙方輪流走動自己一方的棋子。

1.2 走棋規(guī)則

在整個對弈過程中,淺色格子是用不到的。 棋子自始至終都是在黑格子中沿對角線方向移動和停止。 對弈的目標是將對方所有的棋子吃掉或者形成一個局面逼使對方棋子不能移動。

圖1 國際跳棋棋盤Fig.1 Checkers board

圖2 棋盤統(tǒng)一編碼Fig.2 Checkerboard unified coding

圖3 開局的布局Fig.3 Start layout

只要對角線方向鄰近的黑格內(nèi)有對方的棋子并且再過去的黑格是空位,就可以跳過對方的棋子并將對方棋子吃掉。 如果沒有跳吃的著法,就只能沿對角線方向前移一格。 當(dāng)某一著法結(jié)束之后才將吃掉的棋子從棋盤上移出,任何被吃掉的棋子雖然還沒有從棋盤上移出也不許再跳經(jīng)該棋子。 跳吃的時候,在具有多種選擇的情況下,必須選擇吃子最多的著法。

任何一個棋子到達對方底線便立刻加冕,從此便成為“王”。 只有停止在對方底線上的棋子才能加冕。 所以,如果一個棋子在跳吃過程中行進到底線又離開了底線,最后沒有停止在底線上,則該棋子不能升王。 王可以在對角線方向上移動任意多個空格。 同樣在跳吃的時候,王可以跳過對方棋子前后任意數(shù)量的空格。

2 國際跳棋博弈系統(tǒng)的結(jié)構(gòu)設(shè)計

2.1 博弈系統(tǒng)設(shè)計

國際跳棋博弈系統(tǒng)主要由兩個方面組成,博弈平臺和博弈算法。 計算機博弈系統(tǒng)的目的是讓計算機能夠像人一樣進行分析、判斷和作出決策的智能系統(tǒng)。 博弈平臺的主要功能是信息的傳遞、規(guī)則判斷和界面顯示等;博弈算法主要研究的是搜索算法、局面評估算法和走法生成等工作。 博弈算法是整個博弈系統(tǒng)中的核心部分,是一個博弈系統(tǒng)的大腦[2],決定了系統(tǒng)的能力。 博弈系統(tǒng)架構(gòu)如圖4 所示。

圖4 博弈系統(tǒng)架構(gòu)圖Fig.4 Game system architecture diagram

架構(gòu)設(shè)計完成后,需要進行博弈流程的設(shè)計。根據(jù)國際跳棋的規(guī)則對弈雙方需要交替下棋,每次交替后換手。 在每次下棋時搜索棋子位置并返回到前端的界面,顯示能夠下棋的位置,行棋結(jié)束后更新棋盤界面。 如在連續(xù)跳吃的情況下,每次行棋時先不換手,當(dāng)連續(xù)跳吃結(jié)束之后再輪到對方下棋。 博弈流程如圖5 所示。

圖5 對弈流程圖Fig.5 Game flow chart

2.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計

結(jié)構(gòu)設(shè)計包括:棋盤存儲類型的設(shè)計、棋盤、棋子以及對棋盤規(guī)則的實現(xiàn)。 變量的定義對程序的編寫有著重要的作用,合理設(shè)計變量不僅能夠提高程序的可讀性,而且還能在之后對程序的維護中提供更加清晰標識。 棋盤通過一個二維矩陣來記錄局面,其中黑子表示為1、黑王表示為10、白棋表示為-1、白王表示為-10。 這種設(shè)計的方式在后面的評估函數(shù)設(shè)計時,便于評估棋盤中棋子的棋力。

3 系統(tǒng)后端詳細設(shè)計

3.1 局面評估算法

不同的走棋方法就會產(chǎn)生不同的局面,如何對棋盤局面進行有效的評估,判斷當(dāng)前的下棋方法是否對己方有利,是評估函數(shù)需要考慮的地方。 如果設(shè)定好了博弈程序的評估函數(shù),那么博弈模型下棋的方式就會按照設(shè)計的權(quán)重來對所有可以下棋的位置進行判斷,選擇對己方利益最大的位置。 因此一個評估函數(shù)的優(yōu)劣在很大程度上決定了計算機博弈程序的好壞。

在國際跳棋中吃子的策略往往是最有效的策略。 進攻可以把棋子的可活動空間變大,讓更多棋子能夠活動。 棋子防守策略會讓棋子的可活動空間減少,使局面變得被動。 王棋的數(shù)量在很大的程度上決定了棋局的輸贏。 如果能夠形成王棋,則該方對棋盤的掌控就會有很大提升,棋子活動的范圍也能大幅度增加。 通過對國際跳棋的分析,找出了6個能夠代表棋子能力的因子: x1己方棋子數(shù)量;x2對方棋子數(shù)量;x3己方王棋數(shù)量;x4對方王棋數(shù)量;x5己方可以跳吃的棋子個數(shù);x6對方可以跳吃的棋子個數(shù)。 通過對評估函數(shù)的設(shè)計,對棋盤局面的好壞進行判斷。 評估函數(shù)為:

其中:w0是一個固定的偏移量,w1~w6是每個因子的權(quán)重。 x1~x4可通過棋子列表得出,參數(shù)x5和x6可通過棋盤的走子算法得出。

3.2 棋盤價值矩陣

棋子分布在棋盤的不位置會有著不同的價值,分布在棋盤中心的棋子能夠活動的空間也往往最大。 經(jīng)過人們對國際跳棋的認識,總結(jié)出了棋盤對應(yīng)位置的價值矩陣,通過對當(dāng)前棋子落點位置計算出當(dāng)前局面的棋盤價值。

黑棋的價值矩陣為

白棋的價值矩陣為

通過對兩種方法相結(jié)合得到局面評估函數(shù):

如果只是通過靜態(tài)評估算法會造成送子太多、不積極稱王和兵落后等問題。 對這些問題通過增加棋子的價值矩陣,能夠有效的改善靜態(tài)評估算法出現(xiàn)的問題,對己方的棋子起到保護防守的作用;能有效地向?qū)Ψ桨l(fā)起進攻,提高了棋子稱王的積極性;能夠?qū)置娴钠遄拥囊苿于厔莞訙蚀_和有效,選擇出最優(yōu)的落子方法。

3.3 搜索算法

搜索是一個計算機博弈程序的核心,在國際跳棋中搜索算法有很多,比如Min Max 搜索、負極大值搜索和Alpha Beta 搜索等等。 Min Max 算法又叫做極大極小算法[8],是一種找出失敗的最大可能性中的最小值的算法,即最小化對手的最大收益的算法。極大極小算法是一種窮盡搜索方法的典型代表,通過搜索在所有的走法中找到最優(yōu)的走子方法。

Alpha Beta 樹搜索算法是一種在Min Max 算法的基礎(chǔ)上改的博弈搜索算法,是一種深度優(yōu)先的搜索算法。 Alpha Beta 算法與Min Max 算法相比最大的優(yōu)點是增加搜索的深度。 Alpha Beta 算法通過減少博弈樹的分支,將搜索資源用于更有希望的子樹上的方法,來增加搜索的深度,當(dāng)遇到?jīng)]有必要再去搜索的子樹時進行剪枝。

圖6 Alpha Beta 剪枝算法Fig.6 Alpha Beta pruning algorithm

4 結(jié)束語

博弈程序設(shè)計主要由3 個部分組成,棋盤的結(jié)構(gòu)設(shè)計、評估函數(shù)的選定和搜索算法。 棋盤結(jié)構(gòu)的設(shè)計是通過二維矩陣來就棋盤局面進行保存,移動棋子是通過對棋子類型的判斷,來選擇棋子的走子選擇。 評估函數(shù)通過對棋盤局面諸多因素的判定,得出當(dāng)前局面的優(yōu)劣情況,以此來提高模型對棋局的掌控狀態(tài)。 在對棋局進行搜索時總希望己方處于更加有利的地位,就需要加深搜索的深度。但是隨著搜索層數(shù)的加深,搜索的局面也會成指數(shù)級別的增加。 然而對于一些局面沒有必要再去對它們進行搜索。 本文選擇Alpha Beta 剪枝算法,從而增加搜索的層數(shù),提高博弈模型的強度。

雖然本文的設(shè)計達到一定的使用效果,但還有待進一步完善。 如評估函數(shù)的設(shè)計還較為樸素,靜態(tài)評估考慮的棋盤因素有限。 在設(shè)計博弈模型時還可采用深度學(xué)習(xí)和強化學(xué)習(xí)相結(jié)合的方法;可采用Alpha Zero 的方法來對博弈模型進行自博弈訓(xùn)練,通過大量的自對弈讓模型通過自我學(xué)習(xí)的方式提升棋力。

猜你喜歡
設(shè)計
二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計到“設(shè)計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 91在线激情在线观看| 亚洲第一成人在线| 欧美国产日产一区二区| 亚洲男人在线天堂| 久久一日本道色综合久久| 亚洲精品无码成人片在线观看| 国产精品自拍合集| 就去色综合| 国产精品人成在线播放| 国产精品 欧美激情 在线播放| 国产96在线 | 毛片免费在线视频| 欧美日本二区| 真人高潮娇喘嗯啊在线观看 | 一级一级特黄女人精品毛片| 欧美一区中文字幕| 国产精品蜜臀| 亚洲无码A视频在线| 伊人蕉久影院| 97超级碰碰碰碰精品| 五月婷婷综合网| 久久精品国产在热久久2019| Aⅴ无码专区在线观看| 无码国产伊人| 亚洲综合片| 小13箩利洗澡无码视频免费网站| 免费AV在线播放观看18禁强制| 五月丁香伊人啪啪手机免费观看| 国产亚洲欧美在线中文bt天堂 | 无套av在线| 日本高清免费不卡视频| 婷婷综合缴情亚洲五月伊| 人妻无码AⅤ中文字| 久久国产精品77777| 99热这里只有免费国产精品| 日韩无码真实干出血视频| 狠狠色成人综合首页| a天堂视频在线| 欧美曰批视频免费播放免费| 美女内射视频WWW网站午夜| 久久久久国产精品嫩草影院| 午夜福利在线观看入口| 国产欧美中文字幕| 无码aⅴ精品一区二区三区| 99精品一区二区免费视频| 国产精品综合色区在线观看| 宅男噜噜噜66国产在线观看| 在线观看精品国产入口| 五月丁香在线视频| 久久青草热| 亚洲国产天堂久久综合| 色噜噜狠狠狠综合曰曰曰| 欧美一级夜夜爽www| 国产99在线| 亚洲AV无码不卡无码 | 久久一色本道亚洲| 中文字幕av无码不卡免费| 国产高清在线观看91精品| 亚洲aaa视频| 久久久久青草大香线综合精品| 天天摸天天操免费播放小视频| 99999久久久久久亚洲| 国产成人精品免费视频大全五级| 亚洲精品图区| 亚洲欧洲自拍拍偷午夜色| 亚洲三级视频在线观看| 中文字幕伦视频| 亚洲国产精品美女| 国产精品手机视频| 亚洲色偷偷偷鲁综合| 国产性生大片免费观看性欧美| 国产97视频在线| 人妖无码第一页| 国产成人盗摄精品| 国产精品网址你懂的| 欧美亚洲国产精品久久蜜芽| AV无码无在线观看免费| 亚洲美女久久| 98精品全国免费观看视频| 色香蕉影院| 奇米影视狠狠精品7777| 国产乱子伦精品视频|