如何概括组合

时间:2019-04-09 17:14:59

标签: algorithm math linear-algebra

正在处理自动生成的配置文件。 我有3个因素的组合:

{a1,m1,c1}
{a1,m1,c2}
{a1,m2,c1}
{a2,m1,c1}
{a2,m1,c2}

现在,我想将这5个表达式“压缩”为尽可能少的表达式,在这种情况下,最小2个(顺序无关紧要):

{{c1,c2},{m1},{a1,a2}} 
{{c1},{m2},{a1}}

我们看到,我们可以轻松地从压缩表达式生成原始组合。

我的问题是如何概括将组合压缩为最少表达式的算法?

我的情况比较复杂,有4个或5个因素。

我相信已有一个执行此操作的算法,您可以共享该算法的链接吗?

更新:

一个更普遍的情况,有两个因素:

使用

{a1,a2,a3} {c1,c2,c3}

我们可以生成

{a1,c1} {a1,c2} {a1,c3}, {a2,c1} {a2,c2} {a2,c3} {a3,c1} {a3,c2} {a3,c3} 

我怎么推断

{{a1,a2,a3},{c1,c2,c3}}

来自

{a1,c1} {a1,c2} {a1,c3}, {a2,c1} {a2,c2} {a2,c3} {a3,c1} {a3,c2} {a3,c3}

0 个答案:

没有答案