图灵机--停机问题

问题:给定规则和纸带,是否有算法可以确定图灵机停机或者一直运行。

如果有个程序无法判断,证明此问题无解。

目的,找到这种程序。

H(halt 停止):判断程序是否会停机,判断运行此会不会停机

F(find 寻找):寻找程序 找到让H停机的程序 F停机

如果H会停机,表明F没有找到让H停机的程序,F会一直找,F不停机

如果H不会停机,F找到,F停机

现在把H和F封装,问F输出的程序会不会让整体停机

H如果说停机,表示F不停机,表示能说话的人(H)说停机,但是整体不停机

H说不停机,则F停机,表示能说话的人(H)说停机,但是整体不停机

【计算机科学速成课】[40集全/精校] - Crash Course Computer Science】

https://www.bilibili.com/video/BV1EW411u7th?p=15&vd_source=53f17186c8480e141f43fa1db7910b6c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
图灵机与计算问题 张江(email: [email protected]) 自从20世纪30年代以来,图灵机、计算这些重要的概念在科学的天空中就一直闪烁着无限的光彩。尤其是近年来量子计算机、生物计算机、DNA计算等领域的创新工作引起了世人的广泛关注。我们不禁问这样的问题,国外究竟为什么能发明出这些各式各样的计算机呢?这些意味着什么呢?其实这一切的源头都来源于计算理论。国内在介绍计算理论方面的教材虽然有不少,但一般都比较深奥难懂。所以我觉得很有必要对这些内容进行科普。于是尝试写下这么一篇文章,希望我的文章能够让你更加清楚、透彻的理解图灵机、计算等等一些基本而重要的概念,并洞悉到这些概念的本质和深远涵义。 本篇文章大体上可以分成四部分:首先给大家讲一讲关于图灵、哥德尔等科学家的故事;然后正式引入图灵机的概念,为了对这个概念有比较直观的理解,我采用了一个人工生命:“小虫”的比喻来叙述。接下来,文章介绍了跟图灵机有关的概念:什么是模拟,什么是“万能计算机”等等;最后是关于图灵停机问题的探讨,我个人认为很有可能未来对科学的重大突破都来源于对图灵停机问题的深入理解。在行文过程中,我除了用自己的方式介绍一些现有的基本概念之外(为了尽量表达得清楚明白,我不得不放弃理论论证的严格性),还探讨了很多我认为别人没有探讨的问题,这些问题多是我自己的思考结果,而它们没有经过科学的验证。在这部分内容上我都标上了*号,希望你能有选择的看待这些问题和观点。
计算概论 第一讲 计算机的基本原理 计算机的理论模型——图灵机 从数学危机到图灵机 图灵机的基本构成 图灵机的运行机理 计算机为什么能计算? 数的二进制表示 二进制数的布尔运算 已解问题:数的表示 二进制. 待解问题:如何进行计算? 计算机中数的逻辑运算方法 布尔代数 1854年:布尔发表《思 维规律的研究——逻辑 与概率的数学理论基 础》,并综合其另一篇 文章《逻辑的数学分 析》,创立了一门全新 的学科-布尔代数; 为计算机的开关电路设 计提供了重要的数学方 法和理论基础。 英国数学家布尔(G.Boole) 计算机中数的逻辑运算方法 基本逻辑运算 与 或 非 复合逻辑运算 同或 异或 与非 或非 与或非 英国数学家布尔(G.Boole) 计算机中数的逻辑运算方法 F R E A B 逻辑函数表达式:F= A B 真值表 A B F 0 0 0 0 1 0 1 0 0 1 1 1 B 计算机中数的逻辑运算方法 F A R E 逻辑函数表达式:F= A+B F 0 1 1 1 A 0 0 1 1 B 0 1 0 1 真值表 计算机中数的逻辑运算方法 逻辑函数表达式:F= A+B E A R F 1 0 0 1 F A 真值表 AB F1 F2 00 0 1 01 1 0 10 1 0 11 0 1 计算机中数的逻辑运算方法 真值表 异或 两数相同为"0" 两数相异为"1" 同或 两数相同为"1" 两数相异为"0" F = A B F = A B 加法的计算 举例:A=1101, B=1001, 求 A+B 1 1 0 1 + 1 0 0 1 1 0 0 1 1 0 1 1 0 加法的计算 举例:A=1101, B=1001, 求 A+B 异或 与 A B 本位 进位 1 + 1 1 + 0 1 0 1 1 + 1 0 0 1 1 + 0 0 1 1854年的布尔代数 半 加 器 半 加 器 或 an bn cn -1 sn cn Scn-1 an---加数;bn---被加数;cn-1---低位的进位 sn---本位和;cn---进位 1 1 0 1 + 1 0 0 1 1 0 0 1 1 0 1 1 0 已解问题:数的表示 —— 二进制. 已解问题:计算方法 —— 布尔代数 待解问题:布尔运算如何实现? 1854年的布尔代数 与门 或门 异或门 小结 电路为什么能计算? 数字运算 可以转换 二进制数的运算; 二进制运算 可以转换为 基本的"布尔运算" ; 基本的"布尔运算" 都可以 由电路完成; 所以电路能"算数"! CPU 计算机的过去、现在 和 未来 下集预告 Thanks. 计算概论 第一讲 计算机的基本原理 计算机的理论模型——图灵机 从数学危机到图灵机 图灵机的基本构成 图灵机的运行机理 计算机为什么能计算? 数的二进制表示 二进制数的布尔运算 计算机的理论模型——图灵机 本节内容 图灵机的构成 运作机理 示例 图灵机的意义 前节回顾 三次数学危机 图灵的贡献 提到了"图灵机" 图灵机的构成 图灵机的组成 一条存储带 双向无限延长 上有一个个小方格 每个小方格可存储一个数字/ 字母 一个控制器 可以存储当前自身的状态; 包含一个读写头,可以读、 写、更改存储带上每一格的 数字/字母 可以根据读到的字母/数字变 换自身的状态 可以沿着存储带一格一格地 左移/右移 图灵机如何工作 图灵机的工作步骤: 1. 准备: (1)存储带上符号初始化; (2)控制器设置好自身当前状态; (3)读写头置于起始位置; (4)准备好工作程序; 2. 反复执行以下工作直到停机: (1)读写头读出存储带上当前方格中 的字母/数字; (2)根据 自身当前状态 和 所读到的 字符,找到相应的程序语句; (3)根据 相应程序语句,做三个动作: 在当前存储带方格上写入一个相 应的字母/数字; 变更自身状态至新状态; 读写头向左或向右移一步; 1 1 1 1 1 1 1 q1 q1 q2 q2 q3 q3 1 b 1 b 1 b 1 1 1 b b b R R R L H H q1 q2 q2 q3 q3 q3 当前状态:q1 q1 1 1 R q1 当 前 机 器 状 态 当 前 读 入 的 符 合 当 前 应 写 入 的 符 号 读 写 头 的 动 作 机 器 应 转 入 的 状 态 图灵机运行前的准备工作: (1)存储带上符号初始化; 当前字母表:{ 1,b } (2)设置好控制器当前状态; 控制器状态集合: { q1, q2, q3 } 控制器当前状态:q1 (3)读写头置于起始位置; (4)准备好工作程序; 图灵机程序五元组: <q, b, a, m, q'> 1 1 1 1 1 1 1 q1 q1 q2 q2 q3 q3 1 b 1 b 1

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值