Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
-
Upload
stavros-vassos -
Category
Technology
-
view
515 -
download
3
description
Transcript of Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
![Page 1: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/1.jpg)
INTRODUCTION TO AI
STRIPS PLANNING
.. and Applications to Video-games!
May 2012Stavros Vassos, University of Athens, Greece [email protected]
![Page 2: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/2.jpg)
2
Lecture 1: Game-inspired competitions for AI research,
AI decision making for non-player characters in games
Lecture 2: STRIPS planning, state-space search
Lecture 3: Planning Domain Definition Language (PDDL),
using an award winning planner to solve Sokoban
Lecture 4: Planning graphs, domain independent
heuristics for STRIPS planning
Lecture 5: Employing STRIPS planning in games:
SimpleFPS, iThinkUnity3D, SmartWorkersRTS
Lecture 6: Planning beyond STRIPS
Course overview
![Page 3: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/3.jpg)
STRIPS planning3
STRIPS! So why do we like this formalism?
![Page 4: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/4.jpg)
STRIPS planning4
STRIPS! So why do we like this formalism?
Simple formalism for representing planning problems
Easy to compute applicable actions
Check whether the list of preconditions is a subset of the
state description: PRECONDITIONS S
Easy to compute the successor states
Add the list of positive effects to the state description and
remove the list of negative effects:S’ = (S / NEGATIVE-EFFECTS) POSITIVE-EFFECTS
Easy to check if the goal is satisfied
Check whether the goal is a subset of the state description:
G S
![Page 5: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/5.jpg)
STRIPS planning5
STRIPS! So why do we like this formalism?
It can already describe difficult and complex problems
(in more challenging domains than the example we saw)
…let’s see how we can solve this kind of problems
![Page 6: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/6.jpg)
STRIPS planning: state-based search6
Finding a solution to the planning problem following
a state-based search
Init( On(Α,Table) On(Β,Table) … )
Goal( On(Α,Β) …)
Action( Move(b,x,y),
PRECONDITIONS: On(b,x) …
EFFECTS: On(b,y) … )
Action( MoveToTable(b,x),
PRECONDITIONS: On(b,x) …
EFFECTS: On(b,Table) …)
![Page 7: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/7.jpg)
STRIPS planning: state-based search7
Finding a solution to the planning problem following
a state-based search
Init( where to start from )
Goal( when to stop searching )
Action( how to generate
the “graph” )
Progression planning: forward state-based search
Regression planning: backward state-based search
![Page 8: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/8.jpg)
88
Start from the initial state
Check if the current state satisfies the
goal
Compute applicable actions to the
current state
Compute the successor states
Pick one of the successor states as the
current state
Repeat until a solution is found or the
state space is exhausted
Progression planning
![Page 9: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/9.jpg)
9
Start from the initial state
Α Β C
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
Progression planning
![Page 10: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/10.jpg)
Progression planning10
Check if the current state satisfies the goal
No
Α Β C
On(Α,Β)On(Β,C)
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
![Page 11: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/11.jpg)
Progression planning11
Compute applicable actions to the current state
Action( Move(b,x,y),
PRECONDITIONS: On(b,x) Clear(b) Clear(y))
Action( MoveToTable(b,x),
PRECONDITIONS: On(b,x) Clear(b))
Α Β C
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
![Page 12: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/12.jpg)
Progression planning12
Compute applicable actions to the current state
Action( Move(b,x,y),
PRECONDITIONS: On(b,x) Clear(b) Clear(y))
Action( MoveToTable(b,x),
PRECONDITIONS: On(b,x) Clear(b))
Move(Β,Table,C)Preconditions:
On(Β,Table)
Clear(Β)
Clear(C)
Applicable action!
Α Β C
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
![Page 13: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/13.jpg)
Progression planning13
Compute applicable actions to the current state
Action( Move(b,x,y),
PRECONDITIONS: On(b,x) Clear(b) Clear(y))
Action( MoveToTable(b,x),
PRECONDITIONS: On(b,x) Clear(b))
Move(Α,Table,Β)
Move(Α,Table,C)
Move(Β,Table,Α)
Move(Β,Table,C)
Move(C,Table,Α)
Move(C,Table,Β)
All these are applicable actions!
Α Β C
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
![Page 14: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/14.jpg)
Progression planning14
Compute applicable actions to the current state
Action( Move(b,x,y),
PRECONDITIONS: On(b,x) Clear(b) Clear(y))
Action( MoveToTable(b,x),
PRECONDITIONS: On(b,x) Clear(b))
Move(Β,Table,Β)Preconditions:
On(Β,Table)
Clear(Β)
This is also an applicable action!
Α Β C
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
![Page 15: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/15.jpg)
Progression planning15
Compute applicable actions to the current state
Action( Move(b,x,y),
PRECONDITIONS: On(b,x) Clear(b) Clear(y))
Action( MoveToTable(b,x),
PRECONDITIONS: On(b,x) Clear(b))
MoveTT(Β,Table)Preconditions:
On(Β,Table)
Clear(Β)
This is also an applicable action!
Α Β C
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
![Page 16: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/16.jpg)
Progression planning16
Compute applicable actions to the current state
Action( Move(b,x,y),
PRECONDITIONS: On(b,x) Clear(b) Clear(y))
Action( MoveToTable(b,x),
PRECONDITIONS: On(b,x) Clear(b))
Move(Α,Table,Α)
Move(Β,Table,Β)
Move(C,Table,C)
MoveTT(Α,Table)
MoveTT(Β,Table)
MoveTT(C,Table)
All these are applicable also actions!
Α Β C
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
![Page 17: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/17.jpg)
Progression planning17
Compute the successor states
Action( Move(b,x,y),EFFECTS: On(b,y)
Clear(x)
On(b,x)
Clear(y) )
Move(Β,Table,C)Effects:
On(Β,C)
Clear(Table)
On(Β,Table)
Clear(C)
Α Β C
Α
Β
C
On(Α,Table)On(Β,Table)On(C,Table)
Clear(Α)Clear(Β)Clear(C)
![Page 18: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/18.jpg)
Progression planning18
Compute the successor states
Α Β C
Α
Β
C
Α
CΒ
Α Β
C
Α
ΒC Α
Β
C
Α
C
Β
Move(Α,Table,C)
Move(Α,Table,Β)
Move(C,Table,Β)
Move(Β,Table,C)
Move(Β,Table,Α)
Move(C,Table,Α)
![Page 19: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/19.jpg)
Progression planning19
Pick one of the successor states as current..
Α Β C
Α
Β
C
Α
CΒ
Α Β
C
Α
ΒC Α
Β
C
Α
C
Β
![Page 20: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/20.jpg)
Progression planning20
..and repeat!
Α Β C
Α
Β
C
Α
CΒ
Α Β
C
Α
ΒC Α
Β
C
Α
C
Β
Α
Β
C
![Page 21: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/21.jpg)
Progression planning21
Pick one of the successor states as current
Α Β C
Α
Β
C
Α
CΒ
Α Β
C
Α
ΒC Α
Β
C
Α
C
Β
Α
Β
C
![Page 22: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/22.jpg)
Progression planning22
Is it guaranteed that progressive planning will find
a solution if one exists?
![Page 23: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/23.jpg)
Progression planning23
Is it guaranteed that progressive planning will find
a solution if one exists?
Given that the state-space is finite (ground atoms, no
function symbols, finite number of constants)..
..Yes! As long as we visit each state only once..
![Page 24: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/24.jpg)
Progression planning24
Pick one of the not-visited successor states as current
Α Β C
Α
Β
C
Α
CΒ
Α Β
C
Α
ΒC Α
Β
C
Α
C
Β
Α
Β
C
![Page 25: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/25.jpg)
Progression planning25
Is it guaranteed that progressive planning will find
a solution if one exists?
Given that the state-space is finite (ground atoms, no
function symbols, finite number of constants)..
..Yes! As long as we visit each state only once..
But it may have to explore the whole state-space
![Page 26: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/26.jpg)
Progression planning26
Α Β C
Α
Β
C
Α
Β
C
Α
C
Β
Α
CΒ
Α
Β
C
Α Β
C
Α
Β
C
Α
ΒC
26
Α
Β
C Α
Β
C
Α
C
Β
Α
C
Β
![Page 27: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/27.jpg)
Progression planning27
Unlike this simple example, in many problems the state
space is actually huge.
Even this simple example becomes challenging if we
consider 100 boxes and 1000s of applicable actions
of the form Move(b,x,y) in each state.
Similar to search problems we can make use of
heuristics that help progression planning pick the most
promising states to investigate first.
![Page 28: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/28.jpg)
28
A* search
Evaluation function f(s) = g(s) + h(s)
g(s): the number of actions needed to reach state s from
the initial state (accurate)
h(s): the number of actions needed to reach a goal state
from state s (estimated)
Use f(s) to order the successor states and pick the
most promising one.
Heuristics for progression planning
![Page 29: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/29.jpg)
29
Consider a heuristic h(s) with the following behavior
Α Β C
Α
Β
C
Α
CΒ
Α Β
C
Α
ΒC Α
Β
C
Α
C
Β
Move(Α,Table,C)
Move(Α,Table,Β)
Move(C,Table,Β)
Move(Β,Table,C)
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1
g(s)=1
g(s)=1
g(s)=1
g(s)=1
g(s)=1
h(s)=2
h(s)=1
h(s)=2
h(s)=1
h(s)=2
h(s)=2
Heuristics for progression planning
![Page 30: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/30.jpg)
30
So why is it different than the usual search problems? E.g., in grid-based problems we could define h(s) using a
“relaxed” distance metric such as Manhattan distance.
Heuristics for progression planning
![Page 31: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/31.jpg)
31
So why is it different than the usual search problems? E.g., in grid-based problems we could define h(s) using a
“relaxed” distance metric such as Manhattan distance.
The action schemas provide valuable information that can be used to specify domain independent heuristic functions!
Moreover they provide a logical specification of
the problem that allows approaches for finding a
solution that are different than search
Heuristics for progression planning
![Page 32: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/32.jpg)
32
Empty list of preconditions
h(s) = number of actions needed to achieve the goal if
we assume that all actions are always applicable
Empty list of negative effects
h(s) = number of actions needed to achieve the goal if
we disregard the negative effects of actions
Planning graphs
Simple example: h(s) = number of literals in the
goal that are missing from s
Heuristics for progression planning
![Page 33: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/33.jpg)
3333
Start from the initial state
Check if the current state satisfies the
goal
Compute applicable actions to the
current state
Compute the successor states
Pick one the most promising of the
successor states as the current state
Repeat until a solution is found or the
state space is exhausted
Heuristics for progression planning
![Page 34: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/34.jpg)
34
Compute the successor states
Α Β C
Α
Β
C
Α
CΒ
Α Β
C
Α
ΒC Α
Β
C
Α
C
Β
Move(Α,Table,C)
Move(Α,Table,Β)
Move(C,Table,Β)
Move(Β,Table,C)
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1
g(s)=1
g(s)=1
g(s)=1
g(s)=1
g(s)=1
h(s)=2
h(s)=1
h(s)=2
h(s)=1
h(s)=2
h(s)=2
Heuristics for progression planning
![Page 35: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/35.jpg)
35
Compute the successor states
Α Β C
Α
Β
C
Α
CΒ
Α
ΒC Α
Β
C
Α
C
Β
Move(Α,Table,C)
Move(Α,Table,Β)
Move(Β,Table,C)
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1
g(s)=1
g(s)=1
g(s)=1
g(s)=1
h(s)=2
h(s)=1
h(s)=1
h(s)=2
h(s)=2Α Β
Cg(s)=1
h(s)=2
Move(C,Table,Β)
Heuristics for progression planning
![Page 36: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/36.jpg)
36
Pick the most promising successor state wrt f(s)
Α Β C
Α
Β
C
Α
CΒ
Α
ΒC Α
Β
C
Α
C
Β
Move(Α,Table,C)
Move(Α,Table,Β)
Move(Β,Table,C)
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1
g(s)=1
g(s)=1
g(s)=1
g(s)=1
h(s)=2
h(s)=1
h(s)=1
h(s)=2
h(s)=2Α Β
Cg(s)=1
h(s)=2
Move(C,Table,Β)
Heuristics for progression planning
![Page 37: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/37.jpg)
37
Compute the successor states
Α Β C
Α
Β
C
Α
CΒ
Α
ΒC Α
Β
C
Α
C
Β
Move(Β,Table,C)
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1 g(s)=1
g(s)=1
g(s)=1
h(s)=2 h(s)=1
h(s)=2
h(s)=2Α Β
Cg(s)=1
h(s)=2
Α
Β
C
Move(C,Table,Α)
g(s)=2
h(s)=1
Move(C,Table,Β)
Move(Α,Table,C)
Heuristics for progression planning
![Page 38: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/38.jpg)
38
Compute the successor states
Α Β C
Α
Β
C
Α
CΒ
Α
ΒC Α
Β
C
Α
C
Β
Move(Β,Table,C)
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1 g(s)=1
g(s)=1
g(s)=1
h(s)=2 h(s)=1
h(s)=2
h(s)=2Α Β
Cg(s)=1
h(s)=2
Α
Β
C
g(s)=2
h(s)=1
Move(C,Table,Β)
Move(Α,Table,C)
Move(C,Table,Α)
Heuristics for progression planning
![Page 39: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/39.jpg)
39
Pick the most promising successor state wrt f(s)
Α Β C
Α
Β
C
Α
CΒ
Α
ΒC Α
Β
C
Α
C
Β
Move(Β,Table,C)
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1 g(s)=1
g(s)=1
g(s)=1
h(s)=2 h(s)=1
h(s)=2
h(s)=2Α Β
Cg(s)=1
h(s)=2
Α
Β
C
g(s)=2
h(s)=1
Move(C,Table,Β)
Move(Α,Table,C)
Move(C,Table,Α)
Heuristics for progression planning
![Page 40: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/40.jpg)
40
Compute the successor states
Α Β C
Α
Β
C
Α
CΒ
Α
ΒC Α
Β
C
Α
C
Β
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1
g(s)=1
g(s)=1
h(s)=2
h(s)=2
h(s)=2Α Β
Cg(s)=1
h(s)=2
Α
Β
C
g(s)=2
h(s)=1
Α
Β
C
g(s)=2
h(s)=0
Move(C,Table,Β)
Move(Α,Table,C)
Move(C,Table,Α)
Move(Α,Table,Β)
Heuristics for progression planning
![Page 41: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/41.jpg)
41
Compute the successor states
Α Β C
Α
Β
C
Α
CΒ
Α
ΒC Α
Β
C
Α
C
Β
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1
g(s)=1
g(s)=1
h(s)=2
h(s)=2
h(s)=2Α Β
Cg(s)=1
h(s)=2
Α
Β
C
g(s)=2
h(s)=1
Α
Β
C
Move(Α,Table,Β)
g(s)=2
h(s)=0
Move(C,Table,Β)
Move(Α,Table,C)
Move(C,Table,Α)
Heuristics for progression planning
![Page 42: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/42.jpg)
42
Pick the most promising successor state wrt f(s)
Α Β C
Α
Β
C
Α
CΒ
Α
ΒC Α
Β
C
Α
C
Β
Move(Β,Table,Α)
Move(C,Table,Α)
g(s)=1
g(s)=1
g(s)=1
h(s)=2
h(s)=2
h(s)=2Α Β
Cg(s)=1
h(s)=2
Α
Β
C
g(s)=2
h(s)=1
Α
Β
C
Move(C,Table,Β)
Move(Α,Table,C)
Move(C,Table,Α)
Heuristics for progression planning
![Page 43: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/43.jpg)
43
Start from the goal as current goal
Check if the initial state satisfies the
current goal
Compute the relevant and consistent
actions for the current goal
Compute the predecessor states
Pick one of the predecessor states as
the current goal
Repeat until a solution is found or the
state space is exhausted
Regression planning
![Page 44: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/44.jpg)
Research in STRIPS planning44
Planning Domain Definition Language (PDDL)
Formal language for specifying planning problems
Formal syntax similar to a programming language
Includes STRIPS and ADL, and many more features
Provides the ground for performing a direct comparison
between planning techniques and evaluating against
classes of problems
![Page 45: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/45.jpg)
Research in STRIPS planning45
Planning Domain Definition Language (PDDL)
International Planning Competition 1998 – today
SAT Plan
TL Plan
FF
BlackBox
SHOP2
TALPlanner
…
Planning problems in
PDDL, e.g., Blocks
world, Storage, Trucks,
…
Direct comparison between
planning techniques! E.g.,
evaluation of heuristics, …
![Page 46: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/46.jpg)
Research in STRIPS planning46
Planning Domain Definition Language (PDDL)
We will see more of PDDL and off-the-shelve planners
in Lecture 3
![Page 47: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/47.jpg)
47
Lecture 1: Game-inspired competitions for AI research,
AI decision making for non-player characters in games
Lecture 2: STRIPS planning, state-space search
Lecture 3: Planning Domain Definition Language (PDDL),
using an award winning planner to solve Sokoban
Lecture 4: Planning graphs, domain independent
heuristics for STRIPS planning
Lecture 5: Employing STRIPS planning in games:
SimpleFPS, iThinkUnity3D, SmartWorkersRTS
Lecture 6: Planning beyond STRIPS
Next lecture
![Page 48: Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2](https://reader033.fdocuments.net/reader033/viewer/2022052906/558cc8a5d8b42a067c8b4718/html5/thumbnails/48.jpg)
Bibliography48
Material
Artificial Intelligence: A Modern Approach 2nd Ed. Stuart Russell,
Peter Norvig. Prentice Hall, 2003 Section 11.2
References
PDDL - The Planning Domain Definition Language. Drew
McDermott, Malik Ghallab, Adele Howe, Craig Knoblock, Ashwin
Ram, Manuela Veloso, Daniel Weld, David Wilkins. Technical
report, Yale Center for Computational Vision and Control, TR-98-
003, 1998.