我想知道图搜索算法的复杂性是用于确定Big O表示法中国际象棋的一个将死。
答案 0 :(得分:2)
世界上最好的国际象棋引擎使用“最可能的”图搜索。
这篇维基百科文章非常实用:http://en.wikipedia.org/wiki/Game_complexity
“Allis还估计游戏树复杂度至少为10123,”基于平均分支因子35和平均游戏长度80“。作为比较,可观察宇宙中的原子数,它经常被比较,估计在4×1079和1081之间。“
答案 1 :(得分:0)
答案 2 :(得分:0)
如果你只是想检查一个给定的棋盘是否包含一个将死,那么你可以这样做:
件数确实起作用,所以如果你有一个任意大小的板子有n件,那就很重要了。在这种情况下,瓶颈将是检查所有碎片,如果他们攻击一个位置,因为另一件可以阻止攻击。一个简单的实现可以在二次时间内完成。 通过将片段的位置保持在一组中并对add()和contains()进行优化,你可以将其降低到n的线性(尽管电路板的大小也会影响这一点)所以我猜线性复杂度是可行的。
答案 3 :(得分:0)
答案是算法将通过剩余的棋子(N)解决所有可能的移动。因为一旦复杂度为O(N)(线性),它只通过每个部分。