第三章 知识得状态空间表示法Word文档格式.docx

上传人:b****4 文档编号:13772738 上传时间:2022-10-13 格式:DOCX 页数:32 大小:535.52KB
下载 相关 举报
第三章 知识得状态空间表示法Word文档格式.docx_第1页
第1页 / 共32页
第三章 知识得状态空间表示法Word文档格式.docx_第2页
第2页 / 共32页
第三章 知识得状态空间表示法Word文档格式.docx_第3页
第3页 / 共32页
第三章 知识得状态空间表示法Word文档格式.docx_第4页
第4页 / 共32页
第三章 知识得状态空间表示法Word文档格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

第三章 知识得状态空间表示法Word文档格式.docx

《第三章 知识得状态空间表示法Word文档格式.docx》由会员分享,可在线阅读,更多相关《第三章 知识得状态空间表示法Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。

第三章 知识得状态空间表示法Word文档格式.docx

一、状态空间表示知识要点

1.状态

状态(State)用于描述叙述性知识得一组变量或数组,也可以说成就是描述问题求解过程中任意时刻得数据结构。

通常表示成:

Q={q1,q2,……,qn}

当给每一个分量以确定得值时,就得到一个具体得状态,每一个状态都就是一个结点(节点)。

实际上任何一种类型得数据结构都可以用来描述状态,只要它有利于问题求解,就可以选用。

2.操作(规则或算符)

操作(Operator)就是把问题从一种状态变成为另一种状态得手段。

当对一个问题状态使用某个可用操作时,它将引起该状态中某一些分量发生变化,从而使问题由一个具体状态变成另一个具体状态。

操作可以就是一个机械步骤、一个运算、一条规则或一个过程。

操作可理解为状态集合上得一个函数,它描述了状态之间得关系。

通常可表示为:

F={f1,f2,………fm}

3.状态空间

状态空间(StateSpace)就是由问题得全部及一切可用算符(操作)所构成得集合称为问题得状态空间。

用三元组表示为:

({Qs},{F},{Qg})

Qs:

初始状态,Qg:

目标状态,F:

操作(或规则)。

4.状态空间(转换)图

状态空间也可以用一个赋值得有向图来表示,该有向图称为状态空间图,在状态空间图中包含了操作与状态之间得转换关系,节点表示问题得状态,有向边表示操作。

二、状态图搜索

1、搜索方式

用计算机来实现状态图得搜索,有两种最基本得方式:

树式搜索与线式搜索。

2、搜索策略

大体可分为盲目搜索与启发式(heuristic)搜索两大类。

搜索空间示意图

例3、1钱币翻转问题

设有三枚硬币,其初始状态为(反,正,反),允许每次翻转一个硬币(只翻一个硬币,必须翻一个硬币)。

必须连翻三次。

问就是否可以达到目标状态(正,正,正)或(反,反,反)。

问题求解过程如下:

用数组表示得话,显然每一硬币需占一维空间,则用三维数组状态变量表示这个知识:

Q=(q1,q2,q3)

取q=0表示钱币得正面q=1表示钱币得反面

构成得问题状态空间显然为:

Q0=(0,0,0),Q1=(0,0,1),Q2=(0,1,0),Q3=(0,1,1)

Q4=(1,0,0),Q5=(1,0,1),Q6=(1,1,0),Q7=(1,1,1)

引入操作:

f1:

把q1翻一面。

f2:

把q2翻一面。

f3:

把q3翻一面。

显然:

F={f1,f2,f3}

目标状态:

(找到得答案)Qg=(0,0,0)或(1,1,1)

例3、2分油问题。

有两只空油瓶,容量分别为8斤与6斤,另有一个大油桶,里面有足够得油。

我们可以任意从油桶中取出油灌满某一油瓶,也可以把某瓶中得油全部倒回油桶,两个油瓶之间可以互相灌。

问如何在8斤油瓶中精确得得到4斤油。

问题得求解显然用2维数组或状态空间描述比较合适,第一位表示8斤油瓶油量,第二位表示6斤油瓶油量,构成整数序列偶(E,S)

E:

=0,1,2,3,4,5,6,7,8。

表示8斤油瓶中含有得油量。

S:

=0,1,2,3,4,5,6。

表示6斤油瓶中含有得油量。

总结出如下分油操作规则:

8斤油瓶不满时装满(E,S)且E<

8—→(8,S)

6斤油瓶不满时装满(E,S)且S<

6—→(E,6)

8斤油瓶不空时倒空(E,S)且E>

0—→(0,S)

f4:

6斤油瓶不空时倒空(E,S)且S>

0—→(E,0)

f5:

8斤油瓶内油全部装入6斤油瓶内(E,S)E>

0且E+S≤6—→(0,E+S)

f6:

6斤油瓶内油全部装入8斤油瓶内(E,S)S>

0且E+S≤8—→(E+S,0)

f7:

用6斤油瓶内油去灌满8斤油瓶(E,S)且E<

8且E+S≥8—→(8,E+S-8)

f8:

用8斤油瓶内油去灌满6斤油瓶(E,S)且S<

6且E+S≥6—→(E+S-6,6)

3、2搜索问题讨论

(1)求任一解路得搜索策略

回溯法(Backtracking)

 爬山法(HillClimbing)

 宽度优先法(Breadth-first)

 深度优先法(Depth-first)

 限定范围搜索法(BeamSearch)

 好得优先法(Best-first)

(2)求最佳解路得搜索策略

大英博物馆法(BritishMuseum)

 分枝界限法(BranchandBound)

 动态规划法(DynamicProgramming)

 最佳图搜索法(A﹡)

(3)求与或关系解图得搜索法

 一般与或图搜索法(AO﹡)

 极小极大法(Minimax)

 α-β剪枝法(Alpha-betaPruning)

 启发式剪枝法(HeuristicPruning)

3、3图搜索

用计算机进行状态空间问题求解得基本思路:

首先把问题得初始状态(即初结点)作为当前状态,选择合适得算符对其进行操作,生成一组子状态,然后检查目标状态就是否在其中出现。

若出现,则搜索成功,若不出现,则按某种搜索策略从已生成得状态中再选一个状态作为当前状态,重复上述过程,直到目标状态出现,或者不在有可供操作得状态为止。

一、显示图与隐式图

1.显式图(显式存储)

把与问题有关得全部状态空间以及相应得有关知识(叙述性知识、过程性知识、控制性知识)都直接存入知识库,称为显式图,或“显式存贮”。

2.隐式图(隐式存贮)

只存贮与问题有关得部分知识,存贮得状态由初始状态开始运用相应得知识,逐步生成所需得部分状态空间,通过搜索推理,逐渐转移到要求得目标状态,只需在知识库中存贮局部得状态空间,称为“隐式图”或“隐式存贮”。

通常采用隐式图进行解题(搜索推理)。

二、“隐式图”求解问题得一般过程

open表:

用于存放刚生成得结点

closed表:

用于存放将要扩展或者已扩展得结点

3、3图搜索(续)

状态节点

父节点

编号

open表

closed表

搜索过程如下:

1:

把初始结点s0放入open表中。

2:

检查open表就是否为空,若空,问题无解,退出。

3:

把open表中得第一个结点取出放入closed表中,并证实该结点为n结点。

4:

考察结点n为就是否为目标结点,若就是,退出。

5:

扩展结点n,生成一组子结点,把其中不就是先辈得那些结点加入open表得尾部,并配以指向父结点得指针。

6:

按某种搜索策略对open表中得结点进行排序

7:

转入第2步。

一般得图搜索算法

1、G=G0(G0=s),OPEN:

=(s);

2、CLOSED:

=();

3、LOOP:

IFOPEN=()THENEXIT(FAIL);

4、n:

=FIRST(OPEN),REMOVE(n,OPEN),

ADD(n,CLOSED),

5、IFGOAL(n)THENEXIT(SUCCESS);

6、EXPAND(n)→{mi},G:

=ADD{mi,G};

7、标记与修改指针:

ADD(mi,OPEN),并标记mi到n得指针;

计算就是否要修改mk、ml到n得指针;

计算就是否修改ml到其后续节点得指针;

8、对OPEN中得节点按某种原则重新排序;

9、GOLOOP;

一些基本概念

节点深度

根节点深度=0

其它节点深度=父节点深度+1

路径

设一节点序列为(n0,n1,…,nk),对于i=1,…,k,若节点ni-1具有一个后续节点ni,则该序列称为从n0到nk得路径。

路径得耗散值

一条路径得耗散值等于连接这条路径各节点间所有耗散值得总与。

用C(ni,nj)表示从ni到nj得路径得耗散值。

扩展一个节点

生成该节点得所有后续节点,并给出它们之间得耗散值、这一过程称为“扩展一个节点”、

三、广度优先搜索流程图

广度优先搜索得含义:

在对第n层结点没有搜索考察完之前,不对第n+1层结点进行搜索,但在隐式图优先搜索中就是讲:

从初始结点s0开始,按生成规则逐步生成下一级各子结点,在检查同级子结点同时,生成下级子结点并放在open表得末尾,而后再检查下一个同级结点,如不就是目标结点,则按规则生成下级子结点,并放在open表末尾,如此下去,直到找到目标为止。

广度优先搜索算法流程

①G:

=G0(G0=s),OPEN:

=(s),CLOSED:

=();

②LOOP:

IFOPEN=()THENEXIT(FAIL);

③n:

=FIRST(OPEN);

④IFGOAL(n)THENEXIT(SUCCESS);

⑤REMOVE(n,OPEN),ADD(n,CLOSED);

⑥EXPAND(n)→{mi},G:

=ADD(mi,G);

⑦IF目标在{mi}中,THENEXIT(SUCCESS);

⑧ADD(OPEN,mj),并标记到n得指针;

⑨GOLOOP

宽度优先搜索示例

8数码问题得宽度优先搜索树

广度优先搜索得性质

当问题有解时,一定能找到解

当问题为单位耗散值时,且问题有解时,一定能找到最优解

方法与问题无关,具有通用性

效率较低

属于图搜索方法

四、深度优先搜索流程

从初始结点s0开始,按生成规则逐步生成下一级各子结点,在检查同级子结点同时,生成下级子结点并放在open表得首部,而后再检查下一个同级结点,如不就是目标结点,则按规则生成下级子结点,并放在open表首部,如此下去,直到找到目标为止。

深度优先搜索

CLOSED:

2、LOOP:

3、n:

=FIRST(OPEN),

4、IFGOAL(n)THENEXIT(SUCCESS);

5、REMOVE(n,OPEN),ADD(n,CLOSED),

6、IFDEPTH(n)>

DmGOLOOP;

7、EXPAND(n)→{mi},G:

8、IF目标在{mi}中THENEXIT(SUCCESS);

9、ADD(mi,OPEN),并标记mj到n指针;

10、将mi重排序到open表头部。

11、GOLOOP;

深度优先搜索性质

一般不能保证找到最优解

当深度限制不合理时,可能找不到解,可以将算法改为可变深度限制

最坏情况时,搜索空间等于穷举

与回溯法得差别:

图搜索

就是一个通用得与问题无关得方法

3、4回溯策略

所谓回溯策略,简单地说就是这样一种策略:

首先将规则给出一个固定得排序,在搜索时,对当前状态(搜索开

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1