0% found this document useful (0 votes)
10 views65 pages

Planning

Plannning PPT on subject of Intelligent systems

Uploaded by

recidol890
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views65 pages

Planning

Plannning PPT on subject of Intelligent systems

Uploaded by

recidol890
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

Introduction to Intelligence Systems

Planning
Outline

Search vs. planning


STRIPS operators

Partial-order planning

The real world

Conditional planning

Monitoring and replanning


Search vs. Planning

Consider the following task

Get milk, bananas, and a cordless drill

Standard search algorithms seem to fail miserably


Search vs. Planning

Actions have requirements & consequences


that should constrain applicability in a given state

⇒ stronger interaction between actions and states needed


Search vs. Planning

Actions have requirements & consequences


that should constrain applicability in a given state

⇒ stronger interaction between actions and states needed

Most parts of the world are independent of most other parts

⇒ solve subgoals independently


Search vs. Planning

Actions have requirements & consequences


that should constrain applicability in a given state

⇒ stronger interaction between actions and states needed

Most parts of the world are independent of most other parts

⇒ solve subgoals independently

Human beings plan goal-directed;


they construct important intermediate solutions first

⇒ flexible sequence for construction of solution


Search vs. Planning

Planning systems do the following

Unify action and goal representation to allow selection


(use logical language for both)

Divide-and-conquer by subgoaling

Relax requirement for sequential construction of solutions


STRIPS

STRIPS
Standford Research Institute Problem Solver
Tidily arranged actions descriptions

Restricted language (function-free literals)

Efficient algorithms
STRIPS: States

States represented by:

Conjunction of ground (function-free) atoms

Example

At(Home), Have(Bread)
STRIPS: States

States represented by:

Conjunction of ground (function-free) atoms

Example

At(Home), Have(Bread)

Closed world assumption

Atoms that are not present are assumed to be false

Example
State: At(Home), Have(Bread)
Implicitly: ¬Have(Milk), ¬Have(Bananas), ¬Have(Drill)
STRIPS: Operators

Operator description consists of:

Action name Positive literal Buy(Milk)

Precondition Conjunction of positive literals At(Shop) ∧ Sells(Shop,


Milk)
Effect Conjunction of literals Have(Milk)
STRIPS: Operators

Operator description consists of:

Action name Positive literal Buy(Milk)

Precondition Conjunction of positive literals At(Shop) ∧ Sells(Shop,


Milk)
Effect Conjunction of literals Have(Milk)

Operator schema

Operator containing variables


STRIPS: Operator Application

Operator applicability

Operator o applicable in state s if:


there is substitution Subst of the free variables such that

Subst(precond(o)) ⊆ s
STRIPS: Operator Application

Operator applicability

Operator o applicable in state s if:


there is substitution Subst of the free variables such that

Subst(precond(o)) ⊆ s

Example

Buy(x) is applicable in state


At(Shop) ∧ Sells(Shop, Milk) ∧
Have(Bread)
with substitution

Subst = { p/Shop, x/Milk }


B. Beckert: KI für IM – p.9
STRIPS: Operator Application

Resulting state

Computed from old state and literals in Subst(effect)


Positive literals are added to the state

Negative literals are removed from the state

All other literals remain unchanged

(avoids the frame problem)


STRIPS: Operator Application

Resulting state

Computed from old state and literals in Subst(effect)


Positive literals are added to the state

Negative literals are removed from the state

All other literals remain unchanged

(avoids the frame problem)

Formally

J = (s ∪ {P | P a positive atom, P ∈ Subst(effect(o))})


s
\ {P | P a positive atom, ¬P ∈ Subst(effect(o))}
STRIPS: Operator Application

Example

Application of

Drive(a, b)
precond: At(a), Road(a, b)
effect: At(b), ¬At(a)
STRIPS: Operator Application

Example

Application of

Drive(a, b)
precond: At(a), Road(a, b)
effect: At(b), ¬At(a)

to state

At(Koblenz), Road(Koblenz, Landau)


STRIPS: Operator Application

Example

Application of

Drive(a, b)
precond: At(a), Road(a, b)
effect: At(b), ¬At(a)

to state

At(Koblenz), Road(Koblenz, London)


results in

At(London), Road(Koblenz, London)


State Space vs. Plan Space

Planning problem

Find a sequence of actions that make instance of the goal true


State Space vs. Plan Space

Planning problem

Find a sequence of actions that make instance of the goal true

Nodes in search space


Standard search: node = concrete world
Planning search: state node = partial plan
State Space vs. Plan Space

Planning problem

Find a sequence of actions that make instance of the goal true

Nodes in search space


Standard search: node = concrete world
Planning search: state node = partial plan

(Partial) Plan consists of

Set of operator applications Si

Partial (temporal) order constraints Si ≺ Sj


c
Causal links Si −→ S j
Meaning: “Si achieves c ∈ precond(S j )” (record purpose of
steps)
State Space vs. Plan Space

Operators on partial plans


add an action and a causal link to achieve an open condition

add a causal link from an existing action to an open condition

add an order constraint to order one step w.r.t. another

Open condition

A precondition of an action not yet causally linked


State Space vs. Plan Space

Operators on partial plans


add an action and a causal link to achieve an open condition

add a causal link from an existing action to an open condition

add an order constraint to order one step w.r.t. another

Open condition

A precondition of an action not yet causally linked

Note

We move from incomplete/vague plans to complete, correct plans


Partially Ordered Plans

Special steps with empty action


Start no precond, initial assumptions as effect)
Finish goal as precond, no effect
Partially Ordered Plans

Special steps with empty action


Start no precond, initial assumptions as effect)
Finish goal as precond, no effect

Note
Different paths in partial plan are not alternative plans,
but alternative sequences of actions
Partially Ordered Plans

Complete plan

A plan is complete iff every precondition is achieved


Partially Ordered Plans

Complete plan

A plan is complete iff every precondition is achieved

A precondition c of a step S j is achieved (by Si) if

Si ≺ Sj

c ∈ effect(Si)

there is no Sk with Si ≺ Sk ≺ Sj and ¬c ∈ effect(Sk)


(otherwise Sk is called a clobberer or threat)
Partially Ordered Plans

Complete plan

A plan is complete iff every precondition is achieved

A precondition c of a step S j is achieved (by Si) if

Si ≺ Sj

c ∈ effect(Si)

there is no Sk with Si ≺ Sk ≺ Sj and ¬c ∈ effect(Sk)


(otherwise Sk is called a clobberer or threat)

Clobberer / threat
A potentially intervening step that destroys the condition achieved
by a causal link
Clobbering and Promotion/Demotion

Example

Go(Home) clobbers At(HWS)

Demotion

Put before Go(HWS)

Promotion

Put after Buy(Drill)


Example: Blocks world
Example: Blocks
World
Example: Blocks
World
Example: Blocks
World
Example: Blocks
World
POP (Partial Order Planner) Algorithm Sketch

function POP(initial, goal, operators) returns plan

plan ← MAKE-MINIMAL-PLAN(initial, goal)


loop do
if SOLUTION?( plan) then return plan % complete and consistent
Sneed , c ← SELECT-SUBGOAL( plan)
CHOOSE-OPERATOR( plan, operators, Sneed , c)
RESOLVE-THREATS( plan)
end

function SELECT-SUBGOAL( plan) returns Sneed , c

pick a plan step Sneed from STEPS( plan)


with a precondition c that has not been achieved
return Sneed , c
POP Algorithm
(Cont’d)

procedure CHOOSE-OPERATOR(plan, operators, Sneed, c)

choose a step Sadd from operators or STEPS( plan) that has c as an effect
if there is no such step then fail
c
add the causal link Sadd −→ Sneed to LINKS( plan)
add the ordering constraint Sadd ≺ Sneed to ORDERINGS( plan)
if Sadd is a newly added step from operators then
add Sadd to STEPS( plan)
add Start ≺ Sadd ≺ Finish to ORDERINGS( plan)
POP Algorithm
(Cont’d)

procedure RESOLVE-THREATS(plan)

for each Sthreat that threatens a link Si c→ Sj in LINKS( plan) do


choose either −
Demotion: Add Sthreat ≺ Si to ORDERINGS( plan)
Promotion: Add S j ≺ Sthreat to ORDERINGS( plan)
if not CONSISTENT( plan) then fail
end
Properties of POP

Non-deterministic search for plan,


backtracks over choicepoints on failure:

– choice of Sadd to achieve Sneed


– choice of promotion or demotion for clobberer
Properties of POP

Non-deterministic search for plan,


backtracks over choicepoints on failure:

– choice of Sadd to achieve Sneed


– choice of promotion or demotion for clobberer

Sound and complete


Properties of POP

Non-deterministic search for plan,


backtracks over choicepoints on failure:

– choice of Sadd to achieve Sneed


– choice of promotion or demotion for clobberer
Sound and complete

There are extensions for:

disjunction, universal quantification, negation, conditionals


Properties of POP

Non-deterministic search for plan,


backtracks over choicepoints on failure:

– choice of Sadd to achieve Sneed


– choice of promotion or demotion for clobberer
Sound and complete

There are extensions for:

disjunction, universal quantification, negation, conditionals

Efficient with good heuristics from problem description


But: very sensitive to subgoal ordering
Properties of POP

Non-deterministic search for plan,


backtracks over choicepoints on failure:

– choice of Sadd to achieve Sneed


– choice of promotion or demotion for clobberer
Sound and complete

There are extensions for:

disjunction, universal quantification, negation, conditionals

Efficient with good heuristics from problem description


But: very sensitive to subgoal ordering

Good for problems with loosely related subgoals


The Real
World
Things Go Wrong

Incomplete information

Unknown preconditions Example:


Intact(Spare)?
Disjunctive effects
Example: Inflate(x) causes
Inflated(x) ∨ SlowHiss(x) ∨ Burst(x) ∨ BrokenPump
∨...
Things Go Wrong

Incomplete information

Unknown preconditions Example:


Intact(Spare)?
Disjunctive effects
Example: Inflate(x) causes
Inflated(x) ∨ SlowHiss(x) ∨ Burst(x) ∨ BrokenPump
∨...

Incorrect information
Current state incorrect Example: spare NOT intact

Missing/incorrect postconditions in operators


Things Go Wrong

Incomplete information

Unknown preconditions Example:


Intact(Spare)?
Disjunctive effects
Example: Inflate(x) causes
Inflated(x) ∨ SlowHiss(x) ∨ Burst(x) ∨ BrokenPump
∨...

Incorrect information
Current state incorrect Example: spare NOT intact

Missing/incorrect postconditions in operators

Qualification problem

Can never finish listing all the required preconditions and


possible conditional outcomes of actions
Solutions

Conditional planning
Plan to obtain information (observation actions)

Subplan for each contingency

Example: [Check(Tire1), If(Intact(Tire1), [Inflate(Tire1)], [CallHelp])]

Disadvantage: Expensive because it plans for many unlikely


cases
Solutions

Conditional planning
Plan to obtain information (observation actions)

Subplan for each contingency

Example: [Check(Tire1), If(Intact(Tire1), [Inflate(Tire1)], [CallHelp])]

Disadvantage: Expensive because it plans for many unlikely


cases

Monitoring/Replanning

Assume normal states / outcomes

Check progress during execution, replan if necessary

Disadvantage: Unanticipated outcomes may lead to failure


Conditional Planning

Execution of conditional plan

[. . . , If(p,[thenPlan], [elsePlan]), . . .]
Check p against current knowledge base, execute thenPlan or elsePlan
Conditional Planning

Execution of conditional plan

[. . . , If(p,[thenPlan], [elsePlan]), . . .]
Check p against current knowledge base, execute thenPlan or elsePlan

Conditional planning

Just like POP except:


If an open condition can be established by observation action

– add the action to the plan


– complete plan for each possible observation outcome
– insert conditional step with these subplans
Conditional Planning Example
Conditional Planning Example
Conditional Planning Example
Conditional Planning Example
Conditional Planning Example
Conditional Planning Example
Monitoring

Execution monitoring

Failure: Preconditions of remaining plan not met


Monitoring

Execution monitoring

Failure: Preconditions of remaining plan not met

Action monitoring

Failure: Preconditions of next action not met


(or action itself fails, e.g., robot bump sensor)
Monitoring

Execution monitoring

Failure: Preconditions of remaining plan not met

Action monitoring

Failure: Preconditions of next action not met


(or action itself fails, e.g., robot bump sensor)

Consequence of failure

Need to replan
Preconditions for Remaining Plan
Replanning

Simplest

On failure, replan from scratch


Replanning

Simplest

On failure, replan from scratch

Better

Plan to get back on track by reconnecting to best continuation


Replanning: Example
Summary Planning

Differs from general problem search;


subgoals solved independently
STRIPS: restricted format for actions,

logic-based Nodes in search space are partial

plans

POP algorithm

Standard planning cannot cope with incomplete/incorrect information

Conditional planning with sensing actions to complete information;


expensive at planning stage

Replanning based on monitoring of plan execution;


expensive at execution stage

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy