图灵模式与lamda演算

图灵机

图灵模型是从机器的角度,可以设计一种通用机,只用无限长的纸带和程序表,这种机器就可以模拟任何数学上的算法和一切计算。

任何实现了图灵机的其他机器也具有相同的功能。比如现代冯诺依曼以存储器为核心的通用电脑,生命游戏中也可以设计相关电路实现图灵机功能,或者现在研发的量子计算机,也是一种压缩了运算时间的图灵机。

并且图灵证明这种机器是有缺点的,它无法判别一段程序是否会中断,是否会无限运行。也就是说想要知道某一段程序的运行结果,可能只有让他不断运行这一种方法。由于图灵机和数学算法等效,这意味这无论我们的数学发展到什么程度,总有一些问题我们无法解决,只能靠计算本身来实现预测。

从这个角度看,数学是一门找捷径和规律的学科,通过规律来避免逐个排查,简化运算,但是世界上不是所有的都有精妙的结构和规律可供我们发现,总有一些运算无法简化,这个时候计算机是比数学家更厉害的数学家,因为他的效率远远快于数学家,比如说判断素数这一问题。

 

lamda演算

lamda演算和图灵机是等价的,但是lamda演算是从数学角度出发,忽略机器,只从简单的define和函数两个数学逻辑,不引入其他东西推理出一切算法和计算过程。

LISP语言就是lamda演算的思想体现。

lamda演算的好处在于它给了我们一个非常条理和很高的抽象角度,这使得一切编程语言都是lamda演算的一个子集,lamda演算可以自我递归实现编译器,也可以推理出一切编程语言的所有函数和功能。它让语言不再是一个工具,而是上帝的随手造物,它是逻辑的根本和极致。所以也是上帝的编程语言。

 

图灵机和lamda演算的关系

图灵机的叙述更侧重于描述什么样的机器可以实现所有算法逻辑,以及定义算法和计算的极限作用范围(通过告诉你算法和计算不能做什么让你知道算法和计算的边界)

lamda演算更侧重与描述算法和计算本身这个框架内的逻辑和抽象结构,它建立了一套公理化系统,使得一切复杂算法和计算可以被简化为最基本的映射部分。

 

哲学思考

我们的世界是计算的吗,还是说包括非计算的部分,那么非计算的部分有办法掌握吗,或者这部分对我们来说是必要的吗?

 

posted @ 2022-07-31 14:07  srid  阅读(470)  评论(0)    收藏  举报