stringtranslate.com

Planificación y programación automatizadas

La planificación y programación automatizadas , a veces denominada simplemente planificación de IA , [1] es una rama de la inteligencia artificial que se ocupa de la realización de estrategias o secuencias de acciones, típicamente para su ejecución por agentes inteligentes , robots autónomos y vehículos no tripulados . A diferencia de los problemas clásicos de control y clasificación , las soluciones son complejas y deben descubrirse y optimizarse en un espacio multidimensional. La planificación también está relacionada con la teoría de la decisión .

En entornos conocidos con modelos disponibles, la planificación se puede realizar sin conexión. Se pueden encontrar soluciones y evaluarlas antes de la ejecución. En entornos dinámicos desconocidos, a menudo es necesario revisar la estrategia en línea. Los modelos y las políticas deben adaptarse. Las soluciones suelen recurrir a procesos iterativos de prueba y error que se ven comúnmente en la inteligencia artificial . Estos incluyen la programación dinámica , el aprendizaje por refuerzo y la optimización combinatoria . Los lenguajes que se utilizan para describir la planificación y la programación a menudo se denominan lenguajes de acción .

Descripción general

Dada una descripción de los posibles estados iniciales del mundo, una descripción de los objetivos deseados y una descripción de un conjunto de acciones posibles, el problema de planificación es sintetizar un plan que garantice (cuando se aplica a cualquiera de los estados iniciales) la generación de un estado que contenga los objetivos deseados (dicho estado se denomina estado objetivo).

La dificultad de la planificación depende de los supuestos simplificadores que se empleen. Se pueden identificar varias clases de problemas de planificación en función de las propiedades que tengan los problemas en varias dimensiones.

El problema de planificación más simple posible, conocido como el problema de planificación clásico, está determinado por:

Dado que el estado inicial se conoce de forma inequívoca y todas las acciones son deterministas, el estado del mundo después de cualquier secuencia de acciones se puede predecir con precisión y la cuestión de la observabilidad es irrelevante para la planificación clásica.

Además, los planes pueden definirse como secuencias de acciones, porque siempre se sabe de antemano qué acciones serán necesarias.

Con acciones no deterministas u otros eventos fuera del control del agente, las posibles ejecuciones forman un árbol y los planes deben determinar las acciones apropiadas para cada nodo del árbol.

Los procesos de decisión de Markov en tiempo discreto (MDP) son problemas de planificación con:

Cuando la observabilidad total se reemplaza por una observabilidad parcial, la planificación corresponde a un proceso de decisión de Markov parcialmente observable (POMDP).

Si hay más de un agente, tenemos planificación multiagente , que está estrechamente relacionada con la teoría de juegos .

Planificación independiente del dominio

En la planificación de IA, los planificadores suelen introducir un modelo de dominio (una descripción de un conjunto de posibles acciones que modelan el dominio) así como el problema específico que se debe resolver especificado por el estado inicial y el objetivo, a diferencia de aquellos en los que no hay un dominio de entrada especificado. Dichos planificadores se denominan "independientes del dominio" para enfatizar el hecho de que pueden resolver problemas de planificación de una amplia gama de dominios. Ejemplos típicos de dominios son el apilamiento de bloques, la logística, la gestión del flujo de trabajo y la planificación de tareas de robots. Por lo tanto, se puede utilizar un único planificador independiente del dominio para resolver problemas de planificación en todos estos diversos dominios. Por otro lado, un planificador de rutas es típico de un planificador específico del dominio.

Lenguajes de modelado de dominios de planificación

Los lenguajes más utilizados para representar dominios de planificación y problemas de planificación específicos, como STRIPS y PDDL para la planificación clásica, se basan en variables de estado. Cada estado posible del mundo es una asignación de valores a las variables de estado, y las acciones determinan cómo cambian los valores de las variables de estado cuando se realiza esa acción. Dado que un conjunto de variables de estado induce un espacio de estado que tiene un tamaño exponencial en el conjunto, la planificación, de manera similar a muchos otros problemas computacionales, sufre la maldición de la dimensionalidad y la explosión combinatoria .

Un lenguaje alternativo para describir los problemas de planificación es el de las redes de tareas jerárquicas , en las que se proporciona un conjunto de tareas y cada una de ellas puede realizarse mediante una acción primitiva o descomponerse en un conjunto de otras tareas. Esto no implica necesariamente variables de estado, aunque en aplicaciones más realistas las variables de estado simplifican la descripción de las redes de tareas.

Algoritmos para la planificación

Planificación clásica

Reducción a otros problemas

Planificación temporal

La planificación temporal se puede resolver con métodos similares a la planificación clásica. La principal diferencia es que, debido a la posibilidad de que se realicen simultáneamente varias acciones superpuestas temporalmente con una duración determinada, la definición de un estado debe incluir información sobre el tiempo absoluto actual y hasta dónde ha llegado la ejecución de cada acción activa. Además, en la planificación con tiempo racional o real, el espacio de estados puede ser infinito, a diferencia de la planificación clásica o la planificación con tiempo entero. La planificación temporal está estrechamente relacionada con los problemas de programación cuando hay incertidumbre involucrada y también se puede entender en términos de autómatas temporizados . La red temporal simple con incertidumbre (STNU) es un problema de programación que involucra acciones controlables, eventos inciertos y restricciones temporales. La controlabilidad dinámica para tales problemas es un tipo de programación que requiere una estrategia de planificación temporal para activar acciones controlables de manera reactiva a medida que se observan eventos inciertos, de modo que se garantice que se satisfagan todas las restricciones. [2]

Planificación probabilística

La planificación probabilística se puede resolver con métodos iterativos como la iteración de valores y la iteración de políticas , cuando el espacio de estados es suficientemente pequeño. Con observabilidad parcial, la planificación probabilística se resuelve de manera similar con métodos iterativos, pero utilizando una representación de las funciones de valores definidas para el espacio de creencias en lugar de estados.

Planificación basada en preferencias

En la planificación basada en preferencias, el objetivo no es solo elaborar un plan, sino también satisfacer las preferencias especificadas por el usuario . A diferencia de la planificación basada en recompensas más común, por ejemplo, la correspondiente a los MDP, las preferencias no tienen necesariamente un valor numérico preciso.

Planificación condicional

La planificación determinista se introdujo con el sistema de planificación STRIPS , que es un planificador jerárquico. Los nombres de las acciones se ordenan en una secuencia y este es un plan para el robot. La planificación jerárquica se puede comparar con un árbol de comportamiento generado automáticamente . [3] La desventaja es que un árbol de comportamiento normal no es tan expresivo como un programa de computadora. Esto significa que la notación de un gráfico de comportamiento contiene comandos de acción, pero no bucles ni declaraciones if-then. La planificación condicional supera el cuello de botella e introduce una notación elaborada que es similar a un flujo de control , conocido de otros lenguajes de programación como Pascal . Es muy similar a la síntesis de programas , lo que significa que un planificador genera un código fuente que puede ser ejecutado por un intérprete. [4]

Un ejemplo temprano de un planificador condicional es “Warplan-C”, que se introdujo a mediados de la década de 1970. [5] ¿Cuál es la diferencia entre una secuencia normal y un plan complicado, que contiene declaraciones if-then? Tiene que ver con la incertidumbre en el tiempo de ejecución de un plan. La idea es que un plan puede reaccionar a señales de sensores que son desconocidas para el planificador. El planificador genera dos opciones de antemano. Por ejemplo, si se detecta un objeto, se ejecuta la acción A, si falta un objeto, se ejecuta la acción B. [6] Una ventaja importante de la planificación condicional es la capacidad de manejar planes parciales . [7] Un agente no está obligado a planificar todo de principio a fin, sino que puede dividir el problema en fragmentos . Esto ayuda a reducir el espacio de estados y resuelve problemas mucho más complejos.

Planificación de contingencias

Hablamos de "planificación contingente" cuando el entorno es observable a través de sensores, que pueden ser defectuosos. Se trata, por tanto, de una situación en la que el agente planificador actúa con información incompleta. En un problema de planificación contingente, un plan ya no es una secuencia de acciones sino un árbol de decisiones , porque cada paso del plan está representado por un conjunto de estados en lugar de un único estado perfectamente observable, como en el caso de la planificación clásica. [8] Las acciones seleccionadas dependen del estado del sistema. Por ejemplo, si llueve, el agente elige coger el paraguas, y si no llueve, puede optar por no cogerlo.

Michael L. Littman demostró en 1998 que con acciones ramificadas, el problema de planificación se vuelve EXPTIME -completo. [9] [10] Un caso particular de planificación contigua está representado por los problemas FOND -para "completamente observables y no deterministas". Si el objetivo se especifica en LTLf (lógica de tiempo lineal en traza finita), entonces el problema siempre es EXPTIME-completo [11] y 2EXPTIME-completo si el objetivo se especifica con LDLf.

Planificación conforme

La planificación conforme se produce cuando el agente no está seguro del estado del sistema y no puede realizar ninguna observación. El agente tiene creencias sobre el mundo real, pero no puede verificarlas con acciones de detección, por ejemplo. Estos problemas se resuelven mediante técnicas similares a las de la planificación clásica, [12] [13] pero donde el espacio de estados es exponencial en el tamaño del problema, debido a la incertidumbre sobre el estado actual. Una solución para un problema de planificación conforme es una secuencia de acciones. Haslum y Jonsson han demostrado que el problema de la planificación conforme es EXPSPACE -completo, [14] y 2EXPTIME-completo cuando la situación inicial es incierta y no hay determinismo en los resultados de las acciones. [10]

Despliegue de sistemas de planificación

Véase también

Liza

Referencias

  1. ^ Ghallab, Malik; Nau, Dana S.; Traverso, Paolo (2004), Planificación automatizada: teoría y práctica, Morgan Kaufmann , ISBN 1-55860-856-7, archivado desde el original el 24 de agosto de 2009 , consultado el 20 de agosto de 2008
  2. ^ Vidal, Thierry (enero de 1999). "Manejo de contingencias en redes de restricciones temporales: de la consistencia a las controlabilidades". Journal of Experimental & Theoretical Artificial Intelligence . 11 (1): 23--45. CiteSeerX 10.1.1.107.1065 . doi :10.1080/095281399146607. 
  3. ^ Neufeld, Xenija y Mostaghim, Sanaz y Sancho-Pradel, Dario y Brand, Sandy (2017). "Construyendo un planificador: un estudio de los sistemas de planificación utilizados en los videojuegos comerciales". IEEE Transactions on Games . IEEE.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  4. ^ Sanelli, Valerio y Cashmore, Michael y Magazzeni, Daniele y Iocchi, Luca (2017). Interacción entre humanos y robots a corto plazo mediante planificación y ejecución condicionales. Actas de la Conferencia Internacional sobre Planificación y Programación Automatizadas (ICAPS). Archivado desde el original el 2019-08-16 . Consultado el 2019-08-16 .{{cite conference}}: CS1 maint: multiple names: authors list (link)
  5. ^ Peot, Mark A y Smith, David E (1992). Planificación no lineal condicional (PDF) . Sistemas de planificación de inteligencia artificial. Elsevier. págs. 189–197.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  6. ^ Karlsson, Lars (2001). Planificación progresiva condicional bajo incertidumbre. IJCAI. págs. 431–438.
  7. ^ Liu, Daphne Hao (2008). Un estudio de la planificación en agentes inteligentes: de sistemas motivados externamente a sistemas motivados internamente (informe técnico). Informe técnico TR-2008-936, Departamento de Ciencias de la Computación, Universidad de Rochester. Archivado desde el original el 15 de marzo de 2023. Consultado el 16 de agosto de 2019 .
  8. ^ Alexandre Albore; Hector Palacios; Hector Geffner (2009). Un enfoque basado en la traducción para la planificación contingente. Conferencia conjunta internacional sobre inteligencia artificial (IJCAI). Pasadena, CA: AAAI. Archivado desde el original el 2019-07-03 . Consultado el 2019-07-03 .
  9. ^ Littman, Michael L. (1997). Planificación proposicional probabilística: representaciones y complejidad. Decimocuarta Conferencia Nacional sobre Inteligencia Artificial. MIT Press. págs. 748–754. Archivado desde el original el 12 de febrero de 2019. Consultado el 10 de febrero de 2019 .
  10. ^ por Jussi Rintanen (2004). Complejidad de la planificación con observabilidad parcial (PDF) . Int. Conf. Planificación y programación automatizadas. AAAI. Archivado (PDF) desde el original el 2020-10-31 . Consultado el 2019-07-03 .
  11. ^ De Giacomo, Giuseppe; Rubin, Sasha (2018). Fundamentos teóricos de autómatas de la planificación FOND para objetivos LTLf y LDLf. IJCAI. Archivado desde el original el 2018-07-17 . Consultado el 2018-07-17 .
  12. ^ Palacios, Hector; Geffner, Hector (2009). "Compiling doubt away in conformant planning problems with bounded width". Revista de investigación en inteligencia artificial . 35 : 623–675. arXiv : 1401.3468 . doi : 10.1613/jair.2708 . Archivado desde el original el 27 de abril de 2020 . Consultado el 16 de agosto de 2019 .
  13. ^ Albore, Alexandre; Ramírez, Miquel; Geffner, Hector (2011). Heurísticas efectivas y seguimiento de creencias para la planificación con información incompleta. XXI Conferencia Internacional sobre Planificación y Programación Automatizadas (ICAPS). Archivado desde el original el 2017-07-06 . Consultado el 2019-08-16 .
  14. ^ Haslum, Patrik; Jonsson, Peter (2000). Algunos resultados sobre la complejidad de la planificación con información incompleta . Apuntes de clase sobre informática. Vol. 1809. Springer Berlin Heidelberg. págs. 308–318. doi :10.1007/10720246_24. ISBN . 9783540446576Conferencia : Avances recientes en la planificación de la IA

Lectura adicional

Enlaces externos