题记:看资料时经常看到图灵完备这四个字,但完全不知道什么意思,所以整理了关于图灵完备的资料。

1.图灵

艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。

图灵机,又称图灵计算、图灵计算机,是由数学家艾伦·麦席森·图灵(1912~1954)提出的一种抽象计算模型,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人们进行数学运算。它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。

以上只是图灵机模型的内容,而非具体的实现。

图灵机

图灵机可以解决什么问题

假设上述模型里所说的功能都能被以某种形式物理实现,那么任意可计算问题都可以被解决。

计算问题的一些举例:

给定一个正整数n,判断它是否是质数

给定一个01序列,把他们按位取反

给定一个字符串,判断某个字符是否存在,及查找存在位置

给定一个逻辑蕴含的命题,求它的逆否命题

非计算问题的例子:

今晚吃什么

为什么太阳从东边升起

3.什么是图灵完备?

在可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)按照一定的顺序可以计算出结果,被称为图灵完备(turing complete)。

一个有图灵完备指令集的设备被定义为通用计算机。如果是图灵完备的,它(计算机设备)有能力执行条件跳转(if、while、goto语句)以及改变内存数据。 如果某个东西展现出了图灵完备,它就有能力表现出可以模拟原始计算机,而即使最简单的计算机也能模拟出最复杂的计算机。所有的通用编程语言和现代计算机的指令集都是图灵完备的(C++ template就是图灵完备的),都能解决内存有限的问题。图灵完备的机器都被定义有无限内存,但是机器指令集却通常定义为只工作在特定的、有限数量的RAM上。

图灵完备的语言,有循环执行语句,判断分支语句等。理论上能解决任何算法。但有可能进入死循环而程序崩溃。

图灵不完备也不是没有意义,有些场景我们需要限制语言本身。如限制循环和递归, 可以保证该语言能写的程序一定是终止的。

比特币的脚本系统是图灵不完备的,以太坊的智能合约系统是图灵完备的。各有优缺点,图灵不完备会更安全些,图灵完备会更智能些。

参考资料

python 图灵完备_图灵完备到底是个什么鬼?相关推荐

  1. 二级建造师学python有用_二级建造师到底有没有用?

    我是18年过得一建,16年过的二建,我可以很负责任的告诉你,二建相对于其他的注册证来说,难度是远不及这些证的,所以门槛低,难度低,这算是二级建造师的一个标志了. 不过如果你觉得二建难度低的,然后也不怎 ...

  2. python中mod是什么意思_【python中,mod_python到底做了些什么呢?】mod python 教程

    python 编程小白 ,不会用doctest 请大神指教怎么用!! >>> >>> def is_between(v, lower, higher): ...   ...

  3. python logger handler_Python中的logger和handler到底是个什么鬼

    最近的任务经常涉及到日志的记录,特意去又学了一遍logging的记录方法.跟java一样,python的日志记录也是比较繁琐的一件事,在写一条记录之前,要写好多东西.典型的日志记录的步骤是这样的: 创 ...

  4. 广义线性模型到底是个什么鬼?

    以下文章内容摘自网络:说人话的统计学 原标题:广义线性模型到底是个什么鬼? ❉说人话的统计学❉ 从逻辑回归模型开始,我们连续讲了好多集有些相似又特点各异的几种统计模型.它们有个统一的旗号,叫做「广义线 ...

  5. python ui bs_Guibs的Python学习_列表

    Guibs 的 Python学习_列表# 列表# 列表由一系列按特定顺序排列的元素组成, 其中元素和元素之间可以没有任何关系 # 在 Python 中, 用方括号 [] 来表示列表, 并用逗号 , 分 ...

  6. Python 进阶_生成器 生成器表达式

    目录 目录 相关知识点 生成器 生成器 fab 的执行过程 生成器和迭代器的区别 生成器的优势 加强的生成器特性 生成器表达式 生成器表达式样例 小结 相关知识点 Python 进阶_迭代器 & ...

  7. python到底能用来做啥-Python那么火,到底能用来做什么?

    如果您正在考虑学习Python,或者您最近刚开始学习, 您可能会问自己:"我到底可以用Python做什么?" 这是个棘手的问题,因为Python有很多用途. image.png 但 ...

  8. 章磊回答: 姚期智提出的百万富翁难题被破解? 多方安全计算MPC到底是个什么鬼?

    姚期智提出的"百万富翁"难题被破解? 多方安全计算MPC到底是个什么鬼? 作者 | 章磊 责编 | Aholiab 出品 | CSDN.ARPA 在越来越多对数据隐私的担忧声中,政 ...

  9. python基础_格式化输出(%用法和format用法)(转载)

    python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制 %d -- dec 十进制 %x -- hex 十六进制 ...

最新文章

  1. FPGA之道(64)代码中的约束信息(一)保持约束
  2. Sql Server内置函数实现MD5加密
  3. 用实际的软件编程示例解释C#中的装饰器模式
  4. CUDA——Windows上CUDA的安装教程
  5. CSS 控件适配器的菜单样式解释
  6. php获取当前文件夹下所有图片大小,PHP获取文件夹大小函数用法实例
  7. 局域网 访问计算机 软件,局域网查看工具
  8. 计算机需要英语水平的标准,计算机专业英语课程标准和要求
  9. APP微信小程序测试一览表(常规用例)
  10. r语言调用python_R语言与Python协同工作
  11. 高分辨透射电镜(HRTEM)样品怎么制?看这一篇就够了
  12. 2022上半年,大城市的各行业工资水平,让人触目惊心
  13. java会员卡管理系统下载_基于jsp的会员卡管理系统-JavaEE实现会员卡管理系统 - java项目源码...
  14. 机器学习-周志华-课后习题答案-线性模型
  15. java实现俄罗斯方块项目
  16. 计算机网络 IP地址基础知识
  17. 马思洛需求理论与市场营销究竟是什么关系
  18. 图解ReentrantLock底层公平锁和非公平锁实现原理
  19. 搭建VLC流媒体服务
  20. Python字面量、注释、变量、数据类型、数据类型的转换、标识符、运算符、字符串扩展、字符串格式化、数据输入(input语句)

热门文章

  1. 《淘宝规则》创建店铺的规则与实施细则
  2. python安装hydra
  3. 绿色石化高质量发展 茂名天源石化碳三碳四资源利用项目开工
  4. 01 网易云音乐 vant -黑
  5. MAC Book Pro 使用 libmodbus
  6. 五金与机械行业的WMS系统方案
  7. 你真的了解你的显示器吗?(科普显示器知识,如何选购显示器)
  8. PCB设计之阻抗不连续性,如何解决?
  9. 抖音电商的带货情况究竟如何,抖音电商带货前景如何
  10. c语言字符串md5加密解密,.net core使用MD5加密解密字符串