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

基于PVS算法的六子棋博弈系統(tǒng)的研究

2021-05-11 19:18:38王鴻菲王靜文李媛
智能計算機與應用 2021年2期

王鴻菲 王靜文 李媛

摘要:針對六子棋比賽中基于棋型分析的評估函數(shù)比較復雜,因此搜索效率大大降低,六子棋是一種復雜度與象棋相當?shù)牟┺挠螒颉F鋸碗s性主要是平均分枝因子大,導致博弈樹搜索的深度太淺。本文采用了PVS搜索算法,通過縮小搜索范圍,從而有效增加剪枝效率,同時結(jié)合了迭代深化和歷史啟發(fā)增強及置換表和哈希表技術(shù),極大提高了搜索效率和深度。使用該技術(shù)開發(fā)的六子棋系統(tǒng),其博弈水平得到了有效提高。

關(guān)鍵詞:六子棋;PVS;路;歷史啟發(fā)增強;迭代加深;置換表

【Abstract】TheevaluationfunctionbasedonchesstypeanalysisiscomplexinthegameofConnect6,sothesearchefficiencyisgreatlyreduced.Thecomplexityismainlyduetothelargeaveragebranchingfactor,whichleadstotheshallowdepthofgametreesearch.Inthispaper,PVSsearchalgorithmisusedtoreducethesearchscope,soastoeffectivelyincreasethepruningefficiency.Atthesametime,thecombinationofiterativedeepening,historicalheuristicenhancement,replacementtableandHashtabletechnologygreatlyimprovethesearchefficiencyanddepth.ThegamelevelofConnect6systemdevelopedbythistechnologyhasbeeneffectivelyimproved.

【Keywords】Connect6;PVS;road;historicalheuristicenhancement;iterativedeepening;Hash

作者簡介:王鴻菲(1999-),男,本科生,主要研究方向:計算機博弈;王靜文(1965-),男,工程師,主要研究方向:人工智能和信息安全;李媛(1976-),女,博士后,教授,主要研究方向:人工智能和隨機過程。

0引言

機器博弈是人工智能研究中極具挑戰(zhàn)性的重要課題之一,其技術(shù)進步則為人工智能領(lǐng)域的研究融匯了為數(shù)可觀的理論和方法,對社會及學術(shù)方面產(chǎn)生了廣泛而深遠的影響。機器博弈并不是如人們設(shè)想的那樣只是人和計算機間簡單的下棋小游戲,而是通過這種競爭性的活動來檢驗人工智能成果是否達到了人的智能水平。在社會的日常生活中經(jīng)常面臨著決策問題,而建立和選擇決策的過程便是計算機博弈研究關(guān)注的內(nèi)容,所以在智能決策、沙盤推演等場景中均有著現(xiàn)實應用意義。

由于六子棋的棋盤與圍棋棋盤相同[1],并有與圍棋有著相同的狀態(tài)空間復雜度,吸引了越來越多的計算機博弈愛好者對六子棋的關(guān)注。本文擬對此展開研究論述如下。

1六子棋簡介

六子棋是近些年新興起的棋類博弈項目,是國立交通大學吳毅成教授提出的“連K”系列棋之一[2]。對其特點可概述為:

(1)規(guī)則簡單,六子棋有黑白兩方,黑方先落子。黑方第一步下一顆子,隨后黑白雙方輪流落兩子。連成六子或以上獲勝。沒有禁手,長連即連成六子以上也為贏,如果棋盤被下滿時仍未分出勝負則算和棋,若不同意和棋,也可按照存在五連的數(shù)量來定勝負,減少和棋局面的出現(xiàn)。六子棋的標準棋盤如圖1所示。

(2)變化復雜。對于機器博弈來說,一般采用狀態(tài)空間復雜度和博弈樹復雜度來衡量某種博弈游戲的復雜程度。狀態(tài)空間復雜度,指的是從游戲最開始的狀態(tài)可以變化出的符合規(guī)則的狀態(tài)的數(shù)量[3]。在六子棋的對弈過程中的每一個局面都對應一個節(jié)點,而一個節(jié)點下面又有很多子節(jié)點,所以不斷地向下推演就可以建立整個博弈樹,直至得到博弈結(jié)果。但得到的博弈樹是巨大的,隨著不斷地加深,子節(jié)點將以幾何方式上升。常見棋類的復雜度對比見表1。

從表1中可以看到,六子棋比五子棋的復雜度高[4-5],和象棋差不多或略高一點。

(3)游戲公平。由于各方每次下完一手后,盤面都比對方多一子,因此賽局自然達成平衡的狀態(tài),這大大提升了六子棋的公平性。不像許多棋種、如五子棋、象棋、國際象棋,先下者會占據(jù)一些優(yōu)勢。

2六子棋博弈系統(tǒng)

計算機博弈游戲的核心由搜索和估值兩部分組成。其中,估值是用于準確地評價當前局面,而搜索則是根據(jù)當前局面獲得最佳下法。這里將給出探討分述如下。

2.1估值函數(shù)

在博弈比賽的對弈中,如果將棋局的所有狀態(tài)都列舉出來,就一定可找到最佳的走法,但是對于博弈來說,這種做法不僅是無意義的,對于大部分棋種也是不可行的。因此對博弈樹的窮舉搜索必須適可而止,由此可知研究中搜索的深度是有限的,即可根據(jù)在一定深度處的節(jié)點的估計值來評分,就是估計值代替實際的搜索,這就叫做估值函數(shù)。不管對黑方、還是白方,都是利于對博弈樹進行捜索找到最佳走法的。如果不能窮舉所有走法,就只能在搜索到一定層后,根據(jù)對局面的估值來判斷路徑的好壞,此時就要設(shè)計出評估函數(shù)來對局面進行估值。估值方法往往和具體的棋類規(guī)則結(jié)合緊密,這在很大程度上決定了博弈程序的棋力高低[6]。研究時,既可以向估值函數(shù)寫入棋類知識,使程序?qū)τ诰置娴脑u估更為精確,也可以寫出簡化的估值函數(shù),使估值的過程簡捷、且節(jié)省運算時間,期望通過更深的搜索提高棋力。

目前,六子棋普遍采用2種估值方式。一種是基于“路”的方式進行估值,另一種就是基于“棋型”的方式進行估值。這里,基于“路”或基于“棋型”,則是指根據(jù)路或棋型的方式對棋盤進行掃描。

需要指出的是,在基于棋型的估值中,由于目前常見的10種棋型都是通過經(jīng)驗總結(jié)的,主觀因素影響較大,可能存在未定義的其他棋型。同時因為同一種棋型也有多種可下位置。

所以棋形判斷的復雜度高,計算量大,受計算機博弈比賽中六子棋博弈時間的約束,搜索的深度和寬度都會受到限制。故而本文提出基于路的估值方法,相對于基于棋型的估值較為簡單,實現(xiàn)上較為容易,搜索時間也較短,更適合在在博弈比賽中付諸應用。

基于路的估值,在一個棋盤中,將路分為6種,掃描連續(xù)的同一條直線上的6個不同的位置,再對同一個顏色的棋子進行計數(shù),從而判斷為幾路。因此可以計算出一個棋盤有:水平方向為19×14=266;豎直方向為19×14=266;

左斜方向14×14=196;右斜方向14×14=196,所以一共有294路。本文采用了4個方向的函數(shù)實現(xiàn)路的掃描。研究后推得AnalysisRight主要偽碼可表示如下:

IntAnalysisRight(charposition[19],inti,intj){

chartempArray[19];

intx;

inty;

intrealnum;

if(18-j

y=18;

x=j-18+i;

}

else{

x=0;

y=i+j;

}

intg=0;

for(intk=0;k<19;k++){

if(x+k>18||y-k<0){

break;

}

tempArray[k]=position[x+k][y-k];

g++;

}

AnalysisLine(tempArray,g,y-j);

for(ints=0;s

if(m_LineRecord[s]!=WEIFANGWEN){

TypeRecord[x+s][y-s][3]=

m_LineRecord[s];

}

}

returnTypeRecord[i][j][3];

}

其它各個方向上的計算方法和上述偽碼的計算方法相同。文中不再做過多贅述。

2.2基于PVS的搜索算法

六子棋的復雜度高,一般的搜索算法難以達到較高的搜索效率。目前,常用的方法有alpha-beta算法、UCTS算法等[7]。其中,alpha-beta算法在經(jīng)過剪枝處理后,卻仍然還是存在大量的節(jié)點需要去遍歷,搜索效率較低;UCTS算法可以達到較好的搜索深度,但得到的估值準確性較低。

本文的搜索算法是基于PVS算法。PVS算法,也稱最小窗口搜索算法,是由alpha-beta變形而來。兩者間的主要區(qū)別就在于:除了主變量外的其它節(jié)點都進行零窗口搜索,并且把α的值復制為β的值,通常情況下都是把每個節(jié)點的所有子節(jié)點進行排序,同時假設(shè)第一個節(jié)點是最好的,作為主變量,進行全窗口搜索。通過零窗口搜索,判斷是否存在αβ的值,在此基礎(chǔ)上進行博弈樹的剪枝。其中,對節(jié)點進行排序是該算法至為關(guān)鍵的一步,這樣大大提高了搜索效率。所以本文采用了置換表和哈希表、歷史啟發(fā)增強、迭代深化等方法,極大地提高了算法的搜索效率[8]。

在搜索過程中,還增加了置換表和哈希表,如果計算過的價值,將會加入Hash表,并通過查找的方法判斷是否存在,如果存在就直接調(diào)用價值,這樣也大大加快了搜索過程;采用了歷史啟發(fā)方法增強通過已有的節(jié)點評分可更好地進行排序[9],價值高的節(jié)點排在前面,極大提高了搜索效率;與此同時,還通過迭代深化來加快節(jié)點排序的過程,過程中也一并進行時間的控制。在此基礎(chǔ)上,改進的PVS算法的偽碼參見如下。

FunctionPVS(intdepth,intalpha,intbeta){

if(depth<=0)

returnvalue()

generateAllMove()

sort()

makeMove()

best=-PVS(depth-1,-beta,-alpha)

unMakeMove()

for(movei=1tomove.size())

if(best

if(best>alpha)

alpha=best

makeMove()

v=-PVS(depth-1,-alpha-1,-alpha)

if(valpha)

best=-PVS(depth-1,-beta,-v)

if(v>best)

best=v

unMakeMove()

returnbest

}

3實驗與結(jié)果

針對六子棋的估值設(shè)計和搜索算法,分別設(shè)計針對估值方法的對比和針對搜索方法的對比實驗。并分別使用先手和后手進行測試。

針對評估函數(shù),主要比較了基于“路”的評估方法和基于棋型的評估方法,其對比結(jié)果見表2。

由表2可以看出,在相同的對弈時間下,基于路的估值方法與基于棋型的估值方法相比較來說具有明顯的優(yōu)勢。

PVS算法與alpha-beta算法的對比結(jié)果見表3。

PVS算法與UCTS算法的對比結(jié)果見表4。

由表3和4可知,與alpha-beta算法和UCTS算法相比,PVS算法在棋力上占有一定的優(yōu)勢,無論是先手、還是后手,PVS的勝率都在85%以上。同時,因為雙方都使用相同的估值函數(shù),從棋力方面說明PVS算法更適合六子棋。

4結(jié)束語

本文針對PVS算法與alpha-beta算法和UCTS算法的對弈比較進行研究,結(jié)果表明PVS算法相較另外兩種算法在公平條件下有更好的搜索效率,在限制時間的博弈比賽中有更好的優(yōu)勢。同時,加入置換表和哈希表、歷史啟發(fā)增強、迭代深化等方法提高了PVS算法的搜索效率,而結(jié)合基于路的估值函數(shù)則極大地提高了分支的選擇效率。利用本文提出的算法開發(fā)的六子棋博弈程序獲得了2020年遼寧省大學生計算機博弈競賽六子棋項目冠軍,進一步驗證了該算法的有效性。

參考文獻

[1]鄧超.計算機圍棋中的搜索算法研究[D].昆明:昆明理工大學,2013.

[2]WUIC,YENSJ.NCTU6winsConnect6tournament[J].InternationalClassicGuitarAssociation(ICGA)Journal,2006(3):157-158.

[3]王靜文,吳曉藝.全國大學生計算機博弈大賽培訓教程[M].北京:清華大學出版社,2013.

[4]王亞杰,邱虹坤,吳燕燕,等.計算機博弈的研究與發(fā)展[J].智能系統(tǒng)學報,2016,11(6):788-798.

[5]徐心和,鄧志立,王驕,等.機器博弈研究面臨的各種挑戰(zhàn)[J].智能系統(tǒng)學報,2008,3(4):288-293.

[6]何軒,洪迎偉,王開譯,等.機器博弈中搜索策略和估值函數(shù)的設(shè)計—以六子棋為例[J].電腦知識與技術(shù),2019,15(34):53-54,61.

[7]李學俊,王小龍,吳蕾,等.六子棋中基于局部“路”掃描方式的博弈樹生成算法[J].智能系統(tǒng)學報,2015,10(2):267-272.

[8]徐長明,馬宗民,徐心和.一種新的連珠棋局面表示法及其在六子棋中的應用[J].東北大學學報(自然科學版),2009,30(4):514-517.

[9]YANGXue,LIHuayu,JIANGTianbo.Alpha-Beta-TSSinConnect6[C]//第27屆中國控制與決策會議.中國,青島:《控制與決策》編輯部,2015:746-751.

主站蜘蛛池模板: 在线观看国产精品第一区免费| 欧美区一区二区三| 永久天堂网Av| 欧美一区二区丝袜高跟鞋| 韩国自拍偷自拍亚洲精品| 久久国产成人精品国产成人亚洲 | 免费jjzz在在线播放国产| aaa国产一级毛片| 国产91在线|日本| 蜜桃臀无码内射一区二区三区 | 黄网站欧美内射| 亚洲精品视频免费观看| 六月婷婷精品视频在线观看| 中文字幕亚洲电影| 久久婷婷六月| 一级毛片在线播放免费| аⅴ资源中文在线天堂| 国产美女精品在线| 88av在线| 成人av手机在线观看| 激情国产精品一区| 亚洲无码免费黄色网址| 国产三级韩国三级理| 久久黄色毛片| 三区在线视频| 国产主播喷水| 国产精品林美惠子在线播放| 尤物精品视频一区二区三区 | 中国一级特黄大片在线观看| 国产资源免费观看| 亚洲嫩模喷白浆| 国产啪在线91| 青青操国产视频| 欧美在线综合视频| 国产91色| 亚洲六月丁香六月婷婷蜜芽| 欧美第一页在线| 国产高清国内精品福利| 亚洲日本韩在线观看| 国产亚洲精品97在线观看| 一本大道香蕉高清久久| 欧美中日韩在线| 色有码无码视频| 99re免费视频| 国产丝袜啪啪| 亚洲网综合| 欧美日韩激情在线| 亚洲无码熟妇人妻AV在线| a级毛片在线免费| 黄色网址手机国内免费在线观看| 日韩av高清无码一区二区三区| 91久久夜色精品国产网站| 三上悠亚精品二区在线观看| 性喷潮久久久久久久久| 91精品综合| 国产在线自乱拍播放| 日韩av无码DVD| 国产精品99在线观看| 久久精品国产999大香线焦| 国产无码在线调教| 毛片视频网| vvvv98国产成人综合青青| 免费在线成人网| 国产又粗又爽视频| 免费不卡视频| 国产成熟女人性满足视频| 青青青国产视频手机| 性视频久久| 欧美色99| 国产黄在线观看| 这里只有精品免费视频| 欧美区国产区| 在线观看亚洲人成网站| 亚洲精品天堂在线观看| 99精品热视频这里只有精品7| 啪啪永久免费av| 精品视频一区二区观看| 国产高清无码第一十页在线观看| 在线观看免费国产| 米奇精品一区二区三区| 成人午夜视频免费看欧美| 亚洲成av人无码综合在线观看|