题目描述
In the HITTING SET problem,we are given a family of sets{S1,S2,…,Sn} and a budget b,and we wish to find a set H of size<=b which intersects every Si, if such an H exists.In other words, we want H∩Si≠∅ for all i.Show that HITTING SET is NP-complete.
自己对题目的翻译
题目定义了一个HITTING SET的问题:给定集合的集合(即若干个集合){S1,S2,…,Sn} 和阈值b,需要找出一个集合H,其元素个数不大于阈值b。如果存在,还要求对于所有i,H和Si的交集非空。证明,这个问题为NP完全问题。初步分析
如何才会有集合H存在呢?若我们能找到满足条件的最小集合H’,且H’的元素个数小于等于阈值b,那么就一定存在H。反之,若我们找到的满足条件的最小集合H’的元素个数大于阈值b,那么就不存在H。证明总述
要证一个问题是NP完全问题,需要证明该问题是NP的,并且该问题是NP难(NP-hard)的。证明该问题是NP的
假设已给出集合H,我们需要来判断是否是HITTING SET,也就是看下述的两个条件是否同时满足。1、遍历H,看H的元素个数是否小于阈值b
2、遍历S集合组,看是否都满足和H取交集为非空,也即看H中是否恰好有该S集合中的至少一个元素。假设S集合组中元素个数最大为m,那么我们可以在O(mn)的时间复杂度下得出结果,也即在多项式的时间内得到结果。
证明该问题是NP-hard的
算法证明题 8.9 HITTING SET
最新推荐文章于 2021-05-06 20:44:28 发布