当前课程知识点:软件理论基础 >  第十二章 Turing机 >  12.5 图灵机的编程技术 >  Video

返回《软件理论基础》慕课在线视频课程列表

Video在线视频

下一节:Video

返回《软件理论基础》慕课在线视频列表

Video课程教案、知识点、字幕

欢迎同学们来到《软件理论基础》MOOC课堂

现在介绍第五节

图灵机的编程技术

前面介绍了图灵机

图灵机的模型是七元组

有状态

输入字母、有带符号、状态转移

空白符、初态、终态,等等

这些基本功能

有的可以扩充

下面编程要用到的一些技术

第一,在状态增加一些参数

状态是图灵机

转移的特征

它占用系统的资源

读头受状态的控制

在状态增加参数,像 a、b、c 等等

这一个状态

可以当多个状态使用

对一般的图灵机

状态 Q 定义为:有一个状态集合 S

还有 T 作为参数

得到的笛卡尔积

a 是增加的参数

或者元素

S 是原来的状态集

原来的状态 S

增加了这些之后

状态个数

|Q| 比 |S| 多

这项技术在现在计算机应用很多

就是内存

下面在带适当做扩充

原来图灵机,一条带

分成一个个单元

两端是无限的

现在可以将这条带改成多道

读的带,不是一个符号

而是一个向量

这里给出三个通道

三个通道,一个读头

读一个向量(x,y,z)

写的也是一个向量

再左、右移动

这也看作是标准图灵机

只是现在读的不是一个符号

而是一个向量

下面是数 n,也就是0的n次方

它的复制子程序

复制n个 0,跟之前讲的

f(x)=2x

原理是类似的

用五个状态表示

q1,把第一个 0 换成 x

之后在最右边空白符写一个 0

直到所有的 0 都换成 x

右边写出了 n 个 0

之后,把原来的 x 都还原成 0

n 个 0

就复制出 n 个 0 了

复制中间用 1 作分隔线

复制干什么用呢?

看乘法

之前讲过加法

2倍、判断

但是,m 乘 n 用图灵机怎么实现?

m乘n,相当于m个n

n 写这里

2n,就是复制一个 n

3n,再复制一个 n

复制它都是相同的

这个复制作子程序

要计算 m 乘 n

就是用这个思想

这是主程序

在 m 中读一个 0

就复制一个 n

如果还有 0

再读一个 0

把 0 变成空白符

再复制一个 n

多少个m的0

就复制了多少个 n

得到m乘n

复制的程序记作copy

主程序是这样的

这里调用了这个子程序

每一次作这样的调用

最后,m 乘 n 个 0 就表示出来了

最后表示结果

就是 m 乘 n 个 0

本节介绍了图灵机的一些编程技巧

这些编程技巧,现在同学们用的很多

图灵在上个世纪30年代

已经把这些思想或者技术

已经想到了

今天介绍了新的自动机

图灵机

给出了图灵机的定义

给出了图灵机的一些功能

像识别字符串、一些计算功能

图灵机的语言

递归可枚举语言、递归语言

这节内容介绍完毕

谢谢大家

软件理论基础课程列表:

第一章 基础知识

-1.1 概要

--第一节

-1.2 数学基础

--Video

-1.3 图

--Video

-1.4 证明方法

--Video

-1.5 语言基础

--Video

-1.6 语言运算

--Video

-习题--作业

第二章 确定有限自动机

-2.1 确定有限自动机的概念

--Video

-2.2 确定有限自动机的定义

--Video

-2.3 扩展转移函数

--Video

-2.4 正则语言

--Video

-2.5 DFA构造

--Video

-习题--作业

第三章 非确定有限自动机

-3.1 非确定有限自动机的概念

--Video

-3.2 e转移

--Video

-3.3 非确定有限自动机的定义

--Video

-3.4 扩展转移函数

--Video

-3.5 等价性证明

--Video

-3.6 文本搜索

--Video

-习题--作业

第四章 正则表示

-4.1 单一终结状态的NFA

--Video

-4.2 正则语言的运算性质

--Video

-4.3 正则表示和语言

--Video

-4.4 正则表示和正则语言

--Video

-4.5 正则语言的同态

--Video

-4.6 正则表示的代数定律

--Video

-习题--作业

第五章 正则文法和正则语言

-5.1 文法

--Video

-5.2 线性文法

--Video

-5.3 正则文法与正则语言

--Video

-5.4 自动机的积

--Video

-习题--作业

第六章 正则语言的性质与DFA优化

-6.1 基本问题

--Video

-6.2 泵引理

--Video

-6.3 非正则语言的判定 1

--Video

-6.4 非正则语言的判定 2

--Video

-6.5 DFA的优化 1

--Video

-6.6 DFA的优化 2

--Video

-习题--作业

第七章 上下文无关文法和推导

-7.1 上下文无关文法

--Video

-7.2 规约和推导

--Video

-7.3 语法分析树

--Video

-7.4 规约、推导和语法分析树之间的关系

--Video

-7.5 上下文无关语言

--Video

-习题--作业

第八章 CFG的应用与文法的二义性

-8.1 CFG的应用

--Video

-8.2 CFG的转化

--Video

-8.3 文法二义性

--Video

-8.4 二义性的消除方法

--Video

-8.5 CFG的构造方法

--Video

-8.6 CFG的构造实例

--Video

-第八章 CFG的应用与文法的二义性--习题

第九章 下推自动机

-9.1 PDA介绍

--Video

-9.2 PDA的定义

--Video

-9.3 PDA的即时描述

--Video

-9.4 PDA的语言

--Video

-9.5 PDA与CFG的关系

--Video

-习题--作业

第十章 下推自动机与CFG化简规范

-10.1 确定下推自动机

--Video

-10.2 DPDA与其他语言的关系

--Video

-10.3 终态型DPDA和空栈型DPDA

--Video

-10.4 消除无用符号

--Video

-10.5 消除e产生式

--Video

-10.6 消除单一产生式

--Video

-10.7 CFG的化简与Chomsky范式

--Video

-习题--作业

第十一章 上下文无关语言的性质

-11.1 CFL的必要条件

--Video

-11.2 CFL的Pumping引理

--Video

-11.3 CFL的闭运算性质

--Video

-11.4 CFL的同态性质

--Video

-11.5 CFL的交运算

--Video

-11.6 CFL的判定性质

--Video

-习题--作业

第十二章 Turing机

-12.1 图灵机的介绍

--Video

-12.2 图灵机的定义

--Video

-12.3 图灵机的即时描述

--Video

-12.4 图灵机的计算

--Video

-12.5 图灵机的编程技术

--Video

-习题--作业

第十三章 图灵机的扩展

-13.1 Turing理论

--Video

-13.2 图灵机带的扩展

--Video

-13.3 图灵机移动的扩展

--Video

-13.4 受限图灵机

--Video

-13.5 图灵机与其他自动机

--Video

-习题--作业

第十四章 不可判定问题

-14.1 图灵机编码

--Video

-14.2 对角线语言与通用语言

--Video

-14.3 图灵机语言的性质

--Video

-14.4 判定问题和语言

--Video

-14.5 计算复杂性问题

--Video

-第十四章 不可判定问题--习题

第十五章 自动机及应用

-15.1 时间自动机

--Video

-15.2 Buchi自动机

--Video

-15.3 软件形式化验证

--Video

-15.4 模型检测方法

--Video

-15.5 M3C模型检测系统

--Video

-习题--作业

期中考试

-期中考试

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。