SlideShare a Scribd company logo
1 of 22
Download to read offline
Planning and Search
Classical Planning: Planning graphs, Graphplan
Classical Planning: Planning graphs, Graphplan 1
Outline
♦ Propositionalising planning problems
♦ Planning graphs
♦ Heuristics
♦ GraphPlan algorithm
Classical Planning: Planning graphs, Graphplan 2
Propositional planning problems
Both GraphPlan and SATPlan (in the next lecture) apply to propositional
planning problem
How to propositionalise PDDL action schema: replace each action schema
with a set of all its ground (no variables) instances.
For example, replace
Move(b, x, y):
Precond: On(b, x) ∧ Clear(b) ∧ Clear(y)
Effect: On(b, y) ∧ Clear(x) ∧ ¬On(b, x) ∧ ¬Clear(y)
with
Move(A, B, C):
Precond: On(A, B) ∧ Clear(A) ∧ Clear(C)
Effect: On(A, C) ∧ Clear(B) ∧ ¬On(A, B) ∧ ¬Clear(C)
Classical Planning: Planning graphs, Graphplan 3
Move(A, C, B):
Precond: On(A, C) ∧ Clear(A) ∧ Clear(B)
Effect: On(A, B) ∧ Clear(C) ∧ ¬On(A, C) ∧ ¬Clear(B)
Move(B, A, C):
Precond: On(B, A) ∧ Clear(B) ∧ Clear(C)
Effect: On(B, C) ∧ Clear(A) ∧ ¬On(B, A) ∧ ¬Clear(C)
and so on.
Ground fluents can be treated as propositional symbols: On(A, B) as some-
thing like pAB.
Classical Planning: Planning graphs, Graphplan 4
Planning graphs
GraphPlan is an algorithm based on planning graph
Planning graphs are also used as a source of heuristics (an estimate of how
many steps it takes to reach the goal)
Planning graph is an approximation of a complete tree of all possible actions
and their results
Classical Planning: Planning graphs, Graphplan 5
Planning graph 2
Planning graph is organised into levels
Level S0: initial state, consisting of nodes representing each fluent that holds
in S0
Level A0: each ground action that might be applicable in S0
Then alternate Si and Ai
Si contains fluents which could hold at time i, (may be both P and ¬P);
literals may show up too early but never too late
Ai contains actions which could have their preconditions satisfied at i
Classical Planning: Planning graphs, Graphplan 6
Example
Initial state: Have(Cake)
Goal: Have(Cake) ∧ Eaten(Cake)
Eat(Cake):
Precond: Have(Cake)
Effect: ¬Have(Cake) ∧ Eaten(Cake)
Bake(Cake):
Precond: ¬Have(Cake)
Effect: Have(Cake)
Classical Planning: Planning graphs, Graphplan 7
(Incomplete) planning graph example
Classical Planning: Planning graphs, Graphplan 8
Building a planning graphs
In addition to ‘normal’ action, persistence action or no-op (no operation):
one for each fluent, preserves the fluent’s truth.
Mutex or mutual exclusion links depicted by red semicircles mean that actions
cannot occur together
Similarly there are mutex links between fluents.
Build the graph until two consecutive levels are identical; then the graph
levels off.
Classical Planning: Planning graphs, Graphplan 9
Another incomplete planning graph example
Classical Planning: Planning graphs, Graphplan 10
Mutex between actions
Mutex relation holds between two actions at the same level if any of the
following three conditions holds:
♦ Inconsistent effects: one action negates an effect of another. For exam-
ple, Eat(Cake) and persistence for Have(Cake) have inconsistent effects
(¬Have(Cake) and Have(Cake))
♦ Interference: one of the effects of one action is the negation of a precon-
dition of the other. For example Eat(Cake) interferes with the persistence
of Have(Cake) by negating its precondition
♦ Competing needs: one of the preconditions of one action is mutually
exclusive with a precondition of the other. For example, Eat(Cake) has pre-
condition Have(Cake) and Bake(Cake) has precondition of ¬Have(Cake).
Classical Planning: Planning graphs, Graphplan 11
Mutex between fluents
Mutex holds between fluents if:
♦ they are negations of each other, like Have(Cake) and ¬Have(Cake)
♦ each possible pair of actions that could achieve the two literals is mutually
exclusive, for example Have(Cake) and Eaten(Cake) in S1 can only be
achieved by persistence for Have(Cake) and by Eat(Cake) respectively.
(In S2 can use persistence for Eaten(Cake) and Bake(Cake) which are
not mutex).
Classical Planning: Planning graphs, Graphplan 12
Planning graph example
Classical Planning: Planning graphs, Graphplan 13
Size of the planning graph
Polynomial in the size of the problem (unlike a complete search tree, which
is exponential!)
If we have n literals and a actions,
each Si has no more than n nodes and n2
mutex links,
each Ai has no more than a + n nodes (n because of no-ops), (a + n)2
mutex links, and 2(an + n) precondition and effect links.
Hence, a graph with k levels has O(k(a + n)2
) size.
Classical Planning: Planning graphs, Graphplan 14
Using planning graph for heuristic estimation
If some goal literal does not appear in the final level of the graph, the goal
is not achievable
The cost of achieving any goal literal can be estimated by counting the
number of levels before it appears
This heuristic never overestimates
It underestimates because planning graph allows application of actions (in-
cluding incompatible actions) in parallel
Conjunctive goals:
max level heuristic: max level for any goal conjunct (admissible but inaccu-
rate)
set level heuristic: which level they all occur on without mutex links (better,
also admissible)
Classical Planning: Planning graphs, Graphplan 15
FastForward
Example of a planning system using planning graphs for heuristics
FF or FastForward system (Hoffman 2005)
Forward space searcher
Ignore-delete-lists heuristic (see lecture 9) estimated using planning graph
Uses hill-climbing search with this heuristic to find solution
When hits a plateau or local maximum uses iterative deepening to find a
better state or gives up and restarts hill-climbing
Classical Planning: Planning graphs, Graphplan 16
GraphPlan
GraphPlan repeatedly adds a level to a planning graph with Expand-Graph.
Once all the goals show up as non-mutex in the graph, calls Extract-Solution
on the graph to search for a plan.
If that fails, extracts another level.
Classical Planning: Planning graphs, Graphplan 17
GraphPlan algorithm
function GraphPlan(problem) returns solution or failure
graph ← Initial-Planning-Graph(problem)
goals ← Conjuncts(problem.Goal)
loop do
if goals all non-mutex in last level of graph then do
solution ← Extract-Solution(graph,goals, NumLevels(graph)
if solution 6 = failure then return solution
else if No-solution-possible(graph) then return failure
graph ← Expand-Graph(graph,problem)
Classical Planning: Planning graphs, Graphplan 18
Extracting solution
Backward search problem:
The initial state is the last level of the planning graph, Sn, along with the
set of goals
Available actions in Si: any set of conflict-free actions in Ai−1 whose effects
cover the goals in the state. Conflict-free means: no two actions are mutex
and no two of their preconditions are mutex.
The result of applying it is a subset of Si−1 which has as its set of goals the
preconditions of the selected set of actions.
The goal is to reach a state at level S0 such that all the goals are satisfied.
The cost of each action is 1.
Classical Planning: Planning graphs, Graphplan 19
Heuristic
The search may still degenerate to an exponential exploration
Heuristic:
1. Pick the literal with a highest level cost
2. To achieve this literal, pick actions with easiest preconditions (the set of
preconditions which has the smallest max level cost)
Classical Planning: Planning graphs, Graphplan 20
Termination of GraphPlan
The graph will level off (assuming a finite set of literals and actions):
♦ Literals in planning graphs increase monotonically (because of persis-
tence)
♦ Actions increase monotonically (because preconditions don’t go away)
♦ Mutexes decrease monotonically (if two actions are mutex at level t, they
were mutex at all previous levels)
When the graph levels off, if it is missing one of the goal conjuncts or two
of the goals are mutex, solution is impossible and GraphPlan returns failure.
If the graph levels off but Extract-Solution fails to find a solution, we
mey need to expand the graph finitely many times (but this will terminate -
uses additional tricks).
Classical Planning: Planning graphs, Graphplan 21
Next lecture
SATPLan
Complexity of classical planning
Successful classical planning systems
Russell and Norvig 3rd edition chapter 10
Russell and Norvig 2nd edition chapter 11
Classical Planning: Planning graphs, Graphplan 22

More Related Content

Similar to lecture12.pdf

Goal stack planning.ppt
Goal stack planning.pptGoal stack planning.ppt
Goal stack planning.pptSadagopanS
 
CAT Functions and Graphs basics
CAT Functions and Graphs basicsCAT Functions and Graphs basics
CAT Functions and Graphs basicsGeorge Prep
 
Parts of quadratic function and transforming to general form to vertex form a...
Parts of quadratic function and transforming to general form to vertex form a...Parts of quadratic function and transforming to general form to vertex form a...
Parts of quadratic function and transforming to general form to vertex form a...rowenaCARINO
 
Lego like spheres and tori, enumeration and drawings
Lego like spheres and tori, enumeration and drawingsLego like spheres and tori, enumeration and drawings
Lego like spheres and tori, enumeration and drawingsMathieu Dutour Sikiric
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkDB Tsai
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technicalalpinedatalabs
 
Basic%20Cal%20Final.docx.docx
Basic%20Cal%20Final.docx.docxBasic%20Cal%20Final.docx.docx
Basic%20Cal%20Final.docx.docxSalwaAbdulkarim1
 
5HBC: How to Graph Implicit Relations Intro Packet!
5HBC: How to Graph Implicit Relations Intro Packet!5HBC: How to Graph Implicit Relations Intro Packet!
5HBC: How to Graph Implicit Relations Intro Packet!A Jorge Garcia
 
Lec7 deeprlbootcamp-svg+scg
Lec7 deeprlbootcamp-svg+scgLec7 deeprlbootcamp-svg+scg
Lec7 deeprlbootcamp-svg+scgRonald Teo
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Stavros Vassos
 

Similar to lecture12.pdf (20)

Goal stack planning.ppt
Goal stack planning.pptGoal stack planning.ppt
Goal stack planning.ppt
 
AI_Planning.pdf
AI_Planning.pdfAI_Planning.pdf
AI_Planning.pdf
 
CAT Functions and Graphs basics
CAT Functions and Graphs basicsCAT Functions and Graphs basics
CAT Functions and Graphs basics
 
Parts of quadratic function and transforming to general form to vertex form a...
Parts of quadratic function and transforming to general form to vertex form a...Parts of quadratic function and transforming to general form to vertex form a...
Parts of quadratic function and transforming to general form to vertex form a...
 
Lego like spheres and tori, enumeration and drawings
Lego like spheres and tori, enumeration and drawingsLego like spheres and tori, enumeration and drawings
Lego like spheres and tori, enumeration and drawings
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache Spark
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technical
 
Scheduling And Htn
Scheduling And HtnScheduling And Htn
Scheduling And Htn
 
Basic%20Cal%20Final.docx.docx
Basic%20Cal%20Final.docx.docxBasic%20Cal%20Final.docx.docx
Basic%20Cal%20Final.docx.docx
 
5HBC: How to Graph Implicit Relations Intro Packet!
5HBC: How to Graph Implicit Relations Intro Packet!5HBC: How to Graph Implicit Relations Intro Packet!
5HBC: How to Graph Implicit Relations Intro Packet!
 
RPT_AI-06_A_Planning Intro.ppt
RPT_AI-06_A_Planning Intro.pptRPT_AI-06_A_Planning Intro.ppt
RPT_AI-06_A_Planning Intro.ppt
 
10.1.1.630.8055
10.1.1.630.805510.1.1.630.8055
10.1.1.630.8055
 
Lesson 23
Lesson 23Lesson 23
Lesson 23
 
AI Lesson 23
AI Lesson 23AI Lesson 23
AI Lesson 23
 
Chapter02b
Chapter02bChapter02b
Chapter02b
 
Lec7 deeprlbootcamp-svg+scg
Lec7 deeprlbootcamp-svg+scgLec7 deeprlbootcamp-svg+scg
Lec7 deeprlbootcamp-svg+scg
 
Huddersfield
HuddersfieldHuddersfield
Huddersfield
 
AoK Math
AoK MathAoK Math
AoK Math
 
AoK Math
AoK MathAoK Math
AoK Math
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
 

More from RihabBENLAMINE

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfRihabBENLAMINE
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfRihabBENLAMINE
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdfRihabBENLAMINE
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxRihabBENLAMINE
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfRihabBENLAMINE
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfRihabBENLAMINE
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdfRihabBENLAMINE
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdfRihabBENLAMINE
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdfRihabBENLAMINE
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdfRihabBENLAMINE
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptxRihabBENLAMINE
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfRihabBENLAMINE
 

More from RihabBENLAMINE (20)

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptx
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdf
 
Firebase.pdf
Firebase.pdfFirebase.pdf
Firebase.pdf
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdf
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptx
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
 

Recently uploaded

Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of indiaimessage0108
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Lucknow
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...akbard9823
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一3sw2qly1
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 

Recently uploaded (20)

Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICECall Girls Service Dwarka @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SERVICE
Call Girls Service Dwarka @9999965857 Delhi 🫦 No Advance VVIP 🍎 SERVICE
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of india
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja VipCall Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
Call Girls Service Adil Nagar 7001305949 Need escorts Service Pooja Vip
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
Sushant Golf City / best call girls in Lucknow | Service-oriented sexy call g...
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
定制(CC毕业证书)美国美国社区大学毕业证成绩单原版一比一
 
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
sasti delhi Call Girls in munirka 🔝 9953056974 🔝 escort Service-
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 

lecture12.pdf

  • 1. Planning and Search Classical Planning: Planning graphs, Graphplan Classical Planning: Planning graphs, Graphplan 1
  • 2. Outline ♦ Propositionalising planning problems ♦ Planning graphs ♦ Heuristics ♦ GraphPlan algorithm Classical Planning: Planning graphs, Graphplan 2
  • 3. Propositional planning problems Both GraphPlan and SATPlan (in the next lecture) apply to propositional planning problem How to propositionalise PDDL action schema: replace each action schema with a set of all its ground (no variables) instances. For example, replace Move(b, x, y): Precond: On(b, x) ∧ Clear(b) ∧ Clear(y) Effect: On(b, y) ∧ Clear(x) ∧ ¬On(b, x) ∧ ¬Clear(y) with Move(A, B, C): Precond: On(A, B) ∧ Clear(A) ∧ Clear(C) Effect: On(A, C) ∧ Clear(B) ∧ ¬On(A, B) ∧ ¬Clear(C) Classical Planning: Planning graphs, Graphplan 3
  • 4. Move(A, C, B): Precond: On(A, C) ∧ Clear(A) ∧ Clear(B) Effect: On(A, B) ∧ Clear(C) ∧ ¬On(A, C) ∧ ¬Clear(B) Move(B, A, C): Precond: On(B, A) ∧ Clear(B) ∧ Clear(C) Effect: On(B, C) ∧ Clear(A) ∧ ¬On(B, A) ∧ ¬Clear(C) and so on. Ground fluents can be treated as propositional symbols: On(A, B) as some- thing like pAB. Classical Planning: Planning graphs, Graphplan 4
  • 5. Planning graphs GraphPlan is an algorithm based on planning graph Planning graphs are also used as a source of heuristics (an estimate of how many steps it takes to reach the goal) Planning graph is an approximation of a complete tree of all possible actions and their results Classical Planning: Planning graphs, Graphplan 5
  • 6. Planning graph 2 Planning graph is organised into levels Level S0: initial state, consisting of nodes representing each fluent that holds in S0 Level A0: each ground action that might be applicable in S0 Then alternate Si and Ai Si contains fluents which could hold at time i, (may be both P and ¬P); literals may show up too early but never too late Ai contains actions which could have their preconditions satisfied at i Classical Planning: Planning graphs, Graphplan 6
  • 7. Example Initial state: Have(Cake) Goal: Have(Cake) ∧ Eaten(Cake) Eat(Cake): Precond: Have(Cake) Effect: ¬Have(Cake) ∧ Eaten(Cake) Bake(Cake): Precond: ¬Have(Cake) Effect: Have(Cake) Classical Planning: Planning graphs, Graphplan 7
  • 8. (Incomplete) planning graph example Classical Planning: Planning graphs, Graphplan 8
  • 9. Building a planning graphs In addition to ‘normal’ action, persistence action or no-op (no operation): one for each fluent, preserves the fluent’s truth. Mutex or mutual exclusion links depicted by red semicircles mean that actions cannot occur together Similarly there are mutex links between fluents. Build the graph until two consecutive levels are identical; then the graph levels off. Classical Planning: Planning graphs, Graphplan 9
  • 10. Another incomplete planning graph example Classical Planning: Planning graphs, Graphplan 10
  • 11. Mutex between actions Mutex relation holds between two actions at the same level if any of the following three conditions holds: ♦ Inconsistent effects: one action negates an effect of another. For exam- ple, Eat(Cake) and persistence for Have(Cake) have inconsistent effects (¬Have(Cake) and Have(Cake)) ♦ Interference: one of the effects of one action is the negation of a precon- dition of the other. For example Eat(Cake) interferes with the persistence of Have(Cake) by negating its precondition ♦ Competing needs: one of the preconditions of one action is mutually exclusive with a precondition of the other. For example, Eat(Cake) has pre- condition Have(Cake) and Bake(Cake) has precondition of ¬Have(Cake). Classical Planning: Planning graphs, Graphplan 11
  • 12. Mutex between fluents Mutex holds between fluents if: ♦ they are negations of each other, like Have(Cake) and ¬Have(Cake) ♦ each possible pair of actions that could achieve the two literals is mutually exclusive, for example Have(Cake) and Eaten(Cake) in S1 can only be achieved by persistence for Have(Cake) and by Eat(Cake) respectively. (In S2 can use persistence for Eaten(Cake) and Bake(Cake) which are not mutex). Classical Planning: Planning graphs, Graphplan 12
  • 13. Planning graph example Classical Planning: Planning graphs, Graphplan 13
  • 14. Size of the planning graph Polynomial in the size of the problem (unlike a complete search tree, which is exponential!) If we have n literals and a actions, each Si has no more than n nodes and n2 mutex links, each Ai has no more than a + n nodes (n because of no-ops), (a + n)2 mutex links, and 2(an + n) precondition and effect links. Hence, a graph with k levels has O(k(a + n)2 ) size. Classical Planning: Planning graphs, Graphplan 14
  • 15. Using planning graph for heuristic estimation If some goal literal does not appear in the final level of the graph, the goal is not achievable The cost of achieving any goal literal can be estimated by counting the number of levels before it appears This heuristic never overestimates It underestimates because planning graph allows application of actions (in- cluding incompatible actions) in parallel Conjunctive goals: max level heuristic: max level for any goal conjunct (admissible but inaccu- rate) set level heuristic: which level they all occur on without mutex links (better, also admissible) Classical Planning: Planning graphs, Graphplan 15
  • 16. FastForward Example of a planning system using planning graphs for heuristics FF or FastForward system (Hoffman 2005) Forward space searcher Ignore-delete-lists heuristic (see lecture 9) estimated using planning graph Uses hill-climbing search with this heuristic to find solution When hits a plateau or local maximum uses iterative deepening to find a better state or gives up and restarts hill-climbing Classical Planning: Planning graphs, Graphplan 16
  • 17. GraphPlan GraphPlan repeatedly adds a level to a planning graph with Expand-Graph. Once all the goals show up as non-mutex in the graph, calls Extract-Solution on the graph to search for a plan. If that fails, extracts another level. Classical Planning: Planning graphs, Graphplan 17
  • 18. GraphPlan algorithm function GraphPlan(problem) returns solution or failure graph ← Initial-Planning-Graph(problem) goals ← Conjuncts(problem.Goal) loop do if goals all non-mutex in last level of graph then do solution ← Extract-Solution(graph,goals, NumLevels(graph) if solution 6 = failure then return solution else if No-solution-possible(graph) then return failure graph ← Expand-Graph(graph,problem) Classical Planning: Planning graphs, Graphplan 18
  • 19. Extracting solution Backward search problem: The initial state is the last level of the planning graph, Sn, along with the set of goals Available actions in Si: any set of conflict-free actions in Ai−1 whose effects cover the goals in the state. Conflict-free means: no two actions are mutex and no two of their preconditions are mutex. The result of applying it is a subset of Si−1 which has as its set of goals the preconditions of the selected set of actions. The goal is to reach a state at level S0 such that all the goals are satisfied. The cost of each action is 1. Classical Planning: Planning graphs, Graphplan 19
  • 20. Heuristic The search may still degenerate to an exponential exploration Heuristic: 1. Pick the literal with a highest level cost 2. To achieve this literal, pick actions with easiest preconditions (the set of preconditions which has the smallest max level cost) Classical Planning: Planning graphs, Graphplan 20
  • 21. Termination of GraphPlan The graph will level off (assuming a finite set of literals and actions): ♦ Literals in planning graphs increase monotonically (because of persis- tence) ♦ Actions increase monotonically (because preconditions don’t go away) ♦ Mutexes decrease monotonically (if two actions are mutex at level t, they were mutex at all previous levels) When the graph levels off, if it is missing one of the goal conjuncts or two of the goals are mutex, solution is impossible and GraphPlan returns failure. If the graph levels off but Extract-Solution fails to find a solution, we mey need to expand the graph finitely many times (but this will terminate - uses additional tricks). Classical Planning: Planning graphs, Graphplan 21
  • 22. Next lecture SATPLan Complexity of classical planning Successful classical planning systems Russell and Norvig 3rd edition chapter 10 Russell and Norvig 2nd edition chapter 11 Classical Planning: Planning graphs, Graphplan 22