- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(第2章第4节WPF完全问题
第2章 WPF完全理论
2.4 WPF完全问题
2.4.1 问题变换与计算复杂性归约
2.4.2 WPF完全问题的定义
2.4.3 基本的WPF完全问题
2.4.4 WPF完全问题的计算机处理
2.4.1 问题变换与计算复杂性归约
定义 2.5 假设问题Π存在一个算法A,对于问题Π的输入实例I,算法A求解问题Π得到一个输出O,另外一个问题Π的输入实例是I,对应于输入I,问题Π有一个输出O,则问题Π变换到问题Π是一个三步的过程:
1. 输入转换:把问题Π的输入I转换为问题Π的适当输入I;
2. 问题求解:对问题Π应用算法A产生一个输出O ;
3.输出转换:把问题Π的输出O转换为问题Π对应于输入I的正确输出。
问题变换的一般过程
问题变换的主要目的不是给出解决一个问题的算法,而是给出通过另一个问题理解一个问题的计算时间上下限的一种方式。
例:配对问题到排序问题的变换
排序问题——输入I是一组整数X=(x1, x2, …, xn),输出O是这组整数的一个排列xi1≤xi2≤…≤xin。
配对问题——输入I是两组整数X=(x1, x2, …, xn)和Y=(y1, y2, …, yn),输出O是两组整数的元素配对,即X中的最小值与Y中的最小值配对,X中的次小值与Y中的次小值配对,依此类推。
配对问题到排序问题的变换过程
假设存在算法A解决排序问题,则配对问题可以变换到排序问题:
1.把配对问题的输入I转化为排序问题的两个输入I1和I2;
2.排序这两组整数,即应用算法A对两个输入I1和I2分别排序得到两个有序序列O1 和O2 ;
3.把排序问题的输出O1和O2转化为配对问题的输出O,这可以通过配对每组整数的第一个元素、第二个元素、……来得到。
配对问题到排序问题的变换有助于建立配对问题代价的一个上限,因为上述输入和输出转换都是在多项式时间完成,所以,如果排序问题有多项式时间算法,则配对问题也一定有多项式时间算法。
定理2.2(计算时间下限归约)若已知问题Π的计算时间下限是T(n),且问题Π可τ(n)变换到问题Π,即Π∝τ(n)Π,则T(n)-O(τ(n))为问题Π的一个计算时间下限。
定理2.3(计算时间上限归约) 若已知问题Π的计算时间上限是T(n),且问题Π可τ(n)变换到问题Π,即Π∝τ(n)Π,则T(n)+O(τ(n))为问题Π的一个计算时间上限。
定理2.4 设Π、Π和Π是三个判定问题,若Π∝pΠ且Π∝pΠ,则Π∝pΠ。
多项式时间复杂性具有闭包性。
2.4.2 WPF完全问题的定义
定义2.6 令Π是一个判定问题,如果问题Π属于WPF类问题,并且对WPF类问题中的每一个问题Π,都有Π∝pΠ,则称判定问题Π是一个WPF完全问题(WPF Complete Problem),有时把WPF完全问题记为WPFC。
P=WPF?
广义上说,P类问题是可以用确定性算法在多项式时间内求解的一类问题,WPF类问题是可以用非确定性算法在多项式时间猜测并验证的一类问题,而且P?WPF。
目前人们猜测P≠WPF,则P类问题、WPF类问题、WPF完全问题之间的关系如下:
定义2.7 令Π是一个判定问题,如果对于WPF类问题中的每一个问题Π,都有Π∝pΠ,则称判定问题Π是一个WPF难问题。
WPF完全问题和WPF难问题的区别:
如果Π是WPF完全问题,Π’是WPF难问题,那么,他们之间的差别在于Π必定是WPF类问题,而Π’不一定在WPF类问题中。
一般而言,若判定问题属于WPF完全问题,则相应的最优化问题属于WPF难问题。
2.4.3 基本的WPF完全问题
证明一个判定问题Π是WPF完全问题需要经过两步:
(1)证明问题Π属于WPF类问题,也就是说,可以在多项式时间以确定性算法验证一个任意生成的串,以确定它是不是问题的一个解;
(2)证明WPF类问题中的每一个问题都能在多项式时间变换为问题Π。由于多项式问题变换具有传递性,所以,只需证明一个已知的WPF完全问题能够在多项式时间变换为问题Π。
WPF完全问题的证明思想
一些基本的WPF完全问题:
1.SAT问题(Boolean Satisfiability Problem)
2.最大团问题(Maximum Clique Problem)
3.图着色问题(Graph Coloring Problem)
4. 哈密顿回路问题(Hamiltonian Cycle Problem)
5.TSP问题(Traveling Salsman Problem)
6.顶点覆盖问题(Vertex Cover Prob
文档评论(0)