浅谈逻辑在计算机科学中的应用
   来源:中国科技博览     2021年08月31日 05:19

简谈逻辑学在计算机科学中的应用

耿云磊

[摘 要]逻辑是计算机科学的灵魂。本文通过对逻辑和计算机科学的起源、联系的深入阐述,罗列出逻辑在计算机科学的应用和需要注意的问题,并对未来逻辑在计算机科学应用中的发展做出美好的展望。

[关键词]逻辑 计算机科学 应用 发展

中图分类号:TM912 文献标识码:A 文章编号:1009-914X(2017)15-0121-02

引言:逻辑是一种理想抽象的思维,也在人类的不断进化中得到发展和提炼成一门专业的科学,作为计算机科学的理论基础,使计算机研究中的许多复杂问题得到了突破和解决。是以逻辑学为根基的,所以计算机的发展和智能化革命中瓶颈问题的突破有赖于逻辑学的发展和突破,因此研究逻辑学在计算机科学中的应用有重要的意义和积极的推动作用。例如现今通用的计算机语言如C、C++、VB、Java语言等,都是以数理逻辑作为理论的根基。对逻辑应用的思考和研究,有利于进一步推动计算机科学与技术的发展。

1 逻辑和计算机的起源

逻辑从人类最初对世界的理性、客观的认知和解读到形成了一门成熟独立的知识学科,历经了全世界许多逻辑学家的辛苦钻研和无数科学家的一次次失败却不懈的尝试,归纳和创新。古希腊的亚里士多德是探索逻辑问题的第一人,他通过进行科学研究及总结当时的科学成就、科学研究方法,整理日常的思维形式,加以提炼,创立了以三段论为中心,包括论辩的、分析的、非分析的、归纳的本体论的逻辑学。亚里士多德建立了比较完整的逻辑学体系,使逻辑学成为一门独立的科学。而计算机的起源相对更为大家所熟悉,早在20 世纪30 年代,Godel、Church、Turing 等逻辑学家就得出了“可计算”的概念并于1936 年发明了世界上第一台用来帮助求解数学问题的通用数字计算机。从此,逻辑与计算机科学间的联系在各方面越来越紧密,而于1936年诞生的抽象计算机更是逻辑学在计算机方面的贡献。后来随着科技和人类思想的进步,数理逻辑正式成为了一门独立研究推理的逻辑学科,在计算机科学中用以推理和检验程序和计算机模型、软硬件设计、开发的正确性,联系也越来越紧密。

2 数理逻辑在计算机科学中的作用

2.1 逻辑为计算机语言提供思想

我们都知道,人类有人类的沟通语言,计算机也有计算机的语言,即为基础的0、1的二进制。计算机语言的设计就是依赖于数理逻辑的思想。从前人们运用的古典逻辑推理方法在现今技术越来越发达的时代已经远远力不从心了,因此为了建立真正智能的知识系统,非经典的逻辑方法随之诞生,能够帮助人们在充满不定因素的信息环境下仍然保持着理想的思维进行有效的推理工作。计算机程序设计语言如C语言、C++、Java语言等就是以形式语言、自动机与形式语义学为理论基础的,因此数理逻辑的推理就给计算机程序设计语言提供了主要的思想和方法,也实现了语言内多种基础的如表达式赋值、函数计算等功能,优化了计算机编程。

2.2 逻辑为计算机研究提供依据

数理逻辑分为命题逻辑和一阶逻辑两部分,而前者也是后者的特例。在研究某些推理问题时,一阶逻辑比命题逻辑更准确。数理逻辑中的可计算谓词和计算模型中的可计算函数是等价的,互相可以转化。例如某些自然语言的论证看上去很简单,直接就可以得出结论,但是通过数理逻辑中的两种符号化表达的结果却截然不同,让人们很难理解,这就为计算机的可计算性研究埋下伏笔。计算机的研究是复杂高深的,因此需要逻辑作为理论的依据,成功的推理可是简化计算机科学中的复杂计算,也增加研究的可读性和理解程度。

3 逻辑的研究方法

3.1 归纳法

归纳法是逻辑学研究中常用的方法之一。顾名思义,它指的是从很多个别的单例中结合经验和分析,归纳总结出具有概括性的一般规则的一种抽丝剥茧的方法。归纳法注重的是从特殊到一般的事理归纳,从而找出逻辑的共性,这些是此方法的优点。可归纳法的缺点也正是因为容易犯以偏概全的错误,不能完全地概括出每一个事物,一旦出现特例,归纳法就不是最为有效的逻辑方法。且归纳法建模的周期长,成本高,是一种带有可能性的,容易得出超出前提预测的范围的结论。正如著名物理科学家卢瑟福的核式结构模型就是在阿尔法;例子散射实验的基础上进行多次的分析和归纳得出的正确结果,后来也受到了科学界的认可,让人类在物理学史上的探索有了里程碑式的进步意义.

3.2 演绎法

作为逻辑学研究上的另一个常用方法,演绎法与归纳法则刚好相反.它是通过从现有既定的普遍逻辑和具有一般性的事例出发,演绎推导出个别性结论的一种方法。是从特殊到一般,从大范围不断缩小到特定范围的方法。演绎法依赖于原有的根本规律进行逻辑严谨,的一步步递推,能体现出事物的特性的个别事例的特点。三段论就是演绎法的基本形式,包括已知的普遍原理和一般性假设为大前提;和大前提有关的对研究的特殊情況和个别事实进行判断的小前提;最后的经过严格推导得出的从一般到特殊的逻辑结论。只要推理的前提是正确的,推理形式符合逻辑,那得出的结论就是一种必然性的推理,会比归纳法更严谨严密一些,但同样也具有因为不断缩小范围而可能使事物的根本规律得不到充要的展现的缺陷。著名的科学家爱因斯坦的光子学说就是在普朗克提出的量子说上利用演绎法得出的科学结论。

4 逻辑在计算机科学中的应用

4.1 逻辑在计算机程序中的应用

随着计算机语言的不断创新和进步,诞生了许多由语言写出的相应的程序,设计人员设计出各式各样的软件让计算机能更好地服务我们的生活,因此只有掌握了逻辑学的理论知识才能更好更顺利地写出简洁流畅的计算机程序,并顺利地输入计算机用以读取,最后得到实施。,让程序得到如期的运行。程序的逻辑代码在编写上依靠的是设计者的逻辑思维,让人们的思想可以与计算机顺利地交流,从抽象的东西变成实体。符合逻辑的计算机操作系统也能避免错误的篡改,没有逻辑漏洞,恶意的病毒也就很难找到入侵的入口。

4.2 逻辑在计算机语言中的应用

计算机的可计算是由软件和硬件共同结合实现的,因此它们都与逻辑有着密不可分的关系。而计算机语言就是沟通的渠道,是一种严格的,符号化的语言体系。编程形成的算法依赖于计算机具备的功能,计算机操作生成的算法也是建立在基本的逻辑操作上的。面向对象的语言技术和可视化编程都依赖逻辑形成了自身既定的规则、运算法则、自定义语句。而数理逻辑在结构上也相似地具备可靠性和完全一致性,这些逻辑学上的成果和思维方法都能与计算机思想融会贯通,为计算机语言设计的进一步优化升级起到积极的推动作用。

4.3 逻辑在计算机电路设计中的应用

逻辑在电路设计中的应用是非常普遍和突出的。借助逻辑规律中是与非、真与假、有与无、开与关等因果概念设计电路,把1作为通路,开关开启,把0作为断路,开关关闭,这就是通过命题逻辑中的高低信号运算与可让计算机识别的二进制运算联系起来的。这样通过逻辑思维,用数学的方法解决物理上的电路设计问题也能让整个过程变得更加简洁明了。计算機的数字组件如移位器、控制器、加法器、寄存器的设计都充分的体现了数理逻辑的功能和优势。早在17世纪除就有科学家设想通过创立一种通用的语言,将推理过程转化成数学公式方便处理计算,但受到当时科技和人类思想的约束,这一想法并没有落实。随着计算机科学技术的日新月异的发展,计算机的集成电路越来越小巧,人们通过逻辑的运用设计数据电路,在利用计算机硬件语言实现指令和功能,确保了能在计算机上面运行顺利的汇编程序,使得电路设计变得系统、科学、合理。

5 计算机中的逻辑部件

逻辑在计算机科学技术上的应用不仅是提供了语言和思想上的理论基础,还在硬件上有突出的贡献。众所周知,计算机几乎内部的所有部件都是逻辑部件,下面通过对运算器、控制器、存储器、输入设备和输出设备等主要的五个逻辑部件的介绍来进一步体现逻辑在计算机科学技术中的重要应用。

5.1.运算器

运算器是由算术逻辑单元、累加器、状态寄存器、通用寄存器组等组成的。算术逻辑运算单元也简称为ALU,它的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作的进行。计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。运算器和控制单元也是称为计算机大脑的CPU的核心部件。

2.控制器

控制器顾名思义,是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。控制器从存储器中逐条取出指令,分析每条指令规定的是什么操作以及所需数据的存放位置等,然后根据分析的结果向计算机其它部件发出控制信号,统一指挥整个计算机完成指令所规定的操作。计算机自动工作的过程,实际上是自动执行程序的过程,而程序中的每条指令都是由控制器来分析执行的,它是计算机实现“程序控制”的主要设备。

3.存储器

存储器是计算机系统中的记忆设备,用来存放程序和数据,正如它的英文是memory,存储器在计算机里的地位就相当于人类大脑的记忆区域。计算机中包括输入的原始数据、计算机程序、中间运行结果和最终运行结果的全部信息,都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。按用途分,存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,如果遇上关闭电源或断电的意外,数据就会丢失。

4.输入、输出设备

输入设备是向计算机输入数据和信息的设备,是计算机与用户或其他设备通信的桥梁,是用户和计算机系统之间进行信息交换的主要装置之一。通过人机交互,能够把原始数据和处理这些数的程序输入到计算机中。计算机能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据,如图形、图像、声音等都可以通过不同类型的输入设备输入到计算机中,进行存储、处理和输出。?输出设备则是计算机的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等,也能够把各种计算结果数据或信息以数字、字符、图像、声音等形式表示出来。计算机之所以能系统顺利地运行,依靠的也就是机内这些主要逻辑部件的协调运作。

综上所述,逻辑不仅仅为计算机语言和程序设计等提供了坚实的理论基础,帮助分析问题和算法,还在计算机的线路设计和软硬件开发上有着广泛的应用。随着科技的突破和人类思维的进步,数理逻辑学科的知识也会得到不断的丰富和发展,因此计算机科学领域的工作者更应该关心和重视逻辑的研究,用严谨和逻辑性的思想辅以科学的方法向难题不懈挑战和突破,从而使逻辑在计算机科学中发挥更大的效用。

参考文献:

[1] 郭远华.若干逻辑自动推理方法研究[J].华东师范大学博士学位论文.2014.

[2] 屈婉玲、耿素云、张立昂.离散数学(第2版)[M].北京:清华大学出版社,2015.

[3] 胡思.面向计算机科学的数理逻辑系统建模与推理[M].机械工业出版社,2014:32-35.

[4] 张尚水.逻辑百科词典[M].成都:四川教育出版,2015.

[5] 王国俊.数理逻辑引论与归纳原理[J].北京:科学出版,2015.

[6] 樊春海.通向未来分子计算机[J].科技日报,2016.

记忆 逻辑 计算机