Valor klam
En el campo de la complejidad parametrizada de algoritmos, el valor klam de un algoritmo parametrizado es un número que limita los valores de los parámetros para los cuales se podría esperar razonablemente que el algoritmo sea práctico.[1] Un algoritmo con un valor klam más alto puede utilizarse para un rango más amplio de valores de parámetros que otro algoritmo con un valor klam más bajo. El valor klam fue definido inicialmente por Downey y Fellows (1999),[2][3] y desde entonces ha sido utilizado por otros investigadores en complejidad parametrizada, tanto para comparar diferentes algoritmos entre sí como para establecer objetivos para futuras mejoras algorítmicas.
Definición
Se dice que un algoritmo es manejable con parámetros fijos si el número de operaciones elementales que realiza tiene un límite de la forma , donde es una medida del tamaño de la entrada (como el número de vértices en un grafo), es un parámetro que describe la complejidad de la entrada (como la anchura del árbol del grafo), es una constante que no depende de ni de , y es una función computable.
Dado un límite temporal de esta forma, el valor klam del algoritmo (o, más propiamente, el límite temporal) se define como el mayor valor de tal que no exceda un límite absoluto razonable en el número máximo de pasos de cualquier cálculo.[1] Más precisamente, tanto Downey y Fellows (1999) como Niedermeier (1998) utilizan el número 1020 como límite, y esto ha sido seguido por investigadores posteriores. Para evitar mejorar artificialmente el valor klam de un algoritmo al asignar mayor complejidad a la parte del límite de tiempo, Downey y Fellows (1999) también limita a un máximo de tres, lo cual es válido para muchos algoritmos manejables con parámetros fijos conocidos.
Ejemplos
Niedermeier (1998) cita el ejemplo de cobertura de vértices, con su parámetro natural (el número de vértices en la cubierta). En aquel entonces, el límite de tiempo parametrizado conocido era . Resolviendo se obtiene un valor klam de aproximadamente 129. Sin embargo, la parte del límite de tiempo puede simplificarse, obteniendo un límite de la forma con un factor constante mayor oculto en la notación O y una base del exponente mayor oculta en su valor decimal aproximado. Para una cota exponencial simple como esta, se puede resolver directamente , de la que Niedermeier deriva un valor klam de aproximadamente 165. Investigaciones posteriores han desarrollado algoritmos de cobertura de vértices parametrizados, con [4] que proporciona un valor klam de aproximadamente 190. Es decir, de este análisis se puede concluir que las instancias de cobertura de vértices con un tamaño de cobertura superior a 190 están fuera del alcance de este algoritmo, pero las instancias con un tamaño de cobertura muy inferior a este límite probablemente sean solucionables.
Otro ejemplo de un problema en el que el valor klam se ha utilizado explícitamente como objetivo para futuras investigaciones es el árbol de máxima expansión de hojas, cuyo objetivo es encontrar un árbol de expansión de un grafo con el mayor número posible de nodos hoja (parametrizado por el número de hojas). Fellows et al. (2000) desarrolló un algoritmo para este problema, que comparan utilizando el valor klam con trabajos previos sobre el mismo problema: los algoritmos anteriores tenían valores klam de 1 y 5, y el suyo tiene un valor klam de 16.[5] Sin embargo, también sugieren que debería ser posible proporcionar algoritmos mejorados para este problema con un valor klam de al menos 50. Aunque este tema aún está abierto, varios artículos posteriores han mejorado gradualmente el valor klam de este problema hasta 37.[6]
Referencias
- ↑ a b Niedermeier, Rolf (1998), «Some prospects for efficient fixed parameter algorithms», en Rovan, Branislav, ed., SOFSEM'98: Theory and Practice of Informatics, Lecture Notes in Computer Science 1521, Springer, pp. 168-185..
- ↑ Downey, R. G.; Fellows, M. R. (1999), Parameterized Complexity, Monographs in Computer Science, Springer, pp. 13-14, ISBN 0-387-94883-X, MR 1656112, S2CID 261102932, doi:10.1007/978-1-4612-0515-9..
- ↑ Niedermeier (1998) utiliza el valor klam y se publicó antes de Downey y Fellows (1999), pero le da crédito a Downey y Fellows por el concepto.
- ↑ Chen, Jianer; Kanj, Iyad A.; Xia, Ge (2006), «Improved parameterized upper bounds for vertex cover», Mathematical Foundations of Computer Science 2006, Lecture Notes in Computer Science 4162, Springer, pp. 238-249, ISBN 978-3-540-37791-7, MR 2298181, doi:10.1007/11821069_21, «citeseerx: 10.1.1.432.831»..
- ↑ Fellows, Michael R.; McCartin, Catherine; Rosamond, Frances A.; Stege, Ulrike (2000), «Coordinatized kernels and catalytic reductions: an improved FPT algorithm for max leaf spanning tree and other problems», FST-TCS 2000: Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Comput. Sci. 1974, Springer, Berlin, pp. 240-251, MR 1850108, doi:10.1007/3-540-44450-5_19..
- ↑ Binkele-Raible, Daniel; Fernau, Henning (2014), «A parameterized measure-and-conquer analysis for finding a k-leaf spanning tree in an undirected graph», Discrete Mathematics & Theoretical Computer Science 16 (1): 179-200, MR 3188035..