首页 > 其他分享 >TSP问题的不可近似性

TSP问题的不可近似性

时间:2023-06-01 23:23:55浏览次数:48  
标签:OPT 哈密顿 不可 近似 nf 实例 回路 TSP

\(\S\) 结论

TSP问题:n阶带权无向完全图中,找权值最小的哈密顿回路(无向图中遍历所有顶点的回路)
优化问题,记最优解为OPT

对于一般的n顶点TSP问题(非Metric),任意 多项式时间内可计算的函数f(n) 均不可近似,除非P = NP

已知 哈密顿回路存在性判定 是经典的NPC问题;f(n)举例:\(f(n) = 2^n\)

\(\S\) 证明

思路

去证假设有那么个f(n)的近似比存在,则可在多项式时间内求解哈密顿回路这个NPC问题,则P = NP

具体过程

(从NPC问题实例出发归约到TSP问题)

对于一个n顶点哈密顿回路的实例,我们在此基础上构造一张完全图:

  • 对于原实例图中已有的边,定义权重为\(1\)
  • 对于原实例图中没有的边,定义权重为\(nf(n)\) (\(f(n)\)多项式时间内可计算,且因为是近似比,\(f(n)>1\))

构造的新图即为n顶点的TSP问题。则对于新图,可分析:

  • 原实例图存在哈密顿回路 \(\Leftrightarrow\) 新图中至少有那个哈密顿回路,且必然权重最小,所以\(OPT = n\);
  • 原实例图没有哈密顿回路 \(\Leftrightarrow\) 新图必然要用到新加的权重为\(nf(n)\)的边,所以\(OPT > nf(n)\);

NPC问题归约后的两种情况出现了Gap,且这个Gap无法被近似比逾越!

那如果n顶点TSP问题有某个 近似比为f(n) 的近似算法,那不妨对新图使用该算法:

  • 若\(OPT = n\),则根据定义,得到的解 \(cost \leq nf(n)\)
  • 若\(OPT > nf(n)\),则得到的解 \(cost > OPT > nf(n)\)

由于不存在其他的OPT情况(有Gap),所以反向推导也成立。即我们可以通过该近似算法,在多项式时间内判断原实例图是否存在哈密顿回路,即解决了NPC问题,即P = NP

得证

标签:OPT,哈密顿,不可,近似,nf,实例,回路,TSP
From: https://www.cnblogs.com/elucidator-xrb/p/17450473.html

相关文章

  • 虹科干货 | 虹科Redis企业版数据库的延迟如此之小,proxy功不可没!
    在Redis企业版集群的后台发生了许多事件,proxy(代理)隐藏了数据库客户端的所有活动。大多数开发人员在构建应用程序时都会从小规模开始,使用简单的Redis开源(RedisOSS)数据库。在初期阶段,使用数据库非常直接,只需连接到单一的端点并发送请求。然而,当Redis应用程序的需求变得更加复杂时......
  • wireshark解析RTSP交互
    RTSP信令交互RTSP协议即实时流协议(RealTImeStreamingProtocol,RTSP)是一种网络应用协议,用以控制流媒体服务器信息交互。大多数RTSP服务器使用实时传输协议(RTP)和实时传输控制协议(RTCP)结合媒体流传输。即客户端和服务器先进行RTSP交互,获取服务端可用命令,以及媒体参数;之后传输数据......
  • 为什么HashMap可以存null,而ConcurrentHashMap不可以?
    HashMap中,null可以作为键也可以做为值。而在ConcurrentHashMap中,Key和Value都不允许为null。ConcurrentMap(如ConcurrentHashMap、ConcurrentSkipListMap)不允许使用null值的主要原因是,在非并发的Map中(如HashMap),是可以容忍模糊性(二义性)的,而在并发Map中是无法容忍的。假如说,所有的......
  • 详解大数据中必不可少的消息中间件 kafka(3.x 新版本)
    楔子本次来聊一聊kafka,相信大家都知道它是一个应用于大数据实时领域、基于发布/订阅模式的分布式消息中间件(或者说消息队列),能够和不同的进程进行通信,从而实现上下游之间的消息传递。有了消息队列之后,上游服务和下游服务就无需直接通信了,上游服务将消息发送到队列中,下游从队列中......
  • MySQL脏读、幻读、不可重复读
    脏读->读未提交不可重复读->读已更新(两次读中数据被更新)幻读->读已新增(读中有数据新增)参考:https://www.bilibili.com/video/BV1Pv411P7Fd/?spm_id_from=333.788&vd_source=46d50b5d646b50dcb2a208d3946b1598......
  • 为什么可重复的能解决不可重复读问题,而读提交不能
    答:可重复读会创建快照读可重复读隔离级别能解决不可重复读问题的原因是因为它在事务开始时创建了一个数据快照,并在整个事务期间都使用该快照。因此,其他事务对该数据的修改在可重复读隔离级别下是不可见的,即使这些修改已经提交。这种机制避免了不可重复读的问题。而读提交隔离级......
  • Android平台如何实现外部RTSP|RTMP流注入轻量级RTSP服务模块(内网RTSP网关)
     技术背景今天分享的是外部RTSP或RTMP流,拉取后注入到本地轻量级RTSP服务模块,供内网小并发场景下使用,这里我们叫做内网RTSP网关模块。内网RTSP网关模块,系内置轻量级RTSP服务模块扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务模块工作,多个内网客户端直接访问内网轻量级RTSP......
  • 字符串、列表内置方法和可变类型、不可变类型
    字符串的内置方法1.转换大小写(upper、lower)将字符串中的所有单词转换成大写或者小写,name_str.upper()  将name_str中的字母全转换为大写name_str.lower() 将name_str中的字母全转换为大写例:1name_str="helloword"2res=name_str.upper()3print(res)......
  • AI智能融合平台EasyCVR接入RTSP流,视频无法播放的原因排查与解决
    EasyCVR视频融合平台基于云边端协同架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议接入,包括市场主流标准协议与厂家私有协议及SDK,如:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、宇视SDK等。有用户反馈,现场内网环境,EasyCVR接入RTSP协议后,视......
  • vue中输入密码带图标可见不可见切换
    data(){return{userName:"",pswd:"",loginDisabled:false,labelPosition:"top",passwordType:'password',passwordIcon:require('@m/assets/images/bukejian.png')......