形式语言与自动机——第四章 图灵机

2024-02-29 10:32

本文主要是介绍形式语言与自动机——第四章 图灵机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 图灵机
    • 1 定义:
    • 2 动作
    • 3 瞬时描述
    • 4 转移符号
    • 5 图灵机的语言
    • 6 图灵机的变形
      • 6.1 状态中存储
      • 6.2 多道
      • 6.3 半无穷带图灵机
      • 6.4 多带图灵机
      • 6.5 非确定图灵机(NTM)
  • 图灵机构造技术
    • 1 带有存储功能的图灵机
    • 2 多道机
    • 3 核对符(带有核对功能的图灵机)
  • 不可判定性
    • 1 定义

图灵机

1 定义:

在这里插入图片描述

2 动作

在这里插入图片描述

解释一下:当前状态为q,读头符合为X,现将读头符号从X替换为Y,向左移动一格,状态转换为p。下面来看一个例子:
在这里插入图片描述

上面是状态转移图的形式,下面用七元组和状态转移表来等价展示例一:

在这里插入图片描述

3 瞬时描述

背景

为了描述图灵机的总体的格局,我们需要先给出瞬时描述的概念和定义。

定义

图灵机虽有无穷长的带, 但经过有限步, 带上非空内容总是有限的.。因此用全部非空符号、当前状态及带头位置,定义图灵机的瞬时描述(ID) 为

X1 X2···Xi−1 q Xi Xi+1···Xn

  1. 图灵机的当前状态 q;
  2. 带头在左起第 i 个非空格符 Xi 上;
  3. X1X2···Xn 是最左到最右非空格内容.

4 转移符号

在这里插入图片描述

稍微解释一下(q,Xi) = (p,Y,L),ID初始为X1X2…Xi-1 q Xi… 经过(q,Xi)(p,Y,L)的转移后,将Xi 替换为Y,往左移动一格,且从状态q变为状态p。

在这里插入图片描述

5 图灵机的语言

在这里插入图片描述
图灵机可接收的语言成为递归可接收语言

因此,我们无法判断是因为时间不够还没有算到结尾而不停机,还是说陷入了死循环而不停机。因此我们给出下面的定义。

在这里插入图片描述

一个例子

在这里插入图片描述

6 图灵机的变形

6.1 状态中存储

6.2 多道

6.3 半无穷带图灵机

半无穷带图灵机与图灵机等价

6.4 多带图灵机

图灵机的运行时间
在这里插入图片描述

6.5 非确定图灵机(NTM)

如果L被非确定图灵机接受,那么也可被图灵机接受

图灵机构造技术

其实纯粹的图灵机并不实用,它更多偏向理论指导,接下来我们看几个变形的实用的图灵机

1 带有存储功能的图灵机

在这里插入图片描述
我们来看一个例子:
在这里插入图片描述
解释一下,所有的状态从原来的单例q,改为了一个元组[q0, B]。

(1) 表示当前状态是[q0, B],表示纯状态是q0,下一个输入不期望是B,否则不能接受。且如果遇到0,将状态从q0转换为q1,且下一个接受的字符不能是0,用0替换0,向右移动一格。 (3) 接着,状态来到了[q1, 0],因为遇到的第一个字符是0,所以接下来都不期望遇到0,当遇到1时,用1替换1,继续向右移动一格。(5) 最后,读头一直遇到1,一直向右移动,现在遇到了一个B,表示结束,进入接受态[q1, B],**至于为什么用0替换B,还要向左移动一格,我就不太明白了**。

2 多道机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 核对符(带有核对功能的图灵机)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不可判定性

1 定义

如果一个问题的语言是递归的,称为可判定问题,否则称为不可判定问题

  • 递归可枚举语言——图灵机所识别的语言
  • 递归语言——保证停机的图灵机所识别的语言
    判定问题:图灵机M接受输入Ω吗?

这篇关于形式语言与自动机——第四章 图灵机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/758466

相关文章

hdu 3065 AC自动机 匹配串编号以及出现次数

题意: 仍旧是天朝语题。 Input 第一行,一个整数N(1<=N<=1000),表示病毒特征码的个数。 接下来N行,每行表示一个病毒特征码,特征码字符串长度在1—50之间,并且只包含“英文大写字符”。任意两个病毒特征码,不会完全相同。 在这之后一行,表示“万恶之源”网站源码,源码字符串长度在2000000之内。字符串中字符都是ASCII码可见字符(不包括回车)。

POJ 1625 自动机

给出包含n个可见字符的字符集,以下所提字符串均由该字符集中的字符构成。给出p个长度不超过10的字符串,求长为m且不包含上述p个字符串的字符串有多少个。 g++提交 int mat[108][108] ;int matn ;int N ;map<char ,int> to ;//ACconst int maxm = 108 ;const int kin

zoj 3228 ac自动机

给出一个字符串和若干个单词,问这些单词在字符串里面出现了多少次。单词前面为0表示这个单词可重叠出现,1为不可重叠出现。 Sample Input ab 2 0 ab 1 ab abababac 2 0 aba 1 aba abcdefghijklmnopqrstuvwxyz 3 0 abc 1 def 1 jmn Sample Output Case 1 1 1 Case 2

【CSS in Depth 2 精译_023】第四章概述 + 4.1 Flexbox 布局的基本原理

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

正规式与有限自动机例题

答案:D 知识点: 正规式 正规集 举例 ab 字符串ab构成的集合 {ab} a|b 字符串a,b构成的集合 {a,b} a^* 由0或者多个a构成的字符串集合 {空,a,aa,aaa,aaaa····} (a|b)^* 所有字符a和b构成的串的集合 {空,a,b,ab,aab,aba,aaab····} a(a|b)^* 以a为首字符的a,b字符串的集

第四章 类和对象(2)

4.2 类         类是封装对象的属性和行为的载体,Java中定义类使用class关键字,其语法如下: class 类名称{// 成员变量// 成员方法()}         在Java语言中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。本节将对类与对象进行详细讲解。          4.2.1 成员变量         在Java中对象的属性也称为成员变量,

第四章 类和对象(1)

4.1面向对象概述         在程序开发初期,人们使用结构化开发语言,但随着软件的规模越来越庞大,结构化语言的弊端也逐渐暴露出来,开发周期被无休止地拖延,产品的质量也不尽如人意,结构化语言已经不再适合当前的软件开发。这时,人们开始将另一种开发思想引入程序中,即面向对象的开发思想。面向对象思想是人类最自然的一种思考方式,它将所有预处理的问题抽象为对象,同时了解这些对象具有哪些相应的属性以及行

深入理解计算机系统阅读笔记-第四章

第四章 处理器体系结构 一个处理器支持的指令和指令的字节级编码称为它的ISA(instruction-set architecture,指令集体系结构)。不同家族处理器有不同的ISA。ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层,编译器编写者只需要知道允许哪些指令,以及他们是如何编码的;而处理器设计者,必须建造出执行这些指令的处理器。 ISA模型看上去是顺序执行的,实际上同时处

React第四章(babel)

Babel 什么是Babel? Babel 是一个 JavaScript 编译器,提供了JavaScript的编译过程,能够将源代码转换为目标代码。 AST -> Transform -> Generate 官网 https://babeljs.io/ 查看AST https://astexplorer.net/ Babel所有的包 https://babeljs.io/docs/

嵌入式开发高频面试题——第四章 常见算法(下)

目录 4.2.1 Vector和List的异同4.2.2 Vector的内存增长与底层实现4.2.3 Vector和Deque的比较4.2.4 STL里有sort函数,为什么list还要定义sort?4.2.5 STL底层数据结构实现4.2.6 利用迭代器删除元素会发生什么?4.2.7 Map的实现与查找效率4.2.8 几种模板插入的时间复杂度 4.2.1 Vector和Lis