精确覆盖问题

✍ dations ◷ 2024-12-22 18:39:18 #理论计算机科学,NP完全问题

在一个全集X中若干子集的集合为S,精确覆盖是指,S的子集S*,满足X中的每一个元素在S*中恰好出现一次。

在计算机科学中,精确覆盖问题指找出这样的一种覆盖,或证明其不存在。这是一个NP-完全问题,也是卡普的二十一个NP-完全问题之一。

满足以下条件的集合为一个精确覆盖:

合二为一,即X中的元素在S*中出现恰好一次。

S {\displaystyle {\mathcal {S}}} , , , } 是集合 = {1, 2, 3, 4}的一个子集的集合,并满足:

其中一个子集 {, } 是 的一个精确覆盖,因为 = {1, 3} 而 = {2, 4} 的并集恰好是 = {1, 2, 3, 4}。同理, {, , } 也是 .的一个精确覆盖。空集并不影响结论。

通常我们用S的每个子集与X的元素之间包含关系的二元关系来表示精确覆盖问题。

包含关系可以用一个关系矩阵表示。. 矩阵每行表示S的一个子集,每列表示X中的一个元素。矩阵行列交点元素为1表示对应的元素在对应的集合中,不在则为0.

通过这种矩阵表示法,求一个精确覆盖转化为求矩阵的若干个行的集合,使每列有且仅有一个1。同时,该问题也是精确覆盖的典型例题之一。

下图为其中一个例子:

S* = {, , } 便是一个精确覆盖。

包含关系也可以用一个二分图表示。

二分图左侧每个节点表示S的每个集合,右侧每个节点表示X的每个元素,而精确覆盖便是一种匹配,满足右侧的每个点恰好有一条边。

Exact-cover-bigraphExact-cover-bigraph-solved

X算法是高德纳提出的解决该问题的算法,而舞蹈链算法(Dancing Links,DLX)算法是X算法在计算机上的一种高效实现。

相关

  • 食管裂孔疝食管裂孔疝(hiatus hernia、hiatal hernia)是一种疝气,是腹部的器官(通常是胃)通过横膈膜进入纵膈腔中。这可能导致胃食道逆流(GERD)或咽喉反流,其症状包括口腔酸味或胃灼热感。其他
  • 溶组织内阿米巴溶组织内阿米巴,又称赤痢变形虫,学名 Entamoeba histolytica,是一种厌氧的原生动物,属于内阿米巴属。溶组织内阿米巴主要感染人类和其他灵长类动物,估计感染全球总人数约为50万人
  • 廷德尔空军基地廷德尔空军基地(英语:Tyndall Air Force Base)是位于美国佛罗里达州贝县的一个人口普查指定地区。廷德尔空军基地的座标为30°04′43″N 85°34′35″W / 30.07861°N 85.57639
  • 水的电离水的电离,或称水的自偶电离,可以简化为两个水分子互相反应,生成一个水合氢离子和一个氢氧根离子的过程,属于水的质子自迁移反应。反应方程为:水的电离是可逆的,其平衡常数为该平衡
  • 厦门五缘实验学校厦门五缘实验学校位于福建省厦门市惠灵顿路,九年一贯制公办学校。学校创办于2008年秋季,占地面积25021平方米。
  • .ms.ms为英国海外领地蒙特塞拉特国家及地区顶级域(ccTLD)的域名。Microsoft 将其用作 ch9.ms 或 OneDrive 的 1drv.ms 等项目的缩写。同时,AKA.ms 被广泛用作 Microsoft 网站(例如
  • 阿林佩什蒂乡坐标:45°05′N 23°48′E / 45.083°N 23.800°E / 45.083; 23.800阿林佩什蒂乡(罗马尼亚语:Alimpești)是罗马尼亚的乡份,位于该国西南部,由戈尔日县负责管辖,面积35平方公里,海拔
  • 法荷航货运法国航空-荷兰航空货运(法语:Air France-KLM Cargo)是是法荷航集团旗下子公司,总部位于巴黎夏尔·戴高乐国际机场,同时也是法国国家航空公司。
  • 两用音节两用音节(古希腊语:κοινή、拉丁语:anceps)在古希腊和拉丁诗歌韵律中指韵律模式中既可以用短音节或是长音节的音节。其他以音节长短作为韵律基础的语言中也有此概念,如古波斯
  • 背包问题背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。