人工智能经典课件 第一章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1,1) A(1,2) (2,1) B(1,3) (2,3) A(2,3) A(1,3) (3,1) B(1,2) (3,2) A(3,2)
(3,3)
(1,3)
(1,2)
(2,2)
二阶梵塔的状态空间图
从初始节点(1, 到目标节点 到目标节点(2, 及 从初始节点 1)到目标节点 2)及(3, 3)的任何一条路径都是问题的一 的任何一条路径都是问题的一 个解。其中,最短的路径长度是3,它由3个操作组成 例如, 个操作组成。 开始, 个解。其中,最短的路径长度是 ,它由 个操作组成。例如,从 (1, 1)开始, 开始 通过使用操作A(1, 3)、B(1, 2)及A(3, 2),可到达 (3, 3)。 通过使用操作 、 及 , 。
二阶梵塔问题 二阶梵塔问题
设用Sk=(Sk0,Sk1)表示问题的状态,Sk0表示 设用Sk=(Sk0,Sk1)表示问题的状态,Sk0表示 金片A所在钢针号,Sk1表示金片B 金片A所在钢针号,Sk1表示金片B所在钢针 号,全部可能的状态有九种: S0=(1,1), S1=(1,2), S2=(1,3) S3=(2,1),S4=(2,2), S5=(2,3) S6=(3,1), S7=(3,2),S8=(3,3)
状wenku.baidu.com空间表示法的几点说明
• 用状态空间方法表示问题时,首先必须定 义状态的描述形式,通过使用这种描述形式可 把问题的一切状态都表示出来。其次,还要定 义一组算符,通过使用算符可把问题由一种状 态转变为另一种状态。 • 问题的求解过程是一个不断把算符作用于 状态的过程。如果在使用某个算符后得到的新 状态是目标状态,就得到了问题的一个解。这 个解是从初始状态到目标状态所用算符构成的 序列。
第一章
搜索问题
搜索是人工智能中的一个基本问题, 搜索是人工智能中的一个基本问题,并与推理密切 是人工智能中的一个基本问题 相关,搜索策略的优劣,将直接影响到智能系统的 相关,搜索策略的优劣, 性能与推理效率。 性能与推理效率。
内容: 状态空间的搜索问题 搜索方式: 盲目搜索 启发式搜索 关键问题: 如何利用知识,尽可能有效地找到问题的解 (最佳解)。
解:首先选取描述问题状态的方法。在这个问题中,需要 首先选取描述问题状态的方法。在这个问题中, 考虑两岸的修道士人数和野人数, 考虑两岸的修道士人数和野人数,还需要考虑船在左岸还是在 右岸。 右岸。从而可用一个三元组来表示状态 S=(m, c, b) 其中, 表示左岸的修道士人数 表示左岸的野人数 表示左岸的修道士人数, 表示左岸的野人数, 表示 其中,m表示左岸的修道士人数,c表示左岸的野人数,b表示 左岸的船数。 左岸的船数。 右岸的状态可由下式确定: 右岸的状态可由下式确定: 右岸修道士数 m'=3-m 右岸野人数 c'=3-c b'=1-b 右岸船数 在这种表示方式下, 和 都可取 都可取0、 、 、 中之一 中之一, 可取 在这种表示方式下,m和c都可取 、1、2、3中之一,b可取 0和1中之一。因此,共有 ×4×2=32种状态。 中之一。 种状态。 和 中之一 因此,共有4× × 种状态
操作的表示: 操作的表示: 用符号P 用符号 ij表示从左岸到右岸的运人操作 用符号Q 用符号 ij表示从右岸到左岸的操作 其中: 其中: i表示船上的修道士人数 表示船上的修道士人数 表示 j表示船上的野人数 表示船上的野人数 表示 操作集 本问题有10种操作可供选择 种操作可供选择: 本问题有 种操作可供选择: F={P01, P10, P11, P02, P20,Q01, Q10, Q11, Q02, Q20} 下面以P 为例来说明这些操作的条件和动作。 下面以 01和Q01为例来说明这些操作的条件和动作。 操作符号 条件 动作 P01 b=1, m=0或3, c≥1 b=0, c=c-1 或 Q01 b=0, m=0或3,c≤2 b=1, c=c+1 或 ,
状态空间、 状态空间、搜索图和解答路径的关系图
S0
问题全部状态空间 搜索空间 解路径
Sg
搜索问题( 搜索问题(续)
• 讨论的问题:
有哪些常用的搜索算法。 问题有解时能否找到解。 找到的解是最佳的吗? 什么情况下可以找到最佳解? 求解的效率如何。
1.2 回溯策略
回溯策略是一种试探性策略,属于盲目搜索 盲目搜索的一种。 回溯策略 盲目搜索 它首先将规则给出一个固定的排序,在搜索时,对当 前状态(搜索开始时,当前状态是初始状态)依次检 测每一条规则,在当前状态未使用过的规则中找到第 一条可应用规则,应用于当前状态,得到的新状态重 新设置为当前状态,并重复以上搜索。如果当前状态 无规则可用,或者所有规则已经被试探过仍未找到问 题的解,则将当前状态的前一状态设置为当前状态。 重复以上搜索,直到找到问题的解,或者试探了所有 可能后仍找不到问题的解为止。
• 对任何一个状态,可使用的算符可能不止一个, 这样由一个状态所生成的后继状态就可能有多个。当 对这些后继状态使用算符生成更进一步的状态时,首 先应对哪个状态进行扩展呢?这取决于搜索策略,不 同的搜索策略的扩展顺序是不同的,这正是本章要讨 论的问题。 • 除了少数像“传教士与野人”这样的简单的问题 外,描述状态空间的图一般都很大,无法直观地画出, 只能将其视为隐含图,在搜索解答路径的过程中只画 出搜索时直接涉及到的节点和弧线,构成所谓的搜索 图。状态空间、搜索图和解答路径之间的关系,可以 用下图表示。
种状态并非全有意义, 这32种状态并非全有意义,除去不合法状态和修道士被野人吃 种状态并非全有意义 掉的状态,有意义的状态只有16种 掉的状态,有意义的状态只有 种: S0=(3, 3, 1) S1=(3, 2, 1) S2=(3, 1, 1) S3=(2, 2, 1) S4=(1, 1, 1) S5=(0, 3, 1) S6=(0, 2, 1) S7=(0, 1, 1) S8=(3, 2, 0) S9=(3, 1, 0) S10=(3, 0, 0) S11=(2, 2, 0) S12=(1, 1,0) S13=(0, 2, 0) S14=(0, 1, 0) S15=(0, 0, 0) 有了这些状态,还需要考虑可进行的操作。 有了这些状态,还需要考虑可进行的操作。 操作是指用船把修道士或野人从河的左岸运到右岸 是指用船把修道士或野人从河的左岸运到右岸, 操作是指用船把修道士或野人从河的左岸运到右岸,或从河的 右岸运到左岸。 右岸运到左岸。 每个操作都应当满足如下条件: 每个操作都应当满足如下条件: 一是船至少有一个人 船至少有一个人( 或 )操作,离开岸边的m和 的减少数 一是船至少有一个人(m或c)操作,离开岸边的 和c的减少数 目应该等于到达岸边的m和 的增加数目 的增加数目; 目应该等于到达岸边的 和c的增加数目; 二是每次操作船上人数不得超过 每次操作船上人数不得超过2个 二是每次操作船上人数不得超过 个; 三是操作应保证不产生非法状态 操作应保证不产生非法状态。 三是操作应保证不产生非法状态。 因此,操作应由条件部分和动作部分: 因此,操作应由条件部分和动作部分: 条件: 条件:只有当其条件具备时才能使用 动作:刻划了应用此操作所产生的结果。 动作:刻划了应用此操作所产生的结果。
(331)o 01 o(320) 331)o o(320) 320 02 01 o(310) o(310) 310
02 o(010)(011)o 01 o(000) o(010)(011)o o(000) 010)(011 000 10 11 o(111) o(111) 111
图1.1 传教士与野人问题的状态空间图
1.1 状态空间表示法
状态空间表示法是人工智能中最基本的形式 状态空间表示法 化方法,是讨论问题求解技术的基础。状态空 间表示法是用“状态”和“算符”来表示问题 的一种方法。其中“状态”用以描述问题求解 过程中不同时刻的状况;“算符”表示对状态 的操作,算符的每一次使用就使问题由一种状 态变换为另一种状态。当到达目标状态时,由 初始状态到目标状态所用算符的序列就是问题 的一个解。
1. 状态
状态是描述问题求解过程中任一时刻状况的数据 结构,一般用一组变量或多维数组 Sk=(Sk0,Sk1,…,Skn) 表示,当给每个分量以确定的值时,就得到了一个具 体的状态。
2. 算符
引起状态中某些分量发生变化,从而使问题由一个 状态变为另一个状态的操作称为算符。操作可以是一 个机械的步骤、过程、规则或算子,指出了状态之间 的关系。
操作分别用A(i, j)和B(i, j)表示 操作分别用 和 表示 A(i, j)表示把金片 从第 号钢针移到 号钢针上; 表示把金片A从第 号钢针移到j号钢针上 表示把金片 从第i号钢针移到 号钢针上; B(i, j)表示把金片 从第 号钢针一到第 号钢针上。共有 种 表示把金片B从第 号钢针一到第j号钢针上 表示把金片 从第i号钢针一到第 号钢针上。共有12种 操作,它们分别是: 操作,它们分别是: A(1, 2) A(1, 3) A(2, 1) A(2, 3) A(3, 1) A(3, 2) B(1, 2) B(1, 3) B(2, 1) B(2, 3) B(3, 1) B(3, 2) 根据上述9种可能的状态和 种操作 根据上述 种可能的状态和12种操作,可构成二阶梵塔问题的 种可能的状态和 种操作, 状态空间图,如下图所示。 状态空间图,如下图所示。
传教士与野人问题
例:设N个传教士带领N个野人划船渡河,且 为安全起见,渡河需遵循两个约束:(1)船上 的人数不得超过载重限量,设为K个人;(2) 为预防野人攻击,任何时刻(包括两岸、船上) 野人数目不得超过传教士数目。应如何规划渡 河方案? 为便于理解状态空间表示法,可简化该问 题到一个特例:N=3,K=2。
• 算符的一次使用,就使问题由一种状态转 变为另一种状态。可能有多个算符序列都可使 问题从初始状态变到目标状态,这就得到了多 个解。把其中使用算符最少的解称为最优解。 例如在上例中,问题有无数条解答路径(因为划 船操作可逆),但只有4个最优解,都包含了11个 操作算子。这只是从解中算符的个数来评价解 的优劣,今后将会看到评价解的优劣不仅要看 使用算符的数量,还要看使用算符时所付出的 耗散值,只有总耗散值最小的解才是最优解。
于是,从初始状态出发,可画出该问题的状 态空间有向图,见图1.1。
o(220) o(220) 220 11 10 o(321) o(321) 321 02 (110)o 110)o 20 o(311) o(311) 311 01 o(300) o(300) 300 11 o(221)(031)o o(221)(031)o 221)(031 20 01 o(020) o(020) 020 01 o(021) o(021) 021 02
2
基本概念
1.什么是搜索?
根据问题的实际情况不断寻找可利用的知识,从而 构造一条代价较少的求解路线,使问题得到圆满解决 搜索。 的过程称为搜索 搜索
2.盲目搜索
盲目搜索是按预定的控制策略进行搜索,在搜索过 盲目搜索 程中获得的中间信息不用来改进控制策略。
基本概念
3. 启发式搜索
启发式搜索是在搜索中加入了与问题有关的启发 启发式搜索 式信息,用以指导搜索朝着最有希望的方向前进,加 速问题的求解过程并找到最优解。 由于搜索总是按预先规定的路线进行,没有考虑 到问题本身的特性,所以这种搜索具有盲目性,效率 不高,不便于复杂问题的求解。启发式搜索优于盲目 搜索。但由于启发式搜索需要具有与问题本身特性有 关的信息,而这并非对每一类问题都可方便地抽取出 来,因此盲目搜索仍不失为一种应用较多的搜索策略。
3. 状态空间
由问题的全部状态及一切可用算符所构成的 集合称为问题的状态空间,一般用一个三元组 表示: (S,F,G) 其中S是问题求解过程中所有可达的合法状态构 成的集合;F是算符的集合;G是目标状态的集 合。问题的状态空间可以用一个赋值有向图来 表示,称为状态空间图。其中,节点表示状态; 有向边(弧)表示算符。
13
问题的初始状态集合为S={S0} 问题的初始状态集合为 目标状态集合为G={S4, S8} 目标状态集合为 初始状态S 和目标状态S 初始状态 0和目标状态 4、S8如图所示
A B 1 2 3 1
S0=(1, 1)
A B 2
S4=(2, 2)
A B 3 1 2
S8=(3, 3)
3
二阶梵塔问题的初始状态和目标状态
相关文档
最新文档