Outline Planning with State-Space Search Vacuum Cleaner`s World

COMP307
AI: 1
Outline
• planning algorithms
- Planning with State-Space Search
‣ Forward state-space search (progression planning)
COMP 307 — Week 10
‣ Backword state-space search (regression planning)
Lecture 20
- Partial-Order Planning (brief introduction)
Planning and Scheduling 2 — Planners
Harith Al-Sahaf
[email protected]
COMP307
AI: 2
COMP307
Planning with State-Space Search
• A planning problem can be casted as a state-space search
problem
• Given an initial state and a goal state, the aim is to search for
a sequence of actions
• Forward state-space search (progression planning)
- Search from what is known in the initial state and apply
operations in the order they are applied
• Backward state-space search (regression planning)
- Search from the description of the goal state and identify
actions that help to reach the goal (goal-directed)
AI: 3
Vacuum Cleaner’s World
• Two rooms Left and Right
• Initial state:
- both rooms are Dirty
- vacuum cleaner (Roo) in Left room
• Goal state:
- both rooms are Clean
- Vacuum cleaner in Right room
• Actions: Move and Suck
COMP307
AI: 4
COMP307
State-Space in Planning
AI: 5
STRIPS in Vacuum Cleaner’s World
• A state space is a graph that comprises some nodes (each of
• Representation
which represents a state) that are connected by directed
edges/links (each link represents an action)
• There can be multiple different goal states
COMP307
AI: 6
Forward State-Space Search (Progression)
• While(true)
- Select a state (usually the algorithm uses a queue)
- If the selected state satisfies the goal state
‣ return the path form the initial state to this state
- Otherwise
‣ Apply all the possible actions
❖ Enumerate all applicable states from each action (avoid loops: do
not go back to a previously visited state)
❖ Put each of the states in the search queue
• End
COMP307
AI: 7
Forward State-Space Search
• The forward state-space search (progression planning) in
vacuum cleaner’s world
COMP307
AI: 8
COMP307
Forward State-Space Search
AI: 9
Problems With Progression Planning
• A plan is a path from the root node to a non-loop leaf node
• The branching factor is often very large in any real-life
situation/application (branching factor is the number
applicable actions from the current state)
• The path can be very long
• Solutions?
- Search in the backward direction (goal-directed)
- Heuristics
COMP307
AI: 10
Backward State-Space Search (Regression)
• Consider only relevant actions
• Start with a goal state
• Examine all applicable/relevant actions
- An action is relevant to a conjunctive goal if it achieves one of
the conjuncts of the goal
- An action 𝑨 is applicable in state 𝑺 in the backward direction if:
‣ The action 𝑨 has at least one positive literal/predicate that
satisfies a condition of 𝑺
‣ The effect of 𝑨 is consistent with 𝑺
• Do not revisit previously visited states (avoid loops)
• Terminate when initial state is reached and preconditions
of all actions are satisfied
COMP307
AI: 11
Backward State-Space Search
COMP307
AI: 12
COMP307
Backward State-Space Search
Backward State-Space Search
• The backward state-space search (regression planning) in
• A plan is a path from a non-loop leaf node to the root node or
vacuum cleaner’s world
COMP307
earliest goal state in the middle
AI: 14
Partial-Order Planning (POP)
• Progression and regression planners are particular forms of
totally ordered plan search.
- They cannot take advantage of problem decomposition
- They always make decisions about how to sequence actions
from all the subproblems instead of each subproblem
separately
• Partial-order planner: Any planning algorithm that can place
two actions into a plan without specifying which comes first.
AI: 13
COMP307
AI: 15
Partial-Order Planning
• The six linearization into total-order plans for putting on
shoes and socks.
COMP307
AI: 16
Summary
• In this lecture, we have discussed two planners that search
the state-space to find a plan namely:
- Progression planning (forward state-space search)
- Regression planning (backward state-space search)
• Next lecture, we will:
- Introduce scheduling
- Discuss job shop scheduling
- Present algorithms to find schedules