图灵模式与lamda演算
图灵机
图灵模型是从机器的角度,可以设计一种通用机,只用无限长的纸带和程序表,这种机器就可以模拟任何数学上的算法和一切计算。
任何实现了图灵机的其他机器也具有相同的功能。比如现代冯诺依曼以存储器为核心的通用电脑,生命游戏中也可以设计相关电路实现图灵机功能,或者现在研发的量子计算机,也是一种压缩了运算时间的图灵机。
并且图灵证明这种机器是有缺点的,它无法判别一段程序是否会中断,是否会无限运行。也就是说想要知道某一段程序的运行结果,可能只有让他不断运行这一种方法。由于图灵机和数学算法等效,这意味这无论我们的数学发展到什么程度,总有一些问题我们无法解决,只能靠计算本身来实现预测。
从这个角度看,数学是一门找捷径和规律的学科,通过规律来避免逐个排查,简化运算,但是世界上不是所有的都有精妙的结构和规律可供我们发现,总有一些运算无法简化,这个时候计算机是比数学家更厉害的数学家,因为他的效率远远快于数学家,比如说判断素数这一问题。
lamda演算
lamda演算和图灵机是等价的,但是lamda演算是从数学角度出发,忽略机器,只从简单的define和函数两个数学逻辑,不引入其他东西推理出一切算法和计算过程。
LISP语言就是lamda演算的思想体现。
lamda演算的好处在于它给了我们一个非常条理和很高的抽象角度,这使得一切编程语言都是lamda演算的一个子集,lamda演算可以自我递归实现编译器,也可以推理出一切编程语言的所有函数和功能。它让语言不再是一个工具,而是上帝的随手造物,它是逻辑的根本和极致。所以也是上帝的编程语言。
图灵机和lamda演算的关系
图灵机的叙述更侧重于描述什么样的机器可以实现所有算法逻辑,以及定义算法和计算的极限作用范围(通过告诉你算法和计算不能做什么让你知道算法和计算的边界)
lamda演算更侧重与描述算法和计算本身这个框架内的逻辑和抽象结构,它建立了一套公理化系统,使得一切复杂算法和计算可以被简化为最基本的映射部分。
哲学思考
我们的世界是计算的吗,还是说包括非计算的部分,那么非计算的部分有办法掌握吗,或者这部分对我们来说是必要的吗?
浙公网安备 33010602011771号