Download Conceptos de Inteligencia Artificial - Alejandro J. García

Document related concepts

Anomalía de Sussman wikipedia , lookup

Planificación automática wikipedia , lookup

CycL wikipedia , lookup

Inteligencia artificial wikipedia , lookup

Transcript
Conceptos de Inteligencia Artificial
Sistemas Inteligentes Artificiales
Dr. Alejandro J. García
26 de octubre de 2016
En esta clase
Conceptos de Inteligencia Artificial
•
•
•
•
•
•
•
•
•
•
•
&
Sistemas Inteligentes Artificiales
Acciones y Planes
Dr. Alejandro J. García
http://cs.uns.edu.ar/~ajg
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
Bahía Blanca - Argentina
Problema de planificación.
Dominio de planificación.
Ejemplo de dominio de planificación: Mundo de bloques.
Lenguaje de representación STRIPS.
Representación STRIPS de estados y metas .
Representación STRIPS de acciones.
Sistema de planeamiento.
Búsqueda de una solución sobre un espacio de estados.
Forward Planning
Regression Planning.
Ejemplo de dominio de planificación: Robot repartidor.
Conceptos de Inteligencia Artificial
En lo que sigue..
REPETIR
– percibir (sensores)
– revisar el conocimiento y las metas
– seleccionar un curso de acción (planning)
– actuar (ejecutar acciones)
HASTA el fin
• Agentes.
• Representación de conocimiento con un lenguaje formal.
• Métodos de búsqueda.
actua
3
Referencias
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
4
Planificación
• Para ello, el agente debe tener en cuenta:
– las metas que quiere lograr,
– las acciones que es capaz de ejecutar
– y cual es el estado actual del entorno en el cual se
realizarán dichas acciones.
[RN] Russel, S., and Norvig, P.
Artificial Intelligence: A Modern Approach.
(2nd Ed.) Chapter 11 Planning
Dr. Alejandro J. García
Agente
• Se denomina planificación a la tarea de sintetizar un
curso de acción, el cual le permita a un agente lograr sus
metas.
[PMG] Poole, D., Mackworth, A., and Goebel, R.
Computational Intelligence: A Logical Approach.
Chapter 8: Actions and Planning
Conceptos de Inteligencia Artificial
Las técnicas de planificación varían
desde: elegir un plan de una
biblioteca de planes,
hasta: construir su propio plan
con las acciones disponibles.
percibe
Dr. Alejandro J. García
2
Comportamiento de un agente
Para los temas que siguen vamos a utilizar de manera
combinada los conceptos que se vieron en los siguientes
temas:
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
5
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
6
El uso total o parcial de este material está permitido siempre que se haga mención explícita de su fuente:
“Conceptos de Inteligencia Artificial. Notas de Clase”. Alejandro J. García. Universidad Nacional del Sur. (c) 26/10/2016.
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
1
Conceptos de Inteligencia Artificial
Sistemas Inteligentes Artificiales
Dr. Alejandro J. García
Problema de planificación
26 de octubre de 2016
Plan que resuelve un problema
Un problema de planificación se define indicando tres
componentes (I, G, A) en un lenguaje formal:
• una descripción del estado inicial (I) del mundo,
• una descripción de la meta (goal) (G) del agente,
• una descripción de las acciones (A) que el agente puede
ejecutar.
Prob. de planificación
PLAN:
(I) estado inicial
(G) meta
(A) acciones
Planificador
A1, A2, … ,A47
Un plan es una secuencia de acciones, que ejecutadas a
partir del estado inicial, llevan a un estado en donde la
descripción de la meta es verdadera.
Ejemplo:
Una solución para un problema de planificación es un plan.
Un plan es una secuencia de acciones, que ejecutadas a
partir del estado inicial, llevan a un estado en donde la
descripción de la meta es verdadera.
PLAN:
A1, A2, … ,A47
Prob. de planificación
(I) estado inicial
(G) meta
(A) acciones
Conceptos de Inteligencia Artificial
PLAN:
Planificador
Meta
Ejecutar PLAN
A1, A2, … ,A47
Estado inicial
Dr. Alejandro J. García
7
p
Dominio de planificación
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
8
Aplicaciones de brazos robots
Un dominio de planificación consiste de:
1. una caracterización del entorno donde actúa el agente, y
2. las acciones que puede ejecutar,
Los dominios de planificación pueden variar en tamaño y
complejidad desde un vehículo autónomo en una autopista,
hasta dominios “de juguete” como el mundo de bloques.
c
i
a
h
x
http://www.moley.com/
https://www.youtube.com/watch?v=KdwfoBbEbBE
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
9
Aplicaciones de brazos robots
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
10
Planificación clásica
En lo que sigue consideraremos dominios de “planificación
clásica”, los cuales son:
– completamente observables,
– determinísticos,
– finitos,
– estáticos (los cambios solamente ocurren cuando el
agente actúa)
– y discretos (en tiempo, acciones, objetos y efectos).
• Rehabilitación
Conceptos de Inteligencia Artificial
Por ejemplo, uno de los dominios de planificación populares
utilizado en la bibliografía para ejemplificar los conceptos de
planning es el Mundo de bloques (Block world).
El cual presenta un dominio reducido, simple y claro.
• Robot Assisted
Micro-Surgery
Dr. Alejandro J. García
11
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
12
El uso total o parcial de este material está permitido siempre que se haga mención explícita de su fuente:
“Conceptos de Inteligencia Artificial. Notas de Clase”. Alejandro J. García. Universidad Nacional del Sur. (c) 26/10/2016.
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
2
Conceptos de Inteligencia Artificial
Sistemas Inteligentes Artificiales
Dr. Alejandro J. García
Dominios de planificación: Mundo de Bloques
26 de octubre de 2016
Dominios de planificación: Mundo de Bloques
El Mundo de bloques es un mundo virtual (de juguete)
creado por Terry Winograd para un sistema que interpretaba
comandos en Inglés y movía bloques en una superficie.
Por ej: “Find a block which is taller than the one you are
holding and put it into the box”.
En su versión más simple existe un único brazo robot que
debe resolver tareas autónomamente (sin operación humana).
http://en.wikipedia.org/wiki/Terry_Winograd
c
i
a
c
i
a
x
h
Dr. Alejandro J. García
13
Dominios de planificación: Mundo de Bloques
i
a
Conceptos de Inteligencia Artificial
h
h
x
x
Dr. Alejandro J. García
15
Conceptos de Inteligencia Artificial
v
l
l
h
o
a
• Ejemplo: desapilar(v,l)
l
o
h
a
Estado actual
Estado actual
Conceptos de Inteligencia Artificial
16
2) desapilar(B1,B2)
Toma un bloque B1 que no tiene ninguno encima y que
está sobre otro B2; y pone a B1 sobre la mesa.
v
v
a
Dr. Alejandro J. García
Mundo de bloques
1) apilar(B1, B2)
Toma un bloque B1 que está sobre la mesa y no tiene otro
encima, y lo pone sobre otro bloque B2 que tampoco tiene
uno encima.
• Ejemplo: apilar(h,a)
h
14
r
Mundo de bloques
o
Dr. Alejandro J. García
• En su versión más reducida cuenta con dos acciones que
permiten mover bloques:
1. apilar un bloque sobre otro, que consiste en tomar
un bloque que se encuentra sobre la mesa y ponerlo
sobre otro bloque.
2. desapilar un bloque, que consiste en tomar un
bloque que se encuentra sobre otro bloque y
ponerlo sobre la mesa.
• Un bloque se puede desapilar siempre y cuando este
libre (no tiene otro bloque encima).
• Para poder apilar un bloque sobre otro, este último
también debe estar libre.
c
a
Conceptos de Inteligencia Artificial
Dominios de planificación: Mundo de Bloques
• El “Mundo de bloques” consiste simplemente de una
mesa sobre la cual hay únicamente bloques, todos del
mismo tamaño, los cuales están cada uno de ellos
identificados unívocamente.
• Los bloques pueden estar sobre la mesa o sobre otro
bloque.
• Un bloque no puede estar simultáneamente sobre dos
bloques o dos bloques sobre uno.
p
x
Terry Winograd
Conceptos de Inteligencia Artificial
r
h
l
h
o
a
v
Luego de desapilar(v,l)
Luego de apilar(h,a)
Dr. Alejandro J. García
17
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
18
El uso total o parcial de este material está permitido siempre que se haga mención explícita de su fuente:
“Conceptos de Inteligencia Artificial. Notas de Clase”. Alejandro J. García. Universidad Nacional del Sur. (c) 26/10/2016.
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
3
Conceptos de Inteligencia Artificial
Sistemas Inteligentes Artificiales
Dr. Alejandro J. García
Lenguaje de representación STRIPS
Representación de estados en STRIPS
• STRIPS es una sigla que significa STanford Research
Institute Problem Solver.
• El conjunto de literales de un estado representa todo lo que
es verdadero en ese estado.
• Además, se utiliza la Suposición del Mundo Cerrado
(closed-world assumption) que significa que los literales no
mencionados en la descripción de un estado se asume que
son falsos.
• Una convención habitual para distinguir los elementos
del lenguaje consiste en denotar las variables con una
letra mayúscula inicial.
Dr. Alejandro J. García
Conceptos de Inteligencia Artificial
19
Ejemplo de representación de estados
Ejemplo:
Estado1 = {mesa(i), mesa(a),
libre(c), libre(a), sobre(c,i)}
Conceptos de Inteligencia Artificial
• Un estado E satisface una meta G si G  E.
• Ejemplo: Meta = { libre(a) }
c
c
21
Meta 1 = { mesa(a) }
Meta 2 = { libre(a), mesa(a) }
Meta 3 = { sobre(c,i), sobre(i,a) }
Conceptos de Inteligencia Artificial
i
a
Conceptos de Inteligencia Artificial
E2
Dr. Alejandro J. García
22
p
• Una acción es representada en términos de
precondiciones que deben valer antes de que pueda ser
ejecutada y de efectos que se harán presentes luego de
ser ejecutada.
a
Por ejemplo: “apilar el bloque a sobre b”
• requiere como precondiciones que los bloques estén
libres, y que “a” esté sobre la mesa;
• los efectos son tres: que “a” estará sobre “b”, que “a” no
estará sobre la mesa, y que “b” no estará libre.
c
i
a
E1 satisface Meta 1 y Meta 2
E2 satisface Meta 1 y Meta 3
a
Representación de acciones
E1
E2 = {mesa(a), libre(c),
sobre(i,a), sobre(c,i)}
i
c
i
E1
Estado1
Ejemplos de estados y metas
E1 = {mesa(c), mesa(i), mesa(a),
libre(c), libre(a), libre(i)}
20
• Una Meta es un estado parcialmente especificado, de tal
manera, una meta estará representada como una
conjunción de literales fijos positivos.
a
Dr. Alejandro J. García
Dr. Alejandro J. García
Representación de metas en STRIPS
En el dominio de planificación del Mundo de bloques se
utilizaran los siguientes literales para representar un
estado:
• mesa(X), para representar que un bloque X esta sobre la
mesa.
• sobre(X, Y ), para representar que un bloque X esta
sobre otro bloque Y .
• libre(X), para representar que un bloque X no tiene
ningún bloque encima.
c
i
p
• En el lenguaje de representación STRIPS un estado se
representa por medio de un conjunto finito de literales
fijos positivos. Un literal es fijo si no contiene variables y
positivo cuando no está precedido por negación.
• El lenguaje de representación STRIPS se define sobre
tres conjuntos disjuntos y finitos de símbolos:
– un conjunto de variables V,
– un conjunto de constantes C y
– un conjunto de predicados P.
Conceptos de Inteligencia Artificial
26 de octubre de 2016
E2
Dr. Alejandro J. García
23
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
24
El uso total o parcial de este material está permitido siempre que se haga mención explícita de su fuente:
“Conceptos de Inteligencia Artificial. Notas de Clase”. Alejandro J. García. Universidad Nacional del Sur. (c) 26/10/2016.
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
4
Conceptos de Inteligencia Artificial
Sistemas Inteligentes Artificiales
Dr. Alejandro J. García
Operadores / esquemas de acciones
p
Un operador o esquema de acción consiste de tres partes:
• el nombre, que sirve para identificar al operador, y una lista
de parámetros necesarios para la acción,
• las precondiciones, que deberán ser verdaderas antes de
que la acción sea ejecutada, está representada por una
conjunción de literales,
• los efectos, que representan los cambios en el estado
Una acción es un operador instanciado, es decir, un operador
donde no hay variables.
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
27
Acciones aplicables en un estado
l
h
o
a
Conceptos de Inteligencia Artificial
l
v
a
Estado final deseado
Dr. Alejandro J. García
28
• La tarea de un Sistema de Planeamiento es encontrar
automáticamente una solución para un problema de
planificación, esto es un plan.
• Dado un problema (I, G, A), un plan es una secuencia de
acciones P = [a1,a2,…aN], donde cada a1  A, y al ser
ejecutadas en esa secuencia a partir del estado inicial I,
llevan a un estado F, que satisface la meta G (G  F).
• Esto es, la acción a1 se aplica al estado I, luego a2 al estado
resultante, y así sucesivamente hasta que al aplicar la
acción aN se obtiene el estado final F (G  F).
c
i
E2
h
o
Sistema de Planeamiento
• Una acción/operador es aplicable en un estado, si las
precondiciones se satisfacen en ese estado.
• Si una acción se aplica a un estado el resultado es otro
estado con los efectos de la acción.
Por ejemplo, apilar(c,i) es aplicable en el estado E1, y su
efecto es el estado E2.
E1 = {mesa(i), mesa(c), libre(c), libre(i)}
E2 = {mesa(i), libre(c), sobre(c, i)}
i
26
Problema de Planificación: ejemplo
Estado actual o inicial
(*) se puede agregar A  B para evitar acciones como apilar(a, a)
c
Dr. Alejandro J. García
v
2. desapilar(A,B)
Precondiciones = {libre(A), sobre(A,B)}*
Efectos: add ={libre(B), mesa(A)} del = {sobre(A,B)}
E1
Conceptos de Inteligencia Artificial
Dado un dominio de planificación,
la definición de un problema de planificación
se completa brindando la especificación del estado inicial y
las metas del problema (estado final deseado). La figura
muestra un problema de planificación para el mundo de
bloques.
Operadores:
1. apilar(A,B)
Precondiciones = {libre(A), libre(B), mesa(A)}*
Efectos: add = {sobre(A,B)} del={libre(B), mesa(A)}
Dr. Alejandro J. García
p
Para hacer más claro como obtener el nuevo estado a partir
de la ejecución de una acción, en STRIPS es usual separar
el efecto en dos partes:
• Un conjunto de literales llamada Add-list, que serán
literales que se agregan al estado previo, y
• Un conjunto de literales llamada Delete-list, que serán
literales que se eliminan del estado previo.
Ejemplo:
Operador “apilar A sobre B”
– Nombre y parámetros: apilar(A,B)
– Precondiciones = {libre(A), libre(B), mesa(A)}
– Efectos: add = {sobre(A,B)}
del={libre(B), mesa(A)}
p
Relaciones para descripción de estados:
libre(X), mesa(X), sobre(X,Y).
Conceptos de Inteligencia Artificial
Especificación de acciones/operadores
25
Especificación en el lenguaje STRIPS
26 de octubre de 2016
La acción desapilar(c,i) no es aplicable en E1.
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
29
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
30
El uso total o parcial de este material está permitido siempre que se haga mención explícita de su fuente:
“Conceptos de Inteligencia Artificial. Notas de Clase”. Alejandro J. García. Universidad Nacional del Sur. (c) 26/10/2016.
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
5
Conceptos de Inteligencia Artificial
Sistemas Inteligentes Artificiales
Dr. Alejandro J. García
26 de octubre de 2016
Sistema de Planeamiento
Sistema de Planeamiento: Forward Planning
• Una de las formas de planeamiento más simples es la
basada en el grafo del espacio de estados.
• En este grafo los nodos representan estados, y los arcos
que salen de un nodo E se corresponden a las acciones
aplicables en el estado E y que llevan a otro estado.
• Así, los nodos vecinos a un nodo particular E representan
los estados que pueden alcanzarse por la ejecución de una
sola acción aplicable en E.
• Un plan estará representado por un camino desde el
nodo que representa el estado inicial a un nodo que
satisface las condiciones de la meta.
En Forward Planning (planificar hacia adelante) se comienza
en el estado inicial y se realiza una búsqueda en el espacio de
estados, hasta encontrar un estado que satisface la meta.
• Esta forma de hallar planes es una de las más simples.
• La mayoría de los métodos de búsqueda estudiados
previamente pueden ser utilizados para tratar de encontrar
un plan.
• La solución de la búsqueda es una secuencia de acciones
que corresponde a un plan.
• Por ejemplo, Primero a lo Ancho, Profundización Iterativa o
A* garantizan encontrar un plan.
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
31
Sistema de Planeamiento: Forward Planning
apilar(c,i)
c
i
i
apilar(c,a)
apilar(i,a)
c
a
i
a
a
i
desapilar apilar
c
desapilar apilar
c
desapilar apilar
…
…
…
Con N bloques cada operador se
puede instanciar en Nx(N-1)
acciones: para 3 bloques son 6 y
para 7 bloques son 42.
a
apilar(i,c)
i
c
a
apilar(a,i)
c
desapilar apilar
a
i
desapilar apilar
…
apilar(a,c)
a
c
i
desapilar apilar
…
…
Dr. Alejandro J. García
33
Sistemas de Planeamiento: Regression planning
META
a
c
i
a
Plan = [apilar(i,a), apilar(c,i)]
Conceptos de Inteligencia Artificial
• Otra alternativa es planificar “hacia atrás” (en inglés
Backward Planning, o Regression planning): esto es,
comenzar de la meta y buscar (en reversa) una secuencia
de acciones que lleve al estado inicial. Ver [PMG] pág 301
• La principal ventaja de la búsqueda hacia atrás es que
solamente se consideran acciones relevantes para las
metas buscadas.
apilar(i,a)
c
i
a
34
Planificadores Provistos
• Esta implementación utiliza “regresión planning” siguiendo
el algoritmo propuestos en [PMG] pág 301.
• Se recomienda utilizarla como complemento de la
ejercitación de los prácticos, ya que será de ayuda futuros
ejercicios.
• A modo de prueba está implementado el dominio de mundo
de bloques. Comenzar con test(1,Plan).
i
a
Dr. Alejandro J. García
Dr. Alejandro J. García
strips_planner.pl
apilar(c,i)
c
Conceptos de Inteligencia Artificial
• Como material adicional, en la página de la materia
encontrarán una implementación en Prolog desarrollada
por el grupo de docentes de CIA en 2013.
META
Operadores:
• apilar(X,Y)
• desapilar(X,Y)
i
• En Forward Planning la cantidad de acciones aplicables en
cada estado (factor de ramificación), puede generar un
espacio de búsqueda muy grande.
META
Regression planning: comienza de una meta M y busca una
acción A que tenga como efecto llegar a M, calcula el estado
E en que debe aplicarse A, y luego hace regresión a partir de
E. Así hasta llegar al estado inicial.
c
i
Problema de Planificación:
a
c
32
• Dada una meta M, hay que buscar una acción que tenga M
entre sus efectos…
c
i
a
Conceptos de Inteligencia Artificial
INICIAL
Dr. Alejandro J. García
Sistemas de Planeamiento: Regression planning
En Forward Planning (planificar hacia adelante) se comienza
en el estado inicial y se realiza una búsqueda en el espacio de
estados, hasta encontrar un estado que satisface la meta.
A continuación se muestra parte del espacio de estados.
INICIAL
Conceptos de Inteligencia Artificial
INICIAL
35
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
36
El uso total o parcial de este material está permitido siempre que se haga mención explícita de su fuente:
“Conceptos de Inteligencia Artificial. Notas de Clase”. Alejandro J. García. Universidad Nacional del Sur. (c) 26/10/2016.
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
6
Conceptos de Inteligencia Artificial
Sistemas Inteligentes Artificiales
Dr. Alejandro J. García
26 de octubre de 2016
Otro dominio de planificación
Dominio de planificación: “The delivery robot”
• A continuación mostraremos otro dominio de
planificación simple usualmente usado en la literatura de
IA llamado “The delivery robot world”.
En este ejemplo (ver [PMG] ) un robot (rob), que puede hacer determinadas
operaciones, debe llevar un paquete a un lugar indicado.
• Este dominio ya no es tan reducido y simplificado como
el mundo de bloques.
• Se trata de un dominio en el cual hay un robot que debe
realizar en forma autónoma el reparto de elementos en
un entorno y conocido para el robot.
• A continuación mostraremos como ejemplo el entorno
propuesto en [PGM] pág 285
Computational Intelligence, D. Poole, A. Mackworth, R. Goebel, fig 4.1.
Conceptos de Inteligencia Artificial
Dr. Alejandro J. García
• Objetos (individuos): Cuartos, posiciones, puertas,
llaves, paquetes, robot.
• Acciones:
– Moverse de un lugar a otro.
– Levantar y soltar llaves y paquetes.
– Abrir puertas con la llave correspondiente.
Conceptos de Inteligencia Artificial
37
•
39
Representación
en STRIPS
Dr. Alejandro J. García
Relaciones para representar :
La posición del robot.
La posición de los paquetes.
La posición de las llaves.
El estado de las puertas (con o sin llave).
¿Qué está sosteniendo el robot?
38
40
Representación
en STRIPS
Relaciones
Relaciones
•at(Obj, Loc) es verdadero si el objeto Obj está en el lugar Loc
•carrying(Ag, Obj) es verdadero si agente Ag lleva el objeto Obj
•sitting_at(Obj, Loc) es verdadero si el objeto Obj se encuentra
en el piso en el lugar Loc
•unlocked(Door) es verdadero si la puerta Door está sin llave.
•auto(Ag) es verdadero si el agente Ag es autónomo, es una
relación estática.
•opens(Key, Door) es verdadero si la llave Key abre la puerta
Door, es una relación estática.
•adjacent(Pos1, Pos2) es verdadero si Pos1 está al lado de la
Pos2 y el robot puede moverse de una a otra en un paso.
•between(Door, Pos1, Pos2) es verdadero si Door está entre
42
Pos1 y Pos2.
41
El uso total o parcial de este material está permitido siempre que se haga mención explícita de su fuente:
“Conceptos de Inteligencia Artificial. Notas de Clase”. Alejandro J. García. Universidad Nacional del Sur. (c) 26/10/2016.
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
7
Conceptos de Inteligencia Artificial
Sistemas Inteligentes Artificiales
Dr. Alejandro J. García
Representación
en STRIPS
26 de octubre de 2016
Representación
en STRIPS
Relaciones
Derivadas
Estado inicial
sitting_at(rob, o109)
sitting_at(parcel, storage)
sitting_at(k1, mail)
between(door1, o103, lab2)
opens(k1, door1)
auto(rob)
43
Representación
en STRIPS
adjacent(o109, o103)
adjacent(o103, o109)
adjacent(storage, o109)
adjacent(o109, storage)
adjacent(o109, o111)
adjacent(o111, o109)
adjacent(o103, mail)
adjacent(mail, o103)
adjacent(lab2, o109)
adjacent(P1, P2) 
between(Door, P1, P2) 
unlocked(Door).
at(Obj, Pos)  sitting_at(Obj, Pos).
at(Obj, Pos) 
carrying(Ag, Obj) 
at(Ag, Pos).
44
Representación
en STRIPS
Operadores
Operadores
•move(Ag, From, To) el agente Ag se mueve desde From a la
posición adyacente To. El agente debe estar en From.
•pickup(Ag, Obj) el agente Ag levanta el objeto Obj.
El agente debe estar en la posición donde el objeto Obj está.
•putdown(Ag, Obj) el agente Ag deja el objeto Obj en el piso.
El agente debe estar sosteniendo el objeto Obj.
•unlock(Ag, Door) el agente Ag abre la puerta Door. El agente
debe estar afuera de la puerta y debe estar llevando la llave.
45
pickup(Ag, Obj)
Pre:[ auto(Ag), Ag  Obj, at(Ag, Pos), sitting_at(Obj, Pos) ]
Del-list [ sitting_at(Obj, Pos) ]
Add-list [ carrying(Ag, Obj) ]
46
Fin de la presentación
Representación
en STRIPS
M
U
C
H
A
S
putdown(Ag, Obj)
Pre: [ auto(Ag), at(Ag, Pos), carrying(Ag, Obj) ]
Del-list: [carrying(Ag, Obj)]
Add-list: [sitting_at(Obj, Pos)]
unlock(Ag, Door)
Pre: [ auto (Ag), at(Ag, PosAg), at(Door, PosDoor),
adjacent(PosAg, PosDoor), carrying(Ag, Key),
opens(Key, Door) ]
Delete list [ ]
Add list [unlocked(Door)]
move(Ag, Pos1, Pos2)
Pre:[ auto(Ag), adjacent(Pos1, Pos2), sitting_at(Ag, Pos1) ]
Del- list [ sitting_at(Ag, Pos1) ]
Add-list [ sitting_at(Ag, Pos2) ]
47
Conceptos de Inteligencia Artificial
G R A C
I A S
Dr. Alejandro J. García
48
El uso total o parcial de este material está permitido siempre que se haga mención explícita de su fuente:
“Conceptos de Inteligencia Artificial. Notas de Clase”. Alejandro J. García. Universidad Nacional del Sur. (c) 26/10/2016.
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
8