在讨论人工智能的潜力和限度时,常常有人拿 “图灵机” 和 “可计算性” 说事。其论证大致是这样几步:
(1)既然人工智能是在计算机中实现的,其能力自然在计算机能力范围之内;
(2)现有计算机的计算能力都和图灵机相同;
(3)那些图灵机不能解决的问题当然也就是人工智能所无法解决的。
有些人会进一步主张:
(4)人脑不受这些限制,因此不等价于图灵机;
(5)所以人工智能的根本能力永远低于人类智能,尽管在某些具体能力上可以超过人。
“图灵计算”到底是什么意思?
由于这个问题直接涉及对计算机科学核心概念的理解,我们不可避免地要从概念的定义开始。鉴于本文的性质,我会试图用日常语言把这事说得足够明白。图灵近年来成了个广为人知的名字,这里就不介绍了。他在1936年的一篇文章中提出了一种抽象的 “计算机器”(computing machines),并用它来定义“可计算的数” (computable numbers)。请注意:在那时计算机 (computers) 尚未出现,而图灵的本意也不是要设计这样的机器,而是要为在数学中广泛使用的 “可计算” 这一概念提供一个严格的定义。由于人们(甚至以严谨著称的数学家们)往往对同一个概念有不同理解,图灵试图用一个想象的机械装置来避免歧义。简单地说,如果满足某个特征的数字都可以在有限时间内被这样一个机械装置生成或识别,那么这类数就是可计算的。在电子数字计算机(即今天所说的“计算机”)出现后,计算机科学中的 “计算” 概念沿用了数学中的传统意义,图灵机也被广泛用于刻画计算机中的各种过程,因而成为理论计算机科学的核心概念。在专业文献中图灵机的定义大同小异,下面的 “科普版” 改编自Introduction to Automata Theory, Languages, and Computation [1]——这个领域里最常用的教科书之一。
对图灵机的完整描述包括七个成分:
1. 一个有限的输入符号集;
2. 一个有限的内部符号集(输入符号集的扩充);
3. 一个特殊的空白符号(用来标记被处理的符号序列的边界);
4. 一个有限的状态集;
5. 一组状态变换规则,根据当前状态和所关注的符号的组合决定新的状态和符号,然后将关注点前移或后移至另一个符号;
6. 一个特定的初始状态(初态),此时所有待处理符号都是输入符号,且关注点在第一个符号处;
7. 一组终止状态(终态),至此停止运行。
当且仅当存在一个图灵机,可以将一个问题的每个实例作为输入,并在有限的变换后停止运行,这时我们称这一个问题是 “图灵机可计算” 的。如果停止运行是由于达到了一个终止状态造成的,输入就算是被 “接受” 了。如果停止运行是由于没有变换规则可以应对当前情况,输入就算是被 “拒绝” 了。这个图灵机对输入符号串所作的 “接受还是拒绝” 的判定就叫一个“计算”。
一个 “图灵机” 不是指一台“机器”,而是指一台机器的一个特定的运行过程或使用方式,包括对初态和终态的划分。上述的机器甲和机器乙是同一个装置,但完成的计算不同。同理,对任何其它图灵机,只要修改其初态或终态的划分,它就成了不同的图灵机,所完成的计算也就不同了。
计算与智能
一个系统的 “初态” 和 “终态” 的划分并不像看上去那么无关大局。现在让我们考虑 “机器丙”,它和机器甲基本相同,只是取消了状态 Z和最后一条变换规则。这样一来,当所有符号都成为 #,机器不再有适用变换规则,就会停在当前状态,而这个状态同样可以代表输入中1的个数的奇偶性(A对应于偶数,B对应于奇数),因此也可以被用作机器丙的计算结果。这台机器在处理完一个输入序列后,只要将状态重新初始化为A,即可以处理下一个序列。但 “计算” 的概念不足以涵盖所有与智能、认知、思维等有关的过程。尤其像那些和“学习“、”适应“、“灵机一动”有关的现象,根据定义,它们不是对问题的可重复解决。
图灵机指的不是某类装置,而是(装置中的)某类过程,就不能用它对应于一台计算机,而是对应于(一台计算机中的)某个程序或过程。图灵机在计算机科学中的重要性也就在于,严格、清晰地表达出一个符号(数据)处理过程——这样我们就可以用一种统一的术语刻画到底哪些过程是“可计算” 的,而不再依赖直观或模棱两可的语言。
以上信息由东莞市三帝影视动画公司搜集整理,更多最新资讯和热点关注敬请查看:https://www.cn-3d.com/