某些游戏,如跳棋,有强制移动。例如,在跳棋中,如果有可用的跳跃,玩家必须超越任何非跳跃动作。
如果跳跃是强制性的,是否还需要静止搜索?
我的想法是我可以开发一个静止搜索的实现,它首先检查跳转是否可用。如果有那么它可以跳过所有非跳跃动作。如果只有一个跳跃动作可用,那么我根本不需要进行搜索。
因此,如果我最初不必在第一步中跳跃,我只会使用静止搜索。我只会在我的 alpha-beta 剪枝中激活静默搜索。(只有当我的第一个算法首先检查是否有可用的跳转返回 0 时,alpha-beta 才会激活,这意味着没有可用的跳转。)
我实施静止搜索的想法是否正确?
由于严重的内存限制,在优化方面我的选择很少,因此我不会使用 PVS 或其他类似的算法,因为它们需要额外的内存。