人工智能复习点简略中国矿业大学.docx
《人工智能复习点简略中国矿业大学.docx》由会员分享,可在线阅读,更多相关《人工智能复习点简略中国矿业大学.docx(24页珍藏版)》请在冰豆网上搜索。
人工智能复习点简略中国矿业大学
第一章
1.人工智能:
人工智能就是用人工的方法在机器(计算机)上实现的智能,或称机器智能、计算机智能。
与传统数学方法的根本区别不同于利用知识,知识的表示和使用成为人工智能研究的核心
2.发展
●1950年图灵测试;
●麦卡洛克和皮兹1943年建成第一个神经网络模型(MP模型)。
●1959年美国的塞缪尔(Samuel)设计一个下棋程序;
●1982年,美国物理学家Hopfield提出了Hopfield神经网格模型,引入了“计算能量”概念,给出了网络稳定性判断。
●1986年,并行分布处理小组的Rumelhart等研究者提出多层网络的学习算法—BP算法
3.人工智能认知观
•符号主义(Symbolism)
•起源:
源于数理逻辑/逻辑推理
•原理:
物理符号系统(即符号操作系统)假设和有限合理性原理
•研究内容:
启发式算法、专家系统、知识工程
•连接主义(Connectionism)
•起源:
源于仿生学,特别是人脑模型的研究
•原理:
神经网络及神经网络间的连接机制与学习算法
•研究内容:
神经网络
•行为主义(Actionism)
•起源:
源于控制论
•原理:
控制论及感知-动作型控制系统
•研究内容:
智能控制、智能机器人
4.人工智能的研究与应用领域
•问题求解与博弈-下棋程序,逻辑推理与定理证明,计算智能:
涉及神经计算、模糊计算、进化计算、粒群计算、自然计算、免疫计算、人工生命等研究领域。
分布式人工智能与Agent:
分布式计算与人工智能结合,研究各Agent之间的合作与对话,包括分布式问题求解多和Agent系统。
自动程序设计,专家系统,机器学习:
使计算机具有智能的根本途径,自然语言理解,机器人学,模式识别,机器视觉,神经网络,智能控制,智能调度与指挥,智能检索,系统与语言工具
第二章知识表示方法
1.状态空间法、问题归约法、谓词逻辑法和语义网络法的要点是什么?
它们有何本质上的区别
●状态空间法是一种基于解答空间的问题表示和求解方法,它是以状态和操作符为基础的.在利用状态空间图表示时,从某个初始状态开始,每次加一个操作符,递增地建立起操作符的试验序列,直到达到目标状态为止.由于状态空间法需要扩展过多的节点,容易出现“组合爆炸”,因而只适用于表示比较简单的问题.
●问题归约法从目标(要解决的问题)出发,逆向推理,通过一系列变换把初始问题变换为子问题集合和子子问题集合,直至最后归约为一个平凡的本原问题集合.这些本原问题的解可以直接得到,从而解决了初始问题,用与或图来有效地说明问题归约法的求解途径.
●谓词逻辑法采用谓词合适公式和一阶谓词演算把要解决的问题变为一个有待证明的问题,然后采用消解定理和消解反演来证明一个新语句是从已知的正确语句导出的,从而证明这个新语句也是正确的.
●语义网络是知识的一种图解表示,它由节点和弧线或链线组成.节点用于表示实体、概念和情况等,弧线用于表示节点间的关系.语义网络的解答是一个经过推理和匹配而得到的具有明确结果的新的语义网络.语义网络可用于表示多元关系,扩展后可以表示更复杂问题
2.问题的搜索:
●正向搜索;状态空间法,问题的求解过程从初始状态开始搜索直到目标状态,解即是构成的算符序列。
●反向搜索问题归约法,从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,直到最后把初始问题归约为一个平凡的本原问题集合。
3.状态空间法
状态空间法的三要素
●状态(state):
为描述某类不同事物间的差别而引入的一组最少变量q0,q1,…,qn的有序集合,是表示问题解法中每一步问题状况的数据结构。
有序集合中每个元素qi(i=0,1,...,n)为集合的分量,称为状态变量。
给定每个分量的一组值就得到一个具体的状态。
●算符(operator):
使问题从一种状态变化为另一种状态的手段称为操作符或算符。
可为走步、过程、规则、数学算子、运算符号和逻辑符号。
●状态空间(statespace):
是由问题的全部可用状态和算符所构成的集合。
它包含三种说明的集合,即三元状态(S,F,G)。
S:
所有可能的问题初始状态集合;F:
操作符集合;G:
目标状态集合。
●例题:
有三个传教士M和三个野人C过河,只有一条能装下两个人的船,在河的一方或者船上,如果野人的人数大于传教士的人数,那么传教士就会有危险,你能不能提出一种安全的渡河方法呢?
⏹分析:
用状态空间法进行表示,步骤如下:
1)定义状态的描述形式
2)用所定义的状态描述形式把问题的所有可能的状态都表示出来,并确定出问题的初始状态集合描述和目标状态集合描述
3)定义一组算符,利用这组算符可把问题由一种状态转变为另一种状态。
●题解:
第一步设Sk=(M,C,B)表示传教士和野人在河左岸的状态。
其中:
M表示传教士在左岸的人数。
C表示野人在左岸的人数。
B用来表示船是不是在左岸。
(B=1表示在左岸,B=0表示不在左岸)。
第二步,用所定义的状态描述形式把问题的所有可能状态都表示出来,并确定出问题当然初始状态集和目标状态集。
对于状态Sk=(M,C,B)来说,由于M、C的取值有0,1,2,3四种可能,B的取值有0和1两种可能,所以本问题所有可能的状态公有4X4X2=32种。
各状态的形式描述如下:
S0=(3,3,1),S1=(3,2,1),S2=(3,1,1),S3=(3,0,1),
S4=(3,3,0),S5=(3,2,0),S6=(3,1,0),S7=(3,0,0),
S8=(2,3,1),S9=(2,2,1),S10=(2,1,1),S11=(2,0,1),
S12=(2,3,0),S13=(2,2,0),S14=(2,1,0),S15=(2,0,0),
S16=(1,3,1),S17=(1,2,1),S18=(1,1,1),S19=(1,0,1),
S20=(1,3,0),S21=(1,2,0),S22=(1,1,0),S23=(1,0,0),
S24=(0,3,1),S25=(0,2,1),S26=(0,1,1),S27=(0,0,1),
S28=(0,3,0),S29=(0,2,0),S30=(0,1,0),S31=(0,0,0),
在这些状态中,由于有安全约束条件—任何岸边野人的数量都不得超过传教士的数量(即MC),所以只有20个状态而由于这些不合法状态的存在,又会导致某些合法状态是不可到达的。
是合法的,这样,这个问题总共只有16种可到达的合法状态。
问题的初始状态集:
S={S0}={(3,3,1)},目标状态集:
G={S31}={(0,0,0)}
第三步:
定义一组用于状态变换算符F。
定义算符R(i,j)表示划船将i个传教士和j个野人送到右岸的操作;L(i,j)表示划船将i个传教士和j个野人送到左岸的操作。
由于过河的船每次最多载两个人,所以i+j≤2。
这样定义的算符集F中只可能有如下10个算符。
F:
R(1,0),R(2,0),R(1,1),R(0,1),R(0,2)
L(1,0),L(2,0),L(1,1),L(0,1),L(0,2)
至此,该问题的状态空间(S,F,G)构造完成。
这就完成了对问题的状态空间表示,。
为了求解该问题,根据该状态空间的16种可到达合法状态和10种算符,构造它的状态转换图,如下:
由上述状态空间图,可见从初始状态(3,3,1)到目标状态(0,0,0)的任何一条通路都是问题的一个解。
其中:
{R(1,1),L(1,0),R(0,2),L(0,1),R(2,0),L(1,1),R(2,0),L(0,1),R(0,2),L(1,0),R(1,1)}是算符最少的解之一。
4.问题归约
●四元式
⏹试用四元数列结构表示四圆盘梵塔问题,并画出求解该问题的与或图。
用问题归约法来求解此问题:
将原始问题归约为一个较简单的问题的集合:
(1)移动圆盘A、B和C到柱子2的三圆盘难题。
(2)移动圆盘D到柱子3的单圆盘难题。
(3)移动圆盘A、B和C到柱子3的三圆盘难题。
(1)移动圆盘A、B到柱子3的两圆盘难题。
(2)移动圆盘C到柱子2的单圆盘难题。
(3)移动圆盘A、B到柱子2的两圆盘难题。
其子问题由一个包含两个四元数列的表列来描述,问题描述[(1111)=>(3333)]就意味着“把ABC盘从柱子1移到柱子2”。
则将上述四圆盘梵塔问题用四元数列结构表示为:
5.谓词逻辑
●量词:
全称量词符号“”,存在量词符号“”
●连词:
合取:
符号“∧”,析取:
符号“∨”,蕴涵:
符号“→”,非:
符号“~”/“┑”,双条件:
“
”
●用谓词逻辑表示下列知识:
1.武汉是一个美丽的城市,但她不是一个沿海城市。
2.如果马亮是男孩,张红是女孩,则马亮比张红长得高。
1.定义谓词如下:
BCity(x):
x是一个美丽的城市HCity(x):
x是一个沿海城市
Boy(x):
x是男孩Girl(x):
x是女孩High(x,y):
x比y长得高
2.将个体带入谓词
BCity(wuhan),HCity(wuhan),
Boy(mal),Girl(zhangh),High(mal,zhangh)
3.根据语义连接谓词
BCity(wuhan)∧~HCity(wuhan)
(Boy(mal)∧Girl(zhangh))→High(mal,zhangh)
3.人人爱劳动。
4.所有整数不是偶数就是奇数。
5.自然数都是大于零的整数。
第一步
MAN(x):
x是人LOVE(x,y):
x爱y
N(x):
x是自然数;I(x):
x是整数;E(x):
x是偶数
O(x):
x是奇数GZ(x):
x大于0
第二步(无)第三步
6.在一个房间里,有一个机器人Robot,一个壁橱Alcove,一个积木块Box,两个桌子A和B。
开始时,Robot在Alcove旁边且两手是空的,A上放着Box,B上是空的。
Robot将把Box从A移到B上
●TABLE(x):
x是桌子EMPTYHANDED(x):
x双手是空的
AT(x,y):
x在y旁边ON(w,x):
w在x上
EMPTYTABLE(x):
桌子x上是空的
●个体词:
ROBOT,BOX,ALCOVE,A,B
●
7.用谓词演算公式表示下列英文句子(多用而不是省用不同谓词和项。
例如不要用单一的谓词字母来表示每个句子)。
Acomputersystemisintelligentifitcanperformataskwhich,ifperformedbyahuman,requiresintelligence.
谓词定义:
P(x,y)means x can perform y.(x可以执行y)
R(x)meansxrequiresintelligence.(x需要智能)
C(x)meansxisacomputersystem.(x是个一计算机系统)
H(x) means x is a human.(x是一个人)
I(x)meansxisintelligent.(x是智能的)
{(x)(y)(t)[(H(y)∧P(y,t)∧R(t)∧C(x)∧P(x,t)]→I(x)}
6.语义网络“带标识的有向图”
●有向图的节点代表实体,表示各种事物、概念、情况、属性、状态、事件、动作等;节点还可以是一个语义子网络,形成嵌套结构。
●有向图的弧代表语义关系,表示它所连结的两个实体之间的语义联系,它必须带有标识。
●蕴含的表示:
通过增加蕴含关系节点来实现。
在蕴含关系中,有两条指向蕴含节点的弧,一条代表前提条件(Antecedent),标记为ANTE;另一条代表结论(Consequence),标记为CONSE
●存在量词的表示:
可直接用“ISA”、“AKO”等这样的语义关系来表示。
在语义网络中,为了进行节点(结点,node)间节点属性的继承推理,规定了两个约定俗成的链(弧,arc),命名为(AKO)和(ISA),用来标明类与子类、类与个体之间的关系。
⏹类属关系Is-a(是一个)、A-member-of(是一员)、A-kind-of(是一种)
⏹聚集关系A-part-of(是一部分)
⏹属性关系Have(有)、Can(能、会)、Owner(所有者)。
⏹推论关系称它们之间是推论关系,可以用Fetch(推出)表示。
例如:
饥饿推出需要进食
⏹相近关系Similar-to(相似)、Near-to(接近)
⏹方位关系在上(Located-on),在下(Located-under),在内(Located-inside)、在外(Located-outside)、位于(Located-at)等都可以表示不同事物间的方位关系。
⏹时间关系Before(在前)、After(在后)等。
⏹构成关系例如:
整数由正整数、负整数和零组成。
1.例题用一个语义网络表示下列命题。
1)树和草都是植物;
2)树和草是有根有叶的;
3)水草是草,且长在水中;
4)果树是树,且会结果;
5)苹果树是果树中的一种,它结苹果。
第三章确定性推理
1.深度优先搜索首先扩展最新产生的(即最深的)节点,深度相等的节点可以任意排列。
扩展最深节点,搜索沿着状态空间某单一路径从起始节点向下进行下去;只有当搜索到达一个没后裔的状态时,考虑另一条替代路径。
所以深度优先搜索是不完备的,即使问题有解,它也不一定能求得解
2.宽度优先搜索以接近起始节点的程度依次扩展节点,在对下一层的任一节点进行搜索之前,必须搜索完本层的所有节点。
一种高代价搜索,但若有解存在,则必能找到它。
●优先只要问题有解,用宽度优先搜索总可以得到解,而且得到的是路径最短的解。
●缺点宽度优先搜索盲目性较大,当目标节点距初始节点较远时将会产生许多无用节点,搜索效率低。
必须遍历所有分支,占内存大。
3.有界深度优先搜索状态空间的深度优先搜索引入搜索深度界限,设为dm,当搜索深度达到了深度界限而仍未出现目标节点时,就换一个分支进行搜索。
●如果问题有解,且其路径长度≤dm,则上述搜索过程一定能求得解。
但是,若解的路径长度>dm,则上述搜索过程就得不到解。
4.等代价搜索是宽度优先搜索的一种推广,不是沿着等长度路径断层进行扩展,而是沿着等代价路径断层进行扩展。
搜索树中每条连接弧线上的有关代价,表示时间、距离等花费。
若所有连接弧线具有相等代价,则简化为宽度优先搜索算法。
●三种盲目搜索技术的比较
●主要差别:
在于挑选要扩展节点的规则不同
●宽度优先搜索技术:
先扩展出来的节点随后先扩展,OPEN表是队列
●深度优先搜索技术:
后扩展出来的节点随后先扩展,OPEN表是堆栈
●等代价搜索技术:
选取OPEN表中代价最小的节点先扩展,OPEN表是线性表(以局部代价的递增顺序排列)
5.全局优先搜索从OPEN表的所有节点中选择一个估价函数值最小的一个进行扩展。
●如果取估价函数f(n)=d(n),则它退化为广度优先搜索;广度优先搜索是全局优先搜索的一个特例。
●如果取估价函数f(n)=g(i),则它是等代价搜索。
6.局部有限搜索仅从刚生成的子节点中选择一个估价函数值最小的一个进行扩展。
●如果取估价函数f(n)=d(n),则它退化为深度优先搜索;深度优先搜索是局部优先搜索的一个特例。
7.A*算法在图搜索算法中,如第8步的重排OPEN表是利用估价函数f(n)=g(n)+h(n)对OPEN表中的节点进行排序,则该搜索算法为A算法。
虽提高了算法效率,但不能保证找到最优解
f(n)=g(n)+h(n)
●其中,f(n)是从初始状态经由状态n到目标状态的代价估计,
●g(n)是在状态空间中从初始状态到状态n的实际代价,
●h(n)是从状态n到目标状态的最佳路径的估计代价。
启发函数
8.基于规则的系统,均有两种推理方式,正向推理(从事实或状态向目标或动作进行操作),逆向推理(从目标或动作向事实或者状态进行操作)
●规则演绎系统
●产生式系统
9.产生式系统
●概念:
用来描述若干个不同的以基本概念为基础的系统
●组成:
1)总数据库:
又称综合数据库,用于存放求解过程中的各种当前信息的数据结构
2)产生式规则:
规则库,用于存放与求解问题有关的某个领域的知识的规则集合及其交换规则
3)控制策略:
推理机构,由程序构成,用来控制产生式系统的运行,决定问题求解过程的推理路线,实现问题的求解
●产生式推理
产生式系统的问题求解过程即对解空间的搜索过程,也就是推理过程。
按照搜索方向可把产生式系统分为正向推理(事实或数据驱动推理、前向链接推理)、逆向推理(目标驱动推理、逆向链接推理)和双向推理。
⏹正向推理:
从一组表示事实的谓词或命题出发,使用一组推理规则,来证明目标谓词公式或命题是否成立
⏹逆向推理:
从表示目标的谓词或命题出发,使用一组规则证明事实谓词或命题成立,即提出一批假设目标,然后逐一验证这些假设。
⏹双向推理:
同时从表示目标向事实推理和从事实向目标推理,并在推理过程中的某个步骤,实现事实与目标的匹配。
●产生式与蕴涵式的主要区别:
(1)蕴涵式表示的知识只能是精确的,产生式表示的知识可以是不确定的。
(2)蕴含式的匹配一定要求是精确的,而产生式的匹配可以是不确定的。
●产生式与条件语句的主要区别:
(1)前件结构不同:
产生式的前件可以是一个复杂的结构,而程序设计语言中条件语句的左部是布尔表达式。
(2)控制流程不同:
产生式系统中满足前提条件的规则被激活后,不一定被立即执行,能否执行将取决于冲突消解策略,而条件语句严格执行。
10.消解原理
反证法,将目标公式的否定化为子句集添加到命题公式集中,把消解反演系统应用于联合集,并推导出一个空子句(NIL),得到矛盾,从而定理得证。
●子句集求解
1)消去蕴涵
利用等价关系消去“→”和“↔”,A→B⇔~A∨B、A↔B⇔(A∧B)∨(~A∧~B)
2)减少否定符号辖域
双重否定律:
~(~A)⇔A;摩根定律:
~(A∧B)⇔~A∨~B;~(A∨B)⇔~A∧~B
量词转换律:
~(∀x)A(x)⇔(∃x)~A(x);~(∃x)A(x)⇔(∀x)~A(x)
3)变量标准化
在任一变量辖域内,受该变量约束的变量为哑元,重新命名变元,使不同量词约束的变元有不同的名字,变量改名,保证量词和约束变量的唯一性。
4)消去存在量词
消去存在量词时,需要区分以下两种情况:
⏹存在量词不出现在全称量词的辖域内,只要用一个新的个体常量替换受该存在量词约束的变元,就可消去该存在量词。
例如($x)P(x)化为P(A)。
⏹存在量词位于一个或者多个全称量词的辖域内("y)[($x)P(x,y)]化("y)[P(g(y),y)]
5)化为前束式
前束形=(前缀)(母式)
全称量词串无量词公式
6)化为合取范式
A∨(B∧C)⇔(A∨B)∧(A∨C)
7)消去全称量词
8)消去连词符号
用{A,B}代替(A∧B)
9)变换变量名称
对变元更名,使不同子句中的变元不同名
●消解反演求解过程
1)否定L,得到~L
2)把~L添加到S中去
3)将集合{~L,S}化为子句集
4)
应用消解原理产生矛盾空子句
第五章
1.神经计算
a)人工神经元的结构-
●人工神经网络(artificialneuralnets,ANN)由模拟神经元组成的,处理单元PE(processingelement)为节点,用加权有向弧(链)相互连接而成的有向图。
●处理单元是对生理神经元的模拟,而有向弧则是轴突-突触-树突对的模拟。
有向弧的权值表示两处理单元间相互作用的强弱。
●
神经元单元由多个输入xi,i=1,2,...,n和一个输出y组成。
中间状态由输入信号的权和表示,而输出为
●
式中,j为神经元单元的偏置(阈值),wji为连接权系数(激发状态取正值,抑制状态取负值),n为输入信号数目,yj为神经元输出,t为时间,f(_)为输出变换(激发)函数,决定节点(神经元)的输出。
b)最简单的神经元为线性阈值单元,称能通过单个TLU解决的问题为线性可分的。
与、或、非等简单逻辑都可通过单个TLU实现。
c)
异或问题是一个非线性可分问题,需要用多层感知器-多层神经网络来解决。
异或问题的实现其实质就是通过多个神经元互联构成网络,形成多条直线对平面上的点进行分类,从而实现最终目的。
d)神经网络是多个神经元以一定的拓扑结构互连组成的网络,按其结构可分为:
●递归(反馈)网络:
在递归网络中,多个神经元互连以组织一个互连神经网络。
●
前馈网络:
具有递阶分层结构,由同层神经元间不存在互连的层级组成。
2.简单遗传算法的遗传操作主要有选择(selection)、交叉(crossover)、变异(mutation)三种。
●
流程结构
1)算法流程图
2)
染色体编码
00000表示x=0,11111表示x=31。
s1=13(01101),s2=24(11000)
3)群体初始化采用生成随机数的方法,对染色体的每一维变量进行初始化赋值。
初始化染色体时必须注意染色体是否满足优化问题对有效解的定义。
4)适应值评价通过适应度函数来决定染色体的优劣程度,体现了自然进化中的优胜劣汰原则。
适应度函数要有效地反映每一个染色体与问题的最优解染色体之间的差距。
评估函数用于评估各个染色体的适应值,进而区分优劣。
规定适应值越大的染色体越优。
对优化问题,适应度函数就是目标函数。
例如,TSP(旅行商问题)的目标是路径总长度为最短,路径总长度可作为TSP问题的适应度函数:
5)选择算子简单遗传算法的遗传操作主要有选择(selection)、交叉(crossover)、变异(mutation)三种。
改进的遗传算法大量扩充了遗传操作,以达到更高的效率。
选择操作也叫复制(reproduction)操作,根据个体的适应度函数值所度量的优劣程度决定它在下一代是被淘汰还是被遗传。
6)交配算子的简单方式是将被选择出的两个个体P1和P2作为父母个体,将两者的部分码值进行交换。
7)变异算子简单方式是改变数码串的某个位置上的数码二进制编码表示的简单变异操作是将0与1互换:
0变异为1,1变异为0
8)伪代码
3.
粒群优化算法
惯性权重w;加速常数c1和c2
●
求解步骤
●计算步骤
1.第一步:
初始化
i.将族群初始化,以随机的方式求出每一粒子的初始位置与速度。
2.第二步:
计算
a)根据适应度函数计算出其适应值以作为判断每一粒子的好坏。
b)找出个体极值点(Pbest)
i.找出每一粒子到目前为止的搜寻过程中最佳解,这个最佳解称为Pbest。
c)找出全局极值点(Gbest)
i.找出所有粒子到目前为止所搜寻到的整体最佳解,此最佳解称为Gbest。
3.第三步:
更新速度和位置
a)根据式①与式②更新每一粒子之速度与位置。
b)回到步骤二.继续执行,直到获得一个令人满意的结果或符合终止条件。
4.反向传递(BP)网-有师学习
●是一种反向传递并修正误差的多层映射网,在参数适当时,能收敛到较小的均方误差,是当前应用最广的一种网络。
缺点是训练时间长,易陷入局部极小。
●BP算法基本原理利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各