HNUST人工智能导论期末复习

课本 人工智能及其应用(第6版) 蔡自兴 清华大学

以下内容大多和课后题相关

第一章 绪论

 1-1.  什么是人工智能?试从学科和能力两方面加以说明。

从学科角度来看:人工智能是计算机科学中涉及研究、设计和应用智能机器的一个分支。它的近期主要目标在于研究用机器来模仿和执行人脑的某些智能功能,并开发相关理论和技术。

从能力角度来看:人工智能是智能机器所执行的通常与人类智能有关的功能,如判断、推理、证明、识别、感知、理解、设计、思考、规划、学习和问题求解等思维活动

1-5 为什么能够用机器计算机来模仿人的智能

符号系统应具有下列6种基本功能:

(1)输入符号(2)输出符号(3)存储符号(4)复制符号(5)建立符号结构:通过找出各符号间的关系,在符号系统中形成符号结构;(6)条件性迁移,根据已有符号,继续完成活动过程。

假设:任何一个系统,如果它能表现出智能,那么它就必定能够执行上述6种功能。反之,任何系统如果具有这6种功能,那么它就能够表现出智能;这种智能指的是人类所具有的那种智能。

3个推论,即附带条件。

推论1.1既然人具有智能,那么他(她)就一定是个物理符号系统。

推论1.2既然计算机是一个物理符号系统,它就一定能够表现出智能。这是人工智能的基本条件

推论1.3既然人是一个物理符号系统,计算机也是一个物理符号系统,那么就能够用计算机来模拟人的活动。

 1-6.  现在人工智能有哪些学派?它们的认知观是什么?

符号主义(Symbolicism),又称为逻辑主义(Logicism)、心理学派(Psychlogism)或计算机学派(Computerism)[ 其原理主要为物理符号系统(即符号操作系统)假设和有限合理性原理。]

认为人的认知基元是符号,而且认知过程即符号操作过程。认为人是一个物理符号系统,计算机也是一个物理符号系统,因此,我们就能够用计算机来模拟人的智能行为。知识是信息的一种形式,是构成智能的基础。人工智能的核心问题是知识表示、知识推理和知识运用。

连接主义(Connectionism),又称为仿生学派(Bionicsism)或生理学派(Physiologism)[ 其原理主要为神经网络及神经网络间的连接机制与学习算法]

认为人的思维基元是神经元,而不是符号处理过程。认为人脑不同于电脑,并提出连接主义的大脑工作模式,用于取代符号操作的电脑工作模式。

行为主义(Actionism),又称进化主义(Evolutionism)或控制论学派(Cyberneticsism)[ 其原理为控制论及感知-动作型控制系统]

认为智能取决于感知和行动。认为智能不需要知识、不需要表示、不需要推理;人工智能可以象人类智能一样逐步进化。智能行为只能在现实世界中与周围环境交互作用而表现出来。符号主义、联结主义对真实世界客观事物的描述及其智能行为工作模式是过于简化的抽象,因而是不能真实地反映客观存在的。

1-10 人工智能的研究目标和内容

近期研究目标:建造智能计算机以代替人类的某些智力活动

远期研究目标:用自动机模仿人类的思维活动和智力功能

– 研究内容(10个方面)

①认知建模②知识表示③知识推理④计算智能⑤知识应用⑥机器感知⑦机器思维⑧机器学习⑨机器行为⑩智能系统构建

第二章 知识表示

2-2传教士野人问题

设有3个传教士和3个野人来到河边,打算乘一只船从右岸渡到左岸去。该船的负载能力为两人。在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。他们怎样才能用这条船安全地把所有人都渡过河去?

方法一:状态可有多种表示方法:

(左岸传教士数, 右岸传教士数, 左岸野人数, 右岸野人数, 船的位置)

或简化表示为:(左岸传教士数, 左岸野人数, 船的位置)

初始状态:(0, 0, 0) 目标状态:(3, 3, 1)

MC问题中的算子

将传教士或野人运到河对岸

Move-1m1c-lr:将一个传教士(m)和一个野人(c)从左岸(L)运到右岸(R)

所有可能操作

Move-1m1c-lr     Move-1m1c-rl     Move-2c-lr   Move-2c-rl          Move-2m-lr     Move-2m-rl  Move-1c-lr          Move-1c-rl     Move-1m-lr  Move-1m-rl

状态空间与问题归约的关系:

状态空间是问题归约的特例,问题归约有与结点和或节点,而状态空间只有或节点。

问题归约包括状态空间。

2-5试用四元数列结构表示四圆盘梵塔问题,并画出求解该问题的与或图。

用四元数列(nA, nB, nC, nD) 来表示状态,其中nA表示A盘落在第nA号柱子上,nB表示B盘落在第nB号柱子上,nC表示C盘落在第nC号柱子上,nD表示D盘落在第nD号柱子上。

初始状态为1111,目标状态为3333

2-7用谓词演算公式表示下列英文句子(多用而不是省用不同谓词和项。例如不要用单一的谓词字母来表示每个句子。)

A computer system is intelligent if it can perform a task which,if performed by a human, requires intelligence.

先定义基本的谓词

INTLT(x) means x is intelligent

PERFORM(x,y) means x can perform y

REQUIRE(x) means x requires intelligence

CMP(x) means x is a computer system

HMN(x) means x is a human

上面的句子可以表达为

(任意x)(∀x){(∃y)(∃t)[HMN(y)∧PERFORM(y,t)∧REQUIRE(t)∧CMP(x)∧PERFORM(x,t)]INTLT(x)}

2-8把下列语句表示成语义网络描述:

(1) All man are mortal.

(2) Every cloud has a silver lining.

(3) All branch managers of DEC participate in a profit-sharing plan.

• 小燕从春天到秋天占有一个巢

Use semantic networks to represent the followings:

Nellie is an elephant,

he likes apples.

Elephants are a kind of mammals,

they live in Africa,

and they are big animals.

Mammals and reptiles are both animals,

all animals have head.

第三章 搜索推理技术

3-1什么是图搜索过程?其中,重排OPEN表意味着什么,重排的原则是什么?

图搜索的一般过程如下:(描述图搜索(GRAPHSERCH)的一般过程)(用文字或流程图)

(1) 建立一个搜索图G(初始只含有起始节点S),把S放到未扩展节点表中(OPEN表)中。

(2) 建立一个已扩展节点表(CLOSED表),其初始为空表。

(3) LOOP:若OPEN表是空表,则失败退出。

(4) 选择OPEN表上的第一个节点,把它从OPEN表移出并放进CLOSED表中。称此节点为节点n,它是CLOSED表中节点的编号

(5) 若n为一目标节点,则有解并成功退出。此解是追踪图G中沿着指针从n到S这条路径而得到的(指针将在第7步中设置)

(6) 扩展节点n,生成不是n的祖先的那些后继节点的集合M。将M添入图G中。

(7) 对那些未曾在G中出现过的(既未曾在OPEN表上或CLOSED表上出现过的)M成员设置一个通向n的指针,并将它们加进OPEN表。

对已经在OPEN或CLOSED表上的每个M成员,确定是否需要更改通到n的指针方向。

对已在CLOSED表上的每个M成员,确定是否需要更改图G中通向它的每个后裔节点的指针方向。

(8) 按某一任意方式或按某个探试值,重排OPEN表。

(9) GO LOOP。

重排OPEN表意味着,在第(6)步中,将优先扩展哪个节点,不同的排序标准对应着不同的搜索策略。

重排的原则当视具体需求而定,不同的原则对应着不同的搜索策略,如果想尽快地找到一个解,则应当将最有可能达到目标节点的那些节点排在OPEN表的前面部分,如果想找到代价最小的解,则应当按代价从小到大的顺序重排OPEN表。

3-7,下列八数码难题:

用A*算法绘出八数码难题的搜索树;标记OPEN表、CLOSED表的节点;写出从初始状态到目标状态的最优解

估计函数:f(n)=d(n)+W(n)d(n)为树中节点n的深度

W(n)为节点n相对于目标节点棋局不在位的棋子数。

3-12:课后题

(1) {~P(x)∨P(x)}

(2) {~On(x,y)∨Above(x,y)}

(3) {~Above(x,y)∨~Above(y,z)∨Above(x,z)}

注:联结词优先级: 否定→合取→析取→蕴涵→等价

(4) {P(A), P(B)∨Q(A,C), P(B)∨~P(C), ~P(f(A,B))∨Q(A,C),

~P(f(A,B))∨~P(C) }

~((∀x)(P(x)à((∀y)(P(y)àP(f(x,y)))∧(∀y)(Q(x,y)àP(y)))))

(1) ~((∀x)(~P(x)∨((∀y)(~P(y)∨P(f(x,y)))∧(∀y)(~Q(x,y)∨P(y)))))

(2) ((∃x)(P(x)∧((∃y)(P(y)∧~P(f(x,y)))∨(∃y)(Q(x,y)∧~P(y)))))

(3) ((∃x)(P(x)∧((∃y)(P(y)∧~P(f(x,y)))∨(∃z)(Q(x,z)∧~P(z)))))

(4) P(A)∧((P(B)∧~P(f(A,B)))∨(Q(A,C)∧~P(C)))

(5) P(A)∧(P(B)∨Q(A,C))∧(P(B)∨~P(C))∧(~P(f(A,B)∨Q(A,C))∧

(~P(f(A,B)∨~P(C))

(6) P(A),

P(B)∨Q(A,C), P(B)∨~P(C),

~P(f(A,B)∨Q(A,C), ~P(f(A,B)∨~P(C)

• Example2: Happy student

• 例3: 储蓄问题(例3.9)

第四章计算智能

4-1 计算智能的含义是什么?它涉及哪些研究分支?

贝兹德克认为计算智能取决于制造者提供的数值数据,而不依赖于知识。计算智能是智力的低层认知。计算智能是信息科学、生命科学、认知科学等不同学科相

互交叉的产物。它主要借鉴仿生学的思想,基于人们对生

物体智能机理的认识,采用数值计算的方法去模拟和实现

人类的智能。

主要的研究领域为神经计算,模糊计算进化计算、粒群计算、

蚁群算法、自然计算、免疫计算和人工生命等领域。

4-6设计一个神经网络,用于计算含有两个输入的XOR函数。

各节点的关系为f(·)阈值函数,所有seita取0.5,

x1,x2为输入,y为输出,阈值向量为(0,0,0,-1,-2,0),还有邻接矩阵。

NH1=f(x1×1.6+x2×(-0.6)-1)

NH2=f(x1×(-0.7)+x2×2.8-2)

Y=no=f(NH1×2.102+NH2×3.121)

4-14试述遗传算法的基本原理,并说明遗传算法的求解步骤?

基本原理:在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始群体;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗传操作后的个体集合形成下一代新的种群。对这个新种群进行下一轮进化。

求解步骤:

(1)  初始化群体;

(2)  计算群体上每个个体的适应度值;

(3) 按由个体适应度值所决定的某个规则选择将进入下一代的个体;

(4)  按概率Pc进行交叉操作;

(5)  按概率Pc进行突变操作;

(6) 若没有满足某种停止条件,则转第(2)步, 否则进入下一步。

(7) 输出群体中适应度值最优的染色体作为问题的满意解或最优解。

第六章机器学习

6-1 什么是学习和机器学习?为什么要研究机器学习?

按照人工智能大师西蒙的观点,学习就是系统在不断重复的工作中对本身能力的增强或者改进,使得系统在下一次执行同样任务或类似任务时,会比现在做得更好或效率更高。

机器学习是研究如何使用机器来模拟人类学习活动的一门学科,是机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机。

现有的计算机系统和人工智能系统没有什么学习能力,至多也只有非常有限的学习能力,因而不能满足科技和生产提出的新要求。

6-2  试述机器学习系统的基本结构,并说明各部分的作用。

环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。

影响学习系统设计的最重要的因素是环境向系统提供的信息。更具体地说是信息的质量。

6-4,决策树学习的主要学习算法?

答:决策树学习算法ID3

  1. 创建树的Root(根)节点。
  2. 若Examples均为正,则返回label= + 的单节点树Root。
  3. 若Examples都为反,则返回label= -的单节点树Root。
  4. 若Attributes为空,则返回单节点树Root,label = Examples 中最普遍的
  5. Target_attribute值。
  6. 否则开始
  7. 结束。

返回Root

6-9用 C语言编写一套计算机程序,用于执行 语言编写一套计算机程序,用于执行 BP 学习算法

BP算法实现步骤:

1)初始化

2)输入训练样本对,计算各层输出

3)计算网络输出误差

4)计算各层误差信号

5)调整各层权值

6)检查网络总误差是否达到精度要求。满足,则训练结束;不满足,则返回步骤2

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
算法导论是计算机科学中非常重要的一门课程,它涵盖了计算机算法的设计、分析与应用期末复习是为了加深对所学知识的理解和掌握,为考试做好充分准备。 使用Python语言进行算法导论的复习是一种很好的选择。Python是一种强大且易于上手的编程语言,具有简洁的语法和丰富的库支持。下面是几个复习的重点: 1. 熟悉Python的基本语法和数据结构:掌握Python的基本数据类型如列表、字典和集合,并了解它们的操作与性能。 2. 掌握常见排序算法:复习插入排序、归并排序、快速排序等常见的排序算法,并能够灵活应用它们解决实际问题。 3. 熟悉图算法:学习图的表示方法,以及广度优先搜索(BFS)和深度优先搜索(DFS)等基本的图算法。 4. 熟练应用动态规划算法:了解动态规划的基本思想,复习使用动态规划解决背包问题、最长公共子序列等典型问题。 5. 学习贪心算法:了解贪心算法的概念和特点,熟悉使用贪心算法解决活动选择、哈夫曼编码等问题。 6. 熟练掌握分治算法:复习分治算法的基本思想和应用,熟悉使用分治算法解决最大子数组和矩阵乘法等问题。 7. 复习基本的算法分析方法:熟悉时间复杂度和空间复杂度的概念,掌握算法的渐进分析方法。 在复习过程中,可以通过参考教材、课堂笔记和习题集等资料进行练习和巩固所学知识。此外,可以参考一些算法导论的相关网上资源和在线教育平台上的课程进行深入学习。最重要的是,要坚持刷题,多进行实际编码练习,巩固所学算法的理解和应用能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值