鉴于家庭最多ň的子集{ 1 ,2 ,... ,ñ }。并集闭包F是另一个集族C,其中包含可以通过在F中采用1个或更多集的并集来构造的每个集。由| C | 我们表示C中的集合数。
计算联合关闭的最快方法是什么?
我已经证明了联合闭包和在二部图中列出所有最大独立集之间的等价关系,因此我们知道确定联合闭包的大小是#P-完全的。
然而,有一种方法,以列出所有极大独立集(或最大小集团)时用于与图形Ñ节点和米边缘筑山等人。1977年。但这并不专门用于二部图。
我们给出了带有运行时的二部图的算法 http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf
我们的方法基于这样的观察:中的任何元素都可以通过C的其他一些元素与原始集合之一的并集来构成。因此,每当我们向C添加元素时,我们都会尝试将其扩展为n个原始集合之一。对于这些的ñ ·&| C | 设置我们需要检查它们是否仍然在C中。我们将C存储为二进制搜索树,因此每次查找都需要log | C | ⋅ ñ时间。
是否有可能找到工会闭合在Ò (| C ^ |·&ñ 2)的时间?甚至在时间Ø (| C ^ |·&ñ )?
等效于您在并闭和最大ind之间显示。在二部图中设置,等价是双射吗?换句话说,在您列出所有混合ind的算法中。的二部图的集合是最大ind数。套?
—
Vinayak Pathak 2012年
是的,这是一个双射,所以是最大独立集的数量。(请注意,emptyset必须定义为C)。
—
Martin Vatshelle 2012年
尽管这不太可能解决您的问题,但您要问的是一种特殊情况,用于计算晶格中元素的向上闭合,我想知道那里是否有有用的结果。
—
Suresh Venkat 2012年
我在下面的答案中指出的调查给出了一些与格子的链接。
—
M.kanté2012年