- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析与设计2007第b讲.doc
上次内容:
(1)什么是拟多项式算法PESEUDO polynomial,在考虑问题实例描述的两个参数,Max[I],Length[I]。
(2)什么是拟多项式变换,什么是数问题。
(3)什么是强NPC问题,限制数不很大时也很难解。数值参量受限时亦为NPC的。
(4)什么是NP-hard问题。Turing规约。神喻图灵机。
(5)NPC问题对应的优化形式都是NP-hard问题。
很多问题具有与NPC问题同样的复杂度,但不是NP问题,用图灵规约,可以把这些问题统一起来。
图灵归约:(1((2,要说明若(2有多项式时间求解算法,则(1也有多项式时间求解算法。设求解(2的算法为A2。有一个将(1实例转换为(2实例的变换f:I(f(I)。
设计求解(1的算法A1(I),其中调用A2(f(I)),
(1)若A2(*)能求得满足条件的解,则A1(*)求得的解也满足条件。
(2)若A2(*)时间复杂度为O(1),则A1(*)时间复杂度是多项式时间复杂度。
实际可以假设A2(f(I))的计算不需要时间。
这样就叫(1图灵归约到(2,图灵规约是多项式变换的推广。
若(1能图灵规约到(2,则(2就不必(1容易。
仔细解释,
难:不存在多项式算法
易:存在多项式算法
若(1 (T (2
则(1 难(2也难,(2易(1也易,(1 易(2难易均可能。
NP-Hard的定义:
一个问题是NPC的,则该问题推广称为NP-hard问题,
若(1是NP-hard问题,(1可以图灵归约到(2,则(2也是NP-hard问题。
TSP优化问题:
实例:城市集合C={C1,…,Cm},城市之间距离d(Ci,Cj),
询问:求城市排列:,,…,,使=min{|C(1C(2…C(m为城市排列}
定理:TSP优化问题是NP-hard。
证明:TSP判定问题图灵归约到TSP优化问题。TSP判定问题是NPC,所以是NP-Hard。
设存在TSP优化问题求解算法A,设计tsp判定问题的算法如下:
1对于给定TSP判定问题的给定实例:G,d,K,调用A(G, d),求得城市排列:,
2若(K,则回答yes,否则回答No。
若A是多项式算法,则上述算法能够在多项式时间解答。
所以TSP优化问题是NP-hard问题。
货郎延伸问题
实例:
(1)城市集合C={C1,C2,…,Cm},
(2)任意两个城市之间的距离d(Ci, Cj)(Z+,
(3)正整数界值B(Z+,
(4)C中K个城市的部分旅游(=C((1), C((2), …, C((k)
询问:能否将(延伸为一个长度不超过B的全程旅游回路:
( C((1), C((2), …, C((k), C((k+1), …, C((m), C((1)(
定理:货郎延伸问题是NP-hard。
证明:将货郎优化问题图灵归约到货郎延伸问题。
设计货郎判定算法如下:折半法。假设货郎延伸问题算法为:
S[C, d, C1, Bmid]
1 Bmin=m; Bmax=m*max{d(ci,cj)}|ci,cj(C}//最大就这么大。
2若Bmax-Bmin=0,则B*=Bmin,暂停。
3 Bmid=((Bmin+Bmax)/2(;
4调用子程序:S[C, d, C1, Bmid],
若回答yes,则Bmax=Bmid转2,否则Bmin=Bmid,转2。
//最优解值为B*,最优解怎么求?
S[C, d, C1, C2, B*],
S[C, d, C1, C3, B*],
… … …,
S[C, d, C1, Cm, B*]
由此确定C((2)
S[C, d, C1, C((2),C2, B*],
S[C, d, C1, C((2), C3, B*],
… … …,
S[C, d, C1, C((2), Cm, B*]
由此确定C((3)
5 C((1)=C1,
6 for i=2 to m do
for j=1 to m do
若Cj({C1,C((2),…,C((i-1)}且S[C,d,C1,C((2),…,C((i-1),Cj,B*]回答yes,则C((i)=Cj。
没有判定货郎延伸是否NP,但是已经将货郎判定问题图灵归约到货郎延伸。这样最后求得C1, C((2), …, C((i-1),…, C((m),为最优解。
还有第k个最大子集问题是NP-Hard,证明自己看。
第7章:近似算法和概率算法
只讲近似算法,不讲概率算法。搜索问题,就是求解,求满足条件的解,不再是判定问题了。
含义:虽然不能得到最优解,但能离最优解不远。达不到最好,力争更好。
§7.1:近似算法及其性能评估
符号:(,D(,I(D(,求解的目标是最大化或最小化的优化问题。
询问时要求解,按照解的格式,并满足解的条件。
S((I):可行解集,现在不求最优解了,只要符合解的
文档评论(0)