一、状态空间问题表示
(1)状态(State)
表示问题求解过程中每一步问题状况的数据结构,它可形式地表示为:
当对每一个分量都给以确定的值时,就得到了一个具体的状态。
(2)操作(Operator)
也称为算符,它是把问题从一种状态变换为另一种状态的手段。操作可以是一个机械步骤,一个运算,一条规则或一个过程。操作可理解为状态集合上的一个函数,它描述了状态之间的关系。
(3)状态空间(State space)
用来描述一个问题的全部状态以及这些状态之间的相互关系。常用一个三元组表示为:
其中,S为问题的所有初始状态集合;F为操作的集合;G为目标状态的集合。状态空间也可用一个赋值的有向图来表示,该有向图称为状态空间图。在状态空间图中,节点表示问题的状态,有向边表示操作。
二、状态空间法求解问题的基本过程
(1)首先,为问题选择适当的“状态”及“操作”的形式化描述方法;
(2)然后,从某个初始状态出发,每次使用一个“操作”,递增地建立起操作序列,直到达到目标状态为止;
(3)最后,由初始状态到目标状态所使用的算符序列就是该问题的一个解。