二、图灵模型1、数据处理器:首先计算机是一个数据处理器,可以认为计算机是一个接收输入数据、处理数据并产生输出数据的黑盒。定义过于广泛,且没有说明所处理的类型,以及是否可以处理一种以上的类型。2、图灵模型:相对于数据处理器,该模型添加了一个额外的元素——程序(用来告诉计算机对数据进行处理的指令集合)程序输入数据→计算机→输出数据
这种模型中输出数据依赖于输入数据和程序。
3、通用图灵机:对现代计算机的首次描述,该机器只要提供了合适的程序就能做任何运算。
三、冯诺依曼模型1、4个子系统基于冯诺依曼模型建造的计算机分为4个子系统:存储器、算术逻辑单元、控制单元和输入/输出单元。存储器:用来存储的区域,在计算机的处理过程中存储器用来存储数据和程序。算术逻辑单元:ALU用来进行计算和逻辑运算的地方控制单元:对存储器、算术逻辑单元、输入/输出等子系统进行控制操作的单元。输入/输出:输入子系统负责从计算机外部接收输入数据和程序;输出子系统负责将计算机的处理结果输出到计算机外部。也包括辅助存储设备。2、存储的程序概念:冯诺依曼模型要求程序必须存储在内存中。现代计算机的存储单元主要是用来存储程序以及响应数据,这意味着数据和程序应该具有相同的格式。实际上它们都是以位模式存储在内存中的,3、指令的顺序执行冯诺依曼模型中的一段程序是由一组数量有限的指令组成。
一、本章目标1、理解数字系统的概念;2、分清非位置化和位置化数字系统;3、描述十进制系统、二进制系统、十六进制系统、八进制系统4、将二进制、八进制或十六进制数字转换为十进制系统5、将十进制数字转化为二进制、八进制或十六进制系统6、二进制和八进制、二进制和十六进制数字相互转化7、查找在各种系统中代表特定数值所需的数码
第三章数据存储P41
八、简单计算机1、三个组成部分:CPU、存储器和输入/输出子系统。1.1、CPU分成三部分:数据寄存器、算术逻辑单元(ALU)和控制单元。1.2、主存既有数据,又有程序指令。1.3、输入/输出子系统2、指令集指令由两部分构成,操作码和操作数3、处理指令机器周期,三阶段。4、例子C=A+B
第十二章抽象数据类型P226一、目标1、说明抽象数据类型(ADT)的概念2、说明栈、栈上的基本操作、它们的应用和它们是如何实现的;3、说明队列、队列上的基本操作、它们的应用以及它们是如何实现的;4、说明广义线性表、广义线性表上的基本操作、它们的应用以及它们是如何实现的;5、说明一般的树和它的应用;6、说明二叉搜索树(BST)和它的应用;7、说明图和它的应用。
三、顺序文件顺序文件是指记录只能按顺序从头到尾一个接一个地进行存取。顺序文件对随机存取来说效率不高。1、更新顺序文件和更新程序有关的一个有四个文件:新主文件、旧主文件、事务文件和错误报告文件。新主文件:新的永久数据文件。旧主文件:需要更新的永久文件。事务文件:包含将要对主文件作的改变。添加事务:包含将要追加到主文件中新数据。删除事务:把将要从文件中删除的记录标识出来更改事务:包含对文件中特定记录的修改。键:文件中一个或多个能够标识数据的手段。错误报告文件:错误报告包括在数据更新时所发现的错误的清单,并提供给用户以进行纠错操作。2、文件更新过程要使文件更新过程有效率,所有文件都必须按同一个键排序。四、索引文件索引文件由数据文件组成,它是带索引的顺序文件。索引本身非常小,只占两个字段:顺序文件的键和在磁盘上相应记录的地址。1、存取文件中记录时a、整个索引文件都载入到内存中,b、搜索项目,用高效的算法,如折半,查找目标键c、检索记录的地址d、按照地址,检索数据记录并返回给用户2、倒排文件索引文件的好处之一是可以有多个索引,每个索引有不同的键。这种索引文件被称为倒排文件。
三、数据库管理系统数据库管理系统(DBMS)是定义、创建、维护数据库的一种工具。由五部分构成:硬件、软件、数据、用户和规程。1、硬件:是指允许物理上存取数据的计算机硬件系统。2、软件:是指允许用户允许存取、维护和更新物理数据的实际程序。3、数据:数据库中的数据存储在物理存储设备上。数据是独立于软件的一个实体。4、用户:可以分为最终用户和应用程序。最终用户是指直接从数据库中获取信息的用户。又可以分为数据库管理员(DBA)和普通用户。应用程序是数据库中数据的其他使用者。应用程序需要存取和处理数据。5、规程必须被明确定义并由数据库用户遵循的规程或规则的集合。四、数据库体系结构美国国家标准协会/标准计划和需求委员会(ANSI/SPARC)为数据库管理系统建立了三层体系结构:内层、概念层和外层。1、内层内层决定了数据在存储设备中的实际存储位置。即内层直接与硬件交互。2、概念层概念层或称公用层定义数据的逻辑视图。DBMS的主要功能都在该层。3、外层外层直接与用户交互。将来自概念层的数据转化为用户所熟悉的格式和视图。
五、数据库模型数据库模型定义了数据的逻辑设计,它也描述了不同数据之间的关系。在数据库设计发展史中,曾使用过三种数据库模型:层次模型、网状模型和关系模型。1、层次模型在层次模型中,数据被组织成一棵倒置的树。每个实体可以有不同的子节点。但只能有一个双亲。层次模型已过时。2、网状模型网状模型中,实体通过图来组织,图中的部分实体可通过多条路径来访问。该模型已经过时。3、关系模型。关系模型中,数据组织成称为关系的二维表。表或关系相互关联。是数据库设计中最常用的模型。两种常用的、派生于关系模型的数据库模型:分布式数据库和面向对象数据库。
九、其他数据库模型1、分布式数据库分布式数据库模型并不是新的模型,它是基于关系模型的。数据库中的数据存储在一些通过因特网通信的计算机上,每台计算机拥有部分或全部数据库。1.1不完全的分布式数据库在不完全的分布式数据库中,数据是本地化的。1.2复制似的分布式数据库在复制似的分布式数据库中,每个站点都有其他站点的一个完全副本。2、面向对象数据库面向对象数据库在试图保留关系模型优点的同时允许存取结构化数据。在面向对象数据库中,定义了对象和它们的关系。每一个对象可以具有属性并以域的形式表达。
第十六章安全P290一、目标1、定义三种安全目标(机密性、完整性和可用性)和威胁这些目标的攻击;2、定义预防攻击的五种安全服务:数据机密性、数据完整性、验证、不可否认和访问控制;3、讨论两种提供安全服务的技术:密码术和隐写术;4、区分对称密钥密码术和非对称密钥密码术,显示如何用对称密钥或非对称密钥密码提供机密性;5、说明如何使用密码散列函数来提供完整性;6、讨论数字签名的思想以及它如何能提供消息完整性、消息验证和不可否认性;7、简要讨论实体验证和证据的分类:所知道的、所拥有的和所固有的;8、讨论实体验证中的四种技术:基于口令、质询-响应、零知识和生物测定;9、讨论对称密钥和非对称密钥密码术中的密钥管理。
三、对称密钥密码术假设A通过一个不安全的信道向B发送一则消息,从A到B的原始消息称为明文,而通过信道发送的消息称为密文。为了从明文创建密文,A使用了一个加密算法和一个共享的密钥。为了从密文创建明文,B使用了一个解密算法和一个相同密钥。这个过程中需要保密的唯一的东西就是密钥。1、传统密码传统密码使用两种技术对入侵者隐藏消息:替换和置换。1.1替换密码替换密码就是用一个符号替代另一个符号。最简单的替换密码就是移位密码。破解方法:采用暴力破解或频率分析。1.2置换密码置换密码就是符号重新排序。破解方法:采用频率分析。2、现代对称密钥密码现代密码是面向二进制单位的,明文、密文和密钥都是二进制位的串。2.1DES数据加密标准(DataEncryptionStandard,DES)是美国国家标准技术研究院(NIST)于1977年发布的一种对称密钥块密码。加密地点,DES用64位明文并建立64位密文;在解密地点,DES用64位密文建立64位明文,同样的56位密钥被用于加密和解密。2.2AES高级加密标准(AdvancedEncryptionStandard,AES)是NIST于2001年发布的一种对称密钥密码。AES使用128位明文并建立128位密文,密钥为128位、192位或256位密码密钥。
四、非对称密钥密码术在非对称密钥密码术中有不同的密钥:私钥和公钥。如果把加密和解密思想想象成是带有钥匙的挂锁的锁上和打开,那么用公钥锁上的挂锁只能被相应的私钥打开。首先,非对称密钥密码术强调密码系统的非对称性质,即由接收者提供公钥分发给社区,接收信息后用私钥打开。其次,非对称密钥密码术意味着双向通信中不能使用同一组密钥。即在通信中的每个个体应该创建自己的私钥和公钥。第三,非对称密钥密码术意味着团体中如果有n个人,就会有n个公钥存在。1、明文/密文明文和密文被当做整数来对待。在加密之前,消息必须被编码成一个长整数(或一组长整数),在解密之后整数(或一组整数)必须被译码成信息。非对称密钥密码术通常被用来加密或译码少量的信息。2、加密/解密最常用的公钥算法是RSA算法。接收者选择两个素数p和q,创建模n=p*q,然后计算出两个指数e和d。接收者的公钥是n和e,私钥是d。如果P是明文,C是密文。加密和解密就表示为:加密:C=P^emodn解密:P=C^dmodn
五、对称密钥方法和非对称密钥方法1、秘密记号的数目对称密钥密码术是基于共享秘密。非对称密钥密码术是基于个人秘密。2、两个系统的一个共同需要在对称密钥密码术中,符号被置换或替代。在非对称密钥密码术中,对数字进行操作。
第十七章计算理论一、目标1、描述我们成为简单语言(SimpleLanguage)的编程语言,并定义它的基本语句;2、在简单语言中,使用简单语言的复合写出宏;3、描述作为计算机模型的图灵机的构成;4、使用图灵机,显示简单语言中简单语句是如何被模拟的;5、理解邱奇-图灵理论和它的含义;6、定义歌德尔数和它的应用;7、理解停机问题的概念和问题不可解是如何证明的;8、区分可解和不可解问题;9、区分多项式和非多项式可解问题。
五、停机问题几乎每一个用简单语言编写的程序都包含某种形式的重复,也就是说一个含有无限循环的程序可以永远运行。那么,能否编写一个程序来测试任何可以用歌德尔数表示的程序是否会终止?事实上:停机问题是不可解决的。
第十八章人工智能P326一、目标1、定义并叙述人工智能的简史;2、描述知识在智能体中是如何表示的;3、说明当人类专家不可用时,专家系统是如何使用的;4、说明如何用人工智能体来模仿人类完成任务;5、说明人工智能中两种不同的搜索方法;6、说明计算机是如何模仿人类的学习过程的。
二、引言1、什么是人工智能人工智能是对程序系统的研究,该程序系统在一定程度上能模仿人类的活动,如感知、思考、学习和反应。2、简史莱布尼茨和牛顿完成逻辑语言的定稿,乔治·布尔的布尔代数奠定了计算机电子电路的基础。思维计算机的主要思想来自于阿兰·图灵的图灵测试。3、图灵测试该测试提出了机器具有智能的一个定义,即人类不能区分问题的答案来自人类还是计算机。4、智能体是一个能够智能地感知环境、从环境中学习并与环境进行交互的系统。4.1软件智能体一组用来完成特殊任务的程序。4.2物理智能体一个用来完成各项任务的可编程系统。5、编程语言两种语言特别为人工智能设计,LISP和PROLOG5.1LISPLISP是一种操作表的编程语言,LISP把数据和程序都当成表。缺点是行动迟缓,语法复杂。5.2PROLOG一种能建立事实数据库和规则知识库的编程语言。缺点是效率不是很高。
七、神经网络学习是一种复杂的生物现象。人工智能体的学习方法多是归纳学习法或从例子中学习。神经网络试图使用神经元网络去模仿人脑的学习过程。1、生物神经元神经键是神经元的轴突和其他神经元的树突的连接点。树突从相邻的神经元中收集电信号,把它传给胞体。神经键的工作就是给传到相邻的神经元的信号上加上权重。一个神经元有两种状态:兴奋和抑制。兴奋会触发一个输出信号,抑制不触发或产生输出。2、感知器感知器是一个类似于单个生物神经元的人工神经元。它带有一组具有权重的输入,对输入求和,把结果与阈值进行比较,如果结果大于阈值,感知器触发,否则不触发。3、多层网络几个层次的感知器可以组合起来,形成多层神经网络。每一层的输出变成下一层的输入。4、应用光学字符识别(OCR)和信用赋值。
附录UnicodeUML伪代码结构图布尔代数和逻辑电路C/C++/Java程序实例数学复习错误检测和纠正