《人工智能导论》第3章 图搜索与问题求解
人工智能第三章搜索推理技术
人工智能第三章搜索推理技术教学内容:本章在上一章知识表示的基础上研究问题求解的方法,是人工智能研究的又一核心问题。
内容包含早期搜索推理技术,如图搜索策略与消解原理;与高级搜索推理技术,如规则演绎系统、产生式系统、系统组织技术、不确定性推理与非单调推理。
教学重点:图搜索策略、消解原理、规则演绎系统、产生式系统。
教学难点:启发式搜索、规则双向演绎系统等。
教学方法:课堂教学为主,辅以恰当的实验。
注意结合前面所学知识表示的基础内容,将其与问题求解方法融为一体。
及时提问、收集学生学习情况。
尽量使用实例与网络课程中的多媒体素材进行讲解。
教学要求:重点掌握通常图搜索策略与消解原理,掌握各类搜索方法与产生式系统原理,熟悉规则演绎系统的基本原理,对系统组织技术、不确定性推理与非单调推理等高级推理技术作通常性熟悉。
3.1 图搜索策略教学内容:本节介绍图搜索的通常策略,作为各类图搜索技术的基础。
教学重点:图搜索的通常过程、OPEN表与CLOSE表的概念。
教学难点:OPEN表与CLOSE表的物理意义。
教学方法:课堂教学为主,通过提问完全弄清图搜索的基本概念。
教学要求:重点掌握图搜索通常策略,掌握OPEN表与CLOSE表的构成及作用。
1、图搜索策略的定义图搜索策略可看作一种在图中寻找路径的方法。
初始节点与目标节点分别代表初始数据库与满足终止条件的数据库。
求得把一个数据库变换为另一数据库的规则序列问题就等价于求得图中的一条路径问题。
研究图搜索的通常策略,能够给出图搜索过程的通常步骤。
2、图搜索算法中的几个重要名词术语(1)OPEN表与CLOSE表(2)搜索图与搜索树3、图搜索(GRAPHSEARCH)的通常过程(1) 建立一个只含有起始节点S的搜索图G,把S放到一个叫做OPEN的未扩展节点表中。
(2) 建立一个叫做CLOSED的已扩展节点表,其初始为空表。
(3) LOOP:若OPEN表是空表,则失败退出。
(4) 选择OPEN表上的第一个节点,把它从OPEN表移出并放进CLOSED表中。
AI导论教学大纲-人工智能导论-廉师友-清华大学出版社
人工智能导论课程教学大纲廉师友编写清华大学出版社(2020)说明为了方便各位任课老师的教学,本书作者结合自己多年来给计算机专业讲授人工智能课程的教学大纲和这部《人工智能导论》新教材的内容以及该课程的基本要求,制定了这一新的教学大纲,供各位老师参考。
从内容来看,这个大纲与这部新教材是一致的,其课时应该说已达到这门课程的上限。
各位老师可根据各自院校的实际情况对该大纲的教学内容进行取舍,并确定相应的课时,以制定适合各自教学任务的教学大纲。
希望这份资料对各位任课老师的教学能有所裨益和帮助!当然,若发现其中有不妥或错误之处也请指正!作者2020年3月《人工智能导论》课程教学大纲课程编号:英文课名:Introduction to Artificial Intelligence适用专业:人工智能、计算机、自动化和电子信息类专业(考试)学时:90 学分:课程类别:专业课课程性质:必修课/必选课一、课程性质和目的《人工智能导论》为人工智能、计算机、自动化和电子信息类专业的一门必修或必选课程,其目的是使学生理解人工智能的基本原理,初步学习和掌握人工智能的基本技术,为进一步学习人工智能后续专业课程或从事人工智能的研发奠定基础,指引方向。
二、课程内容第1章人工智能概述基本内容和要求:1.理解人工智能的概念、目标和研究策略;2.理解人工智能的研究内容与方法;3.了解人工智能的分支领域;4.了解人工智能的应用与发展概况。
第2章人工智能程序设计语言基本内容和要求:1.了解人工智能程序设计语言的特点、分类和发展概况;2.理解PROLOG语言的语句特点、程序结构和运行机理,能读懂和编写简单的PROLOG 程序;3.了解Python语言的特点和使用方法,能读懂和编写简单的Python程序。
教学重点:1.PROLOG语言;2.Python语言。
教学难点:1.PROLOG语言的匹配合一和回溯控制;2.Python语言的程序结构和资源库的使用。
人工智能 第3章(确定性推理3-与或树搜索)
包括基于距离的启发式函数、基于成本的启发式函数、基于规则的启发式函数等。
节点排序和选择策略
节点排序的目的和意义
节点排序是为了在扩展节点时,按照一定的顺序选择下一个要扩展的节点,以优化搜索过程。
常用节点排序策略
包括最佳优先搜索、广度优先搜索、深度优先搜索等。最佳优先搜索根据启发式函数的值来选择最优节点; 广度优先搜索按照节点的层次顺序进行扩展;深度优先搜索则尽可能深地扩展节点。
盲目搜索方法比较与选择
• 宽度优先搜索、深度优先搜索和迭代加深搜索都是盲目搜索方法,它们在不同的场景下有不同的应用。 • 宽度优先搜索适用于问题空间较大、解存在于较浅层次的情况,因为它可以逐层遍历整个问题空间,找到最短
路径。 • 深度优先搜索适用于问题空间较小、解存在于较深层次的情况,因为它可以尽可能深地搜索树的分支,找到更
启发式信息获取途径
01
02
03
问题自身的特性
通过分析问题的性质、结 构、约束条件等,提取出 对搜索过程有指导意义的 启发式信息。
领域知识
利用领域内的经验、规则、 常识等,为搜索过程提供 有价值的启发式信息。
搜索过程中的信息
在搜索过程中,通过评估 当前状态、已搜索路径、 未搜索路径等,动态地获 取启发式信息。
04 与或树搜索优化技术
剪枝策略
01
剪枝的定义和目的
剪枝是在搜索过程中,通过某些评估标准,提前终止对某些无意义或低
效的节点的扩展,以减少搜索空间,提高搜索效率。
02 03
常用剪枝策略
包括限界剪枝、启发式剪枝、概率剪枝等。限界剪枝通过设置上下界来 限制搜索范围;启发式剪枝利用启发式函数来评估节点的重要性;概率 剪枝则根据节点的概率分布来进行剪枝。
人工智能_第三搜索推理技术
(9)GO LOOP
§3.1.1图搜索策略
举例:
S
2 A 3 B
1.S OPEN(S) CLOSED( )
2.A 3.B 4.C 5.D 6.E 7.N OPEN(A, B) CLOSED(S) OPRN(B, C, D) CLOSED(S, A) OPEN(C, D, E) CLOSED(S, A, B) OPEN(D,E) CLOSED(S, A,B,C) OPEN(E,M,F) CLOSED(S, A,B,C,D) 求解
(3)用于决定某些应该从搜索树中抛弃或修剪的节点
§3.3启发式搜索
§3.3.1启发式搜索策略 二.启发式搜索 1.启发式搜索:利用启发信息的搜索方法。
本节只讨论利用第一种启发信息的搜索
2.有序搜索:利用第一种启发信息,总是选择“最 有希望”的节点作为下一个被扩展的节点。
§3.3启发式搜索
§3.3.2估价函数
2
2 3 1 8 4 7 6 5
c
1
2 8 3 1 4 7 6 5
3 6
2 3 1 8 4 7 6 5
9
2 3 1 8 4 7 6 5
d
2 8 3 1 6 4 7 5
4 5
2 8 3 1 4 7 6 5
7 8
2 8 3 1 4 7 6 5
a
1 2 3 8 4 7 6 5
b
2 8 3 1 6 4 7 5
§3.2盲目搜索
2.流程图
开始 把S放表入OPEN表
OPEN表为空表
把第一个节点n从OPEN 表移至CLOSED表 把节点n的后继节点 放入OPEN表的末端, 提供返回节点n的指针 是否有 任何后继节点 为目标节点 ?
第3章 图搜索与问题求解
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3.1.4 启发式搜索 1. 问题的提出
2. 启发性信息 按其用途划分, 启发性信息可分为以下三类: (1) 用于扩展节点的选择, 即用于决定应先扩展哪一个节 点, 以免盲目扩展。 (2) 用于生成节点的选择,即用于决定应生成哪些后续节点, 以免盲目地生成过多无用节点。 (3) 用于删除节点的选择,即用于决定应删除哪些无用节点, 以免造成进一步的时空浪费。
第 3 章 图搜索与问题求解
代价树的搜索。所谓代价,可以是两点之间的距离、交 通费用或所需时间等等。通常用g(x)表示从初始节点So到 节点x的代价, 用c(xi,xj)表示父节点xi到子节点xj的代价,即边 (xi,xj)的代价。从而有
g(xj)=g(xi)+c(xi, xj)
而 g(So)=0
第 3 章 图搜索与问题求解 2.深度优先搜索
第 3 章 图搜索与问题求解
深度优先搜索算法: (1) 把初始节点So放入OPEN表中。 (2) 若OPEN表为空, 则搜索失败, 退出。 (3) 取OPEN表中前面第一个节点N放入CLOSED表中,并 冠以顺序编号n。 (4) 若目标节点Sg=N, 则搜索成功,结束。 (5) 若N不可扩展, 则转步(2)。 (6) 扩展N, 将其所有子节点配上指向N的返回指针依次放 入OPEN表的首部, 转步(2)。
第 3 章 图搜索与问题求解
3. 最近择优法(瞎子爬山法) 把局部择优法算法中的h(x)换成g(x)就可得最近择优 法的算法。 例:用代价树搜索求解例3-6中给出的问题。 用分支界限法得到的路径为
人工智能导论-各章习题答案
人工智能导论-各章习题答案第一章习题解答1. 什么是人工智能?人工智能(Artificial Intelligence,简称AI)是指使机器具有类似或超过人类智能的能力。
人工智能研究的目标是使计算机能够进行人类智力活动,例如学习、理解、推理和决策等。
2. 人工智能的基本分类人工智能可以分为弱人工智能(Narrow AI)和强人工智能(General AI)两类。
弱人工智能是指针对特定任务开发的人工智能系统,比如语音识别、图像处理和机器翻译等。
弱人工智能系统有特定的输入和输出,其能力局限于特定任务。
强人工智能是指能够在各种智力活动中与人类媲美或超越人类的人工智能系统。
强人工智能拥有自主学习、理解、推理和决策的能力,可以应对复杂的问题和情境。
3. 人工智能的应用领域人工智能已经在多个领域得到应用,包括但不限于以下几个方面:•机器学习:基于数据和统计方法,让计算机自动学习并改进性能。
•自然语言处理:使计算机能够理解和处理人类语言。
•机器视觉:使计算机能够理解和处理图像和视频。
•专家系统:建立基于规则和知识的推理系统,用于解决复杂的问题和决策。
•智能机器人:让机器拥有感知、决策和执行的能力,用于自主操作和交互。
•数据挖掘:发现数据中的模式和关联,用于预测和决策支持。
4. 人工智能的发展历史人工智能的发展可以追溯到20世纪50年代,随着计算机技术和算法的进步,人工智能开始逐渐崭露头角。
在1956年,达特茅斯会议举行,标志着人工智能的诞生。
随后,人工智能经历了繁荣期、低谷期和复兴期等不同的发展阶段。
繁荣期(1956-1974)中,很多初期的人工智能算法被提出,比如逻辑推理、机器学习和专家系统等。
然而,由于计算能力限制和算法的局限性,人工智能在这个时期受到了限制。
低谷期(1975-1980)是由于在之前的繁荣期中,人们对人工智能过于乐观,但实际应用和成果不如预期,导致了人工智能的寒冬。
复兴期(1980-至今)是人工智能的复苏和突破阶段。
第3章 图搜索与问题求解
第 3 章 图搜索与问题求解
这里OPEN表是一个队列,CLOSED表是 一个顺序表,表中各点按顺序编号,正被考 察的节点在表中编号最大。如果问题有解, OPEN表中必出现目标节点Sg,当搜索到该节 点时,算法结束。然后反向追溯得路径。 广度优先搜索亦称为宽度优先或横向搜 索。 优点:这种策略是完备的,即问题的解 存在,则一定能找到,且是最优解(路径最 短)。 缺点:搜索效率低。
第 3 章 图搜索与问题求解
计算智能:采用智能算法。即以计算为主的 算法,随机地在问题的及空间中进行,这类 搜索算法在解决优化问题中表现出了卓越的 性能,使搜索技术达到了一个新的水平。例 如:遗传算法,免疫算法,粒群算法等。 图搜索模拟人脑分析问题、解决问题的 过程,基于领域知识。 搜索算法借鉴或模拟某些自然现象或生 命现象而实现的搜索和问题求解技术。
第 3 章 图搜索与问题求解
2.深度优先搜索
在搜索树的每一层始终先扩展一个子节点,不断地向纵 深前进,直到不能再前进(到达叶子节点或受到深度限制) 时,才从当前节点返回到上一级节点,沿另一方向又继续前
进。这种方法的搜索树式从树根开始一枝一枝逐渐形成的。
第 3 章 图搜索与问题求解
例3.4 对于八数码问题, 应用深度优先策略,可 得如图3-7所示的搜索树。
步2 令N=So。
步3 若N是目标节点,则搜索成功,结束。
步4 若N不可扩展,则搜索失败,退出。 步5 扩展N,选取其一个未在 CLOSED表中出现 过的子节点 N1放入 CLOSED表中, 令N= N1, 转步3。
第 3 章 图搜索与问题求解 · 可回溯的线式搜索
步1 把初始节点So放入CLOSED表中。
第 3 章 图搜索与问题求解Βιβλιοθήκη 图 3-5 修改返回指针示例
第3章图搜索与问题求解
第 3 章 图搜索与问题求解 图 3-1 迷宫图
第 3 章 图搜索与问题求解 图 3-2 迷宫的有向图表示
第 3 章 图搜索与问题求解
例 3.2 在一个3×3的方格棋盘上放置着1, 2, 3, 4, 5, 6, 7, 8八个数码, 每个数码占一格, 且有一个空格。 这些数码可 在棋盘上移动, 其移动规则是:与空格相邻的数码方可移入空 格。现在的问题是:对于指定的初始棋局和目标棋局(如图3-3 所示), 给出数码的移动序列。该问题称为八数码难题或重排九 宫问题。
可以看出,图中的一条边(即相邻两个节点的连线)就对应一 次数码移动,反之, 一次数码移动也就对应着图中的一条边。而 数码移动是按数码的移动规则进行的。所以, 图中的一条边也 就代表一个移动规则或者移动规则的一次执行。于是,这个八数 码问题也就是要在该有向图中寻找目标节点, 或找一条从初始节 点到目标节点的路径问题。
按搜索范围的扩展顺序的不同, 搜索又可分为广度优先和 深度优先两种类型。对于树式搜索, 既可深度优先进行, 也可 广度优先进行。对于线式搜索则总是深度优先进行。
第 3 章 图搜索与问题求解
3. 搜索算法
由于搜索的目的是为了寻找初始节点到目标节点的路径, 所以在搜索过程中就得随时记录搜索轨迹。为此, 我们用一个 称为CLOSED表的动态数据结构来专门记录考查过的节点。显然, 对于树式搜索来说, CLOSED表中存储的正是一棵不断成长的搜 索树; 而对于线式搜索来说, CLOSED表中存储的是一条不断伸 长的折线, 它可能本身章 图搜索与问题求解
启发式搜索则是利用“启发性信息”引导的搜索。 所谓 “启发性信息”就是与问题有关的有利于尽快找到问题解的信 息或知识。例如:“欲速则不达”、“知已知彼, 百战不殆”、 “学如逆水行舟不进则退”等格言, 就是指导人们行为的启发 性信息。常识告诉我们,如果有向导引路, 则就会少走弯路而 事半功倍。 所以, 启发式搜索往往会提高搜索效率, 而且可 能找到问题的最优解。根据启发性信息的内容和使用方式的不 同, 启发式搜索又可分为许多不同的策略, 如全局择优、局部 择优、 最佳图搜索等等。
人工智能导论-第3章 搜索求解1 - 启发式搜索
节点在搜索树中却是不同结点,因为它们分别代
表了从初始状态出发到达城市 A 的三条不同路径。
这三个结点表示的路径分别为:A → B → A、
A → D → A和A → E → A。因此需要注意的是,在
搜索树中,同一个标号一定表示相同的状态,其
含义为智能体当前所在的城市,但是一个标号可
达每个状态(城市)的最短路径。在处理通向相同状态的不同路径时,算法会更新当前的
前驱状态。
图3.7 修改后图搜索A*算法扩展A→E→G结点,红色实线表示
当前搜索树中的边,虚线表示不在搜索树中的边
搜索算法:A*算法性能分析
图搜索A*算法满足最优性(方法二):
要求启发函数满足一致性
引理3.1:启发函数满足一致性条件时,给定一个从搜索树中得到的结点序列,每个结
ถ
=
+
评价函数 起始结点到结点代价
(当前最小代价)
B
5
5
3
D
4
I
C
A
5
7
6
4
E
4
H
G
J
3
3
3
F
7
K
5
6
L
()
ถ
结点到目标结点代价
(后续估计最小代价)
状态
A
h(n)
13 10 6 12 7 8 5 3 6 3 0 6
B C D
E F G H I J K L
A*算法
搜索算法:A*算法
搜索算法:启发函数与评价函数
贪婪最佳优先搜索
所求解问题之外、与所求解
问题相关的特定信息或知识。
人工智能03搜索法对问题求解
深度优先搜索
• 扩展最深的未展开节点 • 实现: fringe = LIFO(后进先出) queue, i.e., put successors at front
深度优先搜索
• 扩展最深的未展开节点 • 实现: fringe = LIFO(后进先出) queue, i.e., put successors at front
无信息的搜索策略
无信息的搜索策略不使用问题定义之外的信 息 • Breadth-first search(广度优先搜索) • Uniform-cost search(代价一致搜索) • Depth-first search • Depth-limited search • Iterative deepening search
问题形式化
• 一个问题被形式化定义为四个组成部分: 1.初始状态,例如“at Arad” 2.行动或后继函数 e.g., S(Arad) = {<Arad →Zerind, Zerind>, … } 3.目标测试 明确的,e.g., x = “at Bucharest” 隐含的,e.g., Checkmate(x) 4.路径损耗 例如路径总长度,总行动步数 c(x,a,y) 表示单步耗散, 且假设其≥ 0 • 问题的解就是将初始状态转化到目标状态的一系列行动
无信息的搜索策略
无信息的搜索策略不使用问题定义之外的信 息 • Breadth-first search(广度优先搜索) • Uniform-cost search • Depth-first search • Depth-limited search • Iterative deepening search
深度优先搜索
• 扩展最深的未展开节点 • 实现: fringe = LIFO(后进先出) queue, i.e., put successors at front
AI概论电子教案-人工智能概论(通识课版)-廉师友-清华大学出版社
人工智能概论课程教案(参考)廉师友编写清华大学出版社(2020)说明为了方便各位任课老师的教学,本书作者将自己曾经给计算机专业讲授人工智能课程的教案(稍有删节)提供给大家以作参考。
由于该《人工智能概论》是一部新教材和新课程,所以此教案仅有参考价值。
其实,即就是完全按照这本新教材所写的教案,也只能作为参考而并非能适合每位老师的教学实际。
事实上,不同的院校对同一门课程往往有不同的内容要求和课时设置,不同的老师对同一门课程也都有自己不同的教学思路和教学风格,如果统一为一种模式,则就限制了老师的发挥和创新。
希望这份资料对各位任课老师的教学能有所帮助!当然,若发现其中有不妥或错误之处也请指正!作者2020年3月教案首页院(系):计算机学院教研室(系):计算机工程章节备课学时:2学时:4学时:6学时:2学时:10学时:6学时:4章节备课学时:2学时:2第 1 次课 2学时第2 次课2学时课时备课第 3 次课 2学时第 4 次课2学时第 5 次课 2学时第 6 次课 2学时第 7 次课 2学时课时备课第 8 次课 2学时课时备课第 9 次课 2学时课时备课第 10 次课 2学时课时备课第 11 次课 2学时课时备课第 12 次课 2学时第 13 次课 2学时第 14 次课 2学时第 15 次课 2学时第 16 次课 2学时第 17 次课 2学时第 18 次课 2学时第 19 次课 2学时第 20 次课 2学时第 21 次课 2学时第 22 次课 2学时第 23 次课 2学时。
第3章图搜索与问题求解
3.1.2 修道士和野人问题的状态空间(3)
状态 m, c, b 状态 m, c, b 状态 m, c, b 状态 m, c, b
S0 S1
S2 S3 S4 S5 S6 S7
3 3 1
3 2 1
S8
S9
1 3 1 S16 3 3 0 S24 1 3 0
1 2 1 S17 3 2 0 S25 1 2 0
2019/3/29 人工智能 24
n(n≥3)阶梵塔问题
n阶梵塔问题的操作集合表示为: F={Rk(i,j) | i,j={1,2,3},k={1,2,…,n}} 全部可能状态数为3n个,最佳解长度为2n-1。 三阶梵塔问题状态图
S0=(1,1,1)
2019/3/29
Sg2=(3,3,3)
2019/3/29 人工智能 11
3.1.1 状态、操作和状态空间(8)
补充例1 三枚钱币,能否从下面状态翻动三次后 出现全正或全反状态。
正 正 正
反
正
反
反
反
反
初始状态θ s
2019/3/29 人工智能
目标状态集合{θ0, θ7}
12
3.1.1 状态、操作和状态空间(9)
引入一个三元组 (q0,q1,q2)来描述总状态,钱币正面为 0,反面 为1,全部可能的状态为: Q0=(0,0,0) ; Q1=(0,0,1); Q2=(0,1,0) Q3=(0,1,1) Q6=(1,1,0) ; Q4=(1,0,0); Q5=(1,0,1) ; Q7=(1,1,1)。
2019/3/29
人工智能
4
3.1.1状态、操作和状态空间(1)
《人工智能》--课后习题问题详解
《人工智能》课后习题答案第一章绪论1.1答:人工智能就是让机器完成那些如果由人来做则需要智能的事情的科学。
人工智能是相对于人的自然智能而言,即用人工的方法和技术,研制智能机器或智能系统来模仿延伸和扩展人的智能,实现智能行为和“机器思维”,解决需要人类专家才能处理的问题。
1.2答:“智能”一词源于拉丁“Legere”,意思是收集、汇集,智能通常用来表示从中进行选择、理解和感觉。
所谓自然智能就是人类和一些动物所具有的智力和行为能力。
智力是针对具体情况的,根据不同的情况有不同的含义。
“智力”是指学会某种技能的能力,而不是指技能本身。
1.3答:专家系统是一个智能的计算机程序,他运用知识和推理步骤来解决只有专家才能解决的复杂问题。
即任何解题能力达到了同领域人类专家水平的计算机程序度可以称为专家系统。
1.4答:自然语言处理—语言翻译系统,金山词霸系列机器人—足球机器人模式识别—Microsoft Cartoon Maker博弈—围棋和跳棋第二章知识表达技术2.1解答:(1)状态空间(State Space)是利用状态变量和操作符号,表示系统或问题的有关知识的符号体系,状态空间是一个四元组(S,O,S0,G):S—状态集合;O—操作算子集合;S0—初始状态,S0⊂S;G—目的状态,G⊂S,(G可若干具体状态,也可满足某些性质的路径信息描述)从S0结点到G结点的路径被称为求解路径。
状态空间一解是一有限操作算子序列,它使初始状态转换为目标状态:O1 O2 O3 OkS0→−−−S1→−−−S2→−−−……→−−−G其中O1,…,Ok即为状态空间的一个解(解往往不是唯一的)(2)谓词逻辑是命题逻辑的扩充和发展,它将原子命题分解成客体和谓词两个部分。
与命题逻辑中命题公式相对应,谓词逻辑中也有谓词(命题函数)公式、原子谓词公式、复合谓词公式等概念。
一阶谓词逻辑是谓词逻辑中最直观的一种逻辑。
(3)语义网络是一种采用网络形式表示人类知识的方法。
人工智能导论 第3章 确定性推理方法(导论) [兼容模式]
①足球运动员的身体都是强壮的;
(大前提)
②高波是一名足球运动员;
(小前提)
③所以,高波的身体是强壮的。 (结 论)
9
3.1.2推理方式及其分类
1.演绎推理、归纳推理、默认推理 (2)归纳推理(inductive reasoning):个别一一般
完全归纳推理(必然性推理) 不完全归纳推理(非必然性推理)
14
3.1推理的基本概念
H3.1.1推理的定义 -3.1.2推理方式及其分类 , 3.1.3推理的方向 .3.1.4冲突消解策略
15
3.1.3推理的方向
正向推理
逆向推理
推
(反向推理)
理
方
向
混合推理
双向推理
16
3.1.3推理的方向
1.正向推理
.正向推理(事实驱动推理):已知事实一 结论
-基本思想
27
3.1.4冲突消解策略
■已知事实与知识的三种匹配情况:
(1) 恰好匹配成功(一对一); (2) 不能匹配成功;
28
3.1.4冲突消解策略
-多种冲突消解策略:
(1) 按针对性排序
(2) 按已知事实的新鲜性排序
/ r1: IF A1 AND A2
THEN H1
(3) 按匹配度排序& |F A1 AND A2 AND A3 AND A4 THEN H2
1 ( ) 从初始已知事实出发,在知识库幽屮找出当前可
适 用的知识,构成可适用知识集KS。
2 ( ) 按某种冲突消解策略从KS屮选出一条知识进行推
理, 并将推出的新事实加入到数据库DB屮作为下一步推理 的 已知事实,再在KB屮选取可适用知识构成KS。
3 2 ( ) 重复( ),直到求得问题的解或KB屮再无可适
《人工智能导论教学》2013第三章
当评价函数>0时,表示对我方有利,越大越 有利;
当评价函数<0时,表示对对方有利,越小越 有利。
编辑ppt
极小极大搜索过程(2)
假定双方都是对弈高手,在决定走棋时, 会尽可能多看几步,并都选评价函数有 利的走棋。
极小极大搜索过程模拟人下棋的思考过 程
编辑ppt
3.3 博弈树搜索
博弈问题
双人 一人一步 双方信息完备 (对垒双方看到的信息是一样
的,不存在一方看到另一方看不到的情况) 零和(对一方有利的走棋,对另一方是不利
的,不存在对双方均有利或者均无利的棋)
编辑ppt
Grundy博弈(分钱币游戏)
有一堆数目为N的钱币,有两个选手轮流分堆, 要求每个选手每次只把其中某一堆分成数目不 相等的两小堆(如果分的相等的话,输)
编辑ppt
策略
极小极大搜索策略是考虑双方对弈若干步之后, 从可能的走步中选一个相对较好的走法来走, 即在有限的搜索深度范围内进行求解。
定义静态估计函数f, 以便对棋局作出优劣估值, 主要对端结点的“价值”进行度量。
f>0, 表对我方有利,f<0,表对方有利,f=0,表 势均力敌;f=,表我方胜,f=- 表对方胜
以7个钱币为例。
编辑ppt
分钱币问题
对方先走 (6,1)
(7) (5,2)
(4,3)
(5,1,1) (4,2,1) (3,2,2)
(3,3,1)
(4,1,1,1) (3,2,1,1) (2,2,2,1)
(3,1,1,1,1)
(2,2,1,1,1) 我方必胜
(2,1,1,1,1,1)
分钱币问题状态空间图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 3 章 图搜索与问题求解 图 3-5 修改返回指针示例
第 3 章 图搜索与问题求解
说明:
(1) 这里的返回指针也就是父节点在CLOSED表中的编 号。
(2) 步6中修改返回指针的原因是, 因为这些节点又被第 二次生成, 所以它们返回初始节点的路径已有两条, 但这两 条路径的“长度”可能不同。 那么, 当新路短时自然要走 新路。
第 3 章 图搜索与问题求解
3.1.5 加权状态图搜索
1.加权状态图与代价树
例3.6 图3-9(a)是一个交通图,设A城是出发地,E城 是目的地, 边上的数字代表两城之间的交通费。试求 从A到E最小费用的旅行路线。
第 3 章 图搜索与问题求解 图 3-9 交通图及其代价树
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3. 状态图表示
一个问题的状态图是一个三元组 (S, F, G)
其中S是问题的初始状态集合, F是问题的状态转换 规则集合, G是问题的目标状态集合。
一个问题的全体状态及其关系就构成一个空间, 称为状态空间。所以,状态图也称为状态空间图。
第 3 章 图搜索与问题求解
例 3.7 迷宫问题的状态图表示。
的返回指针和f(x)值, 修改原则是“抄f(x)
”。
(2)对其余子节点配上指向N的返回指针后放入OPEN表中, 并对OPEN表按f(x)值以升序排序, 转步2。
第 3 章 图搜索与问题求解
算法中节点x的估价函数f(x)的计算方法是 f(xj)=g(xj)+h(xj) =g(xi)+c(xi, xj)+h(xj) (xj是xi的子节点)
1) 2) 局部择优搜索
第 3 章 图搜索与问题求解
全局择优搜索算法:
步1 把初始节点So放入OPEN表中,计算h(So)。 步2 若OPEN表为空,则搜索失败, 退出。 步3 移出OPEN表中第一个节点N放入CLOSED表中, 并冠 以序号n。 步4 若目标节点Sg=N, 则搜索成功, 结束。 步5 若N不可扩展, 则转步2。 步6 扩展N, 计算每个子节点x的函数值h(x), 并将所有子节 点配以指向N的返回指针后放入OPEN表中, 再对OPEN表中的所 有子节点按其函数值大小以升序排序,转步2。
第 3 章 图搜索与问题求解
2. 深 度 优 先 搜 索
第 3 章 图搜索与问题求解
深度优先搜索算法: 步1 把初始节点So放入OPEN表中。 步2 若OPEN表为空, 则搜索失败, 退出。 步3 取OPEN表中前面第一个节点N放入CLOSED 表中,并冠以顺序编号n。 步4 若目标节点Sg=N, 则搜索成功,结束。 步5 若N不可扩展, 则转步2。 步6扩展N, 将其所有子节点配上指向N的返回指针 依次放入OPEN表的首部, 转步2。
至于h(x)的计算公式则需由具体问题而定。
可以看出,A算法其实就是对于本节开始给出 的图搜索一般算法中的树式搜索算法, 再增加了估 价函数f(x)的一种启发式搜索算法。
第 3 章 图搜索与问题求解
3. A*算法
如果对上述A算法再限制其估价函数中的启发函数 h(x)满足: 对所有的节点x均有
h(x)≤h*(x)
第 3 章 图搜索与问题求解
第 3 章 图搜索与问题求解
3.1 状态图搜索 3.2 状态图搜索问题求解 3.3 与或图搜索 3.4 与或图搜索问题求解
第 3 章 图搜索与问题求解
3.1 状态图搜索
3.1.1 状态图 例3.1 迷宫问题。
第 3 章 图搜索与问题求解 图 3-2 迷宫的有向图表示
第 3 章 图搜索与问题求解
例 3.2 八数码问题。
图 3-3 八数码问题示例
第 3 章 图搜索与问题求解
3.1.2 状态图搜索
1. 搜索方式
●树式搜索 ●线式搜索
2. 搜索策略
●盲目搜索 ●启发式(heuristic)搜索
第 3 章 图搜索与问题求解
3. 搜索算法
图 3-4 OPEN表与CLOSED表示例
第 3 章 图搜索与问题求解
S:So F:{(So, S4), (S4, So), (S4, S1), (S1, S4), (S1,S2), (S2, S1), (S2, S3), (S3, S2), (S4, S7), (S7, S4), (S4, S5), (S5, S4), (S5, S6), (S6, S5), (S5, S8), (S8, S5), (S8, S9), (S9, S8), (S9, Sg)}
第 3 章 图搜索与问题求解
2.
状态转换规则就是能使问题状态改变的某种操作、 规则、 行为、变换、关系、函数、算子、过程等等。 状态转换规则也称为操作,问题的状态也只能经定义 在其上的这种操作而改变。状态转换规则在状态图 中表示为边。在程序中状态转换规则可用数据对、 条件语句、规则、函数、过程等表示。
· 可回溯的线式搜索
步1 把初始节点So放入CLOSED表中。 步2令N=So。 步3若N是目标节点, 则搜索成功, 结束。 步4 若N不可扩展, 则移出CLOSED表的末端节 点Ne,若Ne=So,则搜索失败, 退出。否则, 以CLOSED 表新的末端节点Ne作为N,即令N=Ne, 转步4。 步5扩展N, 选取其一个未在CLOSED表用出现
N1放入CLOSED表中, 令N=N1,转步3。
第 3 章 图搜索与问题求解
3.1.3 穷举式搜索 1.广度优先搜索
图 3-6 八数码问题的广度优先搜索
第 3 章 图搜索与问题求解
广度优先搜索算法: 步1 把初始节点So放入OPEN表中。 步2 若OPEN表为空, 则搜索失败,退出。 步3 取OPEN表中前面第一个节点N放在CLOSED 表中, 并冠以顺序编号n。 步4 若目标节点Sg=N,则搜索成功, 结束。 步5 若N不可扩展, 则转步2。 步6 扩展N, 将其所有子节点配上指向N的指针依 次放入OPEN表尾部, 转步2。
第 3 章 图搜索与问题求解
(1) 删除N的先辈节点(如果有的话)。
(2)对已存在于OPEN表的节点(如果有的话)也删除之; 但删除之前要比较其返回初始节点的新路径与原路径,如果 新路径“短”, 则修改这些节点在OPEN表中的原返回指针, 使其沿新路返回(如图3-5所示 )。
(3)对已存在于CLOSED表的节点(如果有的话), 做与(2)同 样的处理, 并且再将其移出CLOSED表, 放入OPEN表重新扩 展(为了重新计算代价)。
第 3 章 图搜索与问题求解
步6 扩展N,生成一组附有f(x)的子节点,对这组子节 点做如下处理:
(1)考察是否有已在OPEN表或CLOSED表中存在的节点;
若有则再考察其中有无N的先辈节点,若有则删除之;对于其余
节点, 也删除之,但由于它们又被第二次生成, 因而需考虑是否
修改已经存在于OPEN表或CLOSED表中的这些节点及其后裔
代价树的搜索。所谓代价,可以是两点之间的距 离、交通费用或所需时间等等。通常用g(x)表示从 初始节点So到节点x的代价, 用c(xi,xj)表示父节点xi到 子节点xj的代价,即边(xi,xj)的代价。从而有
g(xj)=g(xi)+c(xi, xj)
而 g(So)=0
第 3 章 图搜索与问题求解
无子节点, 则转步2。 步6 扩展N, 将其所有子节点Ni配上指向N的返回
指针后依次放入OPEN表中前部, 置d(Ni)=d(N)+1,转 步2。
第 3 章 图搜索与问题求解
3.1.4 启发式搜索 1. 问题的提出 2. 启发性信息 按其用途划分, 启发性信息可分为以下三类: (1) 用于扩展节点的选择, 即用于决定应先扩展哪一
其中h*(x)是从节点x到目标节点的最小代价, 即最佳路 径上的实际代价(若有多个目标节点则为其中最小的一 个),则它就称为A*算法。
第 3 章 图搜索与问题求解
3.1.7 状态图搜索策略小结
第 3 章 图搜索与问题求解
3.2 状态图搜索问题求解
3.2.1 问题的状态图表示
1. 状态 状态就是问题在任一确定时刻的状况,它表征 了问题特征和结构等。状态在状态图中表示为节 点。状态一般用一组数据表示。在程序中用字符、 数字、记录、数组、结构、对象等表示。
·不回溯的线式搜索
步1 把初始节点So放入CLOSED表中。 步2 令N=So。 步3 若N是目标节点,则搜索成功,结束。 步4 若N不可扩展,则搜索失败,退出。 步5 扩展N,选取其一个未在CLOSED表中出现 过的子节点N1放入CLOSED表中, 令N=N1, 转步3。
第 3 章 图搜索与问题求解
(3) 这里对路径的长短是按路径上的节点数来衡量的, 后面我们将会看到路径的长短也可以其“代价”(如距离、 费用、时间等)衡量。若按其代价衡量, 则在需修改返回指 针的同时还要修改相应的代价值, 或者不修改返回指针也要 修改代价值(为了实现代价小者优先扩展)。
第 3 章 图搜索与问题求解
线式搜索算法:
第 3 章 图搜索与问题求解 图 3-8 八数码问题的全局择优搜索
第 3 章 图搜索与问题求解
例 3.5 用全局择优搜索法解八数码难题。 初始棋局)为节点x的格局与目 标格局相比数码不同的位置个数。以这个函 数制导的搜索树如图3-8所示。此八数问题的 解为:So, S1, S2, S3, Sg。
第 3 章 图搜索与问题求解
3. 有界深度优先搜索 步1 把So放入OPEN表中,置So的深度d(So)=0。 步2 若OPEN表为空, 则失败, 退出。 步 3 取 OPEN 表 中 前 面 第 一 个 节 点 N, 放 入
CLOSED表中, 并冠以顺序编号n。 步4 若目标节点Sg=N, 则成功, 结束。 步5 若N的深度d(N)=dm(深度限制值), 或者若N