题目:
8.9 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
Show that HITTING SET is NP-complete.
解答:
击中集(Hitting Set)问题是指给定一组集合
顶点覆盖(Vertex Cover)问题是指给定图G(V, E)和预算k,希望从V中找到一个大小不超过k的顶点集合A,能够覆盖所有的边(每一条边至少有一个顶点属于A)。
顶点覆盖问题是NP完全的,现在将顶点覆盖问题规约到击中集问题。
对于G的每一条边
e=(u,v)
,令
Si={u,v}
,则得到一组集合
{S1,S2,...,S|E|}
,每一个集合
Si
对应G的一条边,集合的元素为对应边的两个顶点。让预算
b=k
,因为顶点覆盖问题中要求所有的边都被覆盖到,即每一条边至少有一个顶点属于覆盖集A中,这意味着覆盖集A与所有的
Si
都相交,而击中集问题中
H⋂Si≠∅
,即A与H是等价的;覆盖集A最多k个点对应击中集H最多有b个元素,因此实现了顶点覆盖问题到击中集问题的归约,所以击中集问题是NP完全问题,证毕。