Upload
danghuong
View
222
Download
0
Embed Size (px)
Citation preview
An Introduction to AI PlanningUte Schmid
Applied CS/Cognitive Systems
Bamberg University
↪→ Goals, Methods, Topics of AI
↪→ Basic concepts of AI Planning
↪→ Deductive Planning vs. State-based (Strips) Planning
Remark: Planning is typically introduced in the last third of an introductory AI lecture. Basic
knowlege about problem solving (search algorithms) and First Order Logic is presumed.
An Introduction to AI Planning – p. 1
AI and Knowledge Based Systems
Facts and Rules
Representation Formalisms(FOL−based, Production Rules)
Different Kinds of Knowledge(Domain−Specific, Common−sense)
Deduction (Theorem Proving),
Non−montonic/probabilistic reasoning
Abduction (Diagnosis)
Planning
Induction (Learning)
Inference AlgorithmKnowledge Base
An Introduction to AI Planning – p. 2
AI and Knowledge Based Systems
Facts and Rules
Representation Formalisms(FOL−based, Production Rules)
Different Kinds of Knowledge(Domain−Specific, Common−sense)
Deduction (Theorem Proving),
Non−montonic/probabilistic reasoning
Abduction (Diagnosis)
Planning
Induction (Learning)
Inference AlgorithmKnowledge Base
Broad View:AI Systems are Knowledge-Based Systems
An Introduction to AI Planning – p. 2
AI and Knowledge Based Systems
Facts and Rules
Representation Formalisms(FOL−based, Production Rules)
Different Kinds of Knowledge(Domain−Specific, Common−sense)
Deduction (Theorem Proving),
Non−montonic/probabilistic reasoning
Abduction (Diagnosis)
Planning
Induction (Learning)
Inference AlgorithmKnowledge Base
Narrow View:Knowledge-Based Systems is a sub-field of AI
Focus on: Knowledge Representation and DeductiveInference, Main Application: Expert-Systems
An Introduction to AI Planning – p. 2
AI and Knowledge Based Systems
Facts and Rules
Representation Formalisms(FOL−based, Production Rules)
Different Kinds of Knowledge(Domain−Specific, Common−sense)
Deduction (Theorem Proving),
Non−montonic/probabilistic reasoning
Abduction (Diagnosis)
Planning
Induction (Learning)
Inference AlgorithmKnowledge Base
↪→ I take the broader view
An Introduction to AI Planning – p. 2
Goals of AI
Engineering Methods for solving problems on a computer
algorithms/programs for inference, planning, learning, ...
Epistemology Modeling of cognitive processes
perception, reasoning, language understanding, ..
Formalisms Development of formalisms for describing and
evaluating problems and algorithms
calculi of logic, graph theory, complexity theory, ...
An Introduction to AI Planning – p. 3
Goals of AI
Engineering Methods for solving problems on a computer
algorithms/programs for inference, planning, learning, ...
Epistemology Modeling of cognitive processes
perception, reasoning, language understanding, ..
Formalisms Development of formalisms for describing and
evaluating problems and algorithms
calculi of logic, graph theory, complexity theory, ...
↪→ AI is inherently interdisciplinary!
An Introduction to AI Planning – p. 3
Goals of AI
Engineering Methods for solving problems on a computer
algorithms/programs for inference, planning, learning, ...
Epistemology Modeling of cognitive processes
perception, reasoning, language understanding, ..
Formalisms Development of formalisms for describing and
evaluating problems and algorithms
calculi of logic, graph theory, complexity theory, ...
Mathematics, Computer Science, Neurosciences,
Cognitive Psychology, Linguistics, Philosophy of Mind
An Introduction to AI Planning – p. 3
Main Topics of AI
Problem Solving/Planning
Inference/Deduction
Knowledge Representation
Machine Learning
An Introduction to AI Planning – p. 4
Main Topics of AI
Problem Solving/Planning
Inference/Deduction
Knowledge Representation
Machine Learning
General methods, applied in:Game Playing, Expert Systems, Tutor Systems, Diagnosis,Automatic Theorem Proving, Program Synthesis, CognitiveRobotics, Multi-Agent-Systems, ...
An Introduction to AI Planning – p. 4
Main Topics of AI
Problem Solving/Planning: Seminar Topic
Inference/Deduction
Knowledge Representation
Machine Learning: Lecture
General methods, applied in:Game Playing, Expert Systems, Tutor Systems, Diagnosis,Automatic Theorem Proving, Program Synthesis, CognitiveRobotics, Multi-Agent-Systems, ...
An Introduction to AI Planning – p. 4
AI Planning
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
An Introduction to AI Planning – p. 5
AI Planning
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
↪→ AI planning (“action planning”) deals with thedevelopment of representation languages for planningproblems and with the development of algorithms forplan construction.
An Introduction to AI Planning – p. 5
AI Planning
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
Deductive Planning: Situation Calculus (Green, 1967)
State-Based Planning: Strips (Fikes & Nilsson, 1971)
An Introduction to AI Planning – p. 5
AI Planning
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
Alternative to Planning:Reinforcement Learning(Learn policies for selecting a suitable action to executein a given state)
An Introduction to AI Planning – p. 5
Applications
Process Control:Production of physical goodsConstruction and configurationWorkflow managementMission planningProject planning
An Introduction to AI Planning – p. 6
Blocks World
Running example:
A
C
E
B
D
F
Objects:A, B, C, D, E, F, Table
An Introduction to AI Planning – p. 7
Blocks World
Running example:
A
C
E
B
D
F
Objects:A, B, C, D, E, F, TableRelations:clear: {C, E, F}ontable: {A, E, D}on:{(C, A), (B, D), (F, B)}
An Introduction to AI Planning – p. 7
States, Goals, Actions
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
An Introduction to AI Planning – p. 8
States, Goals, Actions
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
(partial) description of a situationC is on A and B is on D and F is on B and C is clear and E isclear and F is clear and A is on the table and E is on the tableand D is on the table
A
C
E
B
D
F
An Introduction to AI Planning – p. 8
States, Goals, Actions
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
Simple goal: D is clearConjunctive goal: D is clear and D is on A(disjunctive, quantified, ...)
An Introduction to AI Planning – p. 8
States, Goals, Actions
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
put block E on block F, put block C on the table
An Introduction to AI Planning – p. 8
States, Goals, Actions
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
put block E on block F, put block C on the table
Operator Scheme: define actions over variablesput(?x, ?y): put a block on another blockputtable(?x): put a block on the table
An Introduction to AI Planning – p. 8
States, Goals, Actions
A plan is a sequence of actions for transforming agiven state into a state which fulfills a predefined setof goals.
put block E on block F, put block C on the table
Operator Scheme: define actions over variablesput(?x, ?y): put a block on another blockputtable(?x): put a block on the table
↪→ operators have application conditionse.g., to put a block somewhere, it must be clear
An Introduction to AI Planning – p. 8
Planning Formalism
A planning formalism must provide
a language to represent states, goals and actions.
an algorithm for constructing a sequence of actionswhich transforms an initial state into a goal state.
An Introduction to AI Planning – p. 9
Planning Formalism
A planning formalism must provide
a language to represent states, goals and actions.
Typically a subset of FOL for states and goals
Actions are generated via instantiation of operatorschemes
an algorithm for constructing a sequence of actionswhich transforms an initial state into a goal state.
An Introduction to AI Planning – p. 9
Planning Formalism
A planning formalism must provide
a language to represent states, goals and actions.
Typically a subset of FOL for states and goals
Actions are generated via instantiation of operatorschemes
an algorithm for constructing a sequence of actionswhich transforms an initial state into a goal state.
Deductive Planning: Theorem Proving
State-Based Planning: Search in State-Space
An Introduction to AI Planning – p. 9
Deductive Planning
Based on FOL, Situation Calculus (Green, 1967)
An Introduction to AI Planning – p. 10
Deductive Planning
Based on FOL, Situation Calculus (Green, 1967)
States are represented as conjunction of facts:
Initial state s1
clear(a, s1).clear(b, s1).on(b, c, s1).ontable(a, s1).ontable(c, s1). AC
B
An Introduction to AI Planning – p. 10
Deductive Planning
Based on FOL, Situation Calculus (Green, 1967)
States are represented as conjunction of facts:
Initial state s1
clear(a, s1).clear(b, s1).on(b, c, s1).ontable(a, s1).ontable(c, s1).
B
C A
put A on B
Goals can be simple or conjunctions:on(a, b, S).
An Introduction to AI Planning – p. 10
Deductive Planning
Based on FOL, Situation Calculus (Green, 1967)
Operator Schemes are represented as Effect Axioms:on(X, Y, put(X, Y, S))← clear(X, S) ∧ clear(Y, S)“In a situation where blocks X and Y are clear, a new situation
where on(X, Y)) holds can be reached by putting X on Y.”
Rewrite to clausal form:¬clear(X, S) ∨ ¬clear(Y, S) ∨ on(X, Y, put(X, Y, S))
Proof that the goal can be reached by resolution:S = put(a, b, s1)
An Introduction to AI Planning – p. 10
Effect Axioms for Blocks World
on(X, Y, put(X, Y, S))← clear(X, S) ∧ clear(Y, S)
clear(Z, put(X, Y, S))← on(X, Z, S) ∧ clear(X, S) ∧ clear(Y, S)
clear(Y, puttable(X, S))← on(X, Y, S) ∧ clear(X, S)
ontable(X, puttable(X, S))← clear(X, S)
Effect of put(X, Y, S): X is on Y,if Y was on Z, then Z becomes clear
Effect of puttable(X, S): X is on the table,if X was on Y, then Y becomes clear
An Introduction to AI Planning – p. 11
Planning in Situation Calculus
Remember: A planning formalism must provide
a language to represent states, goals and actions.
an algorithm for constructing a sequence of actionswhich transforms an initial state into a goal state.
An Introduction to AI Planning – p. 12
Planning in Situation Calculus
Remember: A planning formalism must provide
a language to represent states, goals and actions.
Situation calculus: formula containing situationvariables
Actions are generated via instantiation of effectaxioms
an algorithm for constructing a sequence of actionswhich transforms an initial state into a goal state.
An Introduction to AI Planning – p. 12
Planning in Situation Calculus
Remember: A planning formalism must provide
a language to represent states, goals and actions.
Situation calculus: formula containing situationvariables
Actions are generated via instantiation of effectaxioms
an algorithm for constructing a sequence of actionswhich transforms an initial state into a goal state.
Resolution Proofs, action sequence returned viainstantiation of situation variable
An Introduction to AI Planning – p. 12
The Frame Problem
In general, additionally to the effect axioms, frameaxioms are necessary.
Frame axioms state which relations do NOT changewhen an action is performed (common-senseknowledge)
In general, additionally to the effect axioms, frameaxioms are necessary.
Frame axioms state which relations do NOT changewhen an action is performed (common-senseknowledge)
For realistic problems, coming up with a suitable(complete and consistent) set of frame axioms is a veryhard knowledge engineering problem.
An Introduction to AI Planning – p. 13
The Frame Problem
In general, additionally to the effect axioms, frameaxioms are necessary.
Frame axioms state which relations do NOT changewhen an action is performed (common-senseknowledge)If I put A on B, C is still on the table.
B
C A
put A on B
In general, additionally to the effect axioms, frameaxioms are necessary.
Frame axioms state which relations do NOT changewhen an action is performed (common-senseknowledge)
For realistic problems, coming up with a suitable(complete and consistent) set of frame axioms is a veryhard knowledge engineering problem.
An Introduction to AI Planning – p. 13
The Frame Problem
In general, additionally to the effect axioms, frameaxioms are necessary.
Frame axioms state which relations do NOT changewhen an action is performed (common-senseknowledge)
For realistic problems, coming up with a suitable(complete and consistent) set of frame axioms is a veryhard knowledge engineering problem.
An Introduction to AI Planning – p. 13
Frame Axioms for Blocks World
clear(X, put(X, Y, S))← clear(X, S) ∧ clear(Y, S)
clear(Z, put(X, Y, S))← clear(X,S) ∧ clear(Y, S) ∧ clear(Z, S)
ontable(Y, put(X, Y, S))← clear(X, S) ∧ clear(Y, S) ∧ ontable(Y, S)
ontable(Z, put(X, Y, S))← clear(X, S) ∧ clear(Y, S) ∧ ontable(Z, S)
on(Y, Z, put(X, Y, S))← clear(X, S) ∧ clear(Y, S) ∧ on(Y, Z, S)
on(W, Z, put(X, Y, S))← clear(X, S) ∧ clear(Y, S) ∧ on(W, Z, S)
clear(Z, puttable(X, S))← clear(X, S) ∧ clear(Z, S)
ontable(Z, puttable(X, S))← clear(X, S) ∧ ontable(Z, S)
on(Y, Z, puttable(X, S))← clear(X, S) ∧ on(Y, Z, S)
clear(Z, puttable(X, S))← on(Y, X, S) ∧ clear(Y, S) ∧ clear(Z, S)
ontable(Z, puttable(X, S))← on(Y, X, S) ∧ clear(Y, S) ∧ ontable(Z, S)
on(W, Z, puttable(X, S))← on(Y, X, S) ∧ clear(Y, S) ∧ on(W, Z, S)
An Introduction to AI Planning – p. 14
State-Based Planning
Get rid of the frame problem:Closed-world assumption↪→ All relations not given explicitly in a state descriptionare assumed to be false.
Allows to calculate operator effects with simple setoperations.
↪→ The Strips Language (Fikes & Nilsson, 1971)(a very restricted subset of FOL)
An Introduction to AI Planning – p. 15
Strips LanguageState as set (conjunction) of positive literals. {on(B, C),clear(A), clear(B), ontable(A), ontable(C)}
An Introduction to AI Planning – p. 16
Strips LanguageState as set (conjunction) of positive literals. {on(B, C),clear(A), clear(B), ontable(A), ontable(C)}
Goals as conjunctions of literals.{on(A, B), on(B, C)}
An Introduction to AI Planning – p. 16
Strips LanguageState as set (conjunction) of positive literals. {on(B, C),clear(A), clear(B), ontable(A), ontable(C)}
Goals as conjunctions of literals.{on(A, B), on(B, C)}
Operator Schemes: Preconditions andADD-DEL-Effects.
Operator: put(?x, ?y)
PRE: {ontable(?x), clear(?x), clear(?y)}
ADD: {on(?x, ?y)}
DEL: {ontable(?x), clear(?y)}
An Introduction to AI Planning – p. 16
Operator Application
Instantiate an operator wrt the current state ↪→ action o
Calculate successor-state with set operations:
Res(o, s) = s \DEL(o) ∪ ADD(o) if PRE(o) ⊆ s
An Introduction to AI Planning – p. 17
Strips Example
B
C A
put A on B Operator: put(?x, ?y)
PRE: {ontable(?x), clear(?x), clear(?y)}
ADD: {on(?x, ?y)}
DEL: {ontable(?x), clear(?y)}
An Introduction to AI Planning – p. 18
Strips Example
B
C A
put A on B Operator: put(?x, ?y)
PRE: {ontable(?x), clear(?x), clear(?y)}
ADD: {on(?x, ?y)}
DEL: {ontable(?x), clear(?y)}
s1 = {on(B, C), clear(A), clear(B), ontable(A), ontable(C)}
An Introduction to AI Planning – p. 18
Strips Example
B
C A
put A on B Operator: put(?x, ?y)
PRE: {ontable(?x), clear(?x), clear(?y)}
ADD: {on(?x, ?y)}
DEL: {ontable(?x), clear(?y)}
s1 = {on(B, C), clear(A), clear(B), ontable(A), ontable(C)}PRE ⊂ s1 with {?x← A, ?y ← B}
An Introduction to AI Planning – p. 18
Strips Example
B
C A
put A on B Operator: put(?x, ?y)
PRE: {ontable(?x), clear(?x), clear(?y)}
ADD: {on(?x, ?y)}
DEL: {ontable(?x), clear(?y)}
s1 = {on(B, C), clear(A), clear(B), ontable(A), ontable(C)}Substract DEL{on(B, C), clear(A), ontable(C)}
An Introduction to AI Planning – p. 18
Strips Example
AB
C
Operator: put(?x, ?y)
PRE: {ontable(?x), clear(?x), clear(?y)}
ADD: {on(?x, ?y)}
DEL: {ontable(?x), clear(?y)}
s1 = {on(B, C), clear(A), clear(B), ontable(A), ontable(C)}Add ADD{on(B, C), clear(A), ontable(C), on(A, B)} = Res(o, s1)
An Introduction to AI Planning – p. 18
Strips Example
AB
C
Operator: put(?x, ?y)
PRE: {ontable(?x), clear(?x), clear(?y)}
ADD: {on(?x, ?y)}
DEL: {ontable(?x), clear(?y)}
s1 = {on(B, C), clear(A), clear(B), ontable(A), ontable(C)}
{on(B, C), clear(A), ontable(C), on(A, B)} = Res(o, s1)Goal state because {on(A, B), on(B, C)} ⊆ Res(o, s1)
An Introduction to AI Planning – p. 18
Blocksworld in Stripsput(?x, ?y)PRE: {ontable(?x), clear(?x), clear(?y)}ADD: {on(?x, ?y)}DEL: {ontable(?x), clear(?y)}put(?x, ?y)PRE: {on(?x, ?z), clear(?x), clear(?y)}ADD: {on(?x, ?y), clear(?z)}DEL: {on(?x, ?z), clear(?y)}puttable(?x)PRE: {clear(?x), on(?x, ?y)}ADD: {ontable(?x), clear(?y)}DEL: {on(?x, ?y)}
An Introduction to AI Planning – p. 19
Planning as State-Space SearchRemember: A planning formalism must provide
a language to represent states, goals and actions.
an algorithm for constructing a sequence of actions which
transforms an initial state into a goal state.
An Introduction to AI Planning – p. 20
Planning as State-Space SearchRemember: A planning formalism must provide
a language to represent states, goals and actions.
Strips languagecurrent standard: PDDL (Strips extension)
Planning problem P = (I, G, O) with an initial state, a set ofgoals, and a set of operators.
an algorithm for constructing a sequence of actions which
transforms an initial state into a goal state.
An Introduction to AI Planning – p. 20
Planning as State-Space SearchRemember: A planning formalism must provide
a language to represent states, goals and actions.
Strips languagecurrent standard: PDDL (Strips extension)
Planning problem P = (I, G, O) with an initial state, a set ofgoals, and a set of operators.
an algorithm for constructing a sequence of actions which
transforms an initial state into a goal state.
↪→ Operator application: a single planning step
↪→ Planning: search for a sequence of action applicationswhich transform an initial state into a goal state.
An Introduction to AI Planning – p. 20
State Space Complexity
# blocks 1 2 3 4 5
# states 1 3 13 73 501
approx. 1.0× 100
3.0× 100
1.3× 101
7.3× 101
5.0× 102
# blocks 6 7 8 9 10
# states 4051 37633 394353 4596553 58941091
approx. 4.1× 103 3.8× 104 3.9× 105 4.6× 106 5.9× 107
#blocks 11 12 13 14 15
# states 824073141 12470162233 202976401213 3535017524403 65573803186921
approx. 8.2× 108
1.3× 1010
2.0× 1011
3.5× 1012
6.6× 1013
Exponential growth of states↪→ typically depth-first strategies are used
An Introduction to AI Planning – p. 21
Progression vs. Regression Planning
Progression Planning: Forward Search
Start with s as initial state
Repeat
Construct successor states by applying actions to the
current state s
Eliminate cycles
If a deadend is reached: backtrack
Until a goal state is reached or no new states can be
generated (for finite domains)
An Introduction to AI Planning – p. 22
Progression vs. Regression Planning
Regression Planning: Backward Search
Start with s as (partial) goal state
Repeat
Construct successor states by backwards applying
actions to the current state s
Eliminate cycles
If a deadend is reached: backtrack
Until the initial state is reached or no new states can be
generated (for finite domains)
An Introduction to AI Planning – p. 22
Search Tree for Regression Planning
clear(x)
clear(B)ontable(A)on(B, C)
on(x, A)clear(x’)on(x’, B)clear(A)ontable(A)on(B, C)
on(A, B)on(B, C)
clear(A)clear(B)ontable(A)on(B, C)
clear(B)clear(C)on(B, z’)on(A, B)
clear(B)clear(C)ontable(B)on(A, B)
inconsistent:to fulfill clear(y), y= Bputtable(x)deletes on(x, B)clear(A)
on(A, y)clear(B)on(B, C)
clear(B)clear(C)ontable(B)clear(A)ontable(A)
clear(B)clear(C)on(B, z’’)clear(A)ontable(A)
clear(A)clear(B)on(A, z)on(B, C)
put(A, B)
put(A, B)put(B, C)
put(B, C)
puttable(x) puttable(x’)puttable(A) put(B, C) put(B, C)
will become inconsistentfor z = B
Plan: Path from the initial state (leaf node) to the root (goalstate)
An Introduction to AI Planning – p. 23
Current Approaches
State-based approaches dominate the fieldGraphplan, Sat-Planning
Special aspects:Include (temporal/resource) constraintsPlanning under uncertainty (conformant planning)...
An Introduction to AI Planning – p. 24
Planning vs. Problem Solving
Problem solving:domain specific representations
search algorithms (such as A*) must be adapted toproblem
An Introduction to AI Planning – p. 25
Planning vs. Problem Solving
Problem solving:domain specific representations
search algorithms (such as A*) must be adapted toproblem
Planning:domain independent representation language
general-purpose algorithms for a given language
An Introduction to AI Planning – p. 25
Planning vs. Human Problem SolvingPlanning algorithms are (should be)complete (return a plan, if one exists) andcorrect (terminate with a legal action sequence or reportfailure)
An Introduction to AI Planning – p. 26
Planning vs. Human Problem SolvingPlanning algorithms are (should be)complete (return a plan, if one exists) andcorrect (terminate with a legal action sequence or reportfailure)
For complex problems, large parts of the search treemight be generated until a solution is found.
An Introduction to AI Planning – p. 26
Planning vs. Human Problem SolvingPlanning algorithms are (should be)complete (return a plan, if one exists) andcorrect (terminate with a legal action sequence or reportfailure)
For complex problems, large parts of the search treemight be generated until a solution is found.
Humans typically use greedy search strategies involvingheuristics: try to reach a state which is more similar tothe goal state in each step (experimental data, e.g. Hobbits
and Orcs, Greeno, 1974)↪→ efficient but incomplete(as the General ProblemSolver, Newell & Simon, 1972)
An Introduction to AI Planning – p. 26
Planning vs. Human Problem SolvingHobbits and Orcs (Greeno, 1974)
Subjects have problems with the trans-formation from state (6) to (7). Here 2and not only 1 passenger must be trans-ported back to the left river bank. That is,there must be created a situation whichis further removed from the goal statethan the situation before.
b H H H O
O O b H H O O
H O
b H H O O
H O b
O O
H H H O
b O O O
H H H b H H H O O
O
b
H H H O
O O
b H H H O O O
H H H O Ob
O
H H H
b O O O
H H O O
b H O
H H H O O Ob
(5) (6)
(7) (8)
(9) (10)
(11) (12)
(3) (4)
(2)(1)
An Introduction to AI Planning – p. 26