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

一種國際跳棋的博弈系統研究

2020-08-31 06:13:44桂義勇
智能計算機與應用 2020年4期
關鍵詞:設計

桂義勇

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

0 引 言

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

1 國際跳棋規則簡述

1.1 棋盤表示

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

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

1.2 走棋規則

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

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

圖2 棋盤統一編碼Fig.2 Checkerboard unified coding

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

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

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

2 國際跳棋博弈系統的結構設計

2.1 博弈系統設計

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

圖4 博弈系統架構圖Fig.4 Game system architecture diagram

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

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

2.2 數據結構設計

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

3 系統后端詳細設計

3.1 局面評估算法

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

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

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

3.2 棋盤價值矩陣

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

黑棋的價值矩陣為

白棋的價值矩陣為

通過對兩種方法相結合得到局面評估函數:

如果只是通過靜態評估算法會造成送子太多、不積極稱王和兵落后等問題。 對這些問題通過增加棋子的價值矩陣,能夠有效的改善靜態評估算法出現的問題,對己方的棋子起到保護防守的作用;能有效地向對方發起進攻,提高了棋子稱王的積極性;能夠對局面的棋子的移動趨勢更加準確和有效,選擇出最優的落子方法。

3.3 搜索算法

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

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

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

4 結束語

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

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

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 亚洲欧美一级一级a| 青青草91视频| 色综合综合网| 欧洲高清无码在线| 国产日韩精品一区在线不卡| 日韩欧美中文在线| 亚洲AⅤ无码日韩AV无码网站| 日本高清有码人妻| 亚洲h视频在线| 欧美精品亚洲精品日韩专| 国产精品女同一区三区五区| jizz在线免费播放| 狠狠操夜夜爽| 99久久国产综合精品2020| 91人妻日韩人妻无码专区精品| 久久精品这里只有精99品| 亚洲性视频网站| 熟妇丰满人妻av无码区| 玖玖免费视频在线观看| 国产亚洲欧美日韩在线一区二区三区| 国产污视频在线观看| 色视频国产| 永久在线精品免费视频观看| 91九色视频网| 福利姬国产精品一区在线| 一级在线毛片| 曰韩人妻一区二区三区| 久久综合色88| 欧美一级色视频| 亚洲天堂网在线观看视频| 亚洲一区第一页| 丁香综合在线| 99久久婷婷国产综合精| 久久精品免费看一| 一级毛片免费不卡在线| 精品自窥自偷在线看| 免费a级毛片视频| 丰满人妻一区二区三区视频| 一级毛片在线免费视频| 97久久人人超碰国产精品| 成人精品视频一区二区在线 | 精品福利国产| 国产精品美人久久久久久AV| 高清无码不卡视频| 性喷潮久久久久久久久| 国产精品美女自慰喷水| 手机在线免费毛片| 亚洲香蕉在线| 国产美女在线观看| 国产精品主播| 日韩欧美视频第一区在线观看| 国产成a人片在线播放| 国产免费好大好硬视频| 幺女国产一级毛片| 中文字幕永久视频| 久草视频福利在线观看| 日本精品一在线观看视频| 精品久久香蕉国产线看观看gif| 日韩毛片在线播放| 91国内外精品自在线播放| 欧美一级在线看| 亚洲国产日韩欧美在线| 一级片免费网站| 欧美日韩动态图| 亚洲不卡无码av中文字幕| 久久综合九九亚洲一区| 热久久综合这里只有精品电影| 国产69囗曝护士吞精在线视频 | 色婷婷天天综合在线| av午夜福利一片免费看| 69国产精品视频免费| 国产精品美乳| 国产美女丝袜高潮| 亚洲第一综合天堂另类专| 欧美成人在线免费| 国产流白浆视频| 手机在线免费不卡一区二| 夜夜操狠狠操| 免费无遮挡AV| 精品国产电影久久九九| 国产激爽大片高清在线观看| 国产精品无码影视久久久久久久 |