【组合数学,求思路】A、B两个集合构成二分图,求取出B中的最少的元素,可以覆盖到全部A中元素

【组合数学,求思路】A、B两个集合构成二分图,求取出B中的最少的元素,可以覆盖到全部A中元素
A、B两个集合构成二分图,a中元素和任意个b中元素有边相连,二分图给定.求取出B中的最少的元素,可以覆盖到全部A中元素(即所有A都有到B的边).请问这是什么问题,求思路.
思念女儿2006 1年前 已收到1个回答 举报

茫茫狗 幼苗

共回答了14个问题采纳率:85.7% 举报

这是NP完备问题.
可以从另一个NP完备问题,Set Cover归约过来.
Set Cover(集合覆盖):
全部元素有n个,它们构成全集U.有m个U的子集S1、S2、...、Sm,找出最少的子集,使得它们的并集包含所有U中的n个元素.
归约到我们这个问题:
A有n个点,代表n个元素.
B有m个点,代表m个子集.
如果某个子集包含某个元素,就连一条边.
可见,集合覆盖就变成了找B中最少的点集,使其覆盖A中所有点.
BTW:科普一下NP完备问题.一个问题如果是NP完备的,那么它的算法是指数级别的,也就是没有有效的算法.

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.031 s. - webmaster@yulucn.com