文章目录

* 状态空间问题表示 <https://blog.csdn.net/hjc256/article/details/91187768#_5>
* 状态 <https://blog.csdn.net/hjc256/article/details/91187768#_9>
* 操作 <https://blog.csdn.net/hjc256/article/details/91187768#_20>
* 状态空间 <https://blog.csdn.net/hjc256/article/details/91187768#_26>
* 状态空间问题的求解 <https://blog.csdn.net/hjc256/article/details/91187768#_36>
* 例子 <https://blog.csdn.net/hjc256/article/details/91187768#_44>
* 二阶梵塔问题 <https://blog.csdn.net/hjc256/article/details/91187768#_46>
* MC问题(修道士与野人问题) <https://blog.csdn.net/hjc256/article/details/91187768#MC_51>
状态空间法是人工智能中最基本的问题求解方法,它所采用的问题表示方法称为状态空间表示法。


状态空间法的基本思想是用 “状态”和“操作”来表示和求解问题。

<>状态空间问题表示

在状态空间表示法中,问题是用“状态”和“操作”来表示的。

<>状态

状态是表示问题求解过程中每一步状况的数据结构。它可用如下形式表示:
S_k \ = \ \{S_{k0},S_{k1},...,S_{kn}\}
当对每一个分量都赋予确定的值时,就得到了一个具体的状态。

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

<>操作

操作也可以称为算符,它是把问题从一种状态转换为另一种状态的手段。

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

<>状态空间

状态空间是由一个问题的全部状态,以及这些状态之间的相互关系所构成的集合,可用一个三元组:
(S,F,G)
来表示。其中,S为问题所有初始状态的集合,F为操作的集合,G为目标状态的集合。

状态空间也可用一个赋值的有向图来表示,该有向图为状态空间图。节点表示问题的状态,有向边表示操作。

<>状态空间问题的求解

所有以状态和操作为基础的问题求解方法都可称为状态空间问题求解方法,简称状态空间法。基本过程是:

* 为问题选择适当的“状态”和“操作”的形式化描述方法
* 从某个初试状态出发,每次使用一个“操作”,递增的建立起操作序列,直到达到目标状态为止
此时,由初始状态到目标状态所使用的算符序列就是该问题的一个解。

<>例子

<>二阶梵塔问题





<>MC问题(修道士与野人问题)



友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信