J.T*_*.T. 6 java algorithm set
我有一个问题是创建最小数量的集来覆盖整个数据集.
该问题具有数据域和一些排他性约束.排他性约束规定哪些数据不应在同一组中.
目标是找到最小数量的集合.集合的数量不必尽可能平衡(但是很高兴).
例1:
Domain = {1, 2, 3, 4, 5, 6}
Exclusivity = 1!=2, 3!=4, 4!=5, 5!=6,
Answer is two sets: {1, 3, 5}, {2, 4, 6}
Run Code Online (Sandbox Code Playgroud)
例2:
Domain = {1, 2, 3, 4, 5, 6}
Exclusivity = 1!=2, 2!=3, 3!=4, 4!=5
anwser is two sets: {1, 3, 5, 6}, {2, 4}
Run Code Online (Sandbox Code Playgroud)
例3:
Domain = {1, 2, 3, 4, 5}
Exclusivity = 1!=2, 2!=3, 3!=4, 4!=5, 5!=1
answer is three sets : {1, 3}, {2, 4}, {5}
Run Code Online (Sandbox Code Playgroud)
例4:
Domain = {1, 2, 3, 4, 5}
Exclusivity = 1!=2!=3!=4, 4!=5,
answer is four sets : {1, 5}, {2}, {3}, {4}
Run Code Online (Sandbox Code Playgroud)
!=这里是传递性的.
有谁知道这样的算法有效地解决这个问题.我记不起我从学校学到的任何解决这个问题的算法,但这已经超过10年了.
感谢帮助.
JT