gpt4 book ai didi

algorithm - 证明问题的NP完全性

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:15:42 24 4
gpt4 key购买 nike

我们有一个集合 A = {a1,a2,...,an}

给定名为 B1,B2, ..., Bm 的子集。如果一个名为 H 的子集与所有给定的 B 有交集,我们称 H 为“覆盖子集”。对于给定的 A 和 B,是否存在任何大小为 K(H 的基数为 K)的“覆盖子集”?证明这个问题是NP完全的。

我们应该将一些已知问题简化为“覆盖子集”问题。

最佳答案

更新 这叫做hitting set .您可以在维基百科文章中阅读相同的答案。

这个问题在某种程度上是set cover problem 的双重问题。 .

我们将更改一些术语。设 {B1, B2, ...} 为元素,{a1, a2, ...} 为集合。如果集合 Bj 包含原始问题中的 ai,则“集合”ai 包含新问题中的“元素”Bj

现在,您只需要选择覆盖所有“元素”Bj 的最小数量的“集合”ai。该问题是 NP 完全问题,如上面的链接所示。

为了阐明转换,只需替换集合/元素和包含/包含,就可以从另一个问题定义生成一个问题定义。比较以下

每个集合 Bj 都包含一些选定的元素 ai
每个“元素”Bj 都包含在某些选定的“集合”ai

关于algorithm - 证明问题的NP完全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4841136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com