【问题标题】:Chess algorithm transposition tables国际象棋算法转置表
【发布时间】:2018-04-22 19:41:02
【问题描述】:

我正在创建国际象棋算法。我发现转置表可能会提高算法的速度,但看起来很奇怪。

我为第 4 个深度的位置创建表格,并在此级别上将位置与此表格进行比较。如果表有这个位置,我会得到这个位置的值并跳过这个节点。如果我没有找到这个位置,我会计算它更深的分数并将这个位置添加到表中。它改进了我对每个位置的算法。例如从 577576 个搜索到的叶子到 425310 个。当我对第 5 个深度执行相同操作时,它会增加搜索到的叶子的数量。

是否有可能使用转置表增加搜索叶子的数量?

【问题讨论】:

  • 这个问题太宽泛了,细节也太薄了。我们没有水晶球,我们只能评论你能证明我们能看懂的代码。
  • @melpomene 这似乎是“帮助我需要制定一个国际象棋算法”,正如您所指出的,这根本不是一个问题。
  • 如果您使用 Alpha Beta 算法并为深度 3 的节点使用深度 5 的转置条目,那么理论上可以搜索更多节点。我有一个类似的问题,但我不确定这是否是原因。

标签: hashtable chess


【解决方案1】:

一个好的国际象棋引擎应该总是使用转置表。您的表键应该具有作为参数的深度。您不需要为每个深度分配一个表。

TT 表很可能会提高您的搜索速度。

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 2013-05-24
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多