作者Dudio (._.)
看板LGS
标题[讨论] 官子计算法
时间Mon Jul 11 22:59:40 2005
虽然叫官子计算法 但是事实上每一手棋都可以用
毕竟! 真正的高手 是从第一手就开始收官的...=.="
前言:看了一些官子书或是一些教棋的书
对於该先下哪一手棋常常是依据一些基本法则或是简单的计算
但是很多时候还是让人无所适从
例如说"急场先於大场" 但是要多急才需要先於大场
或是"逆官乘二计算" 事实上也是很粗略的算法
事实:围棋的每一手棋 扣除会相互影响跟打劫等比较麻烦的情况外
可简化只需要两两去比较先後关系 然後选出最後一手该先下的位置
但是每一手棋不能只用一个数字去代表它的大小
事实上需要用一个分支树才能比较完整表示(後面听不懂就别管了)
每一个左右路径代表下一手下黑或下白
然後比较左子树跟右子树的情况才能标出一个差异值
这个分支树的大小也不定 有可能无尽的扩张 只是大部份都没用
也很难去标出有用的部份是哪一块 所以....
结论:我们无法用简单数字完全的表示每个地方的大小
但是仍有一些逼近的方法可以粗略的表示 下面简列几个方法供参考
我们一次只比较两个地方 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
1F:推 YuGar:问题在於,一手的价值,有时要看次一手才能显现啊 221.169.56.122 07/11