Lenguaje de definición de dominio de planificación


El lenguaje de definición de dominio de planificación ( PDDL ) es un intento de estandarizar los lenguajes de planificación de la inteligencia artificial (IA) . Fue desarrollado por primera vez por Drew McDermott y sus colegas en 1998 (inspirado en STRIPS y ADL, entre otros) principalmente para hacer posible la Competencia Internacional de Planificación (IPC) 1998/2000 , y luego evolucionó con cada competencia. La estandarización proporcionada por PDDL tiene la ventaja de hacer que la investigación sea más reutilizable y fácilmente comparable, aunque a costa de cierto poder expresivo, en comparación con los sistemas específicos de dominio. [1]

Este fue el idioma oficial del 1º y IPC en 1998 y 2000 respectivamente. [2] Se separó el modelo del problema de planificación en dos partes principales: (1) descripción del dominio y (2) descripción del problema relacionado . Tal división del modelo permite una separación intuitiva de aquellos elementos, que están (1) presentes en cada problema específico del dominio del problema (estos elementos están contenidos en la descripción del dominio), y aquellos elementos, que (2)determinar el problema de planificación específico (estos elementos están contenidos en la descripción del problema). Así, varias descripciones de problemas pueden estar conectadas a la misma descripción de dominio (al igual que pueden existir varias instancias de una clase en OOP (Programación Orientada a Objetos) o en OWL (Lenguaje de Ontología Web) por ejemplo). Por lo tanto, un dominio y una descripción de problema de conexión forman el modelo PDDL de un problema de planificación y, finalmente, esta es la entrada de un software planificador (generalmente planificador de IA independiente del dominio), que tiene como objetivo resolver el problema de planificación dado a través de algún software apropiado. algoritmo de planificación. La salida del planificador no se especifica por PDDL, pero por lo general es un plan de total o parcialmente ordenado(una secuencia de acciones, algunas de las cuales pueden ejecutarse incluso en paralelo a veces). Ahora echemos un vistazo al contenido de un dominio PDDL1.2 y la descripción del problema en general ...
(1) La descripción del dominio consistió en una definición de nombre de dominio , una definición de requisitos (para declarar esos elementos del modelo al planificador que que el modelo PDDL está usando), definición de jerarquía de tipo de objeto (como una jerarquía de clases en OOP ), definición de objetos constantes (que están presentes en cada problema en el dominio), definición de predicados (plantillas para hechos lógicos ), y también la definición de posibles acciones(esquemas de operador con parámetros, que deben estar conectados a tierra / instanciados durante la ejecución). Las acciones tenían parámetros (variables que pueden instanciarse con objetos), condiciones previas y efectos . Los efectos de las acciones también pueden ser condicionales (efectos cuando) .
(2) La descripción del problema consistió en una definición del nombre del problema , la definición del nombre de dominio relacionado , la definición de todos los objetos posibles (átomos en el universo lógico), condiciones iniciales (el estado inicial del entorno de planificación, un conjunción de hechos verdaderos / falsos), y la definición de estados-objetivo(una expresión lógica sobre hechos que deberían ser verdaderos / falsos en un estado-objetivo del entorno de planificación). Así, finalmente, PDDL1.2 capturó la "física" de un entorno de planificación determinista, discreto y totalmente accesible, de agente único.

Este fue el idioma oficial del 3er IPC en 2002. [3] Introdujo fluidos numéricos (por ejemplo, para modelar recursos no binarios como nivel de combustible, tiempo, energía, distancia, peso, ...), plan-métricas ( para permitir la evaluación cuantitativa de planes, y no solo la planificación impulsada por objetivos, sino también la planificación impulsada por la utilidad, es decir, optimización, minimización / maximización de métricas) y acciones duraderas / continuas (que podrían tener una duración, condiciones y efectos variables, no discretos) . Finalmente, PDDL2.1 permitió la representación y solución de muchos más problemas del mundo real que la versión original del lenguaje.