When both Grounding and not Grounding are Bad -- A Partially Grounded Encoding of Planning into SAT (Extended Version)

Este artículo presenta tres codificaciones SAT que logran un equilibrio entre la representación totalmente levantada y totalmente instanciada mediante la mantención de acciones levantadas y la instanciación parcial de predicados, logrando una escalabilidad lineal en la longitud del plan y superando al estado del arte en dominios difíciles de instanciar.

João Filipe, Gregor Behnke

Publicado 2026-03-23
📖 5 min de lectura🧠 Análisis profundo

Each language version is independently generated for its own context, not a direct translation.

Imagina que estás organizando un viaje para un grupo enorme de amigos. Tienes que decidir quién se sienta en qué coche, quién lleva qué maleta y qué ruta tomarán.

El problema es que, si intentas hacer una lista completa y detallada de todas las posibilidades desde el principio (por ejemplo: "Juan en el coche A con la maleta roja", "Juan en el coche B con la maleta roja", "María en el coche A...", etc.), la lista se vuelve tan gigantesca que tu cerebro (o una computadora) se agota antes de empezar a pensar. Esto es lo que pasa en la planificación automática cuando se intenta "aterrizar" (grounding) todo el problema: se crean demasiados casos específicos.

Por otro lado, si intentas pensar solo en reglas generales sin nombres ("Alguien va en algún coche"), es muy flexible, pero a veces es tan abstracto que es difícil encontrar una solución concreta y rápida.

La idea central del papel: El "Justo Medio"

Este artículo presenta una nueva forma de pensar que se sitúa en el punto medio entre la lista gigante y la regla abstracta. Los autores llaman a esto una "codificación parcialmente aterrizada".

Aquí tienes la analogía para entenderlo:

1. El problema de los "Planos de Vuelo" (LiSAT)

Imagina que el método anterior más famoso (llamado LiSAT) es como un controlador de tráfico aéreo que no tiene una lista de aviones, sino que solo sabe las reglas: "Si un avión despega, otro debe aterrizar".

  • Ventaja: Es muy flexible y maneja muchos aviones.
  • Desventaja: Para saber si el vuelo de mañana es posible, tiene que revisar todas las posibles conexiones entre todos los aviones de todos los días. Si el viaje es largo (muchos días), el trabajo crece de forma explosiva (cuadráticamente). Es como intentar adivinar el futuro conectando cada punto con cada otro punto; se vuelve imposible para viajes largos.

2. La solución de los autores: "Etiquetas de Maleta" (Codificación Parcial)

Los autores proponen una nueva estrategia. Imagina que en lugar de escribir una lista de quién va en qué coche, usas etiquetas inteligentes:

  • Mantienes las acciones (como "conducir", "cargar maleta") en un formato general y flexible (nadie tiene nombre propio todavía).
  • Pero para el estado (dónde están las cosas), usas un sistema de "grupos de mutex" (grupos de exclusión mutua).

La analogía de la "Caja de Herramientas":
Imagina que tienes una caja de herramientas.

  • Método antiguo (Aterrizado completo): Escribes en un papel: "El martillo está en la caja 1", "El destornillador en la caja 2", "El martillo en la caja 3"... hasta agotar todas las cajas. Si tienes 1000 cajas, tienes 1000 papeles.
  • Método LiSAT: Solo dices "Hay una herramienta en alguna caja", pero para verificarlo, tienes que mirar todas las cajas de todas las cajas anteriores.
  • El nuevo método (Parcialmente aterrizado): Dices: "Solo hay una herramienta en la caja de 'martillos'". Usas una etiqueta que dice "Martillo". No necesitas saber exactamente en qué caja está el martillo hasta que sea necesario. Si el martillo se mueve, solo actualizas la etiqueta "Martillo -> Caja 5".

¿Por qué es mejor?

  1. Escalabilidad Lineal vs. Cuadrática:

    • Piensa en el método antiguo como subir una escalera donde cada paso requiere que revises todos los pasos anteriores. Si la escalera es larga, tardas una eternidad.
    • El nuevo método es como subir una escalera donde solo revisas el paso anterior. Si la escalera es el doble de larga, tardas el doble de tiempo (lineal), no cuatro veces más. Esto es crucial para planes largos.
  2. Aprovechar la Estructura:
    El método usa "grupos de mutex" (LMGs). Es como decir: "Un paquete no puede estar en dos lugares a la vez". En lugar de verificar cada paquete individualmente contra cada lugar, el sistema sabe que, por definición, si el paquete A está en Madrid, no puede estar en París. Esto elimina millones de posibilidades inútiles de la lista de verificación.

El resultado en la vida real

Los autores probaron su método en problemas difíciles (como logística, transporte de paquetes, laberintos).

  • En problemas largos y difíciles: Su nuevo método (especialmente la versión con "codificación binaria", que es como usar código binario para guardar información en lugar de escribirlo todo en letras) ganó a los mejores métodos anteriores.
  • En problemas cortos: A veces es un poco más lento, pero sigue siendo muy competitivo.

En resumen

Imagina que tienes que organizar un banquete para 10.000 personas.

  • El método viejo: Haces una lista de 10.000 nombres y 10.000 platos, y luego intentas combinar cada nombre con cada plato para ver qué funciona. Se vuelve un caos.
  • El método LiSAT: Intentas adivinar las combinaciones sin lista, pero revisando cada posible historia pasada. Se vuelve lento si el banquete dura muchos días.
  • El nuevo método: Creas grupos. "Todos los niños comen pizza", "Todos los adultos comen ensalada". Usas etiquetas para mover los grupos. Si un niño quiere cambiar de mesa, solo mueves la etiqueta del grupo "Niños".

Conclusión: Los autores han encontrado una forma inteligente de planificar que no se ahoga en detalles innecesarios, permitiendo resolver problemas mucho más grandes y complejos que antes eran imposibles para las computadoras. Es como pasar de contar cada grano de arena de una playa a contar solo los montones de arena.