• Keine Ergebnisse gefunden

Planning and Optimization B2. Progression and Regression Search Malte Helmert and Thomas Keller

N/A
N/A
Protected

Academic year: 2022

Aktie "Planning and Optimization B2. Progression and Regression Search Malte Helmert and Thomas Keller"

Copied!
31
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

B2. Progression and Regression Search

Malte Helmert and Thomas Keller

Universit¨at Basel

October 2, 2019

(2)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Content of this Course

Planning

Classical

Foundations Logic Heuristics Constraints

Probabilistic

Explicit MDPs Factored MDPs

(3)

Introduction

(4)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Search Direction

Search direction

one dimension for classifying search algorithms

forwardsearch from initial state to goal based on progression backwardsearch from goal to initial state based on regression bidirectional search

In this chapter we look into progression and regression planning.

(5)

Reminder: Interface for Heuristic Search Algorithms

Abstract Interface Needed for Heuristic Search Algorithms init() returns initial state

is goal(s) tests ifs is a goal state

succ(s) returns all pairsha,s0iwith s −→a s0 cost(a) returns cost of actiona

h(s) returns heuristic value for states

(6)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Progression

(7)

Planning by Forward Search: Progression

Progression: Computing the successor statesJoKof a state s with respect to an operatoro.

Progression plannersfind solutions by forward search:

start from initial state

iteratively pick a previously generated state and progress it through an operator, generating a new state

solution found when a goal state generated pro: very easy and efficient to implement

(8)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Search Space for Progression

Search Space for Progression

search space for progression in a planning task Π =hV,I,O, γi (search states are world statess of Π;

actions of search space are operatorso ∈O) init() returnsI

is goal(s) tests ifs |=γ

succ(s) returns all pairsho,sJoKi

whereo ∈O ando is applicable ins cost(o) returnscost(o) as defined in Π

h(s) estimates cost froms to γ ( Parts C–F)

(9)

Progression Planning Example

Exampleof a progression search

(10)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Progression Planning Example

Exampleof a progression search

(11)

Progression Planning Example

Exampleof a progression search

(12)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Progression Planning Example

Exampleof a progression search

(13)

Progression Planning Example

Exampleof a progression search

(14)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Progression Planning Example

Exampleof a progression search

(15)

Progression Planning Example

Exampleof a progression search

(16)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Regression

(17)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Forward Search vs. Backward Search

Searching planning tasks in forward vs. backward direction isnot symmetric:

forward search starts from asingle initial state;

backward search starts from a setof goal states

when applying an operator o in a state s in forward direction, there is a unique successor states0;

if we just applied operator o and ended up in states0, there can be several possible predecessor statess

in most natural representation for backward search in planning, each search state corresponds to aset of world states

(18)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Planning by Backward Search: Regression

Regression: Computing the possible predecessor states regr(S0,o) of a set of statesS0 (“subgoal”) given the last operator o

that was applied.

formal definition in next chapter

Regression plannersfind solutions by backward search:

start from set of goal states

iteratively pick a previously generated subgoal (state set) and regress itthrough an operator, generating a new subgoal solution found when a generated subgoal includes initial state pro: can handle many states simultaneously

con: basic operations complicated and expensive

(19)

Search Space Representation in Regression Planners

identify state sets withlogical formulas(again):

each search statecorresponds to aset of world states (“subgoal”)

each search state is represented by a logical formula:

ϕrepresents {s ∈S |s |=ϕ}

many basic search operations like detecting duplicates are NP-complete or coNP-complete

(20)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Search Space for Regression

Search Space for Regression

search space for regression in a planning task Π =hV,I,O, γi (search states are formulasϕdescribing sets of world states;

actions of search space are operatorso ∈O)

init() returnsγ

is goal(ϕ) tests ifI |=ϕ

succ(ϕ) returns all pairsho,regr(ϕ,o)i

whereo ∈O andregr(ϕ,o) is defined cost(o) returnscost(o) as defined in Π

h(ϕ) estimates cost fromI to ϕ( Parts C–F)

(21)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Regression Planning Example (Depth-first Search)

ϕ2=regr(ϕ1,−→)

ϕ3=regr(ϕ2,−→),I |=ϕ3

(22)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Regression Planning Example (Depth-first Search)

γ

ϕ1

ϕ1=regr(γ,−→) ϕ2

ϕ2=regr(ϕ1,−→) ϕ3

ϕ3=regr(ϕ2,−→),I |=ϕ3

(23)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Regression Planning Example (Depth-first Search)

γ ϕ1

ϕ1=regr(γ,−→)

ϕ2=regr(ϕ1,−→)

ϕ3=regr(ϕ2,−→),I |=ϕ3

(24)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Regression Planning Example (Depth-first Search)

γ ϕ1

ϕ1=regr(γ,−→) ϕ2

ϕ2=regr(ϕ1,−→)

ϕ3

ϕ3=regr(ϕ2,−→),I |=ϕ3

(25)

Regression Planning Example (Depth-first Search)

γ ϕ1

ϕ1=regr(γ,−→) ϕ2

ϕ2=regr(ϕ1,−→) ϕ3

ϕ3=regr(ϕ2,−→),I |=ϕ3

(26)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Regression for STRIPS Tasks

(27)

Regression for STRIPS Planning Tasks

Regressionfor STRIPS planning tasksis much simpler than the general case:

Consider subgoal ϕthat is conjunction of atoms a1∧ · · · ∧an (e.g., the original goal γ of the planning task).

First step: Choose an operatoro that deletes no ai. Second step: Remove any atoms added byo fromϕ.

Third step: Conjoinpre(o) toϕ.

Outcome of this is regression ofϕw.r.t. o.

It is again a conjunction of atoms.

optimization: only consider operators adding at least oneai

(28)

Introduction Progression Regression Regression for STRIPS Tasks Summary

STRIPS Regression

Definition (STRIPS Regression)

Letϕ=ϕ1∧ · · · ∧ϕnbe a conjunction of atoms, and leto be a STRIPS operator which adds the atoms a1, . . . ,ak

and deletes the atomsd1, . . . ,dl.

TheSTRIPS regression ofϕwith respect to o is sregr(ϕ,o) :=

(⊥ ifϕi =dj for somei,j pre(o)∧V

({ϕ1, . . . , ϕn} \ {a1, . . . ,ak}) else Note: sregr(ϕ,o) is again a conjunction of atoms, or⊥.

(29)

Does this Capture the Idea of Regression?

For our definition to capture the concept ofregression, it must have the following property:

Regression Property

For all sets of states described by a conjunction of atomsϕ, all statess and all STRIPS operatorso,

s |=sregr(ϕ,o) iff sJoK|=ϕ.

This is indeed true. We do not prove it now because we prove this property for general regression (not just STRIPS) later.

(30)

Introduction Progression Regression Regression for STRIPS Tasks Summary

Summary

(31)

Summary

Progression search proceeds forward from the initial state.

In progression search, the search space is identical to the state space of the planning task.

Regression searchproceeds backwards from the goal.

Each search state corresponds to a set of world states, for example represented by a formula.

Regression is simple forSTRIPS operators.

The theory forgeneral regression is more complex.

This is the topic of the following chapters.

Referenzen

ÄHNLICHE DOKUMENTE

breadth-first search optimal if all action costs equal otherwise no optimality guarantee example:.. remedy: uniform

uniform cost search: expand nodes in order of ascending path costs. I usually as a

space complexity O(bm) if m maximal search depth reached low memory complexity main reason why depth-first search interesting despite its disadvantages.. Depth-first

Like (L)RTDP, MCTS performs trials (also called rollouts) Like Policy Simulation, trials simulate execution of a policy Like other Monte-Carlo methods, Monte-Carlo backups

in terms of different state variables (Boolean or finite domain) individual state variables induce atomic propositions.. a state is a valuation of state variables n Boolean

I forward search from initial state to goal based on progression I backward search from goal to initial state based on regression I bidirectional searchM. In this chapter we look

states: graph vertices transitions: labeled arcs (here: colors instead of labels) initial state: incoming arrow goal states: marked (here: by the dashed ellipse) actions: the

progression: forward from initial state to goal regression: backward from goal states to initial state bidirectional search.. Planning