我正在建造一个国际象棋引擎作为我的项目。经过一番研究后,我决定使用negascout算法实现alpha-beta修剪的minimax。我也将使用迭代加深,因为我必须对每次搜索施加时间限制而不是深度限制。杀手启发式技术将用于优化搜索。我需要知道这些选择是否会给我最佳的性能/代码复杂度比率。请建议我是否应该排除上述任何内容或包括任何额外内容。
另一个问题是,因为我有一个可用的集群,我需要让程序尽可能“智能”。我想分发搜索以增加深度。我已经阅读了关于并行搜索的Chess programming wiki文章,但没有提供太多细节。我的看法是,只需将第1级的不同兄弟姐妹发送到不同的处理器并让他们自己搜索这些子树就可以了。共享转置表将具有很大的优势,但它们如何与表进行通信?这将是搜索中的巨大开销。谢谢:))
对不起,如果我在做什么在这里被认为是错误的,但我需要碰到这个帖子。我真的需要答案。任何人吗?