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