我遇到了一个特定的问题,并为它寻找一些算法。要解决的问题如下所述。
假设我们有如下组合
1 - 3 - 5
1 - 4 - 5
1 - 8 - 5
2 - 4 - 5
3 - 4 - 5
2 - 4 - 7
这些组合是从给定的集合中生成的,在这种特殊情况下,让我们说
{1},{3,4,8},{5}
{2,3},{4},{5}
{2}、{4}、{7}
我想做的是从这些组合中重新创建集合。我知道对于这些组合,您有不止一种解决方案,例如
第一个解决方案
{1}、{3、4、8}、{5}
{2, 3}, {4}, {5}
{2}、{4}、{7}
第二种解决方案
{1}、{3、8}、{5}
{1、2、3}、{4}、{5}
{2}、{4}、{7}
第三个解决方案
{1}、{3、4、8}、{5}
{3}、{4}、{5}
{2}、{4}、{5、7}
但是最终(最佳)解决方案将是具有尽可能少的集合的解决方案,或者是随机解决方案,以防它们在集合计数方面都相等。
是否存在针对此类问题的算法?如果任何一直在处理此类问题的人可以给我一些提示,我将不胜感激。
编辑:看起来我正在寻找的是 n 元积的分解(N 的笛卡尔积)
编辑:在对该主题进行更多研究后,我发现该问题在“图论”中被称为“最小集团覆盖”问题
问候,巴兹