Set Cover Problem (集合覆盖问题)

 

首先我们需要来看一下英文解释: http://pages.cs.wisc.edu/~shuchi/courses/880-S07/scribe-notes/lecture03.pdf

The Set Cover problem is: Given a set of elements E = {e1, e2, . . . , en} and a set of m subsets of E, S = {S1, S2, . . . , Sn}, find a “least cost” collection C of sets from S such that C covers all elements in E. That is, ∪Si∈CSi = E.

 

然后继续看一下中文解释:http://baike.baidu.com/view/4078500.htm

经典SCP描述包含一个集合U以及U内元素构成的若干各小类集合S,目标是找到S 的一个子集,该子集满足所含元素包含了所有的元素且使小类集合个数最少。例如,U={1,2,3,4,5},S={{1,2},{3,4},{2,4,5},{4,5}},找到集合能满足条件的可以有O={{1,2},{3,4}{4,5}}或是O={{1,2},{3,4},{2,4,5}},至于具体选哪种组合,还有引申的一个问题:WSC,即Weighted Set Cover加权集合覆盖,每个集合类被赋予不同的权值,从而由权值决定最终的选择。

 

然后对应我们MapReduce的NP问题证明,我们是如何将set cover problem 归约到我们问题简称Q

set of elemens E应该包括map outputs{m_ij , reduce1 , reduce 2} suppose每个子集都要包含至少reduce1或者reduce2. 而且互相之间不能有重复的m_{ij}. 通过这种方式找到集合C, 最小C的权重!所以C决定了整个aggregator的位置和数量!!


 

你可能感兴趣的:(NP问题)