第二章 知识表示方法(1)
知识表示方法

知识的特性
相对正确性:所有的知识只在一定的范围内有 效性; 不确定性:现实生活中的信息具有模糊性; 可表示性:可以将知识数据化用于存储和处理; 可利用性:知识是可以利用的;
知识的分类
以知识的作用范围划分:常识性知识和领域性 知识; 以知识的作用及表示来划分:事实性知识;规 则性知识;控制性知识;元知识; 以知识的确定性划分:确定性知识和不确定性 知识; 按照人类的思维及认识方法划分:逻辑性知识 和形象性知识;
一阶谓词逻辑表示举例
谓词比命题更加细致地刻画知识:
– 表达能力强
• 如:北京是个城市, City(x) 把城市这个概念分割出来。把“城市” 与“北京” 两个概念连接在一起,而且说明“北京”是“城市” 的子概念。
– 谓词可以精确的表示逻辑结果
• 如:City(间建立联系:使用联结词,进 而组成公式表示事实性知识和规则性知识:
过程描述
AT(robot,c) EMPTY(robot) GOTO(x,y) TABLE(a) {c/x a/y} TABLE(b) ON(box,a) AT(robot,a) AT(robot,a) EMPTY(robot) PICK_UP(x) TABLE(a) TABLE(a) TABLE(b) {a/x} TABLE(b) HOLDS(robot,box) ON(box,a)
过程描述
AT(monkey,a) GOTO(x,y) EMPTY(monkey) BOX(c) {a/x c/y} AT(banana,b)
GOTO(x,y) {c/x b/y}
AT(monkey,c) PICK_UP(x) AT(monkey,c) EMPTY(monkey) HOLDS(monkey,box) BOX(c) {c/x} AT(banana,b) AT(banana,b) AT(monkey,b) AT(monkey,b) SET_DOWN(x) AT(box,b) HOLDS(monkey,box) EMPTY(monkey) AT(banana,b) {b/x} AT(banana,b) AT(monkey,b) AT(box,b) EMPTY(monkey) ON(monkey,bo x)
人工智能第二章知识表示方法

框架的构建与实现
80%
确定框架的结构
根据实际需求和领域知识,确定 框架的槽和属性,以及它们之间 的关系。
100%
填充框架的实例
根据实际数据和信息,为框架的 各个槽和属性填充具体的实例值 。
80%
实现框架的推理
通过逻辑推理和规则匹配,实现 基于框架的知识推理和应用。
框架表示法的应用场景
自然语言处理
模块化
面向对象的知识表示方法可以将 知识划分为独立的模块,方便管 理和维护。
面向对象表示法的优缺点
• 可扩展性:面向对象的知识表示方法可以通过继承和多态实现知识的扩展和复用。
面向对象表示法的优缺点
复杂性
面向对象的知识表示方法需要建立复 杂的类和对象关系,可能导致知识表 示的复杂性增加。
冗余性
面向对象的知识表示方法可能导致知 识表示的冗余,尤其是在处理不相关 或弱相关的事实时。
人工智能第二章知识表示方法
目
CONTENCT
录
• 知识表示方法概述 • 逻辑表示法 • 语义网络表示法 • 框架表示法 • 面向对象的知识表示法
01
知识表示方法概述
知识表示的定义
知识表示是人工智能领域中用于描述和表示知识的符号系统。它 是一种将知识编码成计算机可理解的形式,以便进行推理、学习 、解释和利用的过程。
知识表示方法通常包括概念、关系、规则、框架等元素,用于描 述现实世界中的实体、事件和状态。
知识表示的重要性
知识表示是人工智能的核心问题之一,它决定了知 识的可理解性、可利用性和可扩展性。
良好的知识表示方法能够提高知识的精度、可靠性 和一致性,有助于提高人工智能系统的智能水平和 应用效果。
知识表示方法的发展对于推动人工智能技术的进步 和应用领域的拓展具有重要意义。
第二章 知识表示方法

第二章知识表示方法教学内容智能系统问题求解所采用的几种主要的知识表示方法(状态空间法.问题归约法.谓词逻辑法.语义网络法)以及基于不同表示法的问题求解方法。
教学重点1. 状态空间表示法中问题的状态描述.改变状态的操作和问题目标状态的搜索;2. 问题规约的一般步骤.规约的与或图表示;3. 谓词逻辑的语法和语义.量词的辖域.谓词公式的置换与合一;4. 语义网络的构成.语义基元的选择.语义网络的推理等。
教学难点状态描述与状态空间图示.问题归约机制.置换与合一。
教学方法课堂教学为主,同时结合《离散数学》等已学的内容实时提问.收集学生学习情况,充分利用网络课程中的多媒体素材来表示抽象概念。
教学要求1. 重点掌握用状态空间法.问题归约法.谓词逻辑法.语义网络法来描述问题.解决问题;2. 掌握这些表示方法之间的差别;并对其它表示方法有一般了解2.1 状态空间法教学内容本节讨论基于解答空间的问题表示和求解方法,即状态空间法,它以状态和操作符为基础来表示和求解问题。
教学重点问题的状态描述,操作符。
教学难点选择一个好的状态描述与状态空间表示方案。
教学方法以课堂教学为主;充分利用网络课程中的多媒体素材来阐述抽象概念。
教学要求重点掌握对某个问题的状态空间描述,学会组织状态空间图.用搜索图来求解问题。
2.1.1 问题状态描述1.基本概念状态(state)它是为描述某类不同事物间的差别而引入的一组最少变量q0,q1,…,qn的有序集合,其矢量形式如下:Q=[q0,q1,…,qn]' (2.1)式中每个元素qi(i=0,1,…,n)为集合的分量,称为状态变量。
给定每个分量的一组值就得到一个具体的状态,如Qk=[q0k,q1k,…,qnk]' (2.2)操作符(operator)称使问题从一种状态变化到另一种状态的手段为操作符或算符。
状态空间(state space)它是表示一个问题全部可能状态及其关系的图,它包含所有可能的问题初始状态集合S、操作符集合F以及目标状态集合G。
第2章 知识表示方法

CISIC
6
状态空间表示概念详释
Original State
…
Middle State
…
Goal State
状态空间法:从某个初始状态开始,每次加一个 操作符,递增地建立起操作符的实验序列,直至 达到目标状态止。 例如下棋、迷宫及各种游戏。
CISIC
7
3 Puzzle Problem(3数码难问题)
CISIC
34
示例—分子结构识别问题 (DENDRAL系统)
把分子式重写为原子数较少的分子式和原子间结 合关系的混合结构,例如:
H
C5H12
C2H5
C
H
C2H5
CISIC
35
将混合结构的识别再分解为子识别问题,直至不出现分 子式为至,每个子问题只是单一分子式或原子间结合关系 的表示。 H
C2H5 H C
V=c,climbbox (c,1,c,0) grasp
(c,1,c,1) 目标状态
goto(U)
(U,0,V,0)
goto(U)
初始状态变换为目标状态的操作序列为: {goto(b), pushbox(c), climbbox, grasp} 猴子和香蕉问题的状态空间图
CISIC
17
猴子和香蕉问题自动演示:
climbbox :猴子爬上箱顶
(W,0,W,z)
climbbox
(W,1,W,z)
应用算符climbbox的先决条件是什么?
CISIC
15
初始状态 (a,0,b,0)
goto(U)
pushbox(V) U=b
goto(U) (U,0,b,0)
U=b,climbbox (b,1,b,0) U=V
第2章(知识表示方法1-状态空间法)

)
nk
引入代价的概念后,我们的问题可能是: 寻找初始节点到目标节点之间的代价最小的 路径 对应的原始问题:寻找从初始状态到目标状 态的操作符代价之和最小的操作符序列
2015-01-08
利用图论的技术,我们要解决两个问题: 第一、找出初始节点到目标节点的一条路径。对应 于寻找初始状态到目标状态的操作符序列 第二、找出初始节点到目标节点的一条代价最小的 路径。对应于寻找将初始状态变换到目标状态所用 操作符代价之和最小的操作符序列
2015-01-08
(b, 1, b, 0) a c b 部分状态空间图
climbbox
目标状态
例5:四皇后问题
状态:任意一种合法的摆法 操作符:摆下一个皇后,先摆第一行,每一
行从左开始摆,并满足皇后不成线的规则 Q Q
2015-01-08
思考题: 小结用状态空间法表示八数码问题的讲课内容, 考虑如何在计算机上加以实现?
ni
c (ni , nj) 表示从节点 ni 指向节点 nj (相邻)的 那一段弧的代价
2015-01-08
nj
(不相邻的)两个节点 间路径的代价等于连接 该路径的各个节点的所 有弧线的代价之和
n0 C(n0,n1)
C(nk-1,nk)
∑ c(n , n
i =0 i
2015-01-08
k −1
i +1
2015-01-08
例:描述在坐的同学 根据要解决的问题、从 变量可以有 年级 班级 姓名 性别 学号 ……
2015-01-08
中选择最少的一组变量 例: 9 区分哪一个班:年级、 班级 9 区分哪一位同学:姓 名、性别、学号
矢量形式: Q=[ q0, q1, …, qn ]
AI(知识表示1)

表示方法 —逻辑表示法 —逻辑表示法
形式推理过程: (1) ∀x(S(x) →C(x)) (2) S(a) →C(a) (3) S(a) (4) C(a) [前提1] [全称固化] [前提2] [(2)、(3)及假言推理]
表示方法 —逻辑表示法
(5) 凡是喜欢编程序的人都喜欢计算机。
解:定义谓词 P(x):x是人 L(x, y):x喜欢y 将知识用谓词表示为:
(∀x) (P(x)∧L(x,pragramming)→L(x, computer))
表示方法 —逻辑表示法
参考答案: (1) 有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢
梅花又喜欢菊花 。
解:定义谓词 P(x):x是人 L(x,y):x喜欢y 其中,y的个体域是{梅花,菊花}。 将知识用谓词表示为: (∃x )(P(x)→L(x, 梅花)∨L(x, 菊花)∨L(x, 梅花)∧L(x, 菊花))
结果为C(a) 推理过程在第3章中介绍。
表示方法 —逻辑表示法 —逻辑表示法
思考:用谓词表达式写出下列命题:
1、并非每个实数都是有理数 2、没有不犯错误的人 3、尽管有人聪明,但未必所有人都聪明 4、小李比他父亲长得高 5、自然数都是大于零的整数
表示方法 —逻辑表示法 —逻辑表示法
参考答案:
1、 2、 3、 4、 5、 ¬(∀x)(R(x) →Q(x)) ¬(∃x(M(x) ∧ ¬F(x))) ∃x(M(x) ∧ P(x)) ∧ ¬(∀x(M(x) →P(x))) Higher(li,father(li)) ∀x(N(x) →GZ(x) ∧ I(x))
【2024版】人工智能及其应用蔡自兴)课后答案

可编辑修改精选全文完整版人工智能及其应用(蔡自兴)课后答案第二章知识表示方法2-1 状态空间法、问题归约法、谓词逻辑法和语义网络法的要点是什么?它们有何本质上的联系及异同点?答:状态空间法:基于解答空间的问题表示和求解方法,它是以状态和算符为基础来表示和求解问题的。
一般用状态空间法来表示下述方法:从某个初始状态开始,每次加一个操作符,递增的建立起操作符的试验序列,直到达到目标状态为止。
问题规约法:已知问题的描述,通过一系列变换把此问题最终变成一个子问题集合:这些子问题的解可以直接得到,从而解决了初始问题。
问题规约的实质:从目标出发逆向推理,建立子问题以及子问题的子问题,直至最后把出示问题规约为一个平凡的本原问题集合。
谓词逻辑法:采用谓词合式公式和一阶谓词算法。
要解决的问题变为一个有待证明的问题,然后采用消解定理和消解反演莱证明一个新语句是从已知的正确语句导出的,从而证明这个新语句也是正确的。
语义网络法:是一种结构化表示方法,它节点和弧线或链组成。
节点用于表示物体、概念和状态,弧线用于表示节点间的关系。
语义网络的解答是一个经过推理和匹配而得到的具有明确结果的新的语义网络。
语义网络可用于表示多元关系,扩展后可以表示更复杂的问题2-2 设有3个传教士和3个野人来到河边,打算乘一只船从右岸渡到左岸去。
该船的负载能力为两人。
在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。
他们怎样才能用这条船安全地把所有人都渡过河去?用Si(nC, nY) 表示第i次渡河后,河对岸的状态,nC表示传教士的数目,nY表示野人的数目,于总人数的确定的,河对岸的状态确定了,河这边的状态也即确定了。
考虑到题目的限制条件,要同时保证,河两岸的传教士数目不少于野人数目,故在整个渡河的过程中,允许出现的状态为以下3种情况: 1. nC=0 2. nC=33. nC=nY>=0 (当nC不等于0或3)用di(dC, dY)表示渡河过程中,对岸状态的变化,dC表示,第i次渡河后,对岸传教士数目的变化,dY表示,第i次渡河后,对岸野人数目的变化。
人工智能2第二章知识表示方法

2.状态空间表示详释
我们先用数码难题(puzzle problem)来 说明状态空间表示的概念。由15个编有1至 15并放在4×4方格棋盘上的可走动的棋子 组成。
11 9 4 15
13
12
7586
13 2 10 14
初试棋局
1 2 34 5 6 78 9 10 11 12 13 14 15
目标棋局
是有关知识的知识,是知识库中的高层知识。 包括怎样使用规则、解释规则、校验规则、解释 程序结构等知识。元知识与控制知识是有重迭的, 对一个大的程序来说,以元知识或说元规则形式 体现控制知识更为方便,因为元知识存于知识库 中,而控制知识常与程序结合在一起出现,从而 不容易修改。
知识表示是研究用机器表示知识的可行
题
求解过程实际上是一个搜索过程。
那么如果进行搜索呢?为了进行搜索,就必须
用某种形式把问题表示出来,其表示是否适当,将
直接影响到搜索效率。
状态空间法就是用来表示问题及其搜索过程的 一种方法。它是人工智能中最基本的形式化方法, 用“状态”和“算符”来表示问题。
状态空间法三要素
(1) 状态(state):表示问题解法中每一步问题状 况的数据结构;
·显式表示:各节点及其具有代价的弧线由 一张 表明确给出。此表可能列出该图中的每 一节点、它的后继节点以及连接弧线的代价。
Q [q0,q1,...qn ]T
式中每个元素qi(i=0,1,…,n)为集合的量,称 为状态变量。
·算符:使问题从一种状态变化为另一种状态的手 段称为操作符或算符。操作符可为走步、过程、规 则、数学算子、运算符号或逻辑符号等。
· 问题的状态空间(state space):是一个表示该问题 全部可能状态及其关系的图,它包含三种说明的 集合,即所有可能的问题初始状态集合S、操作符 集合F以及目标状态集合G。可把状态空间记为三 元状态(S,F,G)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章知识表示方法人类的智能活动主要是获得并运用知识。
知识是智能的基础,为了使计算机具有智能,能模拟人类的智能行为,就必须使它具有知识。
但人类的知识需要用适当的模式表示出来,才能存储到计算机中并能够被运用第一节知识与知识表示的概念●什么是知识数据与信息➢数据和信息这两个概念是不可以分开的,它们是有关联的。
➢数据:用一组符号及其组合表示的信息称为数据,泛指对客观事物的数量、属性、位置及其相互关系的抽象表示。
例:27.6 53 ABCD 黎明➢数据和信息之间的关系⏹数据是信息的载体和表示,信息是数据在特定场合下的具体含义,即信息是数据的语义。
⏹如:6个人(6是个数据,人是一种信息) 6本书(6是个数据,书是一种信息)⏹对同一个数据,它在某一场合下可能表示这样一个信息,但在另一场合下却表示另一个信息。
知识➢知识:是把有关信息关联在一起所形成的信息结构称为知识。
⏹知识是人们在长期的生活及社会实践中、科学研究及实验中积累起来的对客观世界的认识与经验,人们把实践中获得的信息关联在一起,就获得了知识。
信息之间有多种关联形式,最常见的且便于计算机利用的一种表达形式为:”如果……,那么……” 或”如果……,则……”,它反映了信息间的某种因果关系。
例如把“大雁向南飞”与“冬天就要来临了”这两个信息关联在一起,就得到了如下一条知识:如果大雁向南飞,则冬天就要来临了。
➢不同事物或者相同事物间的不同关系形成了不同的知识。
例如,“雪是白色的”是一条知识,它反映了“雪”与“颜色”之间的一种关系。
又如“如果头痛且流涕,则有可能患了感冒”是一条知识,它反映了“头痛且流涕”与“可能患了感冒”之间的一种因果关系。
知识的特性1、相对正确性知识是否正确是有前提条件的如:1+1=2,但是它是在十进制前提下才是正确的2、不确定性⏹例如:甲有一头秀发,乙是两鬓如霜。
您认为甲一定是青年人,乙就是老年人吗?不能完全确定,因为相反的事例是很多的。
比如:当年的白毛女并不是老人,而现在的老人有一头黑发并不足奇。
⏹造成知识具有不确定性的原因有哪些:➢由随机性引起的不确定性, (也就是说,这件事是随机发生的,比如说,抛硬币,是正面朝上还是反面朝上,不确定。
随机事件只有发生的时候我们才知道。
)➢由模糊概念、模糊关系所形成的知识是不确定的。
(知识是有关信息关联在一起形成的信息结构,“信息”与“关联”是构成知识的两个要素。
由于现实世界的复杂性,信息可能是精确的,也可能是不精确的、模糊的;关联可能是确定的,也可能是不确定的。
比如说:人的个子高与个子矮,分界线是模糊的;再比如:如果张三跑得较快,那么他的跑步成绩就比较好,这里的“比较”、“成绩较好”都是模糊的)➢由不完全性引起的不确定性。
(就是说,有些事我们还不是很清楚,所以不能确定。
如:火星上没有水和生命其实是正确的,但我们对火星了解的不完全造成了人类对有关火星知识的不确定性)➢由经验性引起的不确定性。
(在人工智能的重要研究领域专家系统中,知识都是由领域专家提供的,这种知识大都是领域专家在长期的实践及研究中积累起来的经验性知识。
尽管领域专家能够得心应手地运用这些知识,正确地解决领域内的有关问题,但若让他们精确地表述出来却是相当困难的,这是引起知识不确定性的一个原因。
另外,由于经验性自身就蕴含着不精确性及模糊性,这就形成了知识不确定性的另一个原因。
因此,在专家系统中大部分知识都具有不确定性这一特性。
比如:老马识途,齐桓公应燕国的要求,出兵攻打入侵燕国的山戎,途中迷路了,于是放出有经验的老马,跟随老马找到了出路)3、可表示性与可利用性表示:(如我们可以用语言来表达知识、用文字来表达知识、还可以用图形来描述、在计算机中还可以用神经元网络来表示知识。
)利用:用知识解决所面临的各种各样的问题。
知识的分类1、从作用范围来划分:⏹常识性知识:是人们普遍知道的知识,适用于所有领域。
⏹领域性知识:是面向某个具体领域的知识,是专业性的知识,只有相应专业的人员才能掌握并用来求解领域内的有关问题。
2、从知识的作用划分⏹事实性知识:(就是真理)用于描述领域内有关概念、事实、事物的属性及状态等。
如:糖是甜的;大同是个古城;一年有春夏秋冬四个季节。
事实性知识一般采用直接表达的形式,如用谓词公式表示等。
⏹过程性知识:是与领域相关的知识,用于指出如何处理与问题相关的信息,以求得问题的解。
一般用产生式规则、语义网络求解。
⏹控制性知识:又称为深层知识、元知识。
用已有的知识进行问题求解的知识,即关于知识的知识。
例如问题求解中的推理策略(正向推理及逆向推理);信息传播策略(如不确定性的传递算法);搜索策略(广度优先、深度优先、启发式搜索等);求解策略(求第一个解、全部解、严格解、最优解等);限制策略(规定推理的限度)等等。
3、从确定性划分:⏹确定性知识:可指出其值为真或假的知识。
⏹不确定性知识:它是不精确的、不完全的、模糊的知识。
4、从知识结构及表现形式来划分:⏹逻辑性知识:反映人类逻辑思维过程的知识,一般具有因果关系,具有难以精确描述的特点。
它们通常是基于专家的经验,以及对一些事物的直观感觉。
一阶谓词逻辑表示法、产生式表示法用来表达这种知识。
⏹形象性知识:通过事物的形象建立起来的知识称为形象性知识。
如:我说一个人,长的什么什么样,有什么特征,我怎么说,你也未必能了解,我把你领到这个人面前,说这就是我说的那个人。
你就会很形象的了解了。
就是用文字难表达,但给你看具体的事物,就很形象、逼真。
5、从抽象的、整体的观点来划分⏹知识可分为:零级知识,一级知识,二级知识⏹这种关于知识的层次划分还可以继续下去,每一级知识都对其低一层的知识有指导意义。
其中,零级知识是指问题领域内的事实、定理、方程、实验对象和操作等常识性知识及原理性知识;一级知识是指具有经验性、启发性的知识,例如经验性规则、含义模糊的建议、不确切的判断标准等;二级知识是指如何运用上述两级知识的知识。
⏹在实际应用中,通常把零级知识与一级知识统称为领域知识,而把二级以上的知识统称为元知识。
知识的表示➢所谓知识表示实际上就是对知识的一种描述,或者说是一组约定,一种计算机可以接受的用于描述知识的数据结构。
对知识进行表示的过程就是把知识编码成某种数据结构的过程。
➢知识表示方法又称为知识表示技术,其表示形式称为知识表示模式。
目前用得较多的知识表示方法主要有:一阶谓词逻辑表示法,产生式表示法,框架表示法,语义网络表示法,脚本表示法,过程表示法,Petri 网表示法,面向对象表示法。
第二节状态空间表示●问题状态描述状态空间表示法➢状态空间表示法就是用来表示问题及其搜索过程的一种方法。
➢状态空间表示法是人工智能中最基本的形式化方法,也是讨论问题求解技术的基础。
➢状态空间表示法的基础是状态和算符问题状态描述➢状态是描述某一类不同事物间的差别而引入的一组最少变量q0,q1,……,q n的有序集合⏹例如:描述在坐的同学,变量可以有年级、班级、姓名、性别、学号……根据要解决的问题,从中选择最少的一组变量,比如:区分所有在坐的同学分别在哪一个班上课(年级、班级);区分在坐的每一位同学(姓名、性别、学号)⏹矢量形式:Q=[q0,q1,…,qn],其中每个元素qi(i=0,1,2,…,n)为集合的分量,称为状态变量。
当给每一个分量以确定的值时,就得到了一个具体状态。
⏹矩阵形式:➢操作(算符)引起状态中某些分量发生变化,从而使问题由一个状态变为另一个状态。
算符可分为走步、过程、规则、数学算子、运算符号或逻辑符号等。
O = {o1, o2, …, o m}式中每个元素oj (j=0,1,…, m)称为操作算子。
⏹例如:描述在坐的同学,算符可以有入学、正常升级、毕业➢状态空间由表示一个问题的全部状态及一切可用算符构成的集合称为该问题的状态空间。
它一般由三部分构成:◆问题的所有可能初始状态构成的集合S;◆算符集合F;◆目标状态集合G。
用一个三元组表示如下:(S,F,G)状态空间的图示形式称为状态空间图。
其中,节点表示状态;有向边(弧)表示算符。
➢问题的解从问题的初始状态集S出发,经过一系列的算符运算,到达目标状态。
由初始状态到目标状态所用算符的序列就构成了问题的一个解。
●问题状态图示法状态空间可用有向图来描述➢有向图:一对节点用弧线连接起来,从一个节点指向另一个节点这种图叫做有向图➢路径:某个节点序列(ni1,ni2,…,nik)当 j = 2,3,…,k时,如果对于每一个ni,j-1都有一个后继节点ni,j存在,那么就把这个节点序列叫做从节点ni1至节点nik的长度为k的路径➢代价:用c(ni,nj)来表示从节点ni指向节点nj的那段弧线的代价。
两节点间路径的代价等于连接该路径上各节点的所有弧线代价之和当用有向图来表示状态空间法时,对应关系:➢图中的一个节点对应于某一个状态➢图中的一个有向弧对应于某一个算符➢从初始状态的某个操作符序列转化为寻找图中初始节点(对应初始状态)到目标节点(对应于目标状态)的一条路径在某些情况下,每个操作符作用、成本是不一样的,需要引入代价的概念➢引入代价后,问题就变成了寻找初始节点到目标节点之间的代价最小的路径;对应的原始问题就是寻找从初始状态到目标状态的操作符代价之和最小的操作符序列➢弧可用一个数字表示对应操作算子的代价用状态空间表示问题的步骤1)定义状态的描述形式。
2)用所定义的状态描述形式把问题的所有可能的状态都表示出来,并确定出问题的初始状态集合描述和目标状态集合描述。
3)定义一组算符,使得利用这组算符可把问题由一种状态转变为另一种状态。
利用状态空间求解问题的过程问题的求解过程是一个不断把算符作用于状态的过程。
1)首先,将适用的算符作用于初始状态,以产生新的状态;2)然后,再把一些适用的算符作用于新的状态;3)这样继续下去,直到产生的状态为目标状态为止。
4)这时,就得到了问题的一个解,这个解是从初始状态到目标状态所用算符构成的序列。
说明:⏹可能有多个算符序列都可使问题从初始状态变到目标状态,这就得到了多个解。
其中有的使用算符较少,有的较多,把使用算符最少的解称为最优解。
这里只是从解中算符的个数来评价解的优劣,评价解的优劣主要是看使用算符时所付出的代价,只有总代价最小的解才是最优解。
⏹对任何一个状态,可使用的算符可能不止一个,这样由一个状态所生成的后继状态就可能有多个。
当对这些后继状态使用算符生成更进一步的状态时,首先应对哪一个状态进行操作呢?这属于搜索策略的问题,不同的搜索策略其操作的顺序是不相同的。
●问题状态空间表示举例➢传教士和野人渡河在河的左岸有M个传教士、C个野人和一条船,传教士们想用这条船把所有人都运过河去,但有以下条件限制:(1)修道士和野人都会划船,但船每次最多只能运K个人;(2)在任何岸边野人数目都不能超过修道士,否则修道士会被野人吃掉。