精确覆盖问题

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

相关

  • 中的基督徒相信耶稣是弥赛亚(基督),并相信通过他的死和复活,人类可以与上帝和好,从而得到救恩和永生的承诺。这些教义强调,作为上帝悦纳的羔羊,耶稣选择在髑髅地的十字架上受难,以此作为
  • 火风暴火灾暴风(英语:Firestorm),又称火风暴或火灾风暴,是大范围火灾本身所创造和维持的风力系统,是严重野火或山火中的一种自然现象。也会用来描述一般的巨型火灾 ,火灾风暴的确定特征必
  • 陶氏杜邦陶氏杜邦(英语:DowDuPont Inc.,NYSE:DWDP)是一家美国化学工业公司。2017年8月31日,由当时陶氏化工和杜邦以换股方式合并,以销售量为全球最大化学企业公司。而在18个月后,该公司按业
  • 佩索亚费尔南多·佩索阿(葡萄牙语:Fernando Pessoa,1888年6月13日-1935年11月30日),生于里斯本,是葡萄牙诗人与作家。 他生前以诗集《使命》而闻名于世。 他被认为是继路易·德贾梅士之后
  • 东湖街道东湖街道,是中华人民共和国广东省深圳市罗湖区下辖的一个乡镇级行政单位。名称取自深圳水库的别称“东湖”。东湖街道下辖以下地区:布心社区、大望社区、梧桐山社区、翠湖社区
  • 米酒米酒是以稻米为主要制酒原料的酒,在酿造酒中,包括日本清酒、黄酒等,都属于米酒。在蒸馏酒中,中国烧酒,泡盛,日本烧酎等,都有以米酒制成的。东亚菜系常以米酒为调味品(比如:烹饪鱼),因为
  • 赫伯特·瓦恩克赫伯特·瓦恩克(德语:Herbert Warnke,1902年2月24日-1975年3月26日),德国统一社会党政治局候补委员,东德自由德国工会联合会中央理事会主席。1902年,出生于汉堡的工人家庭。1923年,入
  • 伊东美弥子伊东美弥子(日语:伊東 みやこ,1969年2月23日-),日本女性配音员、旁白。出身于岩手县盛冈市。AB型血。贤Production所属。1989年,于电视动画《有趣漫画入门讲座(日语:まんがはじめて面
  • 崔守恂崔守恂主教(英语:Bishop Joseph Cui Shou-xun,1877年7月27日-1953年),圣名若瑟,天主教永年教区首任主教。1877年7月27日,崔守恂生于中国河北省,1904年3月19日晋铎,1929年6月1日任永年
  • 中国传统村落名录中国传统村落名录由中华人民共和国住房和城乡建设部、文化部、财政部在各地初步评价推荐的基础上,经传统村落保护和发展专家委员会评审认定并公示后予以公布,目前已公布四批共