概述
PS1:先安利一个科普视频给各位压压惊P=NP是啥?玩数独就可以得100万,你信吗?看完就懂了!
PS2:幽你一默--我发现了NPC的绝妙算法,可惜知乎的评论框太小,写不下。呜呜呜
NP完全性理论大纲
易解的问题与难解的问题
判定问题
NP类
多项式时间变换
NP完全性及其性质
处理NP难问题的策略
易解的问题与难解的问题
好算法的标准
![45f177e09744ede0686f39bbb5847587.png](https://file2.kaopuke.com:8081/files_image/2023061019/45f177e09744ede0686f39bbb5847587.png)
输入规模和算法运行时间
![fec8feee6f3d4b9776fb52d8bb109009.png](https://file2.kaopuke.com:8081/files_image/2023061019/fec8feee6f3d4b9776fb52d8bb109009.png)
问题的难与易
![e1d205283404b386ca97c217b5372989.png](https://file2.kaopuke.com:8081/files_image/2023061019/e1d205283404b386ca97c217b5372989.png)
多项式相关的概念
![0b0f07e70df45ff7840046a2401f1172.png](https://file2.kaopuke.com:8081/files_image/2023061019/0b0f07e70df45ff7840046a2401f1172.png)
图的2种编码方式--邻接矩阵、关联矩阵
![61be47052a3e697a82c338ec6c57ba48.png](https://file2.kaopuke.com:8081/files_image/2023061019/61be47052a3e697a82c338ec6c57ba48.png)
问题实例的合理编码
![6c81e72d7daf874d2a2b964385975659.png](https://file2.kaopuke.com:8081/files_image/2023061019/6c81e72d7daf874d2a2b964385975659.png)
算法运行时间是基本操作数
![18ed1b97e66def8ef2e9db55040a5afe.png](https://file2.kaopuke.com:8081/files_image/2023061019/18ed1b97e66def8ef2e9db55040a5afe.png)
问题难易与编码和指令集的选择无关
![4446a5db288eaa09ed5cd133bc57d3d0.png](https://file2.kaopuke.com:8081/files_image/2023061019/4446a5db288eaa09ed5cd133bc57d3d0.png)
![c3f94713e7ab886c73393002244bb013.png](https://file2.kaopuke.com:8081/files_image/2023061019/c3f94713e7ab886c73393002244bb013.png)
易解问题和难解问题
![98b9d1ce3683a167092ba0953134a184.png](https://file2.kaopuke.com:8081/files_image/2023061019/98b9d1ce3683a167092ba0953134a184.png)
什么是P和NP问题
![99d4225307ee0ed00a6724d9d03633ab.png](https://file2.kaopuke.com:8081/files_image/2023061019/99d4225307ee0ed00a6724d9d03633ab.png)
什么是多项式时间可验证
![9ea1be14e1654909df2fed1d7ade965f.png](https://file2.kaopuke.com:8081/files_image/2023061019/9ea1be14e1654909df2fed1d7ade965f.png)
NP-非确定性多项式时间算法
![5ff2026016c1b02f312b932fcdcd074c.png](https://file2.kaopuke.com:8081/files_image/2023061019/5ff2026016c1b02f312b932fcdcd074c.png)
哈密尔顿回路的NP算法
![fee5ae9695cb006f10f1485cafaf5997.png](https://file2.kaopuke.com:8081/files_image/2023061019/fee5ae9695cb006f10f1485cafaf5997.png)
0-1背包问题
![7618d96eafe0bb922c3ee2b46e6a6f76.png](https://file2.kaopuke.com:8081/files_image/2023061019/7618d96eafe0bb922c3ee2b46e6a6f76.png)
所有P都是NP
![adfcf72d5ab8d7bbbda9765513b61985.png](https://file2.kaopuke.com:8081/files_image/2023061019/adfcf72d5ab8d7bbbda9765513b61985.png)
多项式时间变换
如何比较2问题难度
![f4020cf34344fcd54a2a031e82169fde.png](https://file2.kaopuke.com:8081/files_image/2023061019/f4020cf34344fcd54a2a031e82169fde.png)
什么是多项式时间变换
![68f3f6c8bce42fd3878b0a9cf869907a.png](https://file2.kaopuke.com:8081/files_image/2023061019/68f3f6c8bce42fd3878b0a9cf869907a.png)
![83464e10c7bfb38daebbf711e72299c2.png](https://file2.kaopuke.com:8081/files_image/2023061019/83464e10c7bfb38daebbf711e72299c2.png)
最大生成树和最小生成树
![05002f91f5b2901eeb14c681b42aadff.png](https://file2.kaopuke.com:8081/files_image/2023061019/05002f91f5b2901eeb14c681b42aadff.png)
![f4b535311a132f38d159dfb0af290ad1.png](https://file2.kaopuke.com:8081/files_image/2023061019/f4b535311a132f38d159dfb0af290ad1.png)
![e048155f1489ff626f8a99c26ec89579.png](https://file2.kaopuke.com:8081/files_image/2023061019/e048155f1489ff626f8a99c26ec89579.png)
![e3a050b83a31a2588f45be48df87c4a8.png](https://file2.kaopuke.com:8081/files_image/2023061019/e3a050b83a31a2588f45be48df87c4a8.png)
能多项式时间变换到P类问题都是P类问题
![b7e2f3307ddfecbaae902a0d45509713.png](https://file2.kaopuke.com:8081/files_image/2023061019/b7e2f3307ddfecbaae902a0d45509713.png)
难解问题能多项式时间变换到的都是难解问题
![75ea2700d06847ebb1ce75de9e43419b.png](https://file2.kaopuke.com:8081/files_image/2023061019/75ea2700d06847ebb1ce75de9e43419b.png)
NP难和NP完全(NPC)
![8ec1e31436ed65110cbfafbd708ffa7d.png](https://file2.kaopuke.com:8081/files_image/2023061019/8ec1e31436ed65110cbfafbd708ffa7d.png)
对任意NP问题,它都不比问题更难,所以
叫做NP难。
NPC中最典型的就是售货员旅行问题。其他如数独、扫雷、俄罗斯方块也可以变成NPC问题。就目前来说,人类还没有发现任何NPC问题更优越的算法能够变成P类问题。
PS:此处安利一个科普视频P=NP是啥?玩数独就可以得100万,你信吗?看完就懂了!
关于P和NP
![8e085f56c9a06ed426df902d5011a592.png](https://file2.kaopuke.com:8081/files_image/2023061019/8e085f56c9a06ed426df902d5011a592.png)
所以只要发现一个NP难问题存在多项式时间算法,我们就可以证明P=NP
P和NP的可能的四种关系(至于哪种关系正确,这还有待后人研究)
![4eac1a17a4717924961f28fb68e2f8af.png](https://file2.kaopuke.com:8081/files_image/2023061019/4eac1a17a4717924961f28fb68e2f8af.png)
什么是co-NP:
栗子--判定一个图是否有哈密尔顿回路--NP问题;判定一个图是否 无哈密尔顿回路--co-NP问题
如何证明问题是NP完全的
![4438216cd37b2427bb2dad54bf24ff6f.png](https://file2.kaopuke.com:8081/files_image/2023061019/4438216cd37b2427bb2dad54bf24ff6f.png)
Cook Levin定理——第一个NP完全问题
![c1c03c8c37a7374f1419e2adbf8043a5.png](https://file2.kaopuke.com:8081/files_image/2023061019/c1c03c8c37a7374f1419e2adbf8043a5.png)
可惜它讲解起来比较繁琐,有兴趣的童鞋可以康康视频https://www.youtube.com/watch?v=mAALkpRWhG8&list=PLEbxAdiNxjMYlNgstf8aHDf-o0E31ujmU&index=46~
处理NP难问题的策略
对问题施加限制如限制参数长度
改进指数时间算法
启发式方法
平均情形的复杂性
难解算例的生成——通过难解算例来做对算法的评价标准
对问题施加限制
![d2a6bc8da0a929f724cf278f21dae7e7.png](https://file2.kaopuke.com:8081/files_image/2023061019/d2a6bc8da0a929f724cf278f21dae7e7.png)
固定参数算法
![28dc6f5dc752395ff8ae6c6aab74338f.png](https://file2.kaopuke.com:8081/files_image/2023061019/28dc6f5dc752395ff8ae6c6aab74338f.png)
顶点覆盖问题VC
![fda78a6da2a4428eb314bb3ef7fdf545.png](https://file2.kaopuke.com:8081/files_image/2023061019/fda78a6da2a4428eb314bb3ef7fdf545.png)
改进指数时间算法
![4744f239344fe18c9a9345faf2938479.png](https://file2.kaopuke.com:8081/files_image/2023061019/4744f239344fe18c9a9345faf2938479.png)
SAT问题及其他问题的有关结果
![3b884dc1abc160b3dbb39f10b649ac1b.png](https://file2.kaopuke.com:8081/files_image/2023061019/3b884dc1abc160b3dbb39f10b649ac1b.png)
![c0f43b5780e731f45ed9143717ea61f9.png](https://file2.kaopuke.com:8081/files_image/2023061019/c0f43b5780e731f45ed9143717ea61f9.png)
启发式算法
![136c0cb62de43b00f3a0cd1419f148f5.png](https://file2.kaopuke.com:8081/files_image/2023061019/136c0cb62de43b00f3a0cd1419f148f5.png)
局部搜索算法
![49d07757895241e8810ba891786d85ba.png](https://file2.kaopuke.com:8081/files_image/2023061019/49d07757895241e8810ba891786d85ba.png)
平均情况的复杂度
![c52666ed1c555ad0ed0fd25086a2bdbc.png](https://file2.kaopuke.com:8081/files_image/2023061019/c52666ed1c555ad0ed0fd25086a2bdbc.png)
难解算例的生成
![d83dfe728a6a83a1f871e703ea32d90d.png](https://file2.kaopuke.com:8081/files_image/2023061019/d83dfe728a6a83a1f871e703ea32d90d.png)
小结
![ed02ee58d10e20686cbb72f52c5db550.png](https://file2.kaopuke.com:8081/files_image/2023061019/ed02ee58d10e20686cbb72f52c5db550.png)
案例分析:0-1背包的近似解
问题描述
![ba14c25c990743607b505fbf5647808c.png](https://file2.kaopuke.com:8081/files_image/2023061019/ba14c25c990743607b505fbf5647808c.png)
贪心算法G-KK
![f27c3e9830d18dea187360260ff07f4f.png](https://file2.kaopuke.com:8081/files_image/2023061019/f27c3e9830d18dea187360260ff07f4f.png)
贪心算法G-KK的性能--2-近似算法
![653bab5cfb44865cf73c8255868a1c0b.png](https://file2.kaopuke.com:8081/files_image/2023061019/653bab5cfb44865cf73c8255868a1c0b.png)
多项式时间近似方案PTAS
![465a0a08b2d78b9c8a60ecdf2ff09127.png](https://file2.kaopuke.com:8081/files_image/2023061019/465a0a08b2d78b9c8a60ecdf2ff09127.png)
实例 n=10
![8eda218c28039aa09672c24eb5f5c09c.png](https://file2.kaopuke.com:8081/files_image/2023061019/8eda218c28039aa09672c24eb5f5c09c.png)
PTAS性能
![68c32f17b9333156ed24535c662c9640.png](https://file2.kaopuke.com:8081/files_image/2023061019/68c32f17b9333156ed24535c662c9640.png)
![6c9cfc7894ed1fb733d113ad635f8b5c.png](https://file2.kaopuke.com:8081/files_image/2023061019/6c9cfc7894ed1fb733d113ad635f8b5c.png)
![df0dac036f0c5cf0967cb299ccf0f62d.png](https://file2.kaopuke.com:8081/files_image/2023061019/df0dac036f0c5cf0967cb299ccf0f62d.png)
时间复杂度
![4a488c077395b71d3879a72b9a9f391b.png](https://file2.kaopuke.com:8081/files_image/2023061019/4a488c077395b71d3879a72b9a9f391b.png)
小结
![2c3f0a457e0dcd13b8836bd97525119d.png](https://file2.kaopuke.com:8081/files_image/2023061019/2c3f0a457e0dcd13b8836bd97525119d.png)
参考资料:(视频)https://www.youtube.com/watch?v=ANJWc-CJN_Q&list=PLEbxAdiNxjMYlNgstf8aHDf-o0E31ujmU&index=40https://www.youtube.com/watch?v=rNw34dQPoYchttps://www.youtube.com/watch?v=xmkuiSAKlXQhttps://www.youtube.com/watch?v=idpooA8v0sg&t=15shttps://www.youtube.com/watch?v=mAALkpRWhG8&list=PLEbxAdiNxjMYlNgstf8aHDf-o0E31ujmU&index=46https://www.youtube.com/watch?v=wS3ix6h-bxw&t=1s
最后
以上就是谦让身影为你收集整理的判定表与判定树的画法_NP完全性理论--判定问题、NP类、多项式时间变换、处理NP难问题的策略、0-1背包的近似解学习笔记...的全部内容,希望文章能够帮你解决判定表与判定树的画法_NP完全性理论--判定问题、NP类、多项式时间变换、处理NP难问题的策略、0-1背包的近似解学习笔记...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复