2019-2020-1学期 20192429《网络空间安全专业导论》第七周学习总
# 第十二章 信息管理 #
12.1 信息管理
- 信息系统(information system):帮助我们组织和分析数据的软件
- 任何应用程序都是管理数据的,有些程序采用特定的结构以特定的方式管理数据
- 我们只需要管理数据,捕捉数据间的关系
12.2 电子制表软件 - 电子制表软件(spreadsheet):允许用户用单元格组织和分析数据的程序。
- 单元格(cell):电子数据表中用于存放数据或公式的元素。
- 数据可以是文本,也可以是数字或其他特殊数据
- 通常,电子数据表会有一个合理的最大行数,另外,大多数电子制表程序会把多个表格组合在一个大的交互系统中
Q:这里的交互系统指的是什么?
12.2.1 电子数据公式 - 电子数据表函数(spreadsheet function):电子制表软件提供的可用于公式的计算函数。
- 范围(range):用端点指定的一组连续单元格。
- 电子制表软件通常会提供大量的函数供我们在公式中使用。一些函数执行的是数学或统计计算、一般的金融计算或者是文本或日期的特殊计算,另一些函数则允许用户建立单元格间的逻辑关系。
- 电子数据表的另一灵活之处是能够整行或整列地复制值或公式。复制公式时,单元格间的关系都将维系不变,因此很容易设置一整系列的计算
Q:为什么关系会维系不变
12.2.2 循环引用 - 循环引用(circular reference):在计算结果时要错误地彼此依赖的一组公式
Q:为什么会错误,难道不能主动进行循环么
12.2.3 电子数据表分析 - 模拟假设分析(what-if analysis):修改电子数据表中表示假设的值,以观察假设的变化对相关数据有什么影响
- 成本效益分析、收支平衡计算以及预计销售估计都是通过组织电子数据表中的数据和公式来考虑适当的关系。
12.3 数据库管理系统
几乎所有复杂的数据管理情况都要依靠下层的数据库的允许用户(人或程序)与之交互的支持结构 - 数据库(database):结构化的数据集合。
- 数据库管理系统(database management system):由物理数据库、数据库引擎和数据库模式构成的软件和数据的组合。
- 物理数据库:存放数据的文件的集合。
- 数据库引擎:支持对数据库内容的访问和修改的软件。
- 数据库模式:存储在数据库中的数据的逻辑结构的规约。
- 数据库引擎与专用的数据库语言交互,这种语言允许用户指定数据的结构,添加、修改和删除数据,查询数据库以获取指定的存储数据。
- 查询(query):从数据库检索数据的请求。
- 模式(schema):数据库中的数据的逻辑结构的规约。
12.3.1 关系模型 - 关系模型(relational model):用表组织数据和数据之间的关系的数据库模型。
- 表(table):数据库记录的集合。
- 记录(或对象、实体)(record(or object,entity)):构成一个数据库实体的相关的域的集合。
- 域(或属性)(field(or attribute)):数据库记录中的一个值
- 表中的每一行对应一条记录;表中的每个记录由相同的域构成,其中存储了特定的值
- 数据库表中的记录又叫数据库对象或实体。
记录中的域有时又叫作数据库对象的属性。 - 键域(key):在表的所有记录中唯一标识一个数据库记录的一个或多个域。
- 存储在表的每条记录的键域中的值必须是唯一的
12.3.2 关系 - 可以用一个表来表示对象间的关系的集合
- Rents表包含有关关系中的对象的信息和关系的属性
- 数据库表中的数据会根据需要被修改、****添加和删除
12.3.3 结构化查询语言 - 结构化查询语言(Structured Query Language,SQL):用于管理和查询数据的综合性关系数据库语言。
- 1986年,美国国家标准化组织(ANSI)发布了SQL标准,这是访问关系数据库的商用数据库语言的基础
- SQL不区分大小写,因此其中的关键字、表名和属性名可以是大写的、小写的或大小写混合的。
- 空格被用作语句中的分隔符
- 基本的select语句包括一个select从句、一个from从句和一个where从句。
- select从句决定了返回哪些属性。from从句决定了使用哪个表进行查询。where从句限制了返回的数据。
- 用SQL中的insert、update和delete语句可以改变表中的数据。
- insert语句:可以给表添加一条新纪录,每个insert语句都指定了新纪录的属性值。
- update语句:可以改变表中的一条或多条记录的值
3.** delete语句**:可以删除表中与指定的条件匹配的所有记录
12.3.4 数据库设计
- 实体关系(ER)建模(entity-relationship(ER)modeling):设计关系数据库的常用方法。
- ER图(ER diagram):ER模型的图形化表示。
ER图用图形化的形式捕捉重要的记录类型、属性和关系 - 基数约束(cardinality constraint):在ER图中,一次可以存在于实体间的关系数量
- 一般的基数关系有三种:一对一、一对多和多对多
12.4 电子商务 - 电子商务(electronic commerce):使用万维网买卖物品及服务的过程。
# 第十三章 人工智能 #
13.1 思维机
- 人工智能(artificial intelligence,AI):研究对人类思想建模和应用人类智能的计算机系统的学科。
13.1.1 图灵测试 - 弱等价性(weak equivalence):两个系统基于其结果的等价性。
- 强等价性(strong equivalence):两个系统基于其结果和实现这种结果的处理方法的等价性。
- 图灵测试(Turing test):一种行为方法,用于判断一个计算机系统是否是智能的。
- 聊天机器人(chatbot):用于执行人机对话的程序。
13.1.2 AI问题的各个方面
•知识表示——用于表示知识以便计算机系统能够用来解决智能问题的技术。
•专家系统——嵌入人类专家知识的计算机系统。
•神经网络——模拟人脑处理的计算机系统。
•自然语言——处理人类用来交流的语言的难题。
•机器人学——关于机器人的研究。
13.2 知识表示
13.2.1 语义网 - 语义网(semantic network):表示对象之间关系的知识表示法。
- 表示语义网的是有向图,图中的节点表示对象,节点之间的箭头表示关系。箭头上的标签说明了关系的类型
- 继承关系说明一个对象是另一个对象更具体的版本。
- 实例化是一个真正的对象和这种对象的说明(如类)之间的关系。
- 语义网是表示大量信息的强有力而通用的方式,难点在于建立正确的关系模型并用精确完整的数据填充整个网络
13.2.2 检索树 - 检索树(search tree):表示对抗性情况(如博弈)中的所有选择的结构。
- 一个完整的国际象棋检索树包括每一层所有可能的移动,由于这样的树太大,所以即使具备现代的计算能力,在合理的时间限制内也只能分析部分的树
- 深度优先法(depth-first approach):优先沿着树的路径向下检索,而不是优先横向检索每层的检索法。
- 广度优先法(breadth-first approach):优先横向检索树的每层,而不是优先向下检索特定路径的检索法。
13.3 专家系统 - 基于知识的系统(knowledge-based system):使用特定信息集合的软件
- 专家系统(expert system):基于人类专家的知识的软件系统。
- 基于规则的系统(rule-based system):基于一套if-then规则的软件系统。
- 专家系统的规则集合又叫作它的知识库。
- 推理机(inference engine):处理规则以得出结论的软件。
- LISP(LISt Processor):AI最常见的程序设计语言之一。
- 专家系统的优点:
- 它是面向目标的:它的重点不是抽象信息或理论信息,而是如何解决特定的问题。
- 它非常有效:它将记录之前的反应,不会问无关的问题。
- 即使你不知道某些问题的答案,一个真正的专家系统也会通过精心构造的规则集合提供有用的指示。
13.4 神经网络
- 人工神经网络(artificial neural network):尝试模拟人体神经网络的计算机知识表示法。
13.4.1 生物神经网络 - 神经元是传导基于化学的电信号的单个细胞。
- 生物神经元具有多个输入触角和一个主输出触角。
- 神经元在任何时刻都处于兴奋状态或抑制状态
13.4.2 人工神经网络 - 有效权(effective weight):人工神经元中输入值和相应的权的乘积之和
- 训练(training):调整神经网络中的权和阈值以实现想要的结果的过程
- 神经网络之所以具有这样的通用性,是因为网络的权和阈值没有任何内在含义
13.5 自然语言处理 - 语音识别(voice recognition):用计算机来识别人类所讲的话。
- 自然语言理解(natural language comprehension):用计算机对人类传达的信息做出合理的解释。
- 语音合成(voice synthesis):用计算机制造出人类的声音。
- 自然语言(natural language):人们用于交流的语言,如英语
- 自然语言固有的语法的不规则性和二义性使得处理它们具有很大的挑战性。
13.5.1 语言合成 - 语音合成有两种基本的解决方法——动态语音生成和录制语音
- 音素(phoneme):任何指定的语言中的基本声音单元的集合
- 动态语音生成技术一般不能生成真实的人声,但是它能发出每个单词的声音。
13.5.2 语言识别 - 声波纹(voiceprint):表示人声随着时间推移的频率变化的图。
13.5.3 自然语言理解 - 词法二义性(lexical ambiguity):由于单词具有多种含义而造成的二义性。
- 句法二义性(syntactic ambiguity):由于句子的构造方式有多种而造成的二义性。
- 指代二义性(referential ambiguity):由于代词可以指代多个对象而造成的二义性。
13.6 机器人学 - 机器人学:研究机器人的科学。
- 类别:固定机器人和可移动机器人
13.6.1 感知-规划-执行范型 - 可移动机器人学研究的是能相对于环境移动并具有一定自治能力的机器人。
- 规划系统是一种大型的软件系统,它能够根据给定的目标、起点和结局生成有限的动作集合,如果执行这套动作,将实现预期的结果。
13.6.2 包孕体系结构 - Isaac Asimov定义的机器人学的三条定律:1.机器人不可以伤害人类或对人类受伤害置之不理 2.机器人必须服从人类的指令 3.机器人必须服从人类的指令。
13.6.3 物理部件 - 机器人是由传感器、执行器和计算部件(一个微处理器)构成的。
- 机器人移动所需的三种最常用的系统是轮子、履带和机械腿。
# 第十四章 模拟、图形学、游戏和其他应用 #
14.1 什么是模拟
- 模拟(simulation):设计复杂系统的模型并为观察结果而对该模型进行实验。
- 模型既可以是纯物理性的,也可以软件控制的物理对象,还可以是纯逻辑性的。
14.1.1 复杂系统 - 系统定义为一组以某种方式相互作用的对象,这些对象可以是有生命的,也可以是无生命的
- 最适合模拟的系统是动态的、交互的和复杂的系统
14.1.2 模型 - 模型(model):真实系统的抽象,是系统中的对象和管理这些对象相互作用的规则的表示。
14.1.3 构造模型 - 构造模型的关键是确定一个足以描述被调查的行为的特征或特性的小集合
- 连续模拟:连续模拟把时间看作是连续的,用一组反映特征集合中的关系的微分方程表示时间的变化。
- 离散事件模型:由实体、属性和事件构成
- 构造一个好模型的关键是选择实体以表示系统,并正确地决定定义事件结果的规则。
14.2 特殊模型
14.2.1 排队系统 - 需知:
- 事件的数量以及它们如何影响系统,以确定实体相互作用的规则
- 服务器的数量
- 到达的时间的分布情况,以确定是否把一个实体加入系统
- 预计的服务时间,以确定事件的持续时间
- 优先队列:在优先队列中,每个项目都有一个优先级。每次出列的项目都是优先级最高的项目。
14.2.2 气象模型 - 气象模型:是以时间相关的流体力学和热力学的偏微分方程为基础的,这些方程的变量包括两个水平风速、垂直风速、气温、气压和水汽浓度。
14.2.3 计算生物学 - 生物信息学:一种将信息技术应用到分子生物学的学科。涉及对生物信息在计算机和网络中的查询、存储、操作、分析以及可视化。
- 计算生物建模:对生物学系统进行计算建模。
- 计算基因组:对基因组序列进行解密。
- 分子建模:对分子进行的建模。
- 蛋白质结构预测:尝试进行三维的蛋白质序列建模,这在实验中还尚未被实现。
- 计算生物学(computational biology):一种通过计算机、应用数学以及统计学的知识解决生物学问题的交叉性学科。
14.3 计算机图形学 - 我们可以将计算机图形描述为计算机屏幕上的像素值的设置
- 最常见的应用是现代操作系统中的图形用户界面。
- 字处理软件和桌面出版软件也是计算机图形学的应用
14.3.1 光的工作原理 - 根据光线的波长,视锥可以分为长、中和短三种
- 人的视觉系统和大脑可以解释视锥和杆状细胞的反应,从而确保我们能看到面前的物体
- 要生成真实的图像,计算机必须进行计算,以模拟光和物体之间的交互、各种纹理的物体的不规则表面以及光线强度随位置在阴影中的变化
14.3.2 物体形状 - 如果一个物体是平的,那么物体上的任何位置都不存在法向量。如果物体不是平的,那么各个位置的法向量的方向都不相同
14.3.3 光模拟 - 一般来说,对光在物体上的一点的交互的模拟叫作照明模型,而利用照明模型来确定整个物体的外观的处理叫作明暗处理模型或者明暗处理
- 最早的照明模型使用了三种元素,即环境光、漫反射和镜面反射。
14.3.4 复杂对象的建模 - 植物生长建模采用了语法和可能性方法
14.3.5 让物体动起来 - 电影每秒钟需要使用24幅图像,视频每秒钟需要30幅图像
14.4 游戏 - 计算机游戏(computer gaming):计算机模拟的虚拟世界
- 虚拟世界通常也可以被当作是一个数码的或者模拟的世界,是一个充满交互的由计算机生成的环境。
14.4.1 游戏的历史 - 两种分类游戏的方法:通过它们使用的游戏平台进行分类;通过游戏玩法对游戏进行分类。
- 游戏玩法(gameplay):玩家在游戏过程中交互与体验的类型。
14.4.2 创建虚拟世界 - 游戏引擎(game engine):创造计算机游戏的软件系统。
- 游戏引擎提供具有以下功能的工具:
- 渲染图形的引擎
- 提供碰撞检测和动态仿真从而解决被模拟物体的力学特征物体的物理引擎
- 声音生成单元
- 独立于游戏驱动代码的脚本语言
- 人工智能算法
- 动画
- 场景图,一种利用图形场景来表示空间场景的通用数据结构
- 碰撞检测算法精确检测碰撞点或者两个固体的交错作用
14.4.3 游戏设计与开发 - 游戏中从存在的难点:故事线、艺术、角色以及相应的环境。
- 针对新的虚拟环境的开发需要决定游戏中所需要的图形和仿真技术的先进程度
14.4.4 游戏编程 - C++是最流行的游戏开发语言之一,同样流行的还有Java和C
- 各种应用编程接口(API)和库可以帮助卡发着完成游戏开发过程中的关键编程任务