第2章计算科学精选文档.ppt
《第2章计算科学精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章计算科学精选文档.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章计算科学本讲稿第一页,共六十一页 第第2 2章章 计算科学计算科学 主要内容主要内容 2.1 计算理论 布尔代数布尔代数 有穷自动机有穷自动机 图灵机图灵机 2.2 计算科学概述 计算科学的基本问题计算科学的基本问题计算科学的基本内容计算科学的基本内容计算科学与其他学科的关系计算科学与其他学科的关系2本讲稿第二页,共六十一页主要内容2.3 2.3 计算科学中的典型问题计算科学中的典型问题 七桥问题七桥问题 四色问题四色问题 3636军官问题军官问题 HanoiHanoi问题问题 汉密尔顿回路问题汉密尔顿回路问题 哲学家就餐问题哲学家就餐问题2.4 2.4 计算机学科的典型方法计算机学科的
2、典型方法抽象方法抽象方法构造性方法构造性方法公理化方法公理化方法形式化方法形式化方法原型方法和演化方法原型方法和演化方法3本讲稿第三页,共六十一页2.1 2.1 计算理论计算理论 1985年春,ACM和IEEE-CS联手组成攻关组,开始了“计算机作为一门学科”的存在性证明,其中对计算机学科作了以下定义:计算机学科是对描述和变换信息的算法过程,包括对其理论、分析、设计、效率、实现和应用等进行的系统研究。它来源于对算法理论、数理逻辑、计算模型、自动计算机器的研究,并与存储电子计算机一起形成于20世纪40年代中期。19世纪中期至20世纪中期诞生的布尔逻辑代数、图灵机模型和存储程序思想,促进了现代电子
3、计算机的诞生,也构成了现代计算机科学的理论基础。4本讲稿第四页,共六十一页 2.1.1 2.1.1 布尔代数布尔代数George Boole18151864 布尔代数是英国数学家布尔为了研究思维规律于1847年和1854年提出的。布尔代数在创立时与计算机无关,但它的理论和方法为后来的数字电子学、自动化技术以及计算机的逻辑设计等提供了重要的理论基础。逻辑的数学分析逻辑的数学分析思维的规律思维的规律5本讲稿第五页,共六十一页 布尔的父亲是一位鞋匠,他布尔的父亲是一位鞋匠,他16岁起成为一名中学教师;从岁起成为一名中学教师;从20岁起布尔对数学产岁起布尔对数学产生了浓厚兴趣,并广泛涉猎了著名数学家牛
4、顿、拉普拉斯、拉格朗日、高斯等生了浓厚兴趣,并广泛涉猎了著名数学家牛顿、拉普拉斯、拉格朗日、高斯等人的数学著作;人的数学著作;1839年,年,24岁的布尔决心尝试接受正规教育,并申请进剑桥大学。当时岁的布尔决心尝试接受正规教育,并申请进剑桥大学。当时剑桥大学期刊剑桥大学期刊的主编格雷戈里表示反对他去上大学,他说:的主编格雷戈里表示反对他去上大学,他说:“如果你为了一个学位而决定上大学学如果你为了一个学位而决定上大学学习,那么你就必须准备忍受大量不适合于习惯独立思考的人的思想戒律。这里,一个高习,那么你就必须准备忍受大量不适合于习惯独立思考的人的思想戒律。这里,一个高级的学位要求在指定的课程上花
5、费的辛勤劳动与才能训练方面花费的劳动同样多。如果级的学位要求在指定的课程上花费的辛勤劳动与才能训练方面花费的劳动同样多。如果一个人不能把自己的全部精力集中于学位考试的训练,那么在学业结束时,他很可能发一个人不能把自己的全部精力集中于学位考试的训练,那么在学业结束时,他很可能发现自己被淘汰了。现自己被淘汰了。”于是,布尔放弃了受高等教育的念头,潜心致力于他自己的数学于是,布尔放弃了受高等教育的念头,潜心致力于他自己的数学研究。研究。1847年,布尔发表了第一部著作年,布尔发表了第一部著作逻辑的数学分析逻辑的数学分析;1854年,布尔发表了一部主要的著作年,布尔发表了一部主要的著作思维规律研究思维
6、规律研究;1857年,布尔被推选为伦敦皇家学会会员。年,布尔被推选为伦敦皇家学会会员。6本讲稿第六页,共六十一页罗素与布尔代数 与所有的新生事物一样,布尔代数发与所有的新生事物一样,布尔代数发明后没有受到人们的重视。明后没有受到人们的重视。20世纪初,伟世纪初,伟大的数学家罗素在大的数学家罗素在数学原理数学原理中指出,中指出,“纯数学是布尔在一部他称之为纯数学是布尔在一部他称之为思维规律思维规律的的著作中发现的著作中发现的”。今天,逻辑代数已经发展成。今天,逻辑代数已经发展成为纯数学的一个主要分支。为纯数学的一个主要分支。B.A.W.Russell187219707本讲稿第七页,共六十一页2.
7、1.1 2.1.1 布尔代数布尔代数 布尔认为:布尔认为:在未来可能制造的机器里应该用两种状态来代表几乎所在未来可能制造的机器里应该用两种状态来代表几乎所有的信息有的信息。这两种状态可以根据布尔代数来处理。因此,可制造出。这两种状态可以根据布尔代数来处理。因此,可制造出一种很简单的信息处理设备,而不需要知道所有其他变量的状态一种很简单的信息处理设备,而不需要知道所有其他变量的状态。逻辑非运算逻辑非运算 0=1;1=0逻辑与运算逻辑与运算 00=0;01=0;10=0;11=1逻辑或运算逻辑或运算 00=0;01=1;10=1;11=1逻辑异或运算逻辑异或运算 0 0=0;0 1=1;1 0=1
8、;1 1=0;等价关系等价关系 00=1;01=0;10=0;11=1蕴涵关系蕴涵关系 00=1;01=1;10=0;11=18本讲稿第八页,共六十一页2.1.1 2.1.1 布尔代数布尔代数布尔代数布尔代数是一个集合是一个集合A A,提供了两个二元运,提供了两个二元运算算 (逻辑与逻辑与)、(逻辑或逻辑或),一个一元运算,一个一元运算 /逻辑非逻辑非)和两个元素和两个元素0 0(逻辑假)和(逻辑假)和1 1(逻辑真),此外,对于集合(逻辑真),此外,对于集合A A的所有元素的所有元素a a、b b和和c c,下列公理成立,下列公理成立:9本讲稿第九页,共六十一页香农与布尔代数Possibly
9、 the most important masters thesis of the twentieth century.Possibly the most important masters thesis of the twentieth century.1938年,年仅年,年仅22岁的香农在硕士论文的基础上,写就了一篇著名的论文岁的香农在硕士论文的基础上,写就了一篇著名的论文继电器开关继电器开关电路的分析电路的分析,将,将布尔代数布尔代数引入计算科学领域。引入计算科学领域。C.E.Shannon19162001 Vannevar Bush 1890 1974 10本讲稿第十页,共六十一页布尔
10、代数的电路实现开关A开关B灯L000010100111开关A开关B灯L00001110111111本讲稿第十一页,共六十一页2.1.1 2.1.1 布尔代数布尔代数0=1;1=000=0;01=0;10=0;11=100=0;01=1;10=1;11=100=0;01=1;10=1;11=0;00=1;01=0;10=0;11=100=1;01=1;10=0;11=1思考:能否用电路实现其他几种布尔运算?思考:能否用电路实现其他几种布尔运算?12本讲稿第十二页,共六十一页13本讲稿第十三页,共六十一页香农与信息论 1948年,香农又发表了另一篇至今还在闪烁光芒的论文年,香农又发表了另一篇至今还
11、在闪烁光芒的论文通信的数学基础通信的数学基础,从而给,从而给自己赢来自己赢来“信息论之父信息论之父”的桂冠。的桂冠。1956年,他参与发起了达特茅斯人工智能会议,成为年,他参与发起了达特茅斯人工智能会议,成为这一新学科的开山鼻祖之一。这一新学科的开山鼻祖之一。14本讲稿第十四页,共六十一页2.1.1 布尔代数 应用课程数字电子技术数字电子技术计算机组成原理计算机组成原理计算机程序设计语言计算机程序设计语言15本讲稿第十五页,共六十一页2.1.2 2.1.2 有穷自动机有穷自动机开?开?关?关?16本讲稿第十六页,共六十一页有穷自动机有穷自动机FRONTREARBOTHNEITHER (1)当感
12、应门处于)当感应门处于CLOSED状态时,且输入是状态时,且输入是NEITHER时,下一个状态仍将处于时,下一个状态仍将处于CLOSED状态;状态;(2)当感应门处于)当感应门处于CLOSED状态时,且输入是状态时,且输入是BOTH或或FRONT或或REAR时,下一个时,下一个状态将处于状态将处于OPEN状态;状态;(3)当感应门处于)当感应门处于OPEN状态时,且输入是状态时,且输入是FRONT、REAR或或BOTH时,下一个状态仍时,下一个状态仍将处于将处于OPEN状态;状态;(4)当感应门处于)当感应门处于OPEN状态时,且输入是状态时,且输入是NEITHER状态时,则下一个状态将处于状
13、态时,则下一个状态将处于CLOSE状态。状态。17本讲稿第十七页,共六十一页有穷自动机有穷自动机18本讲稿第十八页,共六十一页有穷自动机与字符串的识别有穷自动机与字符串的识别#include“stdio.h”void main()int a1,a2;int sum;printf(“please input the two numbers:n”);scanf(“%d%d”,&a1,&a2);sum=a1+a2;printf(“the sum of the two numbers is%dn”,sum);C语言源程序19本讲稿第十九页,共六十一页有穷自动机与字符串识别 从左到右一个接一个接收输入串
14、的所有符号,读到一个符号后,从左到右一个接一个接收输入串的所有符号,读到一个符号后,沿着标有该符号的转移从一个状态移动到另一个状态。当读到最沿着标有该符号的转移从一个状态移动到另一个状态。当读到最后一个符号时,自动机产生它的输出。如果有穷自动机处于一个后一个符号时,自动机产生它的输出。如果有穷自动机处于一个接受状态(双圈表示)时,则输出为接受,否则输出为拒绝。接受状态(双圈表示)时,则输出为接受,否则输出为拒绝。输入字符串:输入字符串:011011001初态初态终态终态20本讲稿第二十页,共六十一页有穷自动机的定义有穷自动机的定义一个有穷自动机是一个五元组(一个有穷自动机是一个五元组(Q,Q,
15、q,q0 0,F,F),其中:),其中:(1)Q(1)Q是一个是一个有限状态集有限状态集,它的每一个元素称为一个,它的每一个元素称为一个状态;状态;(2)(2)是一个是一个有穷输入字母表有穷输入字母表,它的每一个元素称为一,它的每一个元素称为一个输入字符;个输入字符;(3)(3)是一个从是一个从QQQ Q的的映射函数映射函数(状态转换函数状态转换函数),),即即 (si,a)=sj(si,a)=sj且有且有sisi、sjQsjQ和和aa;(4)q(4)q0 0 Q Q,是,是初始状态初始状态(初态);(初态);(5)F(5)F 是是Q Q的子集,是一个的子集,是一个接受状态集接受状态集(终态集
16、)。(终态集)。21本讲稿第二十一页,共六十一页2.1.2 有穷自动机有穷自动机五元组五元组(Q,Q,q,q0 0,F,F)状态集字母表状态转换函数初始状态接受状态集22本讲稿第二十二页,共六十一页2.1.2 有穷自动机有穷自动机 举例举例有穷自动机定义Q=q1,q2,q3=0=0,11=(q1,0)=q1,(q1,0)=q1,(q1,1)=q2,(q1,1)=q2,(q2,1)=q2,(q2,1)=q2,(q2,0)=q3,(q2,0)=q3,(q3,0)=q2,(q3,0)=q2,(q3,1)=q2(q3,1)=q2q1q1是初始状态是初始状态F=q2F=q2是接受状态集是接受状态集初态初
17、态终态终态01q1q1q2q2q3q2q3q2q2字母表字母表状状态态集集Q Q状态转换函数状态转换函数F=q2是接受状态集是接受状态集有穷自动机的两种表示方法有穷自动机的两种表示方法状态转换图状态转换图状态转换表状态转换表23本讲稿第二十三页,共六十一页自动机自动机M M的语言的语言给定自动机能够识别的所有字符串的集合给定自动机能够识别的所有字符串的集合记为记为L L(M M)=A=A又称为又称为M M识别识别A A或或M M接受接受A A2.1.2 有穷自动机有穷自动机 举例举例初态初态终态终态A=A=|至少含有一个至少含有一个1并且在最后的并且在最后的1后面有偶后面有偶数个数个0(包含(
18、包含0个)个)该自动机该自动机M M的语言的语言24本讲稿第二十四页,共六十一页识别识别a开头的开头的a、b串串2.1.2 有穷自动机有穷自动机 练习练习a01ab02aab1a识别识别a开头开头a结尾的结尾的a、b串串识别识别ab结尾的结尾的a、b串的串的有穷自动机有穷自动机02bab1a25本讲稿第二十五页,共六十一页2.1.2 有穷自动机有穷自动机 练习练习识别数学上的十进制整数的有穷自动机定义 非非0数字表示数字表示19中的任意数字中的任意数字 数字表示数字表示 09中的任意数字中的任意数字s1s2数字数字非非0数字数字s00非非0数字数字数字数字26本讲稿第二十六页,共六十一页2.1
19、.2 有穷自动机有穷自动机 思考思考识别数学中的识别数学中的“数数”的定义的自动机,包的定义的自动机,包含整数、含小数点的数含整数、含小数点的数提示:提示:整数部分整数部分小数部分小数部分 s1s2数字数字非非0数字数字s00非非0数字数字数字数字s3.s4数数字字数字数字27本讲稿第二十七页,共六十一页2.1.2 有穷自动机有穷自动机 课程应用课程应用软件工程编译原理28本讲稿第二十八页,共六十一页2.1.3 2.1.3 图灵机图灵机Alan Mathison Turing19121954 图灵机模型是由图灵于图灵机模型是由图灵于1936年在论文年在论文论可计论可计算数及其在判定问题中的应用
20、算数及其在判定问题中的应用(On Computable Numbers with an Application to the Encryption Problem)中提出的。在该论文中,图灵回答了)中提出的。在该论文中,图灵回答了“计算机计算机”到底是怎样一种机器,应该由哪些到底是怎样一种机器,应该由哪些部分组成,如何进行计算和工作部分组成,如何进行计算和工作。29本讲稿第二十九页,共六十一页2.1.3 2.1.3 图灵机图灵机 图灵机可以看成一个附有两端无穷的带子的黑箱,带子由连成串的方格组成,黑箱和带子由一指针相联。图灵机的每一个移动与所读的符号、所处的状态有关。读头每次读一个符号,则图灵
21、机的每一个移动与所读的符号、所处的状态有关。读头每次读一个符号,则在所读符号所在的磁带的方格中写入一个符号,修改图灵机所处的状态,同时决定读头在所读符号所在的磁带的方格中写入一个符号,修改图灵机所处的状态,同时决定读头移动的方向。移动的方向。30本讲稿第三十页,共六十一页2.1.3 2.1.3 实现加法运算的图灵机实现加法运算的图灵机当前状态当前单元内容要写的值移动方向要输入的新状态START*LeftADDADD01RightRETURNADD10LeftCARRYADD*RightHALTCARRY01RightRETURNCARRY10LeftCARRYCARRY*1LeftOVERFL
22、OWOVERFLOW*RightRETURNRETURN00RightRETURNRETURN11RightRETURNRETURN*No moveHALT31本讲稿第三十一页,共六十一页2.1.3 2.1.3 实现加法运算的图灵机实现加法运算的图灵机二进制二进制101+1=110START*ADD写写*,左移指针,左移指针磁磁带带1写写0左移左移CARRY0写写1右移右移RETURN0写写0右移右移RETURN*写写*NO MOVEHALT32本讲稿第三十二页,共六十一页(1)初始数据101 加0?(2)初始数据110加1?(3)初始数据111加1?2.1.3 实现加法运算的图灵机实现加法运
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 科学 精选 文档
限制150内