我正在构建一个系统,该系统将根据竞争者列表创建锦标赛。
竞争者具有可能无法将他们放在括号中的属性,例如性别、体重、技能水平等。
在某些情况下,这会变得非常复杂:
- 竞争者可能会上升一个体重等级,但永远不会下降
- 在一定年龄下,性别可能是混合的。
什么是让这些人进入最佳括号的好方法(例如,4、8、16 的尺寸)?在不尝试所有排列的情况下,是否有一个已知的算法?
我正在构建一个系统,该系统将根据竞争者列表创建锦标赛。
竞争者具有可能无法将他们放在括号中的属性,例如性别、体重、技能水平等。
在某些情况下,这会变得非常复杂:
什么是让这些人进入最佳括号的好方法(例如,4、8、16 的尺寸)?在不尝试所有排列的情况下,是否有一个已知的算法?
这称为约束满足问题(CSP)。解决它的最简单且在许多情况下最有效的方法之一是使用回溯的蛮力搜索。
在赋值时,有一些很好的启发式指导方针可以遵循。
最小剩余价值(MRV) 启发式表示,在决定接下来分配括号中的哪个位置时,选择可能分配给它的人数最少的那个。
最小约束值(LCV) 启发式表示,在将一个人分配到某个位置时,您应该选择排除最少选择的人。
AIMA 有一个关于 CSP 的优秀章节:http: //aima.cs.berkeley.edu/newchap05.pdf