planes-2a

24
Planificación Lorenzo Mandow Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga

Upload: lupicinio-garcia-ortiz

Post on 09-Dec-2015

212 views

Category:

Documents


0 download

DESCRIPTION

sistemas inteligentes

TRANSCRIPT

Planificación

Lorenzo Mandow

Departamento de Lenguajes y Ciencias de la Computación

Universidad de Málaga

Contenidos

1. Motivación

2. Lenguaje PDDL

Motivación

Planificación: elaboración de secuencias de acciones para alcanzar un objetivo desde una situación dada.

La llamada ‘planificación clásica’ (classical planning), o ‘planificación independiente del dominio’, se refiere a mundos observables, deterministas, conocidos, discretos y de un solo agente.

Se puede abordar mediante búsqueda desde el formalismo del espacio de estados.

Motivación

Las representaciones atómicas deben programarse para cada problema, y no admiten heurísticos generales.

No todos los problemas admiten fácilmente una representación factorizada (CSP).

Una alternativa es una representación estructurada del mundo, en términos de

los objetos que lo componen,

cómo están relacionados.

Motivación

El cálculo de situaciones es un formalismo para planificación.

Emplea la lógica de primer orden para describir las situaciones del mundo, las acciones y sus efectos.

Emplea la demostración automática para generar planes.

Sin embargo es muy ineficiente:

La teoría lógica debe incluir axiomas para describir lo que cambia en el mundo tras cada acción y lo que no cambia.

La demostración por resolución es una búsqueda ciega.

Motivación

El planificador STRIPS (Fikes y Nilsson, 1971) se desarrolló para solucionar el ‘problema del fotograma’ (frame problem):

Empleaba un lenguaje restringido basado en la lógica para representar situaciones y acciones. Con el paso del tiempo evolucionó al lenguaje PDDL (Problem Domain Description Language).

Empleaba un algoritmo específico para razonar sobre dicho lenguaje. Hoy dia existen multitud de algoritmos completos más eficientes.

Supone una vuelta a una representación factorizada.

Motivación

Foto: SRI International

(http://commons.wikimedia.org/wiki/File:SRI_Shakey_with_callouts.jpg)

Contenidos

1. Motivación

2. Lenguaje PDDL ←

Lenguaje PDDL

PDDL (Problem Domain Description Language)

1) Representación de las situaciones del mundo.

2) Representación de las acciones (precondición y efectos).

Lenguaje PDDL

1) Situaciones: conjunciones de átomos de base sin funciones ni negaciones.

A1 A2

Lenguaje PDDL

Objetos: A1, A2, C1, C2, C3, AGP, BCN

Relaciones:

Plane(x) – x es un avión

Airport(x) – x es un aeropuerto

Cargo(x) – x es un cargamento

At(x, a) – el objeto x (avión o cargamento) está en el aeropuerto a y puede cargarse

In(x, p) – el cargamento x está en el avión p

Lenguaje PDDL

Plane(A1)

Cargo(C1) Cargo(C2)

Airport(AGP) Airport(BCN)

At(A1, AGP) At(C1, AGP) At(C2, AGP)

A1

Lenguaje PDDL

En principio, en la descripción de objetivos se permiten variables libres:

At(x, BCN) In(C1, x)

Lenguaje PDDL

Hipótesis:

Mundo cerrado: todo lo que no se enuncia explícitamente es falso.

Nombre diferentes: Cada constante se refiere a un objeto distinto del mundo.

Lenguaje PDDL

2) Acciones: Se representan mediante esquemas:

Un nombre, acompañado de todas las variables del esquema

Una precondición: lista de literales con todas las variables

Una lista de efectos:

Añadir: literales positivos.

Borrar: literales negados.

Lenguaje PDDL

Ejemplo: Fly(p, from, to)

PRECOND:

p p

Lenguaje PDDL

Ejemplo: Fly(p, from, to)

p p

PRECOND: Plane(p), Airport(from), Airport(to), At(p, from)

EFECTS:

Lenguaje PDDL

Ejemplo: Fly(p, from, to)

p p

PRECOND: Plane(p), Airport(from), Airport(to), At(p, from)

EFECTS: At(p, to),

Lenguaje PDDL

Ejemplo: Fly(p, from, to)

p p

PRECOND: Plane(p), Airport(from), Airport(to), At(p, from)

EFECTS: At(p, to), At(p, from)

Lenguaje PDDL

Una acción es aplicable en una situación si su precondición unifica con los literales de la misma:

A1 A2

Ejemplo: Fly(A1, AGP, BCN), Fly(A2, AGP, BCN)

Lenguaje PDDL

Una acción es aplicable en una situación si su precondición unifica con los literales de la misma.

La situación resultante se obtiene:

Copiando los literales de la situación de partida.

Borrando los literales negados de los efectos.

Añadiendo los literales positivos de los efectos.

Lenguaje PDDL

Otras acciones del dominio:

Load(c,p,a) - carga c, avión, p, aeropuerto a

Unload(c,p,a) - “ “ “

Lenguaje PDDL

Action(Load(c,p,a), PRECOND: Cargo(c), Plane(p), Airport(a),

At(c,a), At(p,a)

EFFECT: ¬At(c,a), In(c,p) )

Action(UnLoad(c,p,a), PRECOND: Cargo(c), Plane(p), Airport(a),

In(c,p), At(p,a),

EFFECT: At(c,a), ¬In(c,p) )

Action( Fly(p,from,to), PRECOND: Plane(p), Airport(from) , Airport(to),

At(p,from)

EFFECT: ¬At(p,from), At(p,to) )

Lenguaje PDDL

Estos elementos definen de forma declarativa un espacio de estados.

Se pueden emplear junto con un algoritmo de búsqueda (amplitud, BID, A*, etc.)

Esta rerpesentación declarativa admite también algoritmos heurísticos generales.