No geometric models or differential equations will be needed to characterize the discrete planning problems.
State-space representation is very import in this kind of problems.
Formulation
Discrete Feasible Planning
- A nonempty state space X X X, which is a finite or countably infinite set of states.
- For each state x ∈ X x \in X x∈X, a finite action space U ( x ) U(x) U(x).
- A state transition function f f f that produces a state f ( x , u ) ∈ X f(x,u) \in X f(x,u)∈X for every x ∈ X x \in X x∈X and u ∈ U ( x ) u \in U(x) u∈U(x). The state transition equation is derived from f f f as x ′ = f ( x , u ) x' = f(x, u) x′=f(x,u).
- An initial state x I ∈ X x_{I} \in X xI∈X.
- A goal set X G ⊂ X X_{G} \subset X XG⊂X.
Searching for Feasible Plans
An important requirement for these or any search algorithms is to be systematic. This systematic requirement is achieved by ensuring that, in the limit, as the number of search iterations tends to infinity, every reachable vertex in the graph is explored.
General Forward Search
Q
Q
Q is a priority queue, for which a priority funtion must be specified. The only signigicant difference between various search algorithms is the particular function usd to sort
Q
Q
Q.
Particular Forward Search Methods
Breadth first
Q: First-In First-Out (FIFO) queue
Depth first
Q: Last-in First-out (LIFO) stack
Depth-first search is systematic for any finite
X
X
X but not for an infinite
X
X
X.
Dijkstra’s algorithm
Dijkstra’s algorithm is a systematic search algorithm that finds optimal plans and it is also useful for finding feasible plans.
Dijkstra algorithm aims to find single-source shortest paths in a graph, which is a special form of dynamic programming.
Reference: https://www.cnblogs.com/gaochundong/p/dijkstra_algorithm.html
A star algorithm