完全基于对人类思维的模拟,与MC方法无关。只适合作预判断,博弈模拟需要更严格的模式,不然容易得到错误的结果。
注意按照下面的代码BUG百出,其中还有很多问题没有考虑,比如落下的子会不会被马上叫吃或者被提掉,以及其它子对棋块的影响。最后的存活判断只根据围空数进行判断也是错误的,比如当围空数是4的时候,空点呈正方形分布是不能存活的但呈L形分布则可以存活。
=====================================================================
如图1,当白棋落下后黑棋在右边防守限制白旗进入右侧,此时白棋必需选择增加气数避免被叫吃并尽量增加自己的围空范围。
(图1)
如图2,白棋向左,黑棋继续限制白棋围空,白棋降低高度继续围空。
(图2)
此时黑棋不能继续限制白棋围空,因为上一个子只有2口气且和下一个子共用1口气,白棋占据共用气点后可以连续叫吃从而围取更大的面积。
(图3)
对于右侧亦然。白棋可以不断降低高度继续前进,黑棋则在避免连续叫吃的情况下进行限制。
实验表明,黑棋采取直接进攻的方法并不明智,白棋在没有限制的情况下能获得更多的实地。
需要指出的是,其它子可以影响连续叫吃的出现,需要额外的判断所以黑棋不一定不能连续压迫白棋。
cpp code:
200字以内,仅用于支线交流,主线讨论请采用回复功能。