精确覆盖问题

✍ dations ◷ 2025-04-26 12:08:34 #理论计算机科学,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算法在计算机上的一种高效实现。

相关

  • 羧酸衍生物有机化学中,羧酸衍生物是酰氯、酰胺、酯和酸酐的统称。这些化合物分别是羧基中的羟基被卤素原子、氨基(-NH2)或取代氨基(-NHR、-NR2)、烷氧基(-OR)、酰氧基(-OCOR)取代后形成的。在某
  • 国务院总理办公室中华人民共和国国务院总理办公室,位于北京市中南海,是为中华人民共和国国务院总理服务的日常办事机构。1950年代初,中央人民政府政务院(1954年改为中华人民共和国国务院)设有总理
  • 牛舌饼 (台湾小吃)牛舌饼,台湾小吃的一种,因为在台湾的宜兰和鹿港各有一种差异甚大的饼类都被称做牛舌饼,因此严格来说算是两种不同的小吃。这两种饼类的形状同样是形似牛舌的长椭圆形,或许也是其
  • 十三个殖民地十三个殖民地(英语:Thirteen Colonies)是指大英帝国于1607年(弗吉尼亚)至1733年(乔治亚)在北美洲大西洋沿岸建立的一系列殖民地。这些殖民地最终成为了美国独立时的组成部分,即后来
  • 霍普·索罗霍普·阿米莉亚·索罗(英语:Hope Amelia Solo.,1981年7月30日-)生于华盛顿州里奇兰,是一名美国女子足球运动员,司职门将,现时效力美国女子足球职业联盟的神奇杰克,她同时亦是美国女队
  • 报应报应可指:
  • 方濬益方濬益(?-1899年),又作方浚益,字子聪,一作子听,安徽定远人,清朝官员,画家、金石学家。方濬益善画花卉,书法六朝,亦工篆刻,收藏金石甚富。曾任江苏省金山县知县。方浚益为监生出身,1870年接
  • 林珹林珹,字时献,号罗峰,福建晋江县人,明朝政治人物、同进士出身。福建乡试第八名。弘治九年(1496年),登丙辰科三甲第二十四名进士,授宁国府推官,升户部江西司主事,转任山西员外郎,之后出为
  • 竹中重利竹中重利(1562年-1615年12月6日),是安土桃山时代之武将与大名。是竹中重治之堂弟(父亲是竹中重元之弟竹中重光),至江户时代正式成为丰后国府内藩之初代藩主。名字也有记载是隆重或
  • 魔神相克者《机巧魔神》(日语:アスラクライン)是电击文库自2005年7月起出版的轻小说作品。作者三云岳斗、插图和狸ナオ。故事主角夏目智春在三年前空难意外幸存后,开始被自称守护灵的青梅