logo móvil
Contáctanos

DynASP2.5: programación dinámica en descomposiciones de árboles en acción

Autores: Fichte, Johannes K.; Hecher, Markus; Morak, Michael; Woltran, Stefan

Idioma: Inglés

Editor: MDPI

Año: 2021

Descargar PDF

Acceso abierto

Artículo científico
2021

DynASP2.5: programación dinámica en descomposiciones de árboles en acción


Categoría

Ingeniería y Tecnología

Subcategoría

Ingeniería de Software

Palabras clave

Algoritmos eficientes
Algoritmos parametrizados
Ancho de árbol
Programación de conjuntos de respuestas
DynASP2.5
Programación dinámica

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 24

Citaciones: Sin citaciones


Descripción
Los algoritmos eficientes de parámetros exactos son un área de investigación activa. Tales algoritmos muestran un amplio interés en la comunidad teórica. En los últimos años, se han establecido implementaciones para calcular varios parámetros (detección de parámetros) en desafíos parametrizados, como anchura de árbol, profundidad de árbol, anchura de hiperárbol, conjunto de vértices de retroalimentación o cubierta de vértices. En teoría, las instancias para las cuales el parámetro considerado es pequeño pueden resolverse rápidamente (evaluación del problema), es decir, el tiempo de ejecución está limitado exponencialmente en el parámetro. Aunque existen tales garantías teóricas favorables, a menudo no está claro si se pueden implementar con éxito estos algoritmos bajo consideraciones prácticas. En otras palabras, ¿podemos diseñar y construir implementaciones de algoritmos parametrizados de modo que funcionen de manera similar o incluso mejor que los solucionadores de problemas bien establecidos en instancias donde el parámetro es pequeño? De hecho, podemos construir una implementación que funcione bien bajo las suposiciones teóricas. Sin embargo, también podría ser que un solucionador existente aproveche implícitamente una estructura, lo cual a menudo se afirma para los solucionadores que se basan en la resolución. En este documento, consideramos encontrar una solución a instancias de programación de conjuntos de respuestas (), que es un marco lógico declarativo para modelar y resolver. Las soluciones para las instancias de ASP se llaman conjuntos de respuestas. Curiosamente, el problema de decidir si una instancia tiene un conjunto de respuestas ya se encuentra en el segundo nivel de la jerarquía polinomial. Un solucionador que emplea la anchura de árbol como parámetro y ejecuta programación dinámica en descomposiciones de árboles es DynASP2. Los experimentos empíricos muestran que este solucionador es rápido en instancias de pequeña anchura de árbol y puede superar a los modernos cuando se cuentan los conjuntos de respuestas. Queda abierto si se puede mejorar el solucionador para que también encuentre un conjunto de respuestas rápidamente y muestre un comportamiento competitivo con los solucionadores modernos de ASP en instancias de baja anchura de árbol. Desafortunadamente, los modelos teóricos de los solucionadores modernos de ASP ya indican que estos solucionadores pueden resolver instancias de baja anchura de árbol rápidamente, ya que se basan en algoritmos de resolución. En este documento, mejoramos DynASP2 y construimos el solucionador DynASP2.5, que utiliza un enfoque diferente. El nuevo solucionador muestra un comportamiento competitivo con los solucionadores de vanguardia incluso para encontrar solo una solución. Presentamos experimentos empíricos donde se puede ver que nuestra nueva implementación resuelve instancias de ASP, que codifican el problema del árbol de Steiner en gráficos con baja anchura de árbol, rápidamente. Nuestra implementación se basa en un enfoque novedoso que llamamos programación dinámica de múltiples pasadas (). En el documento, describimos los conceptos subyacentes de nuestra implementación (DynASP2.5) y argumentamos por qué las técnicas siguen produciendo algoritmos correctos.

Otros recursos que podrían interesarte

Temas Virtualpro