[討論] 官子計算法
雖然叫官子計算法 但是事實上每一手棋都可以用
畢竟! 真正的高手 是從第一手就開始收官的...=.="
前言:看了一些官子書或是一些教棋的書
對於該先下哪一手棋常常是依據一些基本法則或是簡單的計算
但是很多時候還是讓人無所適從
例如說"急場先於大場" 但是要多急才需要先於大場
或是"逆官乘二計算" 事實上也是很粗略的算法
事實:圍棋的每一手棋 扣除會相互影響跟打劫等比較麻煩的情況外
可簡化只需要兩兩去比較先後關係 然後選出最後一手該先下的位置
但是每一手棋不能只用一個數字去代表它的大小
事實上需要用一個分支樹才能比較完整表示(後面聽不懂就別管了)
每一個左右路徑代表下一手下黑或下白
然後比較左子樹跟右子樹的情況才能標出一個差異值
這個分支樹的大小也不定 有可能無盡的擴張 只是大部份都沒用
也很難去標出有用的部份是哪一塊 所以....
結論:我們無法用簡單數字完全的表示每個地方的大小
但是仍有一些逼近的方法可以粗略的表示 下面簡列幾個方法供參考
我們一次只比較兩個地方 S處和T處
每一個地方用三個數字來表示這個地方的大小 分別是Sd,Sb,Sw
這三個數字是由下面四種棋形決定出來的
1:黑黑白黑白...
2.黑白黑白黑...
3.白黑白黑白...
4.白白黑白黑...
→ Sb = 1-2 Sd = 2-3 Sw = 3-4
每一個位置依上面四個下法得到四種棋形
再依各棋形之間的分數差異定出三個數字
計算法:下面分三種計算法 由難至簡排列 基本上就是從第一個方法化簡
下面都是就黑子的角度來寫的
A: if Sd + max(0,Sb-Tw) > Td + max(0,Tb-Sw) → 先下S
優點是準確度高 涵蓋先後手問題
缺點是需要兩兩比較 計算較久 可在比較麻煩的地方才用此法
B: if 2*Sd + Sb + Sw > 2*Td + Tb + Tw → 先下S
優點是可各自計算 較適用於一般的官子
C: if Sd > Td → 先下S
優點不用說了 簡單! 缺點當然也就是準確度低
--
上面這些是個人對官子的一些想法跟計算
還不確定是對是錯
邊下邊想結果老是時盡敗...=.="
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.194.81
推
221.169.56.122 07/11, , 1F
221.169.56.122 07/11, 1F