- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法设计计算复杂性与np理论
9.1 多项式规约
规约:如果存在两个问题Q和Q′,对于Q的任何一个实例q,都能找到Q′的一个实例q′,并能够将q′的解a′转换为q的解a,则称问题Q可以被归约到问题Q′
Q
Q
q
q
a
a
9.1 多项式规约
规约:如果存在两个问题Q和Q′,对于Q的任何一个实例q,都能找到Q′的一个实例q′,并能够将q′的解a′转换为q的解a,则称问题Q可以被归约到问题Q′
多项式规约:可在多项式时间内完成的规约
Q
Q
q
q
a
a
9.1 多项式规约
问题示例
ax2 + bx + c = 0
ax3 + bx2 + cx + d = 0
9.1 多项式规约
问题示例
G=V,E
最大独立集
G=V,E
最小顶点覆盖
V/C是G的最大独立集
C是G的最小顶点覆盖
9.2 计算模型
形式语言与问题编码
形式语言: 字母表 是符号的有限集合,上的语言L是由中的符号所组成的串的任意集合
= {0,1}
L1 = {0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001}
L2 = {0, 10, 100, 110, 1000, 1010, ……}
9.2 计算模型
形式语言与问题编码
形式语言: 字母表 是符号的有限集合,上的语言L是由中的符号所组成的串的任意集合
问题编码:问题Q的任意一个输入都会被编码为一个二进制串s。设问题的输入集合为I,其编码就是一个映射e: I {0,1}*
9.2 计算模型
形式语言与问题编码
形式语言: 字母表 是符号的有限集合,上的语言L是由中的符号所组成的串的任意集合
问题编码:问题Q的任意一个输入都会被编码为一个二进制串s。设问题的输入集合为I,其编码就是一个映射e: I {0,1}*
问题算法:设A是问题Q的一个算法,那么A应当接受输入s,算法运行得到的结果记为A(s)。当Q是一个判定形式的问题,则对于任意输入A(s) {yes, no}
9.2 计算模型
图灵机
在当前方格中写入新字符
读写头左移(L)、右移(R)或不动(S)
改变状态控制器中的当前状态
9.2 计算模型
图灵机
形式定义:一个七元组M = (Q, , , b, , q0, F),其中Q是有限状态集,是字母表,是读写带上的字符集,b是空白字符(b但b),: Q Q{L,R,S}是动作转移函数,q0Q是初始状态,FQ是终止状态集。
9.2 计算模型
图灵机M = (Q, , , b, , q0, F)
将输入符号串s = a0a1…an 依此填在纸带的第0,1,… n号格子上,读写头指向第0号格子,机器处于状态q0
当前状态qiF则停机
把扫描到的符号xi传送到状态控制器,控制器再根据当前状态qi计算动作转移函数,并根据函数值决定下一步的操作
9.2 计算模型
图灵机M = (Q, , , b, , q0, F)
终止状态qa表示接受输入字符串,qr表示拒绝
动作转移函数允许是一个部分函数,当(qi, xi)上无定义时也将停机
9.2 计算模型
图灵机M = (Q, , , b, , q0, F)
问题:判断一个二进制串中有奇数个还是偶数个1
qi
xi
qi+1
xi+1
动作
False
0
False
b
R
True
0
True
b
R
False
1
True
b
R
True
1
False
b
R
False
b
qr
0
S
True
b
qa
1
S
9.2 计算模型
图灵机M = (Q, , , b, , q0, F)
k带图灵机
: Qk Q({L,R,S})k
9.2 计算模型
图灵机M = (Q, , , b, , q0, F)
k带图灵机
不确定图灵机
9.2 计算模型
图灵机与可计算性
设f是一个函数,如果能通过一个图灵机M来完成f的计算,则称f是部分可计算的;如果M能够完成f的计算,且对于f定义域上的任意一个输入s,M都能保证停机,则称f是可计算的,或者说f是一个可计算函数。
设L是一个语言,如果它能够被一个图灵机M接受,则称L是一个递归可枚举语言;如果M能够接受L,且对于输入sL,M都能保证停机,则称L是一个递归语言。
9.2 计算模型
图灵机与可计算性
称语言L1可被多项式时间归约到语言L2,如果存在一个多项式时间可计算的函数f: {0,1}* {0,1}*,其对任意的x {0,1}*都有:x L1当且仅当x L2
9.2 计算模型
一个算法就是一个确定的、对任意合法输入都停机的图灵机
对于每个长度为n的输入,如果图灵机M在计算过程中的读写头移动次数不超过T(n),则称M是以T(n)为时间上界(简称时间界)的图灵机
给
原创力文档


文档评论(0)