NP完全问题介绍
1 确定型图灵机
非确定型图灵机 2
3 P和NP 问题类
什么是算法
定义
算法是一个有穷规则的有序集合。这些规则确定了解决
某一类问题的一个运算序列,对于该类问题的任何初始
输入,它能机械地一步一步地计算,并在有限步后终止
计算,产生输出。
什么是算法
算法的五大特征:
1 有穷性
确定性: 2
3 能行性:
输入: 4
5 输出:
确定型图灵机
确定型图灵机
图灵机的工作过程是这样进行的:
根据当前状态和各带头扫描到的
当前符号所确定的映射关系,把
当前状态改变为新的状态。
清除各带头下的当前方格中原有
的带符号并写上新的带符号;或
者保留原有的带符号。
每一条带的带头,向左移动一格,
或者向右移动一格,或者停在当
前方格不动。
确定型图灵机
可以用一个七元式来形式地描述一台k带图灵机。
定义 一台确定型k 带图灵机M 由一个七元组
构成,其中:
, , , , , )
TM (Q ,T I b q0 qf
q Q
Q —— 是一个有穷状态集。0 为初始状态;
q Q 为终止状态或接受状态。
f
T —— 一个有穷符号集。
I —— 输入字符集,I包含于T。
b ——T中的唯一空白符,有b T I 。
k
δ —— 转换函数,是从Q*Tk 的某一个子集到
k
k
Q*T *{L,R,S} 的映射函数。
确定型图灵机
例
构造一台能识别字母表Σ={0,1}上的所有正反读相同的字
的二带图灵机。
它的工作过程是:
确定型图灵机
当带1上有输入字符串10101,带2上全是空白
q 状态 符,两个带头都扫描着各带左边的第一方格
0
时,机器状态为初始状态q0 。
带1 1 0 1 0 1 …
带2 …
确定型图灵机
q 状态
1