一、确认重复局面
遍历zobrist 队列判断局面是否出现重复。
二、重复的性质
1 捉将/捉子(能引发长将、长捉的)
2 逃避
3 解将还将
三、避免重复
将军引发重复,应扣分。逃避引发重复,无需扣分。为防止解将还将无休止进行下去,设立最大搜索层数。
四、重复对于置换表的影响
置换表里保存的是局面的评分。重复局面下不宜直接使用缓冲在置换表中的分值。置换表命中后,判断是否是捉将/捉子,如是则扣分。这样可避促免AI走出捉将/捉子的步法。
一、确认重复局面
遍历zobrist 队列判断局面是否出现重复。
二、重复的性质
1 捉将/捉子(能引发长将、长捉的)
2 逃避
3 解将还将
三、避免重复
将军引发重复,应扣分。逃避引发重复,无需扣分。为防止解将还将无休止进行下去,设立最大搜索层数。
四、重复对于置换表的影响
置换表里保存的是局面的评分。重复局面下不宜直接使用缓冲在置换表中的分值。置换表命中后,判断是否是捉将/捉子,如是则扣分。这样可避促免AI走出捉将/捉子的步法。