stringtranslate.com

Planificación y programación automatizadas

La planificación y programación automatizadas , a veces denominada simplemente planificación por IA , [1] es una rama de la inteligencia artificial que se ocupa de la realización de estrategias o secuencias de acciones, normalmente 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. Las soluciones se pueden encontrar y evaluar antes de la ejecución. En entornos dinámicamente desconocidos, a menudo es necesario revisar la estrategia en línea. Es necesario adaptar modelos y políticas. Las soluciones suelen recurrir a procesos iterativos de prueba y error que se ven comúnmente en la inteligencia artificial . Estos incluyen programación dinámica , aprendizaje por refuerzo y optimización combinatoria . Los lenguajes utilizados para describir la planificación y la programación suelen denominarse lenguajes de acción .

Descripción general

Dada una descripción de los posibles estados iniciales del mundo, una descripción de las metas deseadas y una descripción de un conjunto de acciones posibles, el problema de planificación es sintetizar un plan que esté garantizado (cuando se aplica a cualquiera de los estados iniciales) para generar un estado que contenga los objetivos deseados (dicho estado se llama estado objetivo).

La dificultad de la planificación depende de los supuestos simplificadores empleados. Se pueden identificar varias clases de problemas de planificación dependiendo de las propiedades que tienen los problemas en varias dimensiones.

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

Dado que el estado inicial se conoce sin ambigüedades 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 (MDP) en tiempo discreto son problemas de planificación con:

Cuando la observabilidad total se reemplaza por la 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 la planificación multiagente , que está muy relacionada con la teoría de juegos .

Planificación independiente del dominio

En la planificación de la IA, los planificadores normalmente ingresan un modelo de dominio (una descripción de un conjunto de acciones posibles que modelan el dominio), así como el problema específico a resolver especificado por el estado inicial y el objetivo, en contraste con aquellos en los que no hay dominio de entrada especificado. Estos planificadores se denominan "independientes de 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 de dominio específico.

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 estados que tiene un tamaño exponencial en el conjunto, la planificación, al igual que muchos otros problemas computacionales, sufre la maldición de la dimensionalidad y la explosión combinatoria .

Un lenguaje alternativo para describir problemas de planificación es el de las redes jerárquicas de tareas , en las que se da un conjunto de tareas y cada tarea 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 de 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 que se superpongan temporalmente y con una duración determinada, la definición de un estado debe incluir información sobre el tiempo absoluto actual y hasta qué punto ha avanzado 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 y también puede entenderse en términos de autómatas cronometrados . 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 el cumplimiento de 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 lo 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 valor 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 sólo producir un plan sino también satisfacer las preferencias especificadas por el usuario . A diferencia de la planificación más común basada en recompensas, por ejemplo la correspondiente a los MDP, las preferencias no necesariamente tienen 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 están ordenados 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 ordenador. Eso significa que la notación de un gráfico de comportamiento contiene comandos de acción, pero no bucles ni declaraciones si-entonces. La planificación condicional supera el cuello de botella e introduce una notación elaborada similar a un flujo de control , conocida en 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 el "Warplan-C", que se introdujo a mediados de los años 1970. [5] ¿Cuál es la diferencia entre una secuencia normal y un plan complicado, que contiene declaraciones si-entonces? Tiene que ver con la incertidumbre en el momento de la ejecución de un plan. La idea es que un plan pueda reaccionar a señales de sensores 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, pero puede dividir el problema en partes . Esto ayuda a reducir el espacio de estados y resuelve problemas mucho más complejos.

Planificación de contingencias

Hablamos de "planificación de contingencia" cuando el entorno es observable a través de sensores, que pueden resultar defectuosos. Se trata, pues, de una situación en la que el agente de planificación actúa con información incompleta. Para 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 estado único 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 opta por coger el paraguas, y si no, 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, es decir, "totalmente 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 entonces tiene creencias sobre el mundo real, pero no puede verificarlas mediante acciones sensoriales, por ejemplo. Estos problemas se resuelven mediante técnicas similares a las de 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

Ver 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 coherencia a la controlabilidad". Revista de inteligencia artificial teórica y experimental . 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). "Construcción de un planificador: un estudio de los sistemas de planificación utilizados en videojuegos comerciales". Transacciones IEEE sobre juegos . 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 de robot humano a corto plazo mediante planificación y ejecución condicional. Proc. de la Conferencia Internacional sobre Planificación y Programación Automatizada (ICAPS). Archivado desde el original el 16 de agosto de 2019 . Consultado el 16 de agosto de 2019 .{{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. ^ Alejandro Alboré; Héctor Palacios; Héctor Geffner (2009). Un enfoque basado en la traducción para la planificación contingente. Conferencia Conjunta Internacional de Inteligencia Artificial (IJCAI). Pasadena, California: AAAI. Archivado desde el original el 3 de julio de 2019 . Consultado el 3 de julio de 2019 .
  9. ^ Littman, Michael L. (1997). Planificación proposicional probabilística: representaciones y complejidad. Decimocuarto Congreso Nacional de Inteligencia Artificial. Prensa del MIT. págs. 748–754. Archivado desde el original el 12 de febrero de 2019 . Consultado el 10 de febrero de 2019 .
  10. ^ ab Jussi Rintanen (2004). Complejidad de la planificación con observabilidad parcial (PDF) . En t. Conf. Planificación y programación automatizadas. AAAI. Archivado (PDF) desde el original el 31 de octubre de 2020 . Consultado el 3 de julio de 2019 .
  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 17 de julio de 2018 . Consultado el 17 de julio de 2018 .
  12. ^ Palacios, Héctor; Geffner, Héctor (2009). "Recopilar la incertidumbre en problemas de planificación conforme con ancho acotado". 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. ^ Alboré, Alexandre; Ramírez, Miquel; Geffner, Héctor (2011). Heurísticas efectivas y seguimiento de creencias para la planificación con información incompleta. Vigésima Primera Conferencia Internacional sobre Planificación y Programación Automatizada (ICAPS). Archivado desde el original el 6 de julio de 2017 . Consultado el 16 de agosto de 2019 .
  14. ^ Haslum, Patrik; Jonsson, Peter (2000). Algunos resultados sobre la complejidad de la planificación con información incompleta . Apuntes de conferencias sobre informática. vol. 1809. Springer Berlín Heidelberg. págs. 308–318. doi :10.1007/10720246_24. ISBN 9783540446576. conferencia: Avances recientes en la planificación de la IA

Otras lecturas

enlaces externos