人工智能
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:概述
第二章:问题表示方法
1)状态空间法的三要素
概括起来可以用一个三元集合来表示问题的状态空间。
◢问题所有可能的初始状态描述集合——S集合
◢操作符(算符)集合——F集合
◢目标状态描述——G集合
可以抽象地表示为:( S,F,G )
2)状态空间表示实例(考试:分油问题,野人过河问题,猴子和香蕉问题)
例二:( Page 21) 猴子和香蕉问题 ( Monkey and Banana Problem ) 在房间的a 处有一只猴子,b 处有一个箱子,c 处挂着一串香蕉,猴子欲想拿取香蕉,他必须首先走到 b 处,推动箱子到 C 处,然后爬上箱子才可以。
假设猴子和箱子都只能做一维运动。
用状态空间求解此问题。
C
A
解:
1.引入状态变量
W ——表示猴子的水平位置;
x ——布尔变量,标记猴子是否在箱子上。
x = 1 猴子在箱子上,x = 0 不在箱子上;
Y ——箱子的水平位置;
z ——布尔变量,标记猴子是否已经拿到香蕉。
z = 1 猴子拿到香蕉。
用状态集合表示:( W, x, Y, z )
初始状态:( a, 0, b, 0 )
目标状态:( c, 1, c, 1 )
2.引入操作算符
(1)goto( U )—猴子走到U位置
使用条件:x = 0 即猴子不能在箱子上。
使用goto(U)产生的状态变化:
goto(U)
( W, 0, Y, z )( U, 0, Y, z )
(2)pushbox(U)
使用条件:x= 0 AND W=Y 即猴子不能在箱子上,且两者在同一位置。
使用pushbox(U)产生的状态变化: pushbox(U)
( W, 0, W, z ) ( U, 0, U, z ) (3)climbbox()
使用条件:x = 0 AND W=Y 即猴子不能在箱子上,且两者在同一位置。
使用climbbox()产生的状态变化: climbbox()
( W, 0, W, z ) ( U, 1, U, z ) (4)grasp()
使用条件:x = 1 AND W=Y=c 即猴子在箱子上,且两者都在c 位置。
使用climbbox()产生的状态变化: climbbox()
( W, 0, W, z
) ( U, 1, U, z )
(3)用状态图求解
3)问题归约方法
问题归约法是通过操作符(算符)变换将初始问题集合,简化为一个简单的子问题的集合,直到这个子问题集合可以直接求解,从而使原问题得到解决。
一、梵塔问题( Tower of Hanoi Puzzle)
在三根柱子的一根上,按大小依次放有N个圆盘,现在要将这些盘子移动到另一根柱子上,可以借助第三根柱子。
移动规则:每次只能移动一片;任何时候大盘子都不能压在小盘子上。
使用状态空间法求解,共有27个节点(状态)。
问题规约分析:
1.要将所有的盘子都移动到3柱上,首先必须将C移动到3柱,且移动之前3柱为空。
最好不要放在3柱上,即A、B应移动到2
柱子上。
3.完成上述移动后,关键一步是将C从1移
动到3,并继续上述过程,直至完成。
子(A、B)的移动问题,进一步分析,可将两个盘子的问题化也简为一个盘子的问题。
通过分析将初始问题归约为三个子问题:
Ⅰ.移动A、B到2柱的两盘问题
Ⅱ.移动C盘到3柱的一盘问题
Ⅲ.移动A、B到3柱的两盘问题
解决了这三个子问题,则初始的三盘问题亦得到解决。
二、本原问题
本原问题:可以直接求解的问题叫做本原问题。
例:上面的移动一个盘子的问题。
三、问题的规约表示(描述)
1.初始问题——S
即要求解问题的数学描述。
2.算子集合——O
通过操作算子将一个问题转换成若干个子问题。
3.本原问题集合——P
其中的每一个问题都不需要再证明,自然成立的问题。
如公理、已知事实、或已经证明过的问题。
这样问题归约法也可以抽象表示为:( S,O,P )
归约目的:最终产生本原问题。
算子算子算子
初始问题子问题集合子问题集合本原问题
问题归约中,如果每运用一次操作算子,只产生一个子问题,即为状态空间法。
4)语义网络框架
2.5框架表示法(Frame)
1975年,Minsky 在一篇论文“A Framework for Representing Knowledge”首先提出,认为人类面对的知识信息量太大,无法对所有细节都进行存储,只能以一种结构一致的、抽象概括的数据结构—框架-- 来存储。
当人们见到一个事物时,首先搜索记忆中同类、或近似事物的框架,如果先前已经遇见过,则调出记忆,给出事物的大概信息,再根据实际情况进行修正;如果是新的事物则抽象成框架结构存储在记忆中,以备后用。
比如你见到教室,甚至是提到,你的大脑会立即浮现黑板、课桌、椅子、讲台等情景,然后修正;而不是见到一个教室就记忆一个教室的细节。
用在表示自然语言理解、视觉理解等方面。
2.5.1 框架的构成
一、什么是框架?
框架是一种描述所讨论对象(事物、事件、概念等)属性的数据结构。
在用框架表示知识时,框架是知识的基本单位,一个知识系统往往有多个框架构成。
二、框架构成
1.框架名
每个框架都有一个框架名。
2.槽(Slot)、槽名、槽值
一个框架由若干个槽构成,每个槽都有槽名;
一个槽用于说明框架某一方面的属性;
属性的值即为槽值。
3.侧面(Facet)、侧面名、侧面值
一个槽有可能划分为若干个侧面,具有相应的侧面名;
一个槽可能含有若干属性,一个侧面用来说明其中的一个属性;
属性的值即为侧面值。
4.约束条件
用来约束、限制槽值、侧面值的填写。
5.框架图示
商品名称:
生产厂家:
出售商店:
处罚:处理方式:
处罚依据:
处罚时间:单位(年、月、日)
经办部门:
本例中框架有4个槽,其中处罚槽有4个侧面,处罚时间侧面填写的约束条件:按年、月、日顺序。
例2:< 教师>
姓名:单位(姓、名)
年龄:单位(岁)
性别:单位(男、女)
缺省:男
职称:范围(教授、副教授、讲师、助教)
缺省:讲师
部门:单位(系、教研室)
住址:< 住址框架>
工资:< 工资框架>
开始时间:单位(年、月)
终止时间:单位(年、月)
缺省:当前时间
比如现在有一个具体的教师夏冰,调出教师框架,进行填值。
< 教师-1 >
姓名:夏冰
年龄:36
性别:女
职称:副教授
部门:计算机软件教研室
住址:< addr-1 >
工资:< sala-1 >
开始时间:1986.9
终止时间:2000.9
2.5.2框架网络
为了表示某一方面的知识,往往有若干个框架组成网络来完成,那么这个网络又是怎样构成的呢?
一、槽值、侧面值的填写
1.通过已知情况、或事物的属性;
2.通过缺省、默认值;
3.通过继承;
4.通过调用其它框架、或附加过程。
二、框架网络举例
1.< 工大师生员工>
2.今天一次强度为里氏8.5级的强烈地震袭击了下斯洛文尼亚(Low Slovenia)地
区,造成25人死亡和5亿美元的财产损失,下斯洛文尼亚地区主席说:多年来,靠近萨迪豪金斯断层的重灾区一直是一个危险区。
2.5.3框架推理
一、匹配
根据提供的已知线索,到系统知识库中寻找合适的侯选框架,对侯选框架进行评估,选出最合适框架,然后填值;否则构建新框架。
二、填槽
对选出的框架所有槽、或侧面填值,以发现新的知识。
产生式系统
Production System
1943年,逻辑学家 Post 提出Production Rule用于计算形式体系中的符号串替换运算。
认为,任何数学或逻辑系统都可以简化为一些列规则,在规则中制定如何把一个符号串变成另一个符号串,即给定一个输入符号串通过产生式规则可产生另一符号串,而不管符号串的物理意义。
Post的产生式规则对符号变换是有用的,但由于缺乏控制策略,不适于开发智能应用系统。
1950年,Simon, Newell首次将其应用于智能系统。
1954年,Markov在字符串替换研究中进行了改进,提出了产生式的控制策略,根据规则的优先级的确定其执行顺序。
1957年,Chomskey在自然语言结构的研究中提出了文法分层的概念,利用产生式规则来描述每层文法的语言生成规则,即重写规则。
1972年,Simon, Newell重新改进产生式系统,作为人类心理活动的中信息加工过程研究的基础,并用它来建立人类问题求解行为的模型。
现在,产生式系统已经发展成为基本的知识表示和问题求解方式之一。
在专家系统以及人工智能其他方面得到了广泛的应用。
产生式表示法具有和图灵机相同的运算能力。
产生式系统组成
1.产生式规则
⏹形如:如果(…前件…),那么(…后件…)的语句即为一条规则,也即:
逻辑蕴涵形式的语句。
⏹前件(前项、左边、LHS-left hand side):前提条件,表示世界模型的
一个状态。
⏹后件(后项、右边、RHS-right hand side):结论或动作(action)。
⏹例:如果某种动物是哺乳动物,且吃肉那么这种动物被称为食肉动物。
如果是红灯,那么停车等待。
⏹产生式规则用来表示问题领域的一般知识(背景知识)。
⏹产生式规则与逻辑规则的异同:
⏹两者皆为蕴涵形式;
✧逻辑规则可以视为产生式规则,反之不然;
✧逻辑规则的两边只能是命题或谓词,产生式可以是命题和谓词,也
可以是其他符号;
✧逻辑规则要满足真值表,产生式规则右边可能是动作,甚至是复杂
的过程语句;
✧形式相同,产生式应用范围更广。
2.总数据库(Global Database)
⏹又叫综合数据库、工作数据库、工作内存(working memory)。
⏹存放问题的初始信息、中间结果、最终结论等。
⏹工作中,从总数据库中选择的事实、或中间结果与某条规则的前件匹配
(正向推理),此规则激活(triggered),其后件若为结论直接写入总数
据库,若为动作则执行该动作,执行的结果写入总数据库。
⏹总数据库中的内容在系统工作时是动态变化的。
3.控制策略/推理机
⏹一组程序构成,控制产生式系统运行,确定推理路线和策略,实现问题
求解。
⏹推理机的主要任务:
✧规则的匹配规程(模式匹配);
✧选择已经匹配的规则(冲突消解)
✧执行规则(执行动作,结果写总数据库)
✧结束;
✧得出规则应用序列。
⏹控制过程:
✧匹配—精确匹配、近似匹配,产生候选规则集合;
✧冲突消解(Conflict resolution strategy)--从候选规则中选择一
条激活执行;
✧操作—规则后件为结论直接写总数据库;若为动作则先执行,结果写
总数据库。
⏹控制策略分类:
✧不可撤回方式(Irrevocable)
—推理一直进行,不能撤回已经激活的规则。
✧试探方式(Tentative)
—回溯法(Back Tracking--试用候选规则,不行在换其他规则)、图搜索(Graph search)
4.产生式系统组成
⏹总数据库(Global Database)
⏹知识库/产生式规则库(Knowledge base, set of rules)
⏹控制系统/策略(control system)
5.
6.
搜索:
例XXXX.5 求图XXXX.16中从A到I的最短路径,已知各节点的h(n)值如表XXXX.2。
解:最好优先搜索过程见表XXXX.3
表XXXX.3 最好优先搜索过程
XXXX.3.3 贪婪(瞎子爬山)搜索(Greedy, Blind climbing hill search ) 估价函数f(n)=h(n),即:g(n)=0。
例XXXX.7 对图XXXX.16 用贪婪搜索求解。
解过程如表XXXX.4。
表XXXX.4 贪婪搜索过程
由此例可见,贪婪搜索效率非常高,但常常陷入局部最优,而失去全局最优解。
此例得到的搜索路径A-E-F-I ,全程路径代价为450,而A-E-G-H-I 路径代价只有418。
同学们练习用贪婪搜索求解八数码问题。
用等代价搜索解图XXXX.16问题。
图XXXX.16 TSP 问题有序搜索。