一些形式的图灵机:双向无穷、多维带(带子是平面)、多个带子、一个带上多个读写头,非确定性图灵机等。这些变形是等价的,即在能力上具有等价性:可以识别相同的语言类。因而:图灵机具有稳健性。

下面分别证明:单带图灵机和多带图灵机以及非确定性图灵机等价。


1:多带图灵机的定义

特点:

1:有多个带子,每个带子有自己的读写头。                                                                                    2:初始状态时:输入只出现在第一条带子,其他带子都是空白。(因此:第一个带子带头必须位于最左端,其他带子的带头可以在任意位置)

多带图灵机的转移函数():

    这里的k是带子的数量

指的是:当前处于状态,读写头1到k分别指向符号,...,,这时转移到下一状态时,把符号写成,...,,且把每个带子的读写头移动到左,....,右。

2:多带图灵机与单带图灵机等价

显然,单带图灵机是特殊的多带图灵机,下面证明:多带图灵机能识别的语言,单带图灵机也能识别。

定理:每个多带图灵机都有与之等价的单带图灵机。

单带TM模拟多带TM有两种方法:①:“分道”:每道模拟一个带(改变字母表)②:每段模拟一条带,这里采用第二种方法。

用单带s模拟多带m:

1:不同带子之间用#分开,在首尾两端也用#号(k个带子需要k+1个#号)

2:s上的点叫“虚拟读写头”,也就是做特殊标志,记住多带m每个带子读写头所指位置。

3:如果多带写新符号,则s对应位置后的内容整体右移。

 具体实现:

S=“对于输入w=:                                                                                                                           1):S在自己的带子上放入:###....#  ,此格式表示了M全部带子的内容

2):为了模拟一步移动,S从第一个#号扫描直到最后一个#,目的是为了确定虚拟读写头下的符号。(这一次扫描是记住每一个带子的带头符号)然后S进行第二次扫描,并根据M的转移函数指示的运行方式来更新带子。(这是对每一个读写头的改写和带头移动的步骤)

3):任何时候,S的虚拟读写头向右移动到某个#号时,就把这个位置的符号写成B,然后把这个位置已右的所有内容向右平移一格,然后继续模拟。(如果一个带子读写头移动到空白位置,则有写新符号的可能,此时要把其他以右的内容右移一格,空出写新符号的位置)                                         ”

这是一个构造性证明,正确性证明略(即:一个串,s接受m接受;s拒绝m拒绝)

 推论:图灵可识别iff多带图灵机可识别                                                                                               一般:描述问题喜欢用多带图灵机,证明性质喜欢用单带图灵机


2:非确定性图灵机(NTM)

特点:在计算的任何时刻,机器可以在多种可能性中去选择一种继续进行。

状态转移描述:P:幂集(所以子集的并),S:停止不动

格局间的转换可以用计算树描述。

1:停机接受,2:停机拒绝,?:可能永不停机(不确定)    这里:每个结点表示一个格局,每个树枝表示当前格局可以转换下一格局的不同可能。

  定理:每个NTM都有一个与之等价的确定性TM.

1:  NTM只要有一个分支可以接受此语言就说NTM可接收,所有分支都不能接收,才说不可计算

2:  NTM遍历一般选用广度搜索,因为深度搜索会导致某一分支永不停机从而进入死循环。

用多带图灵机TM D模拟非确定性图灵机NTM N 

输入带:单独作为一条带是因为每次模拟一个分支都需要读输入字符串。                                         模拟带:用于模拟NTM的一个计算分支,存放N的带子中的内容。                                                   地址带:又叫路径带,告诉当前结点要选择的子结点,相当于确定分支(如:地址231,根节点出发寻找第二个子结点,再走第三个子结点,最后选择第一个子结点。)

采用轮换方式,每个格局模拟几步后,重新选择路径,以防选择的分支永不停机。

pf:用DTM D模拟NTM N.                                                                                                                               D="对输入w:                                                                                                           ①   初始状态,第一个带子包含w,另外两个带子为空。

②   把输入带内容复制到模拟带上。(准备在此模拟各分支)

③   在第二个带子上模拟N在输入w上的某个非确定性的计算分支,这个分支由第三个带子的地址指定。若遇到接收格局则接收,否则进入第四步。

④    在第三个带子上,用字典序(类似哈弗曼编码树,左小右大,先短再长)下的下一个串来代替原用的串,转到第二步。                                                                                      "(遍历所有可能就相当于由非确定转为确定)

推论:图灵可识别当且仅当非确定图灵机识别。图灵可判定当且仅当确定性图灵机判定

            (所有分支都得要么接收,要么拒绝,不能永不停机)。


图灵机作为计算装置的工作方式:                                                                                                                 1:识别器---输入x,输出0/1/?

2:   判定器---输入x,输出0/1(要么接受,要么拒绝)

3:转换器--输入x,输出y(输出不同串,一般作为转换函数)

4:产生器--输入,输出(从串中截取)

5:枚举器--输入,输出,一般:无遗漏,无多余,可重复,无顺序(枚举一个语言)

TH:图灵可识别等价于图灵可枚举


(算法是直觉概念,图灵机是数学概念。由于基于经验是正确的,相当于物理中由实验总结的规律,故而称为论题)

图灵机算法的描述:                                                                                                                                  1:形式描述--七元组                                                                                                                          2:实现描述--不给出状态和转移函数的细节,只描述数据的存放和读写头的移动。                        3:高层描述--用日常语言描述算法,不考虑读写头和对带的管理。

图灵机的输入必须是串,如果不是就需要编码成串(如:图,文法,多项式)

编码的细节:                                                                                                                              字符串: X=010,Y=11,=?

第一种:=001100101111(X和Y的各字符双写,再用01连接。读到两个连续不同符号就知道字符串结束了)  ||=2|x|+2|y|+2

第二种:=11111001011(X和Y的符号直接相连,记录第一个串的字符串长度双写位于头部,然后用10连接)    ||=|x|+|y|+2+2

第三种:=111110010     =11001011                                                                                              =11111001011001011(将x和y分别把自己长度位于首部用10连接,然后两个编码后的字符串直接相连)   解码方便


描述图灵机算法的的格式:带引号的锯齿状日常语言文字段                                                             其中:第一行描述算法的输入(暗含了TM会首先检查输入的对象编码是否符合要求,否则拒绝)

:判定无向图的连通性

                                           高层描述:                                                                                                                   M="输入的是图G的编码:(描述首先指明输入)                                                           1:选择G的一个顶点,做上标记。

2:重复下列步骤,直到没有新的顶点可做标记。

3:对于G的每个顶点,如果它是带标记顶点的:邻接点,则给它做标记。

4:扫描G的所有顶点,如果都有标记则拒绝,否则接收。(判定依据)                                 "

细节:

1:编码如右图,顶点集合与边                                                                                                           2:合法性检查:顶点序列不可重复,边序列不能包含不在顶点序列中的新节点。                           3:步骤:①最左边顶点加个点②在一个已加点画个线做标记,再选任意一个未加点的的画个线,去边序列中寻找是否有两条线的边序列,有就将未加点的加个点③最后检查是否都加了点。

图灵机2:等价变形+算法定义相关推荐

  1. ARAP(As-Rigid-As-Possible)变形算法

    上图中,最左侧的模型为其初始状态,由后面几种模型形状的变换我们可以发现它实际上就是要求变形前后模型每一个局部都只经历了平移或者旋转,也就是刚体变换(rigid -transformation).我们知 ...

  2. 图像处理(十三)保刚性图像变形算法-Siggraph 2004

    图像变形可以说是很多图像.动画领域的一个非常常见的功能,就说ps.天天P图.美图秀秀.可牛等这些每个软件,有好多个功能都要用到图像变形,比如图像方向校正.图像全景.视频防抖等,在我的另外一篇博文全景矩 ...

  3. 保刚性图像变形算法-Siggraph 2004

    图像处理(十三)保刚性图像变形算法-Siggraph 2004 查看全文 http://www.taodudu.cc/news/show-6027440.html 相关文章: 介绍一个牛逼的Githu ...

  4. Imagewarping变形算法研究---MLSR(Nonrigid image deformation using moving regularized least quares)

    Nonrigid image deformation using moving regularized least quares MLS算法是基于最小二乘法的移动网格变形算法,该算法依赖于网格大小的选 ...

  5. 从0到1,反距离加权IDW(Inverse Distance Weighted Interpolation) 插值变形算法

    论文: Image Warping with Scattered Image Warping with Scattered Data Interpolation 局部变形算法:液化,膨胀 全局变形算法 ...

  6. php实现图片液化,图像变形算法:实现Photoshop液化工具箱中向前变形工具

    很多时候,我们需要对一个图像的局部进行调整,这个调整必须是平滑的和可交互式的.Photoshop液化滤镜中向前变形工具就是这样一个工具,很好用.类似工具有美图秀秀的瘦脸功能.本文描述这类工具背后的原理 ...

  7. 图像变形算法:实现Photoshop液化工具箱中向前变形工具

    图像变形算法:实现Photoshop液化工具箱中向前变形工具 2009-12-11 21:44:56 阅读(444) 发表评论 很多时候,我们需要对一个图像的局部进行调整,这个调整必须是平滑的和可交互 ...

  8. rtx 加密机制_[原创]RTX(腾讯通)本地保存密码TEA变形算法及还原器

    [调试逆向] [原创]RTX(腾讯通)本地保存密码TEA变形算法及还原器 2012-11-11 12:35 16367 [调试逆向] [原创]RTX(腾讯通)本地保存密码TEA变形算法及还原器 201 ...

  9. 图像变形算法之meitu瘦脸及放大眼睛(文末含代码)

    导语:很多时候,我们需要对一个图像的局部进行调整,这个调整必须是平滑的和可交互式的.Photoshop液化滤镜中向前变形工具就是这样一个工具,很好用.类似工具有美图秀秀(http://xiuxiu.m ...

最新文章

  1. 微信小程序开通腾讯云开发实践流程附详细图解
  2. PDF文件转jpg格式图片
  3. React 是怎样炼成的
  4. 解决在linux环境下面不显示验证码的问题
  5. postgre sql 括字段_【技术干货】30个最适合初学者的SQL查询
  6. 虫术python绝技_《圣济总录》
  7. AMD and CMD are dead之KMDjs内核之依赖分析
  8. cocos2d高级开发
  9. 【机器学习中的矩阵求导】(五)矩阵对矩阵求导
  10. xml文件怎么转换成wps_word文档怎样转换成xml 怎么将XML文档转成WORD文档
  11. TensorFlow入门操作
  12. qq飞车鸿蒙车队,qq飞车鸿蒙版
  13. cv2.imread默认情况下读取的是彩色图片
  14. 天玥系列微型计算机,【简讯】AMD正式发布RX 6000系列显卡;OPPO K7x宣布…
  15. stack around xxx is corrupted
  16. 韩信点兵(Hanxin)(C++)
  17. 信息安全主题的高清PPT背景图110张,打包下载
  18. 芬兰赫尔辛基:欢迎神秘的东方科技力量 阿里云:一起为创业者开挂
  19. GNURadio中的PMTs(Polymorphic Types)数据类型
  20. Java-反射性能优化和工具包ReflectASM

热门文章

  1. HNOI 2018 游记
  2. vue中src路径的写法
  3. 配置FT2232波特率
  4. 【2073】三角形面积
  5. 我用DoS把自己网站弄挂了
  6. linux设置rtc默认时间,RTCTime 设置和使用 详解
  7. python预测糖尿病_实战 | 糖尿病预测项目
  8. 第五人格调香师技能可以用几次?
  9. 苹果平板做ppt方便吗_苹果手机和平板有什么软件可以做笔记
  10. 麦克斯韦方程组的组成由来、媒介的电磁性质和边界条件