当我开始学习人工智能:知识表示方法

加油加油,五一前复习玩,五一就可以出去玩啦


一、状态空间法(State Space Representation)

问题求解技术主要是两个方面

  • 问题的表示
  • 求解的方法

状态空间法

  • 状态
  • 算符
  • 状态空间方法

1.1 问题状态描述

定义

  • 状态:描述某类不同事物间的差别而引入的一组最少变量q0,q1,…,qn的有序集合。
  • 算符:使问题从一种状态变化为另一种状态的手段称为操作符或算符。
  • 问题的状态空间:是一个表示该问题全部可能状态及其关系的图,它包含三种说明的集合,即三元状态(S,F,G)。

在这里插入图片描述
在这里插入图片描述

1.2 状态图示法

有向图
路径
代价
图的显示说明
图的隐示说明

1.3 状态空间表示举例

1.3.1 八数码难题

在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘上还有一个空格,与空格相邻的棋子可以移到空格中。
如何将棋盘从某一初始状态变成最后的目标状态?
在这里插入图片描述
在这里插入图片描述

1.3.2 A name of a boy

Genetics Professor
Wanting to name her new baby boy
Using only the letters D,N & A
Search by writing down possibilities (states)
D,DN,DNNA,NA,AND,DNAN, etc.
Operators: add letters on to the end of already known states
(i) add a ‘D’ to an existing string
(ii) add an ‘N’ to an existing string and
(iii) add an ‘A’ to an existing string
Initial state is an empty string
Goal test
Look up state in a book of boys names
Good solution: DAN

Question
How many strings of 3 or fewer letters are there where the
letters are D, N or A?
Are you guaranteed to find all boys names with letters D,
N and A in this manner?
Answer
For strings of length 3, there are three choices for the first
letter (D, N and A), three choices for the second and three
choices for the third. Hence, there are 333 = 27 possible
three-letter names with D, N and A in. Similarly, there are
3*3 = 9 possible two-letter names and 3 possible one
letter names. Adding all the possibilities up, we get: 27 +
9 + 3 = 39 possible names.
Yes, all names will eventually be enumerated .

在这里插入图片描述

1.3.3 传教士与野人问题

有三个传教士M和三个野人C过河,只有一条能装下两个人的船,在河的一方或者船上,如果野人的人数大于传教士的人数,那么传教士就会有危险,你能不能提出一种安全的渡河方法呢?

如何定义状态?
有意义的状态共有多少种?
有哪些可进行的操作,操作的执行条件和动作是
怎样的?

状态:问题在某一时刻所处的“位置”,“情况”等
根据问题所关心的因素,一般用向量形式表示,每一位表示一个因素

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、问题归约法

在这里插入图片描述
问题归约表示的组成部分

一个初始问题描述;
一套把问题变换为子问题的操作符;
一套本原问题描述。

问题归约的实质
从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,直至最后把初始问题归约为一个平凡的本原问题集合。

2.1 梵塔问题

在这里插入图片描述

在这里插入图片描述

2.2 与或图

2.2.1 与图、或图、与或图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
不可解节点的一般定义

  • 没有后裔的非终叶节点为不可解节点。
  • 全部后裔为不可解的非终叶节点且含有或后继节点,
  • 此非终叶节点才是不可解的。
  • 后裔至少有一个为不可解的非终叶节点且含有与后继节点,此非终叶节点才是不可解的。

与或图构成规则

  • 每个节点对应一个问题或一个问题集合
  • 终叶节点对应一个本原问题
  • 通过算子将问题转化为子问题集合
  • 通过连接线将同一个子问题的“与”节点连接起来

2.3 步骤:

  1. 与或图中的每个节点代表一个要解决的单一问题或问题集合,起始节点对应原始问题;
  2. 对应于本原问题的节点,叫做终叶节点,它没有后裔;
  3. 把问题变换为一个子问题集合,用有向弧线指向后续节点;
  4. 把据有共同父节点的与节点后裔的所有弧线用小弧线连接起来;
  5. 当只有一个算符应用于问题,代表子问题集合的中间或节点可以省。

答案:
在这里插入图片描述

三、谓词逻辑法

什么是谓词?

原子命题中刻画个体的性质或个体间关系的成分
  • 谓词逻辑是一种形式语言
  • 是目前为止能够表达人类思维活动规律的一种最精确的语言
  • 接近自然语言,又方便存入计算机处理
  • 最早应用于人工智能中表示知识
  • 适合于表示事物的状态、属性、概念等,也可用来表示事物间确定的因果关系

3.1 谓词公式

Terms(项)
a. 一个常量是项
b. 一个变量是项
c. 如果f是一个n元函数符号,t1,t2,…,tn是项,则f(t1,t2,…,tn)也是项
d. 所有项都是由规则(a)(b)©产生的
Atoms(原子公式 )
如果P是一个n元谓词符号,t1,t2,…,tn是项,则P(t1,t2,…,tn) 是一个原子公式或原子谓词公式,其他任何表达式都不是原子公式.
当对应的语句在定义域内为真时值为真T,否则为假F.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
知识表示 状态空间表示 人工智能概论知识表示(状态空间表示)全文共14页,当前为第1页。 状态空间表示 现实世界中的问题求解过程实际上可以看做是一个搜索或者推理的过程。 推理过程实际上也是一个搜索过程,它要在知识库中搜索和前提条件相匹配的规则,而后利用这些规则进行推理,所以任何问题求解的本质都是一个搜索过程。 为了进行有效的搜索,对所求解的问题要以适当的形式表示出来,其表示方法直接影响到搜索效率。状态空间表示就是用来表示问题及其搜索过程的一种方法状态空间表示人工智能中最基本的形式化方法,也是讨论问题求解技术的基础。 人工智能概论知识表示(状态空间表示)全文共14页,当前为第2页。 1、问题状态空间的构成 状态空间表示就是以"状态空间"的形式对问题进行表示状态空间表示的定义。 (1)状态 状态是描述问题求解过程中不同时刻状况的数据结构。一般用一组变量的有序集合表示: Q=(q0,q1,…,qn)其中每个元素qi(i=0,1,2,…,n)为集合的分量,称为状态变量。 当给每一个分量以确定的值时,就得到了一个具体的状态。 人工智能概论知识表示(状态空间表示)全文共14页,当前为第3页。 1问题状态空间的构成 (2)算符 引起状态中某些分量发生变化,从而使问题由一个状态变为另一个状态的操作称为算符。 算符可分为走步、过程、规则、数学算子、运算符号或逻辑符号等。 例如: 在产生式系统中,每一条产生式规则就是一个算符; 在下棋程序中,一个算符就是一个走步; 人工智能概论知识表示(状态空间表示)全文共14页,当前为第4页。 1问题状态空间的构成 (3)状态空间表示一个问题的全部状态及一切可用算符构成的集合称为该问题的状态空间。它一般由三部分构成: 问题的所有可能初始状态构成的集合S; 算符集合F; 目标状态集合G。 用一个三元组表示如下: (S,F,G) 状态空间的图示形式称为状态空间图。其中,节点表示状态;有向边(弧)表示算符。 人工智能概论知识表示(状态空间表示)全文共14页,当前为第5页。 1问题状态空间的构成 (4)问题的解 从问题的初始状态集S出发,经过一系列的算符运算,到达目标状态。 由初始状态到目标状态所用算符的序列就构成了问题的一个解。 人工智能概论知识表示(状态空间表示)全文共14页,当前为第6页。 2 用状态空间表示问题的步骤 用状态空间方法表示问题时的步骤如下: (1)定义状态的描述形式。 (2)用所定义的状态描述形式把问题的所有可能的状态都表示出来,并确定出问题的初始状态集合描述和目标状态集合描述。 (3)定义一组算符,使得利用这组算符可把问题由一种状态转变为另一种状态。 人工智能概论知识表示(状态空间表示)全文共14页,当前为第7页。 3 利用状态空间求解问题的过程 问题的求解过程是一个不断把算符作用于状态的过程。 首先,将适用的算符作用于初始状态,以产生新的状态; 然后,再把一些适用的算符作用于新的状态; 这样继续下去,直到产生的状态为目标状态为止。 这时,就得到了问题的一个解,这个解是从初始状态到目标状态所用算符构成的序列。 人工智能概论知识表示(状态空间表示)全文共14页,当前为第8页。 3 利用状态空间求解问题的过程 说明: 可能有多个算符序列都可使问题从初始状态变到目标状态,这就得到了多个解。其中有的使用算符较少,有的较多,把使用算符最少的解称为最优解。这里只是从解中算符的个数来评价解的优劣,评价解的优劣主要是看使用算符时所付出的代价,只有总代价最小的解才是最优解。 对任何一个状态,可使用的算符可能不止一个,这样由一个状态所生成的后继状态就可能有多个。当对这些后继状态使用算符生成更进一步的状态时,首先应对哪一个状态进行操作呢?这属于搜索策略的问题,不同的搜索策略其操作的顺序是不相同的。 人工智能概论知识表示(状态空间表示)全文共14页,当前为第9页。 3 利用状态空间求解问题的过程 例1:二阶Hanoi塔问题。 已知:3个柱子1、2、3和两个盘子A、B(A比B小)。 初始状态:A、B依次放在1柱上。 目标状态:A、B依次放在柱子3上。 条件:每次可移动一个盘子,盘子上方是空顶方可移动,而且任何时候都不允许大盘在小盘之上。 人工智能概论知识表示(状态空间表示)全文共14页,当前为第10页。 3 利用状态空间求解问题的过程 解: 按照上面给出的步骤,将问题以状态空间的形式表示出来。 第一步:定义问题状态的描述形式:设用 Sk=(SkA,SkB)表示问题的状态,SkA表示盘子A所在的柱号,SkB表示盘子B所在的柱号。 第二步:用所定义的状态描述形式把问题的所有可能的状态都表示出来,并确定出问题的初始状态集合描述和目标状态集合描述。 人工智能概论知识表示(状态空间
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值