• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      機器博弈主要技術分析

      2019-01-08 03:16:09何軒洪迎偉王開譯彭耶萍
      電腦知識與技術 2019年33期
      關鍵詞:剪枝搜索算法

      何軒 洪迎偉 王開譯 彭耶萍

      摘要:該文針對機器博弈中常見的技術和各種優(yōu)化方法以六于棋為例進行分析和討論,從棋盤表示、走法生成、博弈樹與搜索算法這三個方面進行展開,從各種技術的優(yōu)缺點出發(fā),為機器博弈新思路提供了參考。

      關鍵詞:機器博弈;六子棋;博弈樹;搜索算法;蒙特卡羅樹;剪枝

      中圖分類號:TP391 文獻標識碼:A

      文章編號:1009-3044(2019)33-0172-02

      機器博弈是人工智能領域最富挑戰(zhàn)性的項目之一,而六子棋作為一種典型的博弈類競技游戲,相比五子棋黑棋先手必勝的單調不公平性,其公平性到目前為止還不能被證偽,其狀態(tài)空間大?。s為10172)為五子棋(約為10105)的1072倍,搜索結點數(shù)大大增加,極具挑戰(zhàn)性。因此,以六子棋作為研究機器博弈的切人點既能促進六子棋的發(fā)展,同時也可推動機器博弈乃至人工智能領域的進步。

      六子棋的棋盤大小為19行19列,其規(guī)則為:黑棋先手一子,以后白黑輪流落二子,在縱、橫、斜任意一條直線上先連成六子(或六子以上)者獲勝。如下滿棋盤仍未分出輸贏則判為平局。

      占用空間同二維數(shù)組,但如能利用某種方法提取待搜索的特征信息作為模式串,便可借助模式匹配算法,把遞歸搜索轉換成線性匹配,提高效率。

      1.3位棋盤(Bit Boards)

      為提高運算速度、減少存儲空間,常采用位棋盤的方式來表示數(shù)據(jù),在六子棋中,棋盤上只可能出現(xiàn):空、黑子、白子這三種情況,使用二進制表示至少需要2位。棋盤上每行共19個點,需要至少38位,考慮使用一個長整型(占8個字節(jié)共64位)則整個棋盤需要19*8B,共152B。利用位進行存儲,可以使用邏輯運算來處理問題,其效率遠高于其他運算。

      2走法生成

      走法生成即將下一步落子的所有合法位置枚舉出來。枚舉走法的過程往往依賴搜索,因此一個好的走法生成策略是博弈系統(tǒng)效率提升的關鍵。常見的走法生成策略有:預置表、棋盤掃描、Null-Move啟發(fā)(空著啟發(fā))以及它們的結合等。預置表:存儲所有可行的走法,生成走法時直接查表,優(yōu)點即速度快,缺點即局限于規(guī)則較多且走法有限的棋類。棋盤掃描:即按照規(guī)則對棋盤區(qū)域進行遍歷,確定落子位置。Null-Move啟發(fā)(空著啟發(fā)):假設一方先不動,讓另一方多落子一輪,然后搜索動方獲勝的迫著序列,此時對于不動方來說只需重點防范這個序列,產生的防范區(qū)域稱為R-Zone,不動方便只需在R-Zone中生成走法,大大減少了搜索空間,提高了搜索效率,缺點即工于防范而疏于進攻,難以獲勝乃至防不勝防而落敗,因此空著啟發(fā)常常與其他算法結合使用。

      3博弈樹與搜索算法

      博弈樹即對博弈局面及其未來可能性的抽象。就六子棋而言,博弈雙方輪流交替回合,這種情況能夠抽象成一顆與或樹?!芭c”指我方需要考慮所有的走法,走法之間是與的關系,或表示對方可能選擇眾多走法中的任意一種。其中交替表現(xiàn)在樹中偶數(shù)層結點為我方(黑子),奇數(shù)層為對方。

      在建立博弈樹的過程中評估函數(shù)需要對每個結點評估。所謂評分就是給當前棋局打分,對我方越有利分數(shù)越高,反之分數(shù)越低。搜索則是遍歷博弈樹的過程,目前來說,幾乎所有的搜索算法都基于極大極小值思想。

      3.1極大極小值算法

      在與或博弈樹的基礎上,假設一方為我方,則在搜索的過程中我方回合時總是選擇評分最高的結點,而輪到對方時,總是選擇評分最低的結點。

      3.2 Alpha-Beta剪枝

      極大極小值算法在搜索的過程需要完整遍歷博弈樹的每個結點,然而有很多結點不會對局面產生貢獻,如果能夠去掉對這些無用結點的遍歷,算法的效率就能夠得到極大的提升,這也是一系列改進算法的著手點。對于Mpha-Beta算法來說,它通過改變搜索的上下界來縮小搜索空間,即所謂的剪枝。

      3.3 MCTS樹搜索

      大名鼎鼎的MphaGoZero也是基于該算法,MCTS即蒙特卡羅樹搜索。雖然同樣通過剪枝來縮小搜索空間,與Mpha-Beta不同的是,它對結點的評判依據(jù)不是人為構造的評估函數(shù),而是蒙特卡羅模擬,所以隨著搜索深度增加,越接近最優(yōu)解,收斂較快。尤其適合應用于分支較多的搜索問題。該搜索算法主要有四個部分:選擇、擴展、模擬以及回溯更新。

      選擇階段,從起點開始遞歸地對評價最高的結點進行搜索,評價一般采用UCT策略,該策略在搜索時采用UCB算法(Upper Confidence Bounds置信區(qū)間上界)其思想是:先對起點所有的子結點都搜索一遍,按照公式③計算每個結點的分數(shù),然后選擇分數(shù)高的繼續(xù)搜索。

      s指當前結點,p表示父結點Score,表示當前結點的分數(shù),p(s)表示當前結點的累計分數(shù),N表示結點的訪問次數(shù),c是一個自定常數(shù)。

      擴展階段,選中一個結點對其進行擴展子節(jié)點。

      模擬階段,根據(jù)蒙特卡羅模擬方法對拓展出的子節(jié)點進行模擬,即隨機選擇一個可落子位置作為其子節(jié)點,然后子節(jié)點繼續(xù)模擬,直到博弈結束。

      更新階段,將子結點的得分累加到其父節(jié)點,不斷從下向上累加更新。

      4結束語

      限于版面以及評估函數(shù)的差異性,本文沒有詳細討論評估函數(shù)部分。機器博弈所涉及的領域較多,作者僅以所了解進行討論,希望能給讀者一點收獲。

      猜你喜歡
      剪枝搜索算法
      人到晚年宜“剪枝”
      一種基于分層前探回溯搜索算法的合環(huán)回路拓撲分析方法
      基于模型性能相關性的分級剪枝率剪枝方法
      改進的非結構化對等網絡動態(tài)搜索算法
      改進的和聲搜索算法求解凸二次規(guī)劃及線性規(guī)劃
      基于YOLOv4-Tiny模型剪枝算法
      剪枝
      天津詩人(2017年2期)2017-03-16 03:09:39
      基于懲罰因子的多約束剪枝QoS路由算法
      計算機工程(2015年4期)2015-07-05 08:29:01
      基于汽車接力的潮流轉移快速搜索算法
      基于逐維改進的自適應步長布谷鳥搜索算法
      洛浦县| 芦溪县| 济阳县| 锡林浩特市| 河北省| 大渡口区| 陆良县| 襄樊市| 松溪县| 克拉玛依市| 夏津县| 宁安市| 惠州市| 施甸县| 洛阳市| 泸水县| 井陉县| 波密县| 体育| 永清县| 松江区| 剑河县| 通州区| 惠安县| 越西县| 丹凤县| 贺兰县| 五峰| 丰县| 敦煌市| 城步| 嵊州市| 横峰县| 大余县| 盖州市| 奈曼旗| 邢台市| 班玛县| 宜宾县| 桓台县| 汕尾市|