我想做一个C程序来找到最小数量。我需要使用迷你最大算法来检查交配中的配对。我应该使用迷你最大算法。很多搜索都没有让我获得任何富有成效的东西。如果有人给出了一些步骤,那将会有很大的帮助这样做。
答案 0 :(得分:3)
每个min-max算法都认为你拥有所有可能位置的树。 所以一开始你必须把这棵树搞得一团糟。 考虑到所有其他部分,King的行动有限(8),树会长得足够大。
你应该用于评估的功能是一个重视董事会,其中对面的King往往被放置在董事会的终点线上(因为如果你知道在你感兴趣的场景中如何实现配合,那就是配偶的位置)。 因此,在树的每个位置,国王更接近董事会的终点线,这个功能将具有更大的价值。
对于我的国际象棋体验,考虑到你感兴趣的场景中每个给定棋盘的最大移动次数是25 ...
电路板上每个位置的功能值的简单示例:
100 90 90 90 90 90 90 100
90 80 80 80 80 80 80 90
90 80 70 70 70 70 80 90
90 80 70 60 60 70 80 90
90 80 70 60 60 70 80 90
90 80 70 70 70 70 80 90
90 80 80 80 80 80 80 90
100 90 90 90 90 90 90 100
答案 1 :(得分:0)
我建议定义所有终端位置(将死和僵局)并向后工作,为每个位置创建一个位置哈希表和“交配距离”。或者下载Nalimov表库,因为此任务已经完成!