有6个座位和4个人,必须根据一些最优标准分配座位。例如:
Allocation 1:
_ _ _ _ _ _
1 2 3 4
Allocation 2:
_ _ _ _ _ _
1 3 2 4
...
问题1:它是哪个组合学问题?
问题2:搜索所有可能组合的最合适算法的名称是什么?
答案 0 :(得分:3)
1。)没有重复的n的k-置换: http://www.statlect.com/comdis1.htm
2.)这取决于您要搜索的内容。例如,我为您提供遗传算法,如果您可以订购“良好程度”,可以根据特殊的启发式找到最佳候选者。可能的解决方案。
答案 1 :(得分:1)
要回答问题1,请注意,对于4人的序列,有4!
个可能性。此外,6-4=2
非占用席位必须位于人员之间,其中有4+1=5
个插槽(在每个人之前和最后一个人之后),从而产生5+2-1 choose 2
种可能性,其中choose
表示二项式系数,通过解释为stars and bars问题。总的来说,有
4!(6 choose 2)
可能性,或参数化
m!(m+1+n-m-1 choose n-m) = m!(n choose n-m)
其中m
是人数,n
是座位数;使用身份
n choose k = n!/(k!(n-k)!)
这可以简化为
n!/(n-m)!
确实是n
- 定义here的m
个对象的排列。
关于问题2,这实际上取决于最优性标准以及是否需要精确,近似或启发式算法。