五子棋初步以及对五子棋的局面估值
生活随笔
收集整理的這篇文章主要介紹了
五子棋初步以及对五子棋的局面估值
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我對(duì)五子棋還是有一點(diǎn)研究的。
雖然現(xiàn)在技術(shù)大不如前了,但理論知識(shí)還在。
其實(shí)所有棋類游戲,先手都有一個(gè)優(yōu)勢(shì)。(黑白棋除外,由于黑白棋特殊的勝負(fù)判定方式,黑白棋甚至有后手優(yōu)勢(shì))
為什么有先手優(yōu)勢(shì)?
這是因?yàn)?#xff0c;無論是五子棋,象棋,跳棋,等等,先手方都先走了一步。
以五子棋為例,先達(dá)成五子連珠者勝,由于黑方先走了一步,五子棋幾乎是先手必勝的局面。
如果勝負(fù)方式改為,如果黑方達(dá)成五子連珠之后,白棋也可在一步之內(nèi)達(dá)成五子連珠,判定平手。
如果這樣,就公平了。
但是如果這樣,對(duì)弈也就沒有意義了。
因?yàn)楹笫挚梢韵赂仁忠粯拥钠宀?#xff0c;永遠(yuǎn)不會(huì)有勝負(fù)。
所以為了平衡先手優(yōu)勢(shì),各種棋類都有一個(gè)補(bǔ)償規(guī)則。如五子棋的禁手以及三手交換五手兩打,圍棋的貼目等。
象棋還有一個(gè)貼時(shí)。跳棋由于對(duì)弈方人數(shù)不同而情況不同不討論。(實(shí)際上是因?yàn)槲姨逄?#xff09;
但是棋類游戲依然不會(huì)達(dá)成絕對(duì)平衡。
這些不談,我今天只談一談無禁手下的五子棋。
先說一下什么是禁手,禁手是僅對(duì)黑方而言的,三三禁,四四禁,長連禁,在此不解釋,如有興趣請(qǐng)自行百度。。。
無禁手就是對(duì)先手無任何限制。
三手交換是為了防止黑方開必勝局的。
但據(jù)我理解,所有開局,都是黑優(yōu)。(因?yàn)楹谙茸吡艘徊?#xff09;
黑必勝局就是基本上可以在20步之內(nèi)把白殺出翔來。
三手交換的意思就是黑下第三手的時(shí)候,白方可以提出交換。。。然后執(zhí)黑者執(zhí)白執(zhí)白者執(zhí)黑。
五手兩打是黑下第五手的時(shí)候下兩處,白方選一處。(據(jù)我理解實(shí)際上完全沒什么用,只是白方可以選一個(gè)自己比較熟悉的局面)
這些都是為了限制黑方的先手優(yōu)勢(shì)。
我今天主要談一談五子棋的局面估值。
我打算寫五子棋的人機(jī)對(duì)戰(zhàn)。
五子棋的局面并不復(fù)雜,估值還算比較簡單。
初步?jīng)Q定估值為雙方活三數(shù)和活二數(shù)。
以黑白方不同而參數(shù)權(quán)重不同。
如果己方占據(jù)先機(jī),則估值以自己活三活二數(shù)為重。
如果己方不利,則盡量消除對(duì)方活二數(shù)。
一條線連續(xù)兩個(gè)子并且該線兩子無對(duì)方子為活二。(不連續(xù),兩子之間有一空格也算活二)
活三則是在活二基礎(chǔ)上下一個(gè)子。
死三是活三被對(duì)方防守一子。
活四……如果有活四,就已經(jīng)勝利了。
有死四或者活三,就必須要防守了。
以這些參數(shù)乘以權(quán)值,作為估值函數(shù)。
然后用估值函數(shù)博弈樹搜索。
返回搜索N層之后的估值。
取估值最高的點(diǎn)作為下子點(diǎn)。
嗯,就這樣。
總結(jié)
以上是生活随笔為你收集整理的五子棋初步以及对五子棋的局面估值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的github地址
- 下一篇: bootstrap API地址