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

一種五子棋博弈算法的分析

2017-05-16 06:10:13周洋鄧?yán)?/span>謝煜
現(xiàn)代計(jì)算機(jī) 2017年10期
關(guān)鍵詞:深度計(jì)算機(jī)效率

周洋,鄧?yán)颍x煜

(武漢科技大學(xué)計(jì)算機(jī)學(xué)院,武漢 430065)

一種五子棋博弈算法的分析

周洋,鄧?yán)颍x煜

(武漢科技大學(xué)計(jì)算機(jī)學(xué)院,武漢 430065)

博弈是用來解決一組決策者之間沖突或合作問題的數(shù)學(xué)方法。在實(shí)現(xiàn)玩家和電腦之間的五子棋對(duì)弈時(shí),常常使用博弈方法來確定電腦的走法步驟。經(jīng)過對(duì)五子棋的一種博弈算法設(shè)計(jì)和實(shí)現(xiàn)的分析,總結(jié)出五子棋問題求解的算法思路,并分析出算法的性能瓶頸及相應(yīng)的解決方案。

極大極小搜索算法;Alpha-beta剪枝;博弈;五子棋

0 引言

五子棋是一種深受大家喜愛的棋類游戲,其規(guī)則簡(jiǎn)單,變化多樣,為其增加了更多的趣味性。五子棋起源于中國(guó)古代棋類,而對(duì)其發(fā)展起重大作用的是日本。18世紀(jì)五子棋在日本流行起來,后來發(fā)現(xiàn)五子棋有執(zhí)黑先行必勝定律,為了讓其能更公平,在比賽中添加了許多禁手規(guī)則,而在業(yè)余人士的游戲中則一般不設(shè)置這些規(guī)則。五子棋發(fā)展至今禁手規(guī)則已逐漸削弱了執(zhí)黑先行的優(yōu)勢(shì)。在1997年計(jì)算機(jī)就下贏了當(dāng)時(shí)的國(guó)際象棋冠軍。而對(duì)五子棋一直以來都沒有發(fā)展出一種可以絕對(duì)取勝算法。原因就在于五子棋(15×15)的搜索空間比國(guó)際象棋(8×8)更大。想在有限的時(shí)間找出一種必勝的策略顯然是件非常困難的事。博弈是在一定條件下,遵守一定的規(guī)則,一個(gè)或幾個(gè)擁有絕對(duì)理性思維的人或團(tuán)隊(duì),從各自允許選擇的行為或策略進(jìn)行選擇并加以實(shí)施,并從中各自取得相應(yīng)結(jié)果或收益的過程。博弈最終是要取得一種均衡解,即博弈的參與者對(duì)其收益達(dá)到一種較為滿意的程度。所以將博弈應(yīng)用于五子棋算法的研究可以有效地提高算法的效率。

五子棋的對(duì)弈雙方只能是黑子或者白子,而執(zhí)黑先行者一般都會(huì)選擇在棋盤中心,所以五子棋的開局往往比較相似,常見的有26種開局。如下:

圖1

而在這次將博弈的思想應(yīng)用于五子棋用到了極大極小的搜索算法和α-β剪枝算法。運(yùn)用這兩個(gè)算法和已經(jīng)確定的分?jǐn)?shù)表來產(chǎn)生出當(dāng)前節(jié)點(diǎn)的評(píng)估分值,計(jì)算機(jī)選擇一個(gè)對(duì)自己最有利的點(diǎn)落子。

1 主要算法

1.1 極大極小搜索算法

一般在一個(gè)五子棋對(duì)弈中如果采用暴力搜索得到最終結(jié)果,則會(huì)使搜索樹的深度非常大,盡管計(jì)算機(jī)的計(jì)算性能在不斷加快,但還是不能滿足需要,主要是因?yàn)楹臅r(shí)太長(zhǎng)。所以一般是規(guī)定一個(gè)搜索深度,然后在這個(gè)深度里進(jìn)行深度優(yōu)先搜索。而此處設(shè)計(jì)的極大極小搜索算法就是一個(gè)在有限深度上找出一個(gè)當(dāng)前搜索深度對(duì)自己最有利的節(jié)點(diǎn),從而做出一個(gè)最優(yōu)的選擇。由此也可以看出搜索深度越深評(píng)估出的值更接近真實(shí)值。

舉個(gè)例子來說明這個(gè)算法:假設(shè):A和B對(duì)弈,當(dāng)前到A落子,此時(shí)我們會(huì)遍歷A的每一個(gè)落子點(diǎn),而對(duì)于A的每一個(gè)具體的落子點(diǎn),遍歷B的每一個(gè)落子點(diǎn),然后再遍歷A的每一個(gè)落子點(diǎn)(如圖2),如此搜索下去,直到達(dá)到搜索深度。到此就遍歷了A的所有節(jié)點(diǎn)。

圖2

但是并沒有結(jié)束,我們得選出一個(gè)最有利的點(diǎn)落子,在剛剛的遍歷中我們已經(jīng)評(píng)估出每一個(gè)節(jié)點(diǎn)分?jǐn)?shù)值,如圖2所示。在搜索樹中,A落子的點(diǎn)為極大值點(diǎn),B落子的點(diǎn)為極小值點(diǎn)。這是因?yàn)锳落子時(shí)肯定會(huì)選出對(duì)自己最有利的點(diǎn)下棋,而B會(huì)選擇一個(gè)當(dāng)前局面評(píng)分最小的點(diǎn)來落子。這樣做的目的就是為了在有限深度的搜索里找出最佳的走法。

1.2 Alpha-Beta剪枝

使用alpha-beta剪枝算法可以剪去一些不必要的分支,從而提高搜索效率,是一種優(yōu)化博弈樹的搜索算法。

圖3

將alpha-beta剪枝算法與極大極小搜索算法結(jié)合起來,可以有效改善決策搜索的性能。假設(shè):A和B對(duì)弈,當(dāng)前已通過極大極小搜索算法遍歷出部分節(jié)點(diǎn)的值,假設(shè)如圖3所示,當(dāng)前對(duì)第二行第二個(gè)節(jié)點(diǎn)的深度搜索中出現(xiàn)了-2這個(gè)值,這就表明在其之后的節(jié)點(diǎn)中即使有比-2大的值,第二行第二個(gè)節(jié)點(diǎn)的值都不可能超過-2,由于第二行以一個(gè)節(jié)點(diǎn)的值已經(jīng)為7,故可將-2這個(gè)節(jié)點(diǎn)這條路剪去,從而有效的節(jié)約了計(jì)算機(jī)資源,提高效率。對(duì)于α-β剪枝算法來說最主要的影響是排列順序,理想排列順序下的剪枝效率和最差情況下的剪枝效率相差極大。

圖4

2 性能分析

在這個(gè)五子棋游戲的設(shè)計(jì)中,除了以上兩個(gè)算法外最重要的就是評(píng)分表的設(shè)定,一個(gè)好的評(píng)分表對(duì)結(jié)果的影響也是顯而易見的,在這里由于很多人已經(jīng)做過相應(yīng)的研究,有很多比較好的評(píng)分表,所以這里可以借鑒那些經(jīng)過時(shí)間檢驗(yàn)過的評(píng)分表。不同搜索深度和搜索廣度對(duì)算法的效率影響較大,在這里以搜索深度為三(由于實(shí)際并不用遍歷所有節(jié)點(diǎn),此處設(shè)置了搜索的廣度為七)和搜索深度為五的比較為例進(jìn)行算法的性能分析。理論上,深度為五和深度為三的算法的復(fù)雜度分別為O(n3)和O(n5),但是經(jīng)過alpha-beta剪枝,算法的執(zhí)行時(shí)間要遠(yuǎn)遠(yuǎn)低于這個(gè)值。我們分別實(shí)測(cè)了兩種不同深度下算法的執(zhí)行時(shí)間,每組分別重復(fù)執(zhí)行了五次,測(cè)試結(jié)果如表1和表2所示。

以上數(shù)據(jù)表明,depth=5的耗時(shí)大概為depth=3 的4到9倍,比理論上預(yù)估的倍數(shù)49要小很多,由此可以說明alpha-beta剪枝算法有效縮小求解搜索空間的大小,大幅度降低計(jì)算復(fù)雜度,從而縮短了執(zhí)行時(shí)間。

3 結(jié)語

一個(gè)好的算法可以有效地提高計(jì)算效率,節(jié)約時(shí)間。將博弈的思想應(yīng)用于五子棋問題的求解也正是出于此目的,由以上的分析可知五子棋博弈對(duì)搜索算法的效率有很高的要求。在算法中融入博弈的思想,力求在更快的時(shí)間里找出一個(gè)均衡解,本文證實(shí)這里使用的極大極小搜索算法與alpha-beta剪枝算法結(jié)合是一種高效的評(píng)估算法,由此可以更快地找出相對(duì)較好的解決方案。

表1 深度為3時(shí)五子棋每走一步的時(shí)間

表2 深度為5時(shí)五子棋每走一步的時(shí)間

[1]嚴(yán)蔚敏,吳偉民.?dāng)?shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學(xué)出版社,2011.

[2]王曉東.計(jì)算機(jī)算法設(shè)計(jì)與分析(第4版)[M].北京:電子工業(yè)出版社,2012.

[3]A.Levitin著.算法設(shè)計(jì)與分析基礎(chǔ)(第3版)[M].潘彥譯.北京:清華大學(xué)出版社,2015.

[4]B.Eckel著.Java編程思想(第4版)[M].陳昊鵬譯.北京:機(jī)械工業(yè)出版社,2007.

Analysis of a Game Playing Algorithm for Five-in-a-Row

ZHOU Yang,DENG Li,XIE Yu
(College of Computer Science and Technology,Wuhan University of Science and Technology,Wuhan 430065)

Game playing is a mathematical method to tackle conflict or cooperation between several decision-makers.Game playing is often used to find an optimal solution to five-in-a-low.By analyzing the design and implementation of a game playing algorithm for five-in-a-row, gives thorough design thoughts,finds performance bottleneck,and also presents according solution.

Max-Min Search;Alpha-Beta Pruning;Game Theory;Five-in-a-Row

1007-1423(2017)10-0008-03

10.3969/j.issn.1007-1423.2017.10.002

鄧?yán)颍?972-),女,湖北鐘祥人,博士,研究方向?yàn)樵朴?jì)算、分布式計(jì)算

2017-01-12

2017-03-28

周洋(1994-),男,湖北黃岡人,本科生

謝煜(1993-),男,湖北仙桃人,本科生

猜你喜歡
深度計(jì)算機(jī)效率
計(jì)算機(jī)操作系統(tǒng)
深度理解一元一次方程
提升朗讀教學(xué)效率的幾點(diǎn)思考
甘肅教育(2020年14期)2020-09-11 07:57:42
基于計(jì)算機(jī)自然語言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡(jiǎn)介
科技傳播(2019年22期)2020-01-14 03:06:34
深度觀察
深度觀察
深度觀察
信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
跟蹤導(dǎo)練(一)2
Fresnel衍射的計(jì)算機(jī)模擬演示
主站蜘蛛池模板: 国产一区亚洲一区| 国产激情无码一区二区免费 | 免费在线视频a| 丁香六月激情综合| 在线色国产| 欧美激情综合| 91精品专区国产盗摄| 四虎永久在线| 亚洲AV无码乱码在线观看代蜜桃 | 日本a级免费| 黄色网在线| 色亚洲激情综合精品无码视频| 青青草原国产免费av观看| 88av在线| 午夜视频www| 精品国产成人av免费| 美女高潮全身流白浆福利区| 少妇人妻无码首页| 精品一區二區久久久久久久網站 | 国产成人无码综合亚洲日韩不卡| 黑色丝袜高跟国产在线91| 国产精品亚洲片在线va| 亚洲成人在线免费| 国产欧美专区在线观看| 五月婷婷精品| 久久亚洲AⅤ无码精品午夜麻豆| 全免费a级毛片免费看不卡| 欧美激情首页| 国产第一福利影院| 国产69精品久久久久孕妇大杂乱 | 97免费在线观看视频| 欧美成人精品在线| 伦伦影院精品一区| 四虎成人精品在永久免费| 免费aa毛片| 国产亚洲欧美日韩在线一区| 国产 在线视频无码| 18禁黄无遮挡免费动漫网站| 婷婷综合缴情亚洲五月伊| 在线播放国产99re| 亚洲区视频在线观看| 亚洲第一页在线观看| 国产在线小视频| 欧美精品亚洲精品日韩专区va| 五月婷婷亚洲综合| 少妇精品在线| 蜜桃视频一区二区| 国产91特黄特色A级毛片| av大片在线无码免费| 色综合成人| 性视频久久| 精品一区二区三区中文字幕| 成年人午夜免费视频| 国产1区2区在线观看| 尤物精品国产福利网站| 国产99在线| 五月婷婷综合网| 日韩AV无码一区| 中文字幕久久波多野结衣| 久久综合色视频| 国产黄网永久免费| 精品一区国产精品| 亚洲乱码在线视频| 亚洲综合欧美在线一区在线播放| 国产一区二区人大臿蕉香蕉| 中文一区二区视频| 57pao国产成视频免费播放| 精品国产污污免费网站| 精品国产91爱| 亚洲三级网站| 91福利免费| 国产成人精品在线| 久久国产精品电影| 日韩无码真实干出血视频| 国产精品女在线观看| 久久久91人妻无码精品蜜桃HD| 91精品久久久久久无码人妻| 日韩无码精品人妻| 国产三级精品三级在线观看| av在线手机播放| 国产精品无码久久久久久| 欧美爱爱网|