我正在尝试使用JavaScript中的minimax算法实现连接四个人工智能,但目前速度非常慢。除了我将要实现的alpha-beta剪枝之外,我想知道是否值得对游戏状态进行哈希处理:
例如,如果我以深度3到达此状态(所以只需要再看4个移动),而不是深度2并且需要再看5个移动,我可能会得出不同的答案。这是否意味着我应该在哈希时考虑深度?
我的第二个问题是,将棋盘哈希到它们的评估值是否值得。构建我的哈希需要O(n)时间,并且评估棋盘需要O(n)时间(尽管实际上更像是O(2或3n))。游戏状态通常被哈希到它们的评估值吗?还是这太过于复杂了?感谢任何帮助。
- 它们的启发式评估
- 下一步最佳移动
例如,如果我以深度3到达此状态(所以只需要再看4个移动),而不是深度2并且需要再看5个移动,我可能会得出不同的答案。这是否意味着我应该在哈希时考虑深度?
我的第二个问题是,将棋盘哈希到它们的评估值是否值得。构建我的哈希需要O(n)时间,并且评估棋盘需要O(n)时间(尽管实际上更像是O(2或3n))。游戏状态通常被哈希到它们的评估值吗?还是这太过于复杂了?感谢任何帮助。