To Generate sequences of actions.

Search strategy

The choice on how to expand a search tree is called strategy.

Non informed strategies

Do not use any domain knowledge: apply rules arbitrarily and do an exhaustive search strategy

The Strategies are evaluated according to four criteria:

breadth-first (at a uniform cost)

BFS, breadth first search. Expand nodes by FIFO, so BFS always expand less deep nodes.

If depth is d, the branching factor is b, in the the worst case, time and space complexity will be bd.(all nodes be expanded).

This strategy ensures COMPLETENESS, but we don’t have EFFICIENT IMPLEMENTATIONS on single-processor systems (multi-processor architectures).

理论上BFS能找到最优解,但是吃内存和时间。

Breadth-first search always finds the min-cost path if the cost equals the depth (otherwise we should use another strategy that always expands the least cost node a uniform cost strategy).

The uniform-cost strategy is comprehensive and, unlike the breadth-first search, ideal when operators have not uniform costs. (Same temporal and spatial complexity as breadth-first search).

depth-first

DFS, depth first search. LIFO. Space complexity is bd, time complexity is bd.

Depth-first search can be NON-COMPLETE with possible loops in the presence of infinite branches.

depth-first limited depth;

DFS with a maximum depth parameter to avoid infinite branches.

iterative deepening.

DFS with iterative maximum depth parameter.

Informed strategies

Use domain knowledge: apply rules following a heuristics

Best first search uses evaluation functions that compute a number that represents the desirability of the node expansion.

Evaluation Function f(n)=h(n) (heuristic) 只考虑节点到root的估测成本。

h(n) = Estimate of the cost from n to the goal

不保证全局最优,只找当前最优解。

A-star