算法及图灵机模型.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件设计方法学 第二章 程序算法与图灵机模型 2.1 算法概念 定义:算法是完成一个任务所需要的具体步骤和方法。 从程序设计的角度来看:给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态或输出数据。 第一步,给定两个正数m,n 第二步,计算m除以n所得到余数r 第三步,m=n,n=r 第四步,若r=0,则m,n的最大公约数等于m;     否则返回第二步 2.2 图灵机模型 图灵机模型理论是计算学科最核心的理论之一 图灵机模型为计算机设计指明了方向 图灵机模型是算法分析和程序语言设计的基础理论。 本节主要内容 图灵机缘起 图灵机描述 计算“X+1”的图灵机 通用图灵机 图灵机模型的启示 2.2.1图灵机概念 1900,德国数学家希尔伯特提出23个数学难题中, 逻辑的完备性问题,即是否所有数学问题原则上都可解. 1936, 英国数学家图灵 “论可计算数及其在判定问题中的应用”(On Computable Numbers With an Application to the Entscheidungs Problem) 结论: 可解的问题是能够用图灵机的自动机理论模型表达的问题. 图灵机的直观描述 3个部件:有穷控制器(有限状态机)、无穷带(符号集合)和读写头(读、改写、左移、右移) 图灵机的形式化描述 图灵机是一个五元组(K,∑,δ,s,H),其中: K 是有穷个状态的集合; ∑ 是字母表,即符号的集合; s ∈K是初始状态; H∈K 是停机状态的集合,当控制器内部状态为停机状态时图灵机结束计算; δ是转移函数,即控制器的规则集合 图灵机工作过程:计算“x+1”的图灵机 目标 利用二进制来设计一个专门计算“x+1”的图灵机,要求计算完成时,读写头要回归原位 x由0、1串组成,“*”为x的分隔符、界定符 状态集合K {start,add,carry,noncarry,overflow,return,halt} 字母表∑ {0,1,*} 初始状态s start; 停机状态集合H {halt}; “x+1”图灵机规则集合(1) 规则 如果 A 那么 B,形式化表示:A B x+1”图灵机规则集合(2) 规则集合δ: 举例:“5+1”的计算过程(1) 初始状态 “5+1”的计算过程(2) “5+1”的计算过程(3) “5+1”的计算过程(4) 停机状态 编码方式表示的图灵机 图灵机UN+1: 00→00R, 01→11R, 10→01STOP, 11→11R。 一进位系统 实现方法:用一串n个1代表数n 如:1 →1 2 →11 3 →111 4 →1111 ……. 优点: 数据表示简单 0可以作为多个数之间的分隔手段 缺点: 表示大数时候极端无效率 2.2.2 二进位码的数据表示 目标 解决大数表示的问题 如果直接把磁带上的符号当成二进制位数来读存在的问题: 读到的0是空白还是二进制数本来的数位? 多个数据之间的分隔符如何表示? 解决办法: 采用收缩的步骤来进行 基本思想:对于一个二进制位串,不是直接把它当做二进制数来读,而是关注在这个序列中,每两个连续的0直接1的个数 例如: 观察: 发现: 0 →000 1 →010 2 →0110 最左端的0可以忽略 编码规则可以定义为: 0 →0 1 →10 2 →110 3 →1110 ……… 其中0和1可以作为二进制数码来用,2,3,4等可以作为某种记号或指令的编码来读。 例如:数据序列(5,13,0,1,1,4) 直接用二进制表示为: 101,1101,0,1,1,100 运用我们的编码规则: 0 →0 1 →10 2 →110(可以用来作为数据分隔符“,”的编码) 变换后将得到怎样一个序列呢?(大家动手做一做) UN+1对于大数的结果表示对比: 167+1 一进位 167 110000(167个1) 168110000(168个1) 二进位): 167:00001001000101010110 168):000010010010000110 2.2.3 非自然数的表示 基本思想: 在自然数表示的基础上对符号进行编码来完成。 方法: 负数(对-进行编码) 分数(对/进行编码) 有限小数的表示 可以用分数的形式来表示 如:3→314159265/100000000 无限小数的表示 严格来

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档