(2)局部择优搜索:是对深度优先搜索方法的一种改进。
基本思想:当一个节点被扩展以后,按f(x)对每一个子节点计算估价值,并选择最小者作为下一个要考察的节点。因为每次只在子节点的范围内选择下一个要考察的节点,范围比较狭窄,称为局部择优搜索。
搜索过程 <1>OPEN:=S0 ,f:=f(S0) <2> LOOP
IF OPEN=( ) THEN EXIT(FAIL) <3> n:=FIRST(OPEN),REMOVE(n,OPEN),ADD(n,CLOSE)
<4> IF GOAL(n) THEN EXIT(SUCCESS) <5> IF
EXPAND(n)=( ) GO LOOP <6> EXPAND(n)->M(mi),
f(xi):=g(xi)+h(xi)
ADD(mi,OPEN),mi^->n, GO LOOP
(3)全局择优搜索
基本思想:每次总是从OPEN表的全体节点中选择一个估价值最小的节点搜索过程
<1> OPEN:=S0 ,f:=f(S0)
<2> LOOP IF OPEN=( ) THEN EXIT(FAIL)
<3> n:=FIRST(OPEN),REMOVE(n,OPEN),ADD(n,CLOSE)
<4> IF GOAL(n) THEN EXIT(SUCCESS)
<5> IF EXPAND(n)=( ) GO LOOP
<5> EXPAND(n)->M(mi), f(xi):=d(xi)+h(xi),mi^->n,ADD(mi,OPEN),(OPEN)?
<6> GO LOOP