第十二章 信息系统
12.1 信息管理
- 信息系统:帮助我们组织和分析数据的软件
三种最流行的一般应用信息系统是电子表格、数据库管理系统和电子商务。
12.2 电子制表软件
- 电子制表软件:允许用户用单元格组织和分析数据的程序。
- 单元格:电子数据表中用于存放数据或公式的元素。
可以用行列标号引用电子数据表的单元格,通常用字母指定列,用数字指定列。
12.2.1 电子数据表公式
- 电子数据表函数:电子制表软件提供的可用于公式的计算函数。
范围:用端点指定的一组连续单元格。
12.2.2 循环引用
循环引用:在计算结果时要错误地彼此依赖的一组公式。
12.2.3 电子数据表分析
我们可以用电子数据表来执行下述任务:
- 跟踪销售情况
- 分析运动统计数字
- 维护学生的成绩单
- 保存汽车的维修记录
- 记录和总结旅行开销
- 跟踪项目活动和日常安排
计划股票购买
模拟假设分析:修改电子数据表中表示假设的值,以观察假设的变化对相关数据有什么影响。
12.3数据库管理系统
- 数据库:结构化的数据集合
- 数据库管理系统:由物理数据库、数据库引擎和数据库模式构成的软件和数据的组合
- 查询:从数据库检索数据的请求
模式:数据库中的数据的逻辑结构的规约
12.3.1 关系模型
- 关系模型:用表组织数据和数据之间的关系的数据库模型
- 表:数据库记录的集合
- 记录(或对象、实体):构成一个数据库实体的相关的域的集合
- 域(或属性):数据库记录中的一个值
键:在表的所有记录中唯一标识的一个数据库记录的一个或多个域
关系数据库只是数据的逻辑视图,与底层的物理组织(记录是如何存储在硬盘上的)毫无关系。
12.3.2 关系
记录表示的是独立数据库对象,记录的域是这些对象的属性。数据库表中的数据会根据需要被修改、添加和删除。
12.3.3 结构化查询语言
- 结构化查询语言:用于管理和查询数据的综合性关系数据库语言
SQL不区分大小写,因此其中的关键字、表名和属性名可以是大写的、小写的或大小写混合的。空格被用作语句中的分隔符。
12.3.4 数据库设计
- 实体关系建模:设计关系数据库的常用方法
- ER图:ER模型的图形化表示
矩形表示记录的类型,椭圆表示记录的域,菱形表示关系
- 基数约束:在ER图中,一次可以存在于实体间的关系数量。
一般的基数关系有三种:一对一、一对多、多对多
12.4 电子商务
- 电子商务:使用万维网买卖物品及服务的过程
电子购物车是电子商务过程中的一个关键组成部分,它允许用户保持一个持续购买物品的容器,并允许用户在一个单一的交易中购买这些物品。
第十三章 人工智能
13.1 思维机
人工智能:研究对人类思想建模和应用人类智能的计算机系统的学科
13.1.1 图灵测试
图灵测试:一种行为方法,用于判断一个计算机系统是否是智能的
图灵测试是这样建立的:由一位质问者坐在一个房间中,用计算机终端于另外两个回答者A和B通信。质问者一位回答者是人,另一位回答者是计算机,但不知道哪个是人,哪个是计算机。质问者要判断哪个回答者是计算机。这一过程将由多个人反复执行。这个测试的假设是如果计算机能够瞒过足够多的人,那么就可以把它看作是智能的。
- 弱等价性:两个系统基于其结果的等价性
- 强等价性:两个系统基于结果和实现这种结构的处理方法的等价性
- Loebner奖:正式的图灵测试,每年举行一次
聊天机器人:用于执行人机对话的程序
13.2 知识表示
13.2.1 语义网
语义网:表示对象之间关系的知识表示法
语义网是表示大量信息的强有力而通用的方式。难点在于建立正确的关系模型并用精确完整的数据填充整个网络。
13.2.2 检索树
检索树:表示对抗性情况中的所有选择的结构。
13.3 专家系统
- 基于知识的系统:使用特定信息集合的软件。
- 专家系统:基于人类专家的知识的软件系统。
- 基于规则的系统:基于一套if-then规则的软件系统
推理机:处理规则以得出结论的软件
13.4 神经网络
人工神经网络:尝试模拟人体神经网络的计算机知识表示法
13.4.1 生物神经网络
人脑包含数十亿个连接成网络的神经元。神经元在任何时刻都处于兴奋状态或抑制状态。处于兴奋状态的神经元将传导强信号,处于抑制状态的神经元则传导弱信号。
13.4.2 人工神经网络
- 有效权:人工神经元中输入值和相应的权的乘积之和
训练:调整神经网络中的权和阈值以实现想要的结果的过程
13.5自然语言处理
人机语音交互过程中的三种基本处理类型:- 语音识别:用计算机来识别人类所讲的话
- 自然语言理解:用计算机对人类传达的信息做出合理的解释
- 语音合成:用计算机制造出人类的语音
自然语言:人们用于交流的语言
13.5.1 语音合成
音素:任何指定的语言中的基本声音单元的集合
13.5.2 语言识别
声波纹:表示人声随着时间推移的频率变化的图
13.5.3 自然语言理解
- 词法二义性:由于单词具有多种含义而造成的二义性
- 句法二义性:由于句子的构造方式有多种而造成的二义性
指代二义性:由于代词可以指代多个对象而造成的二义性
13.6 机器人学
机器人学是研究机器人的科学,可以把机器人分为两大类————固定机器人和可移动机器人。
13.6.1 感知-规划-执行范型
规划系统是一组大型的软件系统,它能够根据给定的目标、起点和结局生成有限的的动作集合,如果执行这套动作,将实现预期的结果。
13.6.2 包孕体系结构
包孕体系结构不再一次模拟整个机器人世界,而是赋予机器人一套简单的行为,每种行为与它所必需的一部分机器人世界关联在一起。除非这些行为有冲突,否则它们可以并行运行,在有冲突的情况下,每种行为要达到的目标的顺序决定了下一条要执行的是什么行为。
13.6.3 物理部件
传感器负责收集周围的数据,执行器负责移动机器人,计算部件负责给执行器发送命令。传感器是一种转换器,可以把物理现象转换成微处理器能够处理的电信号。
第十四章 模拟、图形学、游戏和其他应用
14.1 什么是模拟
模拟:设计复杂系统的模型并为观察结果而对该模型进行实验。
14.1.1 复杂系统
最适合模拟的系统是动态的、交互的和复杂的系统
14.1.2 模型
模型:真实系统的抽象,是系统中的对象和管理这些对象相互作用的规则的表示
14.1.3 构造模型
有两种不同的模拟类型。为每种类型选择特征或特性集合的过程不同。这两种类型的区别在于表示时间的方式,一个采用的是连续变量,另一个采用的是离散事件。
连续模拟
连续模拟把时间看作是连续的,用一组反映特征集合中的关系的微分方程表示时间的变化。
离散事件模拟
离散事件模拟由实体、属性和事件构成。
14.2 特殊模型
14.2.1 排队系统
要构造一个排队系统,必须知道四点:
- 事件的数量以及它们如何影响系统,以确定实体相互作用的规则。
- 服务器的数量
- 到达时间的分布情况,以确定是否把一个实体加入系统。
预计的服务时间,以确定事件的持续时间。
14.2.2 气象模型
由于飓风跟踪的模型是应用与移动目标的,所以它们叫作浮动模型。
14.2.3 计算生物学
计算生物学:一种通过计算机、应用数学以及统计学的知识解决生物学问题的交叉性学科。
14.3 计算机图形学
最常见的应用是现代操作系统中的图形用户界面(GUI)。文件和文件夹都由屏幕上的图标表示,图标还能说明文件的类型。与计算机交互涉及指向、点击和拖曳,这些都会改变屏幕上的显示的图形。字处理软件和桌面出版软件也是计算机图形学的应用。
14.3.1 光的工作原理
眼睛的晶状体在光线触及眼底时会把它集中起来。眼底由视锥和杆状细胞构成,它们会对投射而来的光线产生反应。根据光线的波长,视锥可以分为长、中和短三种。长视锥反应是红色的,中视锥反应是绿色的,短视锥反应是蓝色的。
14.3.3 光模拟
对光在物体上的一点的交互模拟叫作照明模型,而利用照明模型来确定整个物体的外观的处理叫作明暗处理模型或者明暗处理。创建整个图像的过程叫作绘制。
14.3.5 让物体动起来
电影每秒钟需要使用24幅图像,视频每秒钟需要30幅图像。
14.4 游戏
计算机游戏:计算机模拟的虚拟世界
14.4.1 游戏的历史
游戏玩法:玩家在游戏过程中交互与体验的类型
14.4.2 创建虚拟世界
游戏引擎提供具有以下功能的工具:
- 渲染图形的引擎
- 提供碰撞检测和动态仿真从而解决被模拟物体的力学特征问题的物理引擎
- 声音生成单元
- 独立于游戏驱动代码的脚本语言
- 人工智能算法
- 动画
场景图,一组=种利用图形场景的通用数据结构
14.4.4 游戏编程
资深引擎程序员可以编写和维护“游戏循环”的代码,设计游戏引擎编辑器,并确保文件格式对于输入和输出2D和3D艺术包文件和音频/视频文件来说是可接受的。三维软件程序员可以设计和实现3D图形组件,而用户界面程序员负责游戏引擎的API。