• Keine Ergebnisse gefunden

Planning and Optimization A2. What is Planning? Gabriele R¨oger and Thomas Keller

N/A
N/A
Protected

Academic year: 2022

Aktie "Planning and Optimization A2. What is Planning? Gabriele R¨oger and Thomas Keller"

Copied!
36
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

A2. What is Planning?

Gabriele R¨oger and Thomas Keller

Universit¨at Basel

September 19, 2018

(2)

Content of this Course

Planning

Classical

Tasks Progression/

Regression Complexity Heuristics

Probabilistic

MDPs Uninformed Search

Heuristic Search Monte-Carlo

Methods

(3)

Before We Start. . .

today: a very high-level introduction to planning

our goal: give you a little feeling what planning is about preface to the actual course

“actual” content (beginning on October 1) will be mathematically formal and rigorous

You can ignore this chapter when preparing for the exam.

(4)

Planning

(5)

General Problem Solving

Wikipedia: General Problem Solver

General Problem Solver (GPS) was a computer program created in 1959 by Herbert Simon, J.C. Shaw, and Allen Newell

intended to work as a universal problem solver machine.

Any formalized symbolic problem can be solved, in principle, by GPS. [. . . ]

GPS was the first computer program which separated its

knowledge of problems (rules represented as input data) from its strategy of how to solve problems (a generic solver engine).

these days called “domain-independent automatedplanning”

this is what the course is about

(6)

So What is Domain-Independent Automated Planning?

Automated Planning (Pithy Definition)

“Planning is the art and practice of thinking before acting.”

— Patrik Haslum Automated Planning (More Technical Definition)

“Selecting a goal-leading course of action based on a high-level description of the world.”

— J¨org Hoffmann

Domain-Independence of Automated Planning

Createone planning algorithm that performs sufficiently well onmanyapplication domains (including future ones).

(7)

General Perspective on Planning

(8)

General Perspective on Planning

(9)

General Perspective on Planning

(10)

Example: Earth Observation

satellite takes images of patches on Earth useweather forecast to optimize probability of high-quality images

(11)

Example: Termes

Harvard TERMES robots, based on termites.

(12)

Example: Cybersecurity

CALDERA automated adversary emulation system

(13)

Example: Intelligent Greenhouse

photo cLemnaTec GmbH

(14)

Example: Red-finned Blue-eye

Picture by Iadine Chad`es

Red-finned Blue-eye population threatened by Gambusia springsconnected probabilistically during rain season find strategy to saveRed-finned Blue-eye from extinction

(15)

Classical Planning

(16)

Probabilistic Planning

(17)

Model-based vs. Data-driven Approaches

Model-based approaches know the

“inner-workings” of the world

→ reasoning

Data-drivenapproaches rely only on collected data from a black-box world

→learning

We concentrate on model-based approaches.

(18)

Planning Tasks

input to a planning algorithm: planning task initial state of the world

actions that change the state goal to be achieved

output of a planning algorithm:

plan(classical setting)

sequence of actions that takes initial state to a goal state policy(probabilistic setting)

function that returns for each state the action to take Why different concepts?

formal definitions later in the course

(19)

Planning Task Examples

(20)

Example: Intelligent Greenhouse

photo cLemnaTec GmbH

Demo

$ ls classical/demo/ipc/scanalyzer-08-strips

(21)

Example: FreeCell

image credits: GNOME Project (GNU General Public License)

Demo Material

$ ls classical/demo/ipc/freecell

(22)

Many More Examples

Demo

$ ls classical/demo/ipc agricola-opt18-strips agricola-sat18-strips airport

airport-adl assembly

barman-mco14-strips barman-opt11-strips barman-opt14-strips barman-sat11-strips barman-sat14-strips blocks

caldera-opt18-adl . . .

(most) benchmarks of planning competitions IPC 1998–2018

(23)

How Hard is Planning?

(24)

Classical Planning as State-Space Search

much more on this later in the course

(25)

Is Planning Difficult?

Classical planning is computationally challenging:

number of states growsexponentially with description size when using (propositional) logic-based representations provably hard (PSPACE-complete)

we prove this later in the course Problem sizes:

Seven Bridges of K¨onigsberg: 64 reachable states Rubik’s Cube: 4.325·1019 reachable states

consider 2 billion/second 1 billion years

standard benchmarks: some with >10200 reachable states

(26)

Getting to Know a Classical Planner

(27)

Getting to Know a Planner

We now play around a bit with a planner and its input:

look at problem formulation

run a planner(= planning system/planning algorithm) validateplans found by the planner

(28)

Planner: Fast Downward

Fast Downward

We use theFast Downwardplanner in this course

because we know it well (developed by our research group) because it implements many search algorithms and heuristics because it is the classical planner most commonly used as a basis for other planners these days

http://www.fast-downward.org

(29)

Validator: VAL

VAL

We use theVAL plan validation tool (Fox, Howey & Long) to independently verify that the plans we generate are correct.

very useful debugging tool

https://github.com/KCL-Planning/VAL

Because of bugs/limitations of VAL, we will also occasionally use another validator called INVAL (by Patrik Haslum).

(30)

Illustrating Example: The Seven Bridges of K¨ onigsberg

image credits: GNOME Project (GNU General Public License)

Demo

$ ls classical/demo/koenigsberg

(31)

Planning Task Examples How Hard is Planning? Getting to Know a Classical Planner Summary

Trying to Solve the Problem

Demo

$ cd classical/demo

$ less koenigsberg/bridges.pddl

$ less koenigsberg/euler-koenigsberg.pddl

$ ./fast-downward.py \

koenigsberg/bridges.pddl \

koenigsberg/euler-koenigsberg.pddl \ --heuristic "h=ff()" \

--search "eager_greedy([h],preferred=[h])"

(32)

Trying to Solve the Problem

Demo

$ cd classical/demo

$ less koenigsberg/bridges.pddl

$ less koenigsberg/euler-koenigsberg.pddl

$ ./fast-downward.py \

koenigsberg/bridges.pddl \

koenigsberg/euler-koenigsberg.pddl \ --heuristic "h=ff()" \

--search "eager_greedy([h],preferred=[h])"

Famous unsolvable problem

(33)

Variation: Allow Reusing Bridges

Demo

$ meld koenigsberg/bridges.pddl \

koenigsberg/bridges-modified.pddl

$ ./fast-downward.py \

koenigsberg/bridges-modified.pddl \ koenigsberg/euler-koenigsberg.pddl \ --heuristic "h=ff()" \

--search "eager_greedy([h],preferred=[h])"

. . .

$ validate koenigsberg/bridges-modified.pddl \ koenigsberg/eukler-koenigsberg.pddl \ sas_plan

. . .

(34)

Variation: Modern Koenigsberg

Demo

$ meld koenigsberg/euler-koenigsberg.pddl \ koenigsberg/modern-koenigsberg.pddl . . .

solvable with original problem definition?

(35)

Summary

(36)

Summary

planning= thinking before acting major subarea of Artificial Intelligence

domain-independent planning = general problem solving classical planning= the “easy case”

(deterministic, fully observable etc.) still hard enough!

PSPACE-complete because of huge number of states probabilistic planningconsiders stochastic action outcomes and exogenous events.

Referenzen

ÄHNLICHE DOKUMENTE

Keller (Universit¨ at Basel) Planning and Optimization September 19, 2018 2 / 34.. Content of

PDDL: Planning Domain Definition Language PDDL is the standard language used in practice to describe planning tasks. descriptions in (restricted) predicate logic instead

Delete relaxation is a simplification in the sense that it is never harder to solve a relaxed task than the original one. Delete-relaxed tasks have a

C3.1 Optimal Relaxed Plans C3.2 AND/OR Graphs C3.3 Forced Nodes?. C3.4 Most/Least Conservative Valuations

If n is a node in an AND/OR graph that is forced true, then this can be derived by a sequence of applications of Rule T-(∧) and Rule

Coming up with good abstractions automatically is the main research challenge when applying abstraction heuristics

Formally, pattern database heuristics are abstraction heuristics induced by a particular class of abstractions called projections.

The objective value of an integer program that minimizes this cost subject to the flow constraints is a lower bound on the plan cost (i.e., an admissible heuristic estimate)..