精确覆盖问题

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

相关

  • 毛细管毛细现象(又称毛细管作用)是指液体在细管状物体内侧,由液体与物体之间的附着力和因内聚力而产生的表面张力组合而成,令液体在不需施加外力的情况下,流向细管状物体的现象,该现象甚
  • 可见光谱可见光谱(Visible light)是电磁波谱中人眼可以看见(感受得到)的部分。这个范围中电磁辐射被称为可见光,或简单地称为光。人眼可以感受到的波长范围一般是落在380到760纳米 。对应
  • 阿尔法勒特市阿尔法勒特(英语:Alpharetta)是一个位于美国佐治亚州富尔顿县北部的一个城市,也是亚特兰大的郊区之一。2010年人口调查显示阿尔法勒特的人口数量为57,551。2014年阿尔法勒特的人
  • 2017年成都机场无人机入侵系列事件成都双流国际机场无人机入侵事件为2017年3月至5月间的一系列无人航空飞行器入侵成都双流机场空域的安全事件。出于航空安全考量,空域入侵事件事实上造成了成都双流机场进港航
  • 2014年Aircel清奈公开赛2014年Aircel清奈公开赛是2014年ATP世界巡回赛的室外硬地网球赛事之一,于2013年12月31日至2014年1月6日期间,在印度清奈的SDAT网球场(英语:SDAT Tennis Stadium)举行。本届为第19
  • 布央人布央人是一个中国未识别民族,只有大约2000人左右,分布在云南省文山县和广西壮族自治区的那坡县。他们与拉哈族、布标族、仡佬族和拉基族比有血缘关系。布央人的母语是布央语,是
  • 2018年双溪甘迪斯补选苏海米沙菲益 希盟公正党莫哈末扎瓦威 希盟公正党2018年双溪甘迪斯补选(马来语:Pilihan raya kecil Sungai Kandis 2018)是于2018年8月4日举行的马来西亚雪兰莪州议会双溪甘迪
  • OffonoffOFFONOFF(韩语:오프온오프)为HIGHGRND旗下两人团体,由0channel、Colde两人组成,两人包办了词曲创作,连MV的制作也亲自负责。2015年于SOUNDCLOUD音乐频道上发表歌曲出道。之后陆续
  • 滇西北小檗滇西北小檗(学名:)为小檗科小檗属的植物,是中国的特有植物。分布在中国大陆的云南、四川等地,生长于海拔3,000米至4,100米的地区,常生长在山地灌丛中及林缘,目前尚未由人工引种栽培
  • 四维电流密度四维电流密度 J {\displaystyle J} 是在相对论中,对应电磁学的电流密度以及电荷密度的四维矢量。定义为: j