SlideShare a Scribd company logo
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.ppt
SadagopanS
 
AI_Planning.pdf
AI_Planning.pdfAI_Planning.pdf
AI_Planning.pdf
SUSHMARATHI3
 
CAT Functions and Graphs basics
CAT Functions and Graphs basicsCAT Functions and Graphs basics
CAT Functions and Graphs basics
George 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 drawings
Mathieu Dutour Sikiric
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technical
alpinedatalabs
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache Spark
DB Tsai
 
Scheduling And Htn
Scheduling And HtnScheduling And Htn
Scheduling And Htn
ahmad bassiouny
 
Basic%20Cal%20Final.docx.docx
Basic%20Cal%20Final.docx.docxBasic%20Cal%20Final.docx.docx
Basic%20Cal%20Final.docx.docx
SalwaAbdulkarim1
 
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
 
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
RahulkumarTivarekar1
 
10.1.1.630.8055
10.1.1.630.805510.1.1.630.8055
10.1.1.630.8055
Christian Uldall Pedersen
 
AI Lesson 23
AI Lesson 23AI Lesson 23
AI Lesson 23
Assistant Professor
 
Lesson 23
Lesson 23Lesson 23
Lesson 23
Avijit Kumar
 
Chapter02b
Chapter02bChapter02b
Chapter02b
Tianlu Wang
 
Lec7 deeprlbootcamp-svg+scg
Lec7 deeprlbootcamp-svg+scgLec7 deeprlbootcamp-svg+scg
Lec7 deeprlbootcamp-svg+scg
Ronald Teo
 
Huddersfield
HuddersfieldHuddersfield
Huddersfield
ahmad bassiouny
 
AoK Math
AoK MathAoK Math
AoK Math
david1248
 
AoK Math
AoK MathAoK Math
AoK Math
david1248
 
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
Stavros 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
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technical
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache Spark
 
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
 
AI Lesson 23
AI Lesson 23AI Lesson 23
AI Lesson 23
 
Lesson 23
Lesson 23Lesson 23
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.pdf
RihabBENLAMINE
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
RihabBENLAMINE
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
RihabBENLAMINE
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
RihabBENLAMINE
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptx
RihabBENLAMINE
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
RihabBENLAMINE
 
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
RihabBENLAMINE
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf
RihabBENLAMINE
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdf
RihabBENLAMINE
 
Firebase.pdf
Firebase.pdfFirebase.pdf
Firebase.pdf
RihabBENLAMINE
 
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
RihabBENLAMINE
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
RihabBENLAMINE
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
RihabBENLAMINE
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
RihabBENLAMINE
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
RihabBENLAMINE
 
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
RihabBENLAMINE
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptx
RihabBENLAMINE
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
RihabBENLAMINE
 
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
RihabBENLAMINE
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
RihabBENLAMINE
 

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

办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
uehowe
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
uehowe
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
bseovas
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
ukwwuq
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
xjq03c34
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
cuobya
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
bseovas
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
saathvikreddy2003
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 

Recently uploaded (20)

办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 

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