搜索的不稳定性

搜索的不稳定性


没有这个,生活会更有趣


  当你试图写很强或很完美的程序时,搜索的不稳定性就可能出现。有很多原因可以导致不稳定性,当我讨论搜索的诸多改进方法时,顺便讨论了它们是如何导致搜索不稳定的。其他我没有讨论的搜索技巧也必须考虑不稳定的可能。

  不稳定的搜索会返回无效的值,你用(5, 25)的Alpha-Beta窗口会高出边界,因此你用(24, INFINITY)重新搜索,却低出边界。这不应该发生,因为高出边界很明显说明返回值应该是25或者更高,那怎么又会低出边界呢?
  事实就是如此,很多工作可以让国际象棋程序运行得更快或更好,但是它们或许会做一些蠢事,在用不同的窗口做搜索时返回略微不同的值。如果你没有得到你所期望的值,那么你的程序可能会陷入故障,或者产生一个使你的程序走出昏着的错误。
  一些国际象棋的程序设计师没有把握好搜索不稳定性的思想,他们宁可不用非常好的搜索算法,以避免这种情况的发生,或者他们认为这样就能够避免。
  我希望有可能完全排除搜索的不稳定性,但是就目前使用的非常基本的技术而言,很存在问题。我想解决办法就是对故障作一些防御,而别去深究不稳定性的原因。

你可能感兴趣的:(搜索的不稳定性)