可计算性与计算复杂性发展史

可计算理论是由递归函数的产生而发展的,其核心问题是:什么是可计算的,以及如何保证计算的自动性,有效性和正确性。数理逻辑学家研究定理证明及其推导的特殊计算,从而产生了可计算理论。

20世纪三十年代,数理学家开始探索可计算的定义。

1931年Herbrand对递归函数进行了研究,并把他的研究成果写发送给了哥德尔,但是由于种种原因,Herbrand的探究暂时被搁置了。同年秋,美国数学家丘奇开创一种新的逻辑研究,并在研究中提出了A可定义函数。

1934年,哥德尔在Herbrand递归函数的研究基础之上,提出了Herbrand-哥德尔函数。之后丘奇等人证明了Herbrand-哥德尔函数和A可定义函数的等价性。

1936年,英国数学家图灵在不了解哥德尔等人的研究情况下,发表了《论数字计算在决断难题中的应用》论文,首次对“可计算性”给出了严格的定义,并开创性的提出了图灵机设想。

四十年代,人们开始研制计算机。

1944年波斯特在一篇文章中明确的提出希尔伯特第十问题“期待一个不可解问题”,波斯特找到了第一个逻辑领域以外的不可判定问题。

1957年斯科特和拉宾完成了对图灵机的研究,并明确提出非确定性有限自动机的概念。1959年拉宾发表了《计算速度与集合分类》的论文,之后又发表了《函数计算难度与集合偏序》的论文,被认为是研究计算复杂性最早和最权威的论文。

1971年,库克提出了《定理证明的复杂性》首次明确提出了NP完全问题,奠定了NP完全性理论基础。

在学科不断发展的过程中,还有许多学者做出了卓越的贡献,其中不乏图灵奖的获得者,比如陶尔杨提出深度优先算法,计算机领域卓越的开拓者姚期智等人。

计算学科研究的根本问题是能行性问题,即如何用简单的语言从最简单的对象出发,构造通用模型。在计算机知识掌握的过程中,我们应遵循“硬件跟着软件走,软件跟着模型走,模型跟着学科应实践用走,学科应用实践跟着自然走”。在这个过征程中,我们不仅要考虑一个算法模型时间复杂性,还要考虑它的空间复杂性。

通过对于这一课程的学习,是我认识到,计算机学科根植于数学,又不同于数学。提高对计算理论的掌握,不仅提高了我们的逻辑思维能力,更提高了我们对现实事务的抽象和解决能力。

你可能感兴趣的:(可计算性与计算复杂性)