NP完全性理论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图林机(Turing Machine)是英国数学家Turing在 1936年提出的计算模型,被认为是当今计算机 的理论模型。下面是图林机(TM)原型的构造:
…… 输入带
磁头
有限 控制器
输入带被视为右无穷,并被划分为一个个 单元用于存放符号(带符号)。 有限控制器由有限个状态构成。 磁头可左右移动,读写带符号。
随机存取机RAM的构造
…
指令 计数器
只读输入带 r0 r1 r2 累加器
程序存储部件
…
内存储器
…
2018/10/13
只写输出带
1
计算机算法设计与分析
随机存取机RAM的指令集
操作码 操作数 指令含义
⑴LOAD
⑵STORE ⑶ADD ⑷SUB ⑸MULT ⑹DIV
=i / i / *i
i / *i =i / i / *i =i / i / *i =i / i / *i =i / i / *i
带上;工作带上初始时为初始状态q0;然后依 据状态及现行扫描的符号选择并执行编码。
2018/10/13 计算机算法设计与分析 9
i
用RAM模拟TM
定理8-3:设算法A,对于任何长度为n的输入, 在图林机TM下的时间复杂性为T(n),则A在 RAM下的时间复杂性为O(T2(n))。 证明:每个寄存器放输入带一个单元的内容, 这样RAM就可以模拟TM的工作。 均匀耗费标准下,模拟TM一个动作,RAM需 常数时间。A在RAM下时间复杂性为O(T(n))。 对数耗费标准下,RAM模拟TM的时间复杂性 为O(T(n)logT(n)) =O(T2(n))。 。
2018/10/13 计算机算法设计与分析 12
计算机算法设计与分析 8
2018/10/13
通用图林机
输入带 不失一般性,任何图林机的T = {0, 1}; δ:Q×T→Q×T×{L, R}的每个动作由五个部 有限 code #code 1 2#…#coden 编码带 分构成 ( 五字诀 ) , δ 含有有限个五字诀。 控制器 于是,任一图林机都可写成一个二进制编码。 qi 工作带 所以任一图林机可用一个三带图林机来模拟。 通用图林机将某个图林机 这个三带图林机就被称为通用图林机。 M 的编码存储在编码
计算机算法设计与分析 6
2018/10/13
TM的数学描述
其中: Q是有限状态的集合; T是有限个带符号的集合; I T,是输入符号的集合; δ:Q×T→Q×T×{L, R}为转移函数; b是唯一的空白符,b∈T – I; q0和qf分别为初始状态和终止状态。
2018/10/13 计算机算法设计与分析 7
2018/10/13
随机存取存储程序机RASP
RASP与RAM的区别在于(1)RASP的程序存储 在内存并且可以修改自身;(2)RASP不允许间 接寻址,它通过修改指令模拟间接寻址。 RASP的指令集见P-238的表8-6。 RASP更加接近冯· 诺伊曼体系结构。 无论是采用均匀耗费标准还是对数耗费标准, 在相差一个常数因子的意义下,RAM与RASP 是等价的。
2018/10/13 计算机算法设计与分析 4
RAM的变形与简化
(1)实随机存取机RRAM; (2)直线式程序; (3)位式计算; (4)位向量计算; (5)判定数; (6)代数计算树ACT; (7)代数判定树。
2018/10/13 计算机算法设计与分析 5
图林机的构造
2
RAM机的复杂性标准
均匀耗费标准 每条RAM指令需要一个单位时间,每个寄存器 占用一个单位空间。 对数耗费标准 RAM指令的执行时间与操作数的长度的对数成 比例,一个寄存器可放一个任意大小的整数。
若每个操作数不超过一个机器字,则用均匀耗 费标准是合理的,否则适用对数耗费标准。
计算机算法设计与分析 3
M = (Q, T, I, δ, b, q0, qf )
图林机的变形
多道图林机(输入带上有多个道)。 双向图林机 (输入带被视为左右均是无穷的)。 多带图林机(具有多条输入带)。 多头图林机 (具有多个磁头)。 多维图林机(输入带是多维的)。 不确定的图林机(有限控制器是不确定的)。 不确定的图林机类似于不确定的自动机,即 将图林机是原型称为确定的,记为DTM;而 已经证明各类变形图林机在可计算的能力上等 δ:Q×T→ρ(Q× T×{L, 将不确定的图林机记为 NDTM , R}) 价于原型图林机。但是在复杂性是有区别的。
2018/10/13 计算机算法设计与分析 10
用TM模拟RAM
定理8-4:设算法A,对于任何长度为n的输入, 按对数耗费标准在RAM下的时间复杂性为T(n), 则A在TM下的时间复杂性为O(T2(n))。 证明:用一个五带TM模拟RAM的工作, TM 其中: 模拟RAM除乘/除法外的指令的时间为常数, 查找寄存器的时间为 带1用<地址, 内容 n> ,整个时间为 的形式存放寄存器; O(T2(n))。 带2的乘除法, 存放累加器内容;带 3作为暂存工作带; 对RAM TM用加减法模拟的耗费不 带4和带5作为输入带和输出带; 会超过乘除法耗费的平方。 用TM的状态对应RAM的一步程序。
2018/10/13 计算机算法设计与分析 11
TM模型与RAM模型的关系
定理8-5:在对数耗费标准下,对于同一个算法, 采用RAM模型和TM模型的时间复杂性是多项 式相关的。对空间复杂性亦如此。 注意在均匀耗费标准下这个关系不成立。TM 模拟RAM的时间复杂性可能是指数的关系。 因为TM模型比较原始,所以在大多数情况下 采用RAM模型。 若算法在RAM模型下的复杂性为多项式,则也 就认为其在TM模型下的复杂性为多项式。
取操作数入累加器
将累加器中数存入内存 加法运算 减法运算 乘法运算 除法运算
⑺READ
⑻WRITE ⑼JUMP
i / *i
=i / i / *i 标号
读入
输出 无条件转移到标号语句
⑽JGTZ
⑾JZERO ⑿HALT
2018/10/13
标号
标号
计算机算Baidu Nhomakorabea设计与分析
正转移到标号语句
零转移到标号语句 停机