算法概论8.15 最大公共子图

本文探讨了一道NP-完全问题——寻找两个图的最大公共子图,其中需要保留至少b个节点,并保证剩余部分完全相同。通过最大独立集问题的归约,证明了该问题的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

证明如下问题是NP-完全的:

输入:两个图G1 = (V1,E1),G2 = (V2,E2);预算b。

输出:两个节点集合V1‘⊆V1,V2’⊆V2,将它们移除后,将在两图中分别留下至少b个结点,且图的剩余部分完全相同。


解答:

我们已知求给定图的最大独立集问题是NP完全问题,由此可以将最大独立集问题归约到此问题。假设给定的G1 = (V,E),G2 = (V,∅),其中两个图的顶点集是相同的,但是第二个图的边集为空,我们求这两个图的节点数至少为b的最大公共子图。如果上述两个图存在节点数为b的最大公共子图,那么这b个节点就是图G1的独立集。如果G1有节点数为b的独立集,那么只要G1和G2都只取这b个点作为它们的子图,G2中本来边集就为空,所以两个子图都只要b个点而没有边,显然这两个子图是完全相同的,也就是说这两个图也有节点数为b的公共子图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值