stringtranslate.com

Lenguaje de descripción de acciones

En inteligencia artificial , el lenguaje de descripción de acciones ( ADL ) es un sistema de planificación y programación automatizado , en particular para robots. Se considera un avance de STRIPS . Edwin Pednault (un especialista en el campo de la abstracción y el modelado de datos que ha sido miembro del personal de investigación de IBM en el grupo de investigación de abstracción de datos desde 1996 [1] ) propuso este lenguaje en 1987. Es un ejemplo de lenguaje de acción .

Orígenes

Pednault observó que el poder expresivo de STRIPS era susceptible de ser mejorado al permitir que los efectos de un operador fueran condicionales. Esta es la idea principal de ADL-A, que es aproximadamente el fragmento proposicional del ADL propuesto por Pednault, [2] siendo ADL-B una extensión de -A. En la extensión -B, las acciones pueden ser descritas con efectos indirectos mediante la introducción de un nuevo tipo de proposiciones: "leyes estáticas". Una tercera variación de ADL es ADL-C que es similar a -B, en el sentido de que sus proposiciones pueden ser clasificadas en leyes estáticas y dinámicas, pero con algunas particularidades más. [3]

El sentido de un lenguaje de planificación es representar ciertas condiciones del entorno y, en base a ellas, generar automáticamente una cadena de acciones que conduzcan a un objetivo deseado. Un objetivo es una condición parcialmente especificada. Antes de que una acción pueda ejecutarse, sus precondiciones deben cumplirse; después de la ejecución, la acción produce efectos que modifican el entorno. El entorno se describe por medio de ciertos predicados, que se cumplen o no.

A diferencia de STRIPS, en ADL se aplica el principio del mundo abierto : todo lo que no se cumple en las condiciones es desconocido (en lugar de asumirse falso). Además, mientras que en STRIPS solo se permiten literales positivos y conjunciones , en ADL también se permiten literales negativos y disyunciones .

Sintaxis de ADL

Un esquema ADL consta de un nombre de acción, una lista de parámetros opcionales y cuatro grupos opcionales de cláusulas denominadas Precond, Add, Delete y Update.

El grupo Precond es una lista de fórmulas que definen las condiciones previas para la ejecución de una acción. Si el conjunto está vacío, se inserta el valor "TRUE" en el grupo y las condiciones previas siempre se evalúan como condiciones de cumplimiento.

Las condiciones de Agregar y Eliminar se especifican mediante los grupos Agregar y Eliminar, respectivamente. Cada grupo consta de un conjunto de cláusulas con las formas que se muestran en la columna de la izquierda de la figura 1:

  1. La R representa un símbolo de relación.
  2. τ 1 , ..., τ n representa términos
  3. ψ representa una fórmula
  4. La secuencia z 1 , ..., z k son símbolos variables que aparecen en los términos τ 1 , ..., τ n , pero no en la lista de parámetros del esquema de acción.
  5. x 1 , ..., x n son símbolos de variables que son diferentes de las variables z 1 , ..., z n y no aparecen en τ 1 , ..., τ n , ψ o en la lista de parámetros del esquema de acción

Los grupos de actualización se utilizan para especificar las condiciones de actualización para cambiar los valores de los símbolos de función. Un grupo de actualización consta de un conjunto de cláusulas de las formas que se muestran en la columna izquierda de la figura 2:

Semántica de las AVD

La semántica formal de ADL está definida por cuatro restricciones. La primera restricción es que las acciones no pueden cambiar el conjunto de objetos que existen en el mundo; esto significa que para cada acción α y cada par de estado actual/estado siguiente ( st ) ∈  a , debe darse el caso de que el dominio de t sea igual al dominio de  s .

La segunda restricción es que las acciones en ADL deben ser deterministas. Si ( st 1 ) y ( st 2 ) son pares de acción ∃ de estado actual/estado siguiente, entonces debe darse el caso de que  t 1  =  t 2 .

La tercera restricción incorporada en ADL es que las funciones introducidas anteriormente deben ser representables como fórmulas de primer orden. Para cada símbolo de relación n -ario R , debe existir una fórmula Φ a R ( x 1 ,... , x n ) con variables libres x 2 , ..., x n tal que f a R ( s ) está dada por:

En consecuencia, F ( n 1 , ..., x n ) = y será verdadera después de realizar la acción |= si y solo si Φ a R ( x 1 , ..., x n , y ) era verdadera de antemano. Nótese que este requisito de representabilidad se basa en la primera restricción (el dominio de f debe ser igual al dominio de  s ).

La cuarta y última restricción incorporada en ADL es que el conjunto de estados en los que una acción es ejecutable también debe ser representable como una fórmula. Para cada acción α que se pueda representar en ADL, debe existir una fórmula Π a con la propiedad de que s |= Π a si y solo si hay algún estado t para el cual ( st ) ∈  α (es decir, la acción α es ejecutable en el estado  s )

Complejidad de la planificación

En términos de eficiencia computacional, ADL puede ubicarse entre STRIPS y el Cálculo de Situaciones. [4] Cualquier problema de ADL puede traducirse en una instancia de STRIPS; sin embargo, las técnicas de compilación existentes son exponenciales en el peor de los casos. [5] Este peor caso no se puede mejorar si estamos dispuestos a preservar la longitud de los planes de manera polinomial, [6] y, por lo tanto, ADL es estrictamente más breve que STRIPS.

La planificación ADL sigue siendo un problema completo de PSPACE. La mayoría de los algoritmos son de espacio polinómico, incluso si las condiciones previas y los efectos son fórmulas complejas. [7]

La mayoría de los enfoques de planificación clásica de mayor rendimiento utilizan internamente una representación similar a STRIPS. De hecho, la mayoría de los planificadores (FF, LPG, Fast-Downward, SGPLAN5 y LAMA) primero traducen la instancia ADL a una que es esencialmente una STRIPS (sin efectos ni objetivos condicionales o cuantificados).

Comparación entre STRIPS y ADL

  1. El lenguaje STRIPS solo permite literales positivos en los estados, mientras que ADL puede admitir tanto literales positivos como negativos. Por ejemplo, una oración válida en STRIPS podría ser Rich ∧ Beautiful. La misma oración podría expresarse en ADL como ¬Poor ∧ ¬Ugly
  2. En STRIPS, los literales no mencionados son falsos. Esto se denomina suposición de mundo cerrado . En ADL, los literales no mencionados son desconocidos. Esto se conoce como suposición de mundo abierto.
  3. En STRIPS solo podemos encontrar literales de base en objetivos. Por ejemplo, Rich ∧ Beautiful. En ADL podemos encontrar variables cuantificadas en objetivos. Por ejemplo, ∃ x At (P1, x ) ∧ At(P2, x ) es el objetivo de tener P1 y P2 en el mismo lugar en el ejemplo de los bloques.
  4. En STRIPS, los objetivos son conjunciones, por ejemplo, (Rico ∧ Hermoso). En ADL, los objetivos pueden implicar conjunciones y disyunciones (Rico ∧ (Hermoso ∨ Inteligente)).
  5. En STRIPS los efectos son conjunciones, pero en ADL se permiten efectos condicionales: cuando P : E significa que E es un efecto solo si se satisface P
  6. El lenguaje STRIPS no admite la igualdad. En ADL, el predicado de igualdad ( x = y ) está incorporado.
  7. STRIPS no tiene soporte para tipos, mientras que en ADL sí lo tiene (por ejemplo, la variable p  : Persona).

La expresividad del lenguaje STRIPS está limitada por los tipos de transformaciones sobre conjuntos de fórmulas que se pueden describir en el lenguaje. Las transformaciones sobre conjuntos de fórmulas utilizando operadores STRIPS se logran eliminando algunas fórmulas del conjunto a transformar y agregando nuevas fórmulas adicionales. Para un operador STRIPS dado, las fórmulas a agregar y eliminar son fijas para todos los conjuntos de fórmulas a transformar. En consecuencia, los operadores STRIPS no pueden modelar adecuadamente acciones cuyos efectos dependen de las situaciones en las que se realizan. Consideremos un cohete que va a ser lanzado durante una cierta cantidad de tiempo. La trayectoria puede variar no solo debido a la duración de la combustión sino también debido a la velocidad, masa y orientación del cohete. No se puede modelar por medio de un operador STRIPS porque las fórmulas que tendrían que agregarse y eliminarse dependerían del conjunto de fórmulas a transformar. [8]

Aunque es posible un razonamiento eficiente cuando se utiliza el lenguaje STRIPS, se reconoce generalmente que la expresividad de STRIPS no es adecuada para modelar acciones en muchas aplicaciones del mundo real. Esta inadecuación motivó el desarrollo del lenguaje ADL. [9] [10] La expresividad y complejidad del ADL se encuentran entre el lenguaje STRIPS y el cálculo de situaciones. Su poder expresivo es suficiente para permitir que se represente el ejemplo del cohete descrito anteriormente, pero, al mismo tiempo, es lo suficientemente restrictivo como para permitir que se desarrollen algoritmos de razonamiento eficientes.

Como ejemplo de una versión más compleja del mundo de los bloques: podría ser que el bloque A sea el doble de grande que los bloques B y C, por lo que la acción xMoveOnto(B,A) podría tener solo el efecto de negar Clear(A) si On(A,C) ya es verdadero, o crear el efecto condicional dependiendo del tamaño de los bloques. Este tipo de efectos condicionales serían difíciles de expresar en notación STRIPS sin los efectos condicionales.

Ejemplo

Pensemos en el problema del transporte aéreo de mercancías, en el que determinadas mercancías deben transportarse de un aeropuerto a otro en avión y es necesario cargar y descargar aviones.

Las acciones necesarias serían cargar , descargar y volar ; sobre los descriptores se podría expresar In(c, p)si At(x, A)una carga c está en un avión p y si un objeto x está en un aeropuerto A.

Las acciones podrían definirse entonces de la siguiente manera:

Acción (  Carga ( c : Carga, p: Avión, A: Aeropuerto)  Condición previa: En ( c , A) ^ En ( p , A)  Efecto: ¬En ( c , A) ^ En ( c , p) )  Acción (  Descargar ( c : Carga, p: Avión, A: Aeropuerto)  Condición previa: En ( c , p) ^ En ( p , A)  Efecto: En ( c , A) ^ ¬En ( c , p) )   Acción (  Volar ( p : Avión, desde: Aeropuerto, hasta: Aeropuerto)  Condición previa: En ( p , desde)  Efecto: ¬En ( p , desde) ^ En ( p , hasta) )  

Véase también

Referencias

  1. ^ Edwin Pednault. «Sitio web de investigación de IBM: Pednault» . Consultado el 29 de marzo de 2013 .yo
  2. ^ Pednault. Formulación de problemas multiagente-dinámicos en el marco de la planificación clásica. En Michael Georgeff y Amy Lansky, editores, Reasoning about shares and plans páginas 47-82. Morgan Kaufmann, San Mateo, CA, 1987.
  3. ^ Michael Gelfond , Vladimir Lifschitz (1998) "Lenguajes de acción Archivado el 2 de septiembre de 2011 en Wayback Machine ", Linköping Electronic Articles in Computer and Information Science , vol 3 , nr 16 .
  4. ^ Edwin PD Pednault. ADL. "Explorando el punto medio entre STRIPS y el cálculo de situaciones". En Actas de KR -89, 324–332.
  5. ^ Gazen, BC y Knoblock, CA, "Combinando la expresividad de UCPOP con la eficiencia de Graphplan". En ECP9 7, págs. 221-233. Toulouse, Francia. 1997
  6. ^ Nebel, B., "Sobre la compilabilidad y el poder expresivo de los formalismos de planificación proposicional". Journal of Artificial Intelligence Research , 12, 27 de diciembre de 2003.
  7. ^ Jorge A. Baier., "Técnicas de búsqueda efectivas para la planificación no clásica mediante reformulación". Tesis doctoral, Universidad de Toronto, 2003.
  8. ^ Edwing PD Pednault. ADL y el modelo de acción de transición de estado
  9. ^ HJ Levesque y RJ Brachman. Una disyuntiva fundamental entre la representación del conocimiento y el razonamiento. En Readings in Knowledge Representation, HJ Levesque y RJ Brachman, eds, págs. 42-70. Morgan Kaufmann, San Mateo, CA, 1985.
  10. ^ Vladimir Lifschitz y Arkady Rabinov. Milagros en las teorías formales de las acciones. Inteligencia artificial , 626(3):89–116. 1986