我正在尝试解决优化问题,但首先我必须找到n个元素的所有可能组合的数量,但考虑到一些冲突。一个可能的例子可能是:
元素:{1,2,3,4} 冲突:{1,2},{3,4}
术语“冲突”表示不得将属于同一冲突集的数字分配到同一组合中。冲突集也不总是不相交的,每个冲突集中的元素总是两个。
到目前为止,我只发现了如何计算所有可能的组合,即2 ^ n。
谢谢。
答案 0 :(得分:0)
冲突集可以建模为图中的边。您要求图表中的独立顶点集的数量
图G的独立顶点集是顶点的子集,使得子集中没有两个顶点表示G的边缘 - http://mathworld.wolfram.com/IndependentVertexSet.html
上面的链接也指的是一个叫做独立多项式的东西,它可以用来计算这些东西 - 虽然这只有在冲突图有一个很好的结构时才有用。已知确定独立集数量的一般问题是#P-complete(有关此复杂性类别的定义,请参阅https://en.wikipedia.org/wiki/Sharp-P-complete),因此您的问题很难有简单的答案。在某些情况下,马尔可夫链技术已经应用于近似这个数字。见http://www.researchgate.net/publication/221590282_Approximately_Counting_Up_To_Four_(Extended_Abstract)