Introducci ´on
Planificaci ´on Autom ´atica
Grupo PLG
Universidad Carlos III de Madrid
Introducci ´on
Indice
1 Introducci ´on
Concepto de Planificaci ´on Aplicaciones
Representaci ´on B ´usqueda
Introducci ´on
Indice
1 Introducci ´on
Concepto de Planificaci ´on Aplicaciones
Introducci ´on
Concepto de Planificaci ´on
¿Qu ´e es planificaci ´on?
Empresarios: establecimiento de planes de la empresa Abogados: establecimiento de planes de defensa del cliente
Industriales: establecimiento de planes de movimiento de robots
Arquitectos: establecimiento de planes de dise ˜no de edificios
Inform ´aticos: establecimiento de planes de desarrollo del sistema
Telecomunicaciones: establecimiento de planes de conexi ´on
Ej ´ercito: establecimiento de planes de ataque/defensa Log´ıstica de transportes: establecimiento de planes para llevar objetos/sujetos de un sitio a otro
Introducci ´on
Concepto de Planificaci ´on
¿Qu ´e tienen en com ´un?
B ´usqueda en un espacio de problemas
Estado o situaci ´on: descripci ´on instant ´anea
Acci ´on u Operador: transformaci ´on de un estado en otro
Estado inicial: situaci ´on de partida
Objetivo o meta: descripci ´on de condiciones que se tienen que dar para considerar por terminado el proceso
Plan: secuencia de operadores que permiten pasar del estado inicial a un estado en el que se cumplan los objetivos
Introducci ´on
Concepto de Planificaci ´on
¿Qu ´e es la planificaci ´on?
Planificaci ´on
Dados:
un modelo del dominio (lenguaje PDDL): conjunto de acciones
un problema: un estado inicial, un conjunto de metas, una m ´etrica
Obtener: un conjunto ordenado de acciones que consigue las metas desde el estado inicial
(intentando optimizar la m ´etrica)
Introducci ´on
Concepto de Planificaci ´on
Planificaci ´on autom ´atica
G1, G2 ... Gi
I1,I2...Im A1, A2 ..Aj
Sn
An A1
SO
G1, G2 ... Gi
SOLUTION Plan=A1, A2, ...An
ARTIFICIAL INTELLIGENCE PLANNING
PROBLEM DOMAIN
Initial State Goals Actions and states
S1
I1, I2 ... Im ...
PSPACE-COMPLETE
Introducci ´on
Concepto de Planificaci ´on
Planificaci ´on autom ´atica
G1, G2 ... Gi
I1,I2...Im A1, A2 ..Aj
Sn
An A1
SO
G1, G2 ... Gi
SOLUTION Plan=A1, A2, ...An
ARTIFICIAL INTELLIGENCE PLANNING
PROBLEM DOMAIN
Initial State Goals Actions and states
S1
I1, I2 ... Im ...
PSPACE-COMPLETE
HEURISTICS
Introducci ´on
Concepto de Planificaci ´on
Planificaci ´on autom ´atica
G1, G2 ... Gi
I1,I2...Im A1, A2 ..Aj
Sn
An A1
SO
G1, G2 ... Gi
SOLUTION Plan=A1, A2, ...An
ARTIFICIAL INTELLIGENCE PLANNING
PROBLEM DOMAIN
Initial State Goals Actions and states
S1
I1, I2 ... Im ...
PSPACE-COMPLETE
Introducci ´on
Concepto de Planificaci ´on
Acciones en el dominio de los Rovers
(:action navigate
:parameters (?x - rover ?y - waypoint ?z - waypoint) :precondition (and (can_traverse ?x ?y ?z)
(available ?x) (at ?x ?y) (visible ?y ?z) (>= (energy ?x) 8)) :effect (and (decrease (energy ?x) 8)
(not (at ?x ?y)) (at ?x ?z)))
Introducci ´on
Concepto de Planificaci ´on
Ejemplo de soluci ´on
Solution:
1: (navigate rover1 waypoint2 waypoint1) [1] 2: (sample_soil rover0 rover0store waypoint3) [1] 3: (sample_rock rover1 rover1store waypoint1) [1] 4: (calibrate rover1 camera0 objective0 waypoint1) [1]
5: (take_image rover1 waypoint1 objective0 camera0 high_res) [1] 6: (communicate_soil_data rover0 general waypoint3
waypoint3 waypoint2) [1] 7: (communicate_rock_data rover1 general waypoint1 waypoint1 waypoint2) [1]
Introducci ´on
Concepto de Planificaci ´on
¿Qu ´e es planificaci ´on?
Scheduling
Dados:
un conjunto de actividades (acciones)
algunas restricciones sobre la precedencia, aspectos temporales o de utilizaci ´on de recursos
Obtener: una asignaci ´on temporal y de recursos a las actividades
Introducci ´on
Concepto de Planificaci ´on
Ejemplo de salida
[0,5] (navigate rover1 waypoint2 waypoint1) [10,40] [10,45] (sample_soil rover0 rover0store waypoint3) [5,10] [10,45] (sample_rock rover1 rover1store waypoint1) [10,20] [20,65] (calibrate rover1 camera0 objective0 waypoint1) [2,5] [22,70] (take_image rover1 waypoint1 objective0
camera0 high_res) [2,5] [24,75] (communicate_soil_data rover0 general waypoint3
waypoint3 waypoint2) [5,20] [24,75] (communicate_rock_data rover1 general waypoint1
waypoint1 waypoint2) [5,20]
Introducci ´on
Concepto de Planificaci ´on
Una historia de la planificaci ´on
1950 1960 1970 19801980 1990 2000 Planners
Learning Applications
Introducci ´on
Concepto de Planificaci ´on
¿C ´omo planificamos?
De m ´ultiples formas
En funci ´on de los fines (metas) y los medios (operadores) Descomponiendo problemas en subproblemas
Basado en la experiencia
Reactivamente
Entre varios agentes
Introducci ´on
Concepto de Planificaci ´on
Aproximaciones a la planificaci ´on
Manual: herramientas que facilitan la labor (IMENDIO,
PROJECT)
Dependiente del dominio: programar para cada dominio un planificador
Independiente del dominio: funcionan en todos los dominios
Introducci ´on
Concepto de Planificaci ´on
Algunas consideraciones
Son representables por un grafo: estados como nodos, acciones y eventos como arcos
Pueden ser deterministas o no deterministas Formas de definir objetivos
subconjunto de metas
metas que no pueden ser ciertas en ning ´un momento y otras que deben ser ciertas siempre
funci ´on de utilidad con recompensas y pagos (maximizaci ´on o minimizaci ´on)
Introducci ´on
Concepto de Planificaci ´on
Arquitectura cl ´asica
Entorno
actuadores sensores
Controlador Reacción
Planificación Sentimientos Comportamiento social
Aprendizaje
Localización y planificación de
Comunicación
trayectorias
Introducci ´on
Concepto de Planificaci ´on
Arquitectura cl ´asica
Entorno
actuadores sensores
Controlador Reacción Planificación
Sentimientos Comportamiento social
Aprendizaje
Localización y planificación de
Comunicación
Introducci ´on
Concepto de Planificaci ´on
Arquitectura cl ´asica
Entorno
actuadores sensores
Controlador Reacción Planificación Sentimientos
Comportamiento social
Aprendizaje
Localización y planificación de
Comunicación
trayectorias
Introducci ´on
Concepto de Planificaci ´on
Arquitectura cl ´asica
Entorno
actuadores sensores
Controlador Reacción Planificación Sentimientos Comportamiento social
Aprendizaje
Localización y planificación de
Comunicación
Introducci ´on
Concepto de Planificaci ´on
Arquitectura cl ´asica
Entorno
actuadores sensores
Controlador Reacción Planificación Sentimientos Comportamiento social
Aprendizaje
Localización y planificación de
Comunicación
trayectorias
Introducci ´on
Concepto de Planificaci ´on
Suposiciones iniciales
Conjunto de estados finito
Completamente observable
Determinista
Est ´atico
Metas restringidas
Planes secuenciales
Tiempo impl´ıcito
Introducci ´on
Concepto de Planificaci ´on
Algunas cuestiones dif´ıciles
Nuestra visi ´on del mundo es incompleta: racionalidad limitada
El mundo cambia constantemente: dinamismo
Las acciones tardan en ejecutarse: razonamiento temporal Nuestras metas son contradictorias: dependencia entre metas
Nuestro modelo del mundo falla muchas veces: incertidumbre
Los planes no siempre son v ´alidos:ejecuci ´on y replanificaci ´on
No todos los planes sonbuenos:calidad
Nos adaptamos al mundo: aprendizaje Tardamos mucho en aprender: aprendizaje
La planificaci ´on y la filosof´ıa: creencias, intenciones y deseos
Introducci ´on
Concepto de Planificaci ´on
Clasificaci ´on de t ´ecnicas de planificaci ´on
Planificaci ´on determinista:
entorno completamente conocido
no hay realimentaci ´on sobre ejecuci ´on de acciones Enfoques: planificaci ´on cl ´asica
Planificaci ´on probabil´ıstica:
entorno completamente, donde acciones pueden producir diferentes estados determinados por una distribuci ´on probabil´ıstica
Enfoques: combinaci ´on de planificaci ´on determinista y replanificaci ´on, extender planificaci ´on cl ´asica y resolver Markov Decision Processes (MDPs)
Introducci ´on
Concepto de Planificaci ´on
El mundo de los bloques
Un conjunto de bloques, una mesa, y un brazo de un robot
Todos los bloques son iguales de tama ˜no, forma y color, diferenci ´andose en el nombre
La mesa tiene extensi ´on ilimitada
Cada bloque puede estar encima de la mesa, encima de un s ´olo bloque, o sujeto por el brazo del robot
El brazo de robot s ´olo puede sujetar un bloque cada vez
Resolver problemas supone pasar de una configuraci ´on (estado) inicial a un estado en el que sean ciertas unas metas
C B
C
B A
D A
Estado inicial Metas
Introducci ´on
Concepto de Planificaci ´on
La log´ıstica de transportes
Ciudades, con aeropuertos y oficinas de correos Aviones que pueden volar entre los aeropuertos
Camiones que s ´olo pueden llevar paquetes dentro de las ciudades
Introducci ´on
Concepto de Planificaci ´on
Otros dominios
Competiciones de planificaci ´on: desde 1998:
http://icaps-conference.org Aplicaciones reales:
DeepSpace One Spirit+Opportunity Gesti ´on de incendios Gesti ´on de ascensores UAV de vigilancia (WITAS) Bridge
Introducci ´on
Aplicaciones
Introducci ´on
Aplicaciones
Ahora (Kanna Rajan, NASA)
GS,SITURN,490UA,BOTH,96-355/03:42:00.000;
CMD,7GYON, 490UA412A4A,BOTH, 96-355/03:47:00:000, ON; CMD,7MODE, 490UA412A4B,BOTH, 96-355/03:47:02:000, INT; CMD,6SVPM, 490UA412A6A,BOTH, 96-355/03:48:30:000, 2; CMD,7ALRT, 490UA412A4C,BOTH, 96-355/03:50:32:000, 6;
CMD,7SAFE, 490UA412A4D,BOTH, 96-355/03:52:00:000, UNSTOW; CMD,6ASSAN,490UA412A6B,BOTH, 96-355/03:56:08:000, GV,153,IMM,231,
GV,153; CMD,7VECT, 490UA412A4E,BOTH, 96-355/03:56:10.000, 0,191.5,6.5,
0.0,0.0,0.0, 96-350/
00:00:00.000,MVR; SEB,SCTEST, 490UA412A23A,BOTH,96-355/03:56:12.000, SYS1,NPERR; CMD,7TURN, 490UA412A4F,BOTH, 96-355/03:56:14.000, 1,MVR;
MISC,NOTE, 490UA412A99A,, 96-355/04:00:00.000, ,START OF TURN;
Introducci ´on
Aplicaciones
Sat ´elites
Hispasat: mantenaince operations
DS1: operations planning
Future: constellations of satellites Galileo
Introducci ´on
Aplicaciones
Operaciones militares
Introducci ´on
Aplicaciones
Introducci ´on
Aplicaciones
Secuencias de control en plantas industriales
Introducci ´on
Aplicaciones
Introducci ´on
Aplicaciones
Servicios Web
Web Metas
Estado inicial
Preferencias
Dominio
Introducci ´on
Aplicaciones
Introducci ´on
Aplicaciones
Educaci ´on.
ADAPTAPLANADAPTAPLAN Planificador IMS-LD Sdnsald fdsfds Dsjadkfdsfds Dsadsafsdfds Sdnsaldfdsfds Dsjadkdfsfds dsadsacdcdsfdsfd Sdnsald fdsfds Dsjadkfdsfds Dsadsafsdfds Sdnsaldfdsfds Dsjadkdfsfds dsadsacdcdsfdsfd Sdnsald fdsfds Dsjadkfdsfds Dsadsafsdfds Sdnsaldfdsfds Dsjadkdfsfds dsadsacdcdsfdsfd IMS-MD,... IMS-MD,... Objetos de Aprendizaje, Metas, Recursos, ...
Introducci ´on
Aplicaciones
Introducci ´on
Aplicaciones
Juegos de ordenador
Introducci ´on
Aplicaciones
Introducci ´on
Aplicaciones
Y tambi ´en en los juegos
Introducci ´on
Aplicaciones
Introducci ´on
Representaci ´on
Representaci ´on en planificaci ´on
Para que el ordenador pueda resolver problemas, hace falta decirle qu ´e tiene que resolver en alg ´unlenguaje(al igual que a nosotros)
Existen muchas formas de suministrar esa informaci ´on
La m ´as empleada en planificaci ´on autom ´atica es lal ´ogica de predicados
As´ı se representan los estados y los operadores
La l ´ogica de predicados permite representar las
cuestiones ciertas o falsas del mundo mediante: t ´erminos,
predicados,conectivas, ycuantificadores
No hay una representaci ´on ´unica y v ´alida; cada persona representa los dominios de forma diferente
Introducci ´on
Representaci ´on
Representaci ´on de los estados
Los estados se representan definiendo un conjunto de predicados
en(objeto/veh´ıculo,lugar), dentro(objeto,veh´ıculo),
en-ciudad(lugar,ciudad)
y tipos
objeto(x), veh´ıculo(x)={avi´on(x),cami´on(x)},
Introducci ´on
Representaci ´on
Representaci ´on de los estados
Cada estado se representa por unaconjunci ´on de predicados instanciados
en(objeto1,aeropuerto1),en(avi´on1,aeropuerto1),
en(cami´on1,aeropuerto1),en(cami´on2,oficina-correos2),...
Normalmente, se supone que lo que no aparece expl´ıcitamente representado en un estado es falso:
suposici ´on del mundo cerrado
en(objeto1,x) ∀x 6=aeropuerto1
Introducci ´on
Representaci ´on
Estados en el mundo de los bloques
Se podr´ıan utilizar los siguientes predicados:
encima(x,y): el bloquexest ´a encima dely
en-mesa(x): el bloquexest ´a encima de la mesa libre(x): el bloquexno tiene ning ´un bloque encima sujeto(x): el brazo del robot tiene cogido al bloquex
brazo-libre: el brazo del robot no tiene cogido a ning ´un bloque
Estado inicial:
encima(A,B),encima(B,D),en-mesa(D), en-mesa(C),libre(A),libre(C),brazo-libre
Metas: en-mesa(A),encima(C,B)
C B C B A D A
Introducci ´on
Representaci ´on
Estados en el mundo de los bloques
Se podr´ıan utilizar los siguientes predicados:
encima(x,y): el bloquexest ´a encima dely
en-mesa(x): el bloquexest ´a encima de la mesa libre(x): el bloquexno tiene ning ´un bloque encima sujeto(x): el brazo del robot tiene cogido al bloquex
brazo-libre: el brazo del robot no tiene cogido a ning ´un bloque
Estado inicial:
encima(A,B),encima(B,D),en-mesa(D), en-mesa(C),libre(A),libre(C),brazo-libre
Metas: en-mesa(A),encima(C,B)
C B C B A D A
Estado inicial Metas
Introducci ´on
Representaci ´on
Representaci ´on de los operadores
Se deben representar los cambios que ocurren en el mundo por la aplicaci ´on del operador: suposici ´onSTRIPS Se definen por tres listas:
precondiciones: condiciones que se tienen que cumplir en un estado para poder ejecutar el operador
a ˜nadidos: cosas que pasan a ser ciertas por la ejecuci ´on del operador(hay quea ˜nadirlasal estado)
borrados: cosas que dejan de ser ciertas por la ejecuci ´on del operador(hay queborrarlasdel estado)
cargar-avi ´on(objeto,avi ´on,aeropuerto)
precondiciones:en(objeto,aeropuerto),en(avi ´on,aeropuerto)
Introducci ´on
Representaci ´on
Representaci ´on de los operadores
Se deben representar los cambios que ocurren en el mundo por la aplicaci ´on del operador: suposici ´onSTRIPS Se definen por tres listas:
precondiciones: condiciones que se tienen que cumplir en un estado para poder ejecutar el operador
a ˜nadidos: cosas que pasan a ser ciertas por la ejecuci ´on del operador(hay quea ˜nadirlasal estado)
borrados: cosas que dejan de ser ciertas por la ejecuci ´on del operador(hay queborrarlasdel estado)
cargar-avi ´on(objeto,avi ´on,aeropuerto)
precondiciones:en(objeto,aeropuerto),en(avi ´on,aeropuerto) a ˜nadidos: dentro(objeto,avi ´on)
borrados: en(objeto,aeropuerto)
Introducci ´on
Representaci ´on
Ejemplo: Mundo de los bloques
Operators
pickup(?x):(ontable ?x) (clear ?x) (arm-empty)
(holding ?x)
¬(ontable ?x)¬(clear ?x)¬(arm-empty)
putdown(?x):(holding ?x)
(ontable ?x) (clear ?x) (arm-empty)
¬(holding ?x)
stack(?x ?y):(holding ?x) (clear ?y)
(on ?x ?y) (clear ?x) (arm-empty)¬(. . . )¬(. . . )
unstack(?x ?y):
(on ?x ?y) (clear ?x) (arm-empty)
(holding ?x) (clear ?y)¬(. . . )¬(. . . )¬(. . . )
C B C B A D A
Introducci ´on
Representaci ´on
Ejemplos de operadores en log´ıstica
cargar-avi ´on(objeto,avi ´on,aeropuerto)
precondiciones:en(objeto,aeropuerto),en(avi ´on,aeropuerto)
a ˜nadidos:dentro(objeto,avi ´on)
borrados:en(objeto,aeropuerto)
descargar-avi ´on(objeto,avi ´on,aeropuerto)
precondiciones:dentro(objeto,aeropuerto),en(avi ´on,aeropuerto)
a ˜nadidos:en(objeto,aeropuerto)
borrados:dentro(objeto,avi ´on)
cargar-cami ´on(objeto,cami ´on,lugar)
precondiciones:en(objeto,lugar),en(cami ´on,lugar)
a ˜nadidos:dentro(objeto,cami ´on)
borrados:en(objeto,lugar)
descargar-cami ´on(objeto,cami ´on,lugar) volar-avi ´on(avi ´on,aeropuerto1,aeropuerto2) precondiciones:en(avi ´on,aeropuerto1)
a ˜nadidos:en(avi ´on,aeropuerto2)
borrados:en(avi ´on,aeropuerto1)
conducir-cami ´on(cami ´on,lugar1,lugar2,ciudad)
precondiciones:en(cami ´on,lugar1),en-ciudad(lugar1,ciudad),en-ciudad(lugar2,ciudad)
a ˜nadidos:en(cami ´on,lugar2)
borrados:en(cami ´on,lugar1)
Introducci ´on
Representaci ´on
Desde
STRIPShasta
PDDLEl lenguaje deSTRIPSes muy simple
Se ampli ´o el lenguaje, generando ADL, que incorpora, entre otros:
cuantificaci ´on universal y existencial efectos condicionales
Desde 1998 se ha venido organizando una competici ´on de planificadores, IPC (“International Planning Competition”) Se necesitaba un lenguaje com ´un: PDDL
Ha tenido varias versiones, que permiten, entre otros:
especificaci ´on de costes de ejecuci ´on de operadores tipos para variables de operadores
Introducci ´on
Representaci ´on
Lenguaje est ´andar
PDDL. Dominio de la log´ıstica
(define (domain logistics)
(:requirements :strips :typing) (:types truck airplane - vehicle
package vehicle - physobj
airport location - place city place physobj - object)
(:predicates (in-city ?loc - place ?city - city) (at ?obj - physobj ?loc - place)
(in ?pkg - package ?veh - vehicle)) ...)
Introducci ´on
Representaci ´on
Operadores
(:action load-truck ...)
(:action load-airplane ...) (:action unload-truck ...)
(:action unload-airplane ...) (:action drive-truck ...)
(:action fly-airplane
:parameters (?p - airplane ?s - airport ?d - airport)
:precondition (and (at ?p ?s) (not (= ?s ?d))) :effect (and (at ?p ?d)
Introducci ´on
Representaci ´on
Definici ´on del problema
(define (problem log1) (:domain logistics)
(:objects (ob0 ob1 ob2 - package) (c2 c1 c0 - city)
(po2 po1 po0 - location) (a2 a1 a0 - airport)
(tr2 tr1 tr0 - truck) (pl1 pl2 - airplane))
(:init (in-city a2 c2) (in-city po2 c2) (at tr2 po2) (in-city a1 c1) (in-city po1 c1) (at tr1 po1) (in-city a0 c0) (in-city po0 c0) (at tr0 po0)
(at ob1 a1) (in ob0 pl0) (in ob2 tr1) (at pl2 a1) (at pl1 a2))
(:goal (at-obj ob1 a2)))
Introducci ´on
Representaci ´on
Operadores m ´as ricos
(:action zoom
:parameters (?a - aircraft ?c1 ?c2 - city) :precondition (and (at ?a ?c1)
(>=(fuel ?a)
(* (distance ?c1 ?c2) (fast-burn ?a))) (<=(onboard ?a) (zoom-limit ?a))) :effect (and (not (at ?a ?c1))
(at ?a ?c2)
(increase (total-fuel-used)
(* (distance ?c1 ?c2) (fast-burn ?a))) (decrease (fuel ?a)
Introducci ´on
B ´usqueda
B ´usqueda
B ´usqueda hacia adelante (progresi ´on): se ejecutan operadores hasta que se encuentre la soluci ´on
Ejemplos: SOAR[Lairdet al., 1986],FF[Hoffmann and
Nebel, 2001], TLPLAN[Bacchus and Kabanza, 2000]
B ´usqueda hacia atr ´as (regresi ´on): se comienza desde las metas, se seleccionan operadores que las a ˜nadan y se a ˜naden las precondiciones de los mismos al conjunto de metas
Ejemplos: STRIPS[Fikes and Nilsson, 1971],
UCPOP[Penberthy and Weld, 1992], PRODIGY[Velosoet
al., 1995]
Introducci ´on
B ´usqueda
B ´usqueda
B ´usqueda hacia adelante (progresi ´on): se ejecutan operadores hasta que se encuentre la soluci ´on
Ejemplos: SOAR[Lairdet al., 1986],FF[Hoffmann and
Nebel, 2001], TLPLAN[Bacchus and Kabanza, 2000]
B ´usqueda hacia atr ´as (regresi ´on): se comienza desde las metas, se seleccionan operadores que las a ˜nadan y se a ˜naden las precondiciones de los mismos al conjunto de metas
Ejemplos: STRIPS[Fikes and Nilsson, 1971],
UCPOP[Penberthy and Weld, 1992], PRODIGY[Velosoet
Introducci ´on
B ´usqueda
B ´usqueda hacia adelante
C B A D B C C B A D C B A A D Metas: QUITAR(A,B) LEVANTAR(C) C B C B C B A A A
D D D
... ...
DEJAR(A) PONER(A,C)
PONER(A,B)
...
Introducci ´on
B ´usqueda
B ´usqueda hacia adelante
C B A D B C C B A D C B A A D Metas: QUITAR(A,B) LEVANTAR(C) C B C B C B A A A
D D D
DEJAR(A) PONER(A,C)
PONER(A,B)
Introducci ´on
B ´usqueda
B ´usqueda hacia atr ´as
B C B A D C B ... A C Estado inicial: A DEJAR(A) PONER(C,B) A D ... A B ... A C ... A QUITAR(A,D) QUITAR(A,C) QUITAR(A,B) LEVANTAR(A)
Introducci ´on
B ´usqueda
B ´usqueda hacia atr ´as
Introducci ´on
B ´usqueda
B ´usqueda sin conocimiento
(:action a-1
:parameters (?p - type-x ?s - type-y ?d - type-z) :precondition (and (p-1 ?p ?s) (not (= ?s ?d))) :effect (and (p-1 ?p ?d)
(not (p-1 ?p ?s))))
(:action a-2
:parameters (?p - type-x ?s - type-y ?d - type-z) :precondition (and (p-1 ?p ?d) (p-1 ?s ?d))
:effect (and (p-2 ?p ?s)
(not (p-1 ?p ?d))))
(:action a-3
:parameters (?p - type-x ?s - type-y ?d - type-z) :precondition (and (p-2 ?p ?s) (p-1 ?s ?d))
:effect (and (p-1 ?p ?d)
(not (p-2 ?p ?s))))
Introducci ´on
B ´usqueda
B ´usqueda
Sin conocimiento
Amplitud vs. Profundidad
Hacia adelante vs. hacia atr ´as vs. bidireccional
Con costes vs. sin costes
Uno vs. m ´ultiples agentes
B ´usqueda con conocimiento
B ´usqueda local y avara (greedy) vs. b ´usqueda global
Escalada, en Haz
Introducci ´on
B ´usqueda
Caracter´ısticas
Complejidad en tiempo y espacio
Completud Optimalidad
Decidibilidad
Introducci ´on
B ´usqueda
M ´as informaci ´on en
Libro reciente: [Ghallabet al., 2004]
Otras referencias: [Nilsson, 1987, Borrajoet al., 1993,
Rich and Knight, 1994, Russell and Norvig, 1995, Allenet al., 1990,
Introducci ´on
B ´usqueda
Referencias
James F. Allen, James Hendler, and Austin Tate (eds.).
Readings in Planning.
Morgan Kaufmann, 1990.
Fahiem Bacchus and Froduald Kabanza.
Using temporal logics to express search control knowledge for planning.
Artificial Intelligence, 116:123–191, 2000.
Daniel Borrajo, Natalia Juristo, Vicente Mart´ınez, and Juan Pazos.
Inteligencia Artificial. M ´etodos y T ´ecnicas.
Centro de Estudios Ram ´on Areces, Madrid, 1993.
Richard E. Fikes and Nils J. Nilsson.
Strips: A new approach to the application of theorem proving to problem solving.
Introducci ´on
B ´usqueda
Artificial Intelligence, 2:189–208, 1971.
Malik Ghallab, Dana Nau, and Paolo Traverso.
Automated Task Planning. Theory & Practice.
Morgan Kaufmann, 2004.
J ¨org Hoffmann and Bernhard Nebel.
The FF planning system: Fast plan generation through heuristic search.
Journal of Artificial Intelligence Research, 14:253–302, 2001.
John E. Laird, Paul S. Rosenbloom, and Allen Newell.
Chunking in SOAR: The anatomy of a general learning mechanism.
Introducci ´on
B ´usqueda
Ediciones D´ıaz de Santos, Madrid, 1987.
J. S. Penberthy and D. S. Weld.
UCPOP: A sound, complete, partial order planner for ADL.
InProceedings of KR-92, pages 103–114, 1992.
Elaine Rich and Kevin Knight.
Inteligencia Artificial.
McGraw-Hill, Inc., 1994. Segunda edici ´on.
Stuart Russell and Peter Norvig.
Artificial Intelligence: A Modern Approach.
Prentice Hall, 1995.
Manuela Veloso, Jaime Carbonell, Alicia P ´erez, Daniel Borrajo, Eugene Fink, and Jim Blythe.
Integrating planning and learning: ThePRODIGYarchitecture.
Introducci ´on
B ´usqueda
Journal of Experimental and Theoretical AI, 7:81–120, 1995.
Daniel S. Weld.
An introduction to least commitment planning.