stringtranslate.com

PLS (complejidad)

En la teoría de la complejidad computacional , la búsqueda local polinómica ( PLS ) es una clase de complejidad que modela la dificultad de encontrar una solución localmente óptima para un problema de optimización . Las características principales son:

Los problemas que presenta PLS son que el costo de una solución se puede calcular en tiempo polinómico y que la vecindad de una solución se puede buscar en tiempo polinómico. Por lo tanto, es posible verificar si una solución es o no un óptimo local en tiempo polinómico.

Además, dependiendo del problema y del algoritmo que se utilice para resolverlo, podría ser más rápido encontrar un óptimo local en lugar de un óptimo global.

Descripción

Al buscar un óptimo local, hay dos cuestiones interesantes que abordar: primero, cómo encontrar un óptimo local y segundo, cuánto tiempo se tarda en encontrarlo. En el caso de muchos algoritmos de búsqueda local, no se sabe si pueden encontrar un óptimo local en tiempo polinomial o no. [1] Por lo tanto, para responder a la pregunta de cuánto tiempo se tarda en encontrar un óptimo local, Johnson, Papadimitriou y Yannakakis [2] introdujeron la clase de complejidad PLS en su artículo "¿Qué tan fácil es la búsqueda local?". Contiene problemas de búsqueda local para los cuales la optimalidad local se puede verificar en tiempo polinomial.

Un problema de búsqueda local está en PLS, si se cumplen las siguientes propiedades:

Con estas propiedades es posible encontrar para cada solución la mejor solución vecina o si no existe tal mejor solución vecina, afirmar que es un óptimo local.

Ejemplo

Consideremos el siguiente ejemplo del problema Max-2Sat : . El objetivo es encontrar una asignación que maximice la suma de las cláusulas satisfechas.

Una solución para esa instancia es una cadena de bits que asigna a cada uno el valor 0 o 1. En este caso, una solución consta de 3 bits, por ejemplo , que representa la asignación de a con el valor 0. El conjunto de soluciones es el conjunto de todas las asignaciones posibles de , y .

El costo de cada solución es el número de cláusulas satisfechas, porque la segunda y la tercera cláusula se satisfacen.

El vecino Flip de una solución se alcanza invirtiendo un bit de la cadena de bits , por lo que los vecinos de tienen los siguientes costos:

No existen vecinos con mejores costes que , si buscamos una solución con coste máximo. Aunque no es un óptimo global (que por ejemplo sería una solución que satisface todas las cláusulas y tiene ), es un óptimo local, porque ninguno de sus vecinos tiene mejores costes.

Intuitivamente se puede argumentar que este problema radica en PLS , porque:

Si simplemente contamos la cantidad de cláusulas satisfechas, el problema se puede resolver en tiempo polinómico, ya que la cantidad de costos posibles es polinómica. Sin embargo, si asignamos a cada cláusula un peso entero positivo (y buscamos maximizar localmente la suma de pesos de las cláusulas satisfechas), el problema se vuelve PLS-completo (abajo).

Definición formal

Un problema de búsqueda local tiene un conjunto de instancias que se codifican utilizando cadenas sobre un alfabeto finito . Para cada instancia existe un conjunto de soluciones finito . Sea la relación que modela . La relación está en PLS [2] [3] [4] si:

Una instancia tiene la estructura de un gráfico implícito (también llamado gráfico de transición [6] ), cuyos vértices son las soluciones con dos soluciones conectadas por un arco dirigido si y solo si .

Un óptimo local es una solución que no tiene un vecino con mejores costos. En el gráfico implícito, un óptimo local es un sumidero. Un vecindario donde cada óptimo local es un óptimo global , que es una solución con el mejor costo posible, se llama vecindario exacto . [6] [1]

Definición alternativa

La clase PLS es la clase que contiene todos los problemas que se pueden reducir en tiempo polinomial al problema Sink-of- DAG [7] (también llamado Local-Opt [8] ): Dados dos enteros y y dos circuitos booleanos tales que y , encuentre un vértice tal que y o .

Ejemplos de estructuras de barrio

Ejemplos de estructuras de vecindad para problemas con variables booleanas (o cadenas de bits) como solución:

Ejemplos de estructuras de vecindad para problemas en gráficos:

El algoritmo estándar

Considere el siguiente problema computacional: dada alguna instancia de un problema PLS , encuentre una solución localmente óptima tal que para todo .

Cada problema de búsqueda local se puede resolver utilizando el siguiente algoritmo de mejora iterativa: [2]

  1. Úselo para encontrar una solución inicial
  2. Utilice el algoritmo para encontrar una mejor solución . Si existe dicha solución, reemplácela por y repita el paso 2; de lo contrario, vuelva.

Desafortunadamente, generalmente se necesita una cantidad exponencial de pasos de mejora para encontrar un óptimo local, incluso si el problema se puede resolver exactamente en tiempo polinomial. [2] No siempre es necesario utilizar el algoritmo estándar, puede haber un algoritmo diferente y más rápido para un problema determinado. Por ejemplo, un algoritmo de búsqueda local utilizado para la programación lineal es el algoritmo Simplex .

El tiempo de ejecución del algoritmo estándar es pseudopolinomial en el número de costos diferentes de una solución. [12]

El espacio que necesita el algoritmo estándar es solo polinómico. Solo necesita guardar la solución actual , que está acotada por definición. [1]

Reducciones

Se puede utilizar una reducción de un problema a otro para demostrar que el segundo problema es al menos tan difícil como el primero. En particular, se utiliza una reducción PLS para demostrar que un problema de búsqueda local que se encuentra en PLS también es PLS-completo, reduciendo un problema PLS-completo a uno que se demostrará que es PLS-completo.

Reducción de PLS

Un problema de búsqueda local es reducible mediante PLS [2] a un problema de búsqueda local si hay dos funciones de tiempo polinomiales y tales que:

Es suficiente mapear únicamente los óptimos locales de a los óptimos locales de , y mapear todas las demás soluciones, por ejemplo, a la solución estándar devuelta por . [6]

Las reducciones PLS son transitivas . [2]

Reducción estricta de PLS

Definición Gráfico de transición

El gráfico de transición [6] de una instancia de un problema es un gráfico dirigido. Los nodos representan todos los elementos del conjunto finito de soluciones y las aristas apuntan desde una solución hasta la vecina con un costo estrictamente mejor. Por lo tanto, es un gráfico acíclico. Un sumidero, que es un nodo sin aristas salientes, es un óptimo local. La altura de un vértice es la longitud del camino más corto desde el sumidero más cercano. La altura del gráfico de transición es la mayor de las alturas de todos los vértices, por lo que es la altura del camino más corto posible desde un nodo hasta su sumidero más cercano.

Definición Reducción PLS estricta

Una reducción PLS de un problema de búsqueda local a un problema de búsqueda local es una reducción PLS estricta [10] si para cualquier instancia de , se puede elegir un subconjunto de soluciones de la instancia de , de modo que se satisfagan las siguientes propiedades:

Relación con otras clases de complejidad

PLS se encuentra entre las versiones funcionales de P y NP : FP ⊆ PLS ⊆ FNP . [2]

PLS también es una subclase de TFNP , [13] que describe problemas computacionales en los que se garantiza la existencia de una solución y se puede reconocer en tiempo polinomial. Para un problema en PLS, se garantiza la existencia de una solución porque el vértice de costo mínimo de todo el gráfico es una solución válida, y la validez de una solución se puede verificar calculando sus vecinos y comparando los costos de cada uno con el de otro.

También se demuestra que si un problema PLS es NP-hard , entonces NP = co-NP . [2]

PLS-completitud

Definición

Un problema de búsqueda local es PLS-completo, [2] si

Se ha demostrado que la versión de optimización del problema del circuito bajo la estructura de vecindad Flip es el primer problema PLS completo. [2]

Lista de problemas de PLS-complete

Esta es una lista incompleta de algunos problemas conocidos que son PLS-complete. Los problemas aquí son las versiones ponderadas; por ejemplo, Max-2SAT/Flip es ponderado aunque Max-2SAT normalmente se refiere a la versión no ponderada.

Descripción general de los problemas PLS-completos y cómo se reducen entre sí. Sintaxis: Optimización-Problema/Estructura de vecindad. Flecha punteada: Reducción PLS de un problema a otro . Flecha negra: Reducción PLS estricta. [4]

Notación: Problema / Estructura del vecindario

Relaciones con otras clases de complejidad

Fearnley, Goldberg, Hollender y Savani [24] demostraron que una clase de complejidad llamada CLS es igual a la intersección de PPAD y PLS.

Lectura adicional

Referencias

  1. ^ abcdefghijkl Yannakakis, Mihalis (2003). Búsqueda local en optimización combinatoria - Complejidad computacional . Princeton University Press. págs. 19–55. ISBN 9780691115221.
  2. ^ abcdefghijklmnop Johnson, David S; Papadimitriou, Christos H; Yannakakis, Mihalis (1988). "¿Qué tan fácil es la búsqueda local?". Journal of Computer and System Sciences . 37 (1): 79–100. doi : 10.1016/0022-0000(88)90046-3 .
  3. ^ ab Mulzer, Wolfgang; Stein, Yannik (14 de marzo de 2018). "Aspectos computacionales del teorema colorido de Caratheodory". Geometría discreta y computacional . 60 (3): 720–755. arXiv : 1412.3347 . Código Bibliográfico :2014arXiv1412.3347M. doi :10.1007/s00454-018-9979-y. S2CID  254024141.
  4. ^ ab Borzechowski, Michaela. "La clase de complejidad Búsqueda local polinómica (PLS) y problemas PLS-completos" (PDF) .
  5. ^ abcd Dumrauf, Dominic; Monien, Burkhard; Tiemann, Karsten (2009). "La programación multiprocesador es PLS completa". Ciencias de Sistemas, 2009. HICSS'09. 42ª Conferencia Internacional de Hawái el : 1–10.
  6. ^ abcdefgMichiels , Wil; Aarts, Emilio; Korst, enero (2010). Aspectos teóricos de la búsqueda local . Medios de ciencia y negocios de Springer. ISBN 9783642071485.
  7. ^ Fearnley, John; Gordon, Spencer; Mehta, Ruta; Savani, Rahul (diciembre de 2020). "Final único de línea potencial". Revista de Ciencias de la Computación y Sistemas . 114 : 1–35. arXiv : 1811.03841 . doi :10.1016/j.jcss.2020.05.007.
  8. ^ ab Daskalakis, Constantinos; Papadimitriou, Christos (23 de enero de 2011). "Búsqueda local continua". Actas del vigésimo segundo simposio anual ACM-SIAM sobre algoritmos discretos : 790–804. doi :10.1137/1.9781611973082.62. ISBN 978-0-89871-993-2.S2CID2056144  .​
  9. ^ abcde Klauck, Hartmut (1996). "Sobre la dificultad de la aproximación global y local". Actas del 5.º Taller escandinavo sobre teoría de algoritmos : 88-99.
  10. ^ abcdefghi Schäffer, Alejandro A.; Yannakakis, Mihalis (febrero de 1991). "Problemas de búsqueda local simples que son difíciles de resolver". Revista SIAM de Computación . 20 (1): 56–87. doi :10.1137/0220004.
  11. ^ Fiduccia, CM; Mattheyses, RM (1982). "Una heurística de tiempo lineal para mejorar las particiones de red". Actas de la 19.ª Conferencia de Automatización del Diseño : 175-181. ISBN 9780897910200.
  12. ^ Angel, Eric; Christopoulos, Petros; Zissimopoulos, Vassilis (2014). Paradigmas de optimización combinatoria: problemas y nuevos enfoques - Búsqueda local: complejidad y aproximación (2.ª ed.). John Wiley & Sons, Inc., Hoboken. págs. 435–471. doi :10.1002/9781119005353.ch14. ISBN 9781119005353.
  13. ^ Megiddo, Nimrod; Papadimitriou, Christos H (1991). "Sobre funciones totales, teoremas de existencia y complejidad computacional". Ciencias Informáticas Teóricas . 81 (2): 317–324. CiteSeerX 10.1.1.75.4797 . doi : 10.1016/0304-3975(91)90200-L . 
  14. ^ Krentel, M. (1 de agosto de 1990). "Sobre la búsqueda y verificación de soluciones óptimas locales". Revista SIAM de Computación . 19 (4): 742–749. doi :10.1137/0219052. ISSN  0097-5397.
  15. ^ abc Krentel, Mark W. (1989). "Estructura en soluciones localmente óptimas". 30.º Simposio anual sobre fundamentos de la informática . pp. 216–221. doi :10.1109/SFCS.1989.63481. ISBN 0-8186-1982-1. Número de identificación del sujeto  32686790.
  16. ^ Shimozono, Shinichi (1997). "Encontrar subgrafos óptimos mediante búsqueda local". Ciencias de la Computación Teórica . 172 (1): 265–271. doi : 10.1016/S0304-3975(96)00135-1 .
  17. ^ Dumrauf, Dominic; Süß, Tim (2010). "Sobre la complejidad de la búsqueda local para problemas de conjuntos estándar ponderados". CiE 2010: Programas, pruebas, procesos . Apuntes de clase en informática. Vol. 6158. Springer, Berlín, Heidelberg. págs. 132–140. CiteSeerX 10.1.1.762.6801 . doi :10.1007/978-3-642-13962-8_15. ISBN .  978-3-642-13961-1.S2CID14099014  .​
  18. ^ ab Papadimitriou, CH; Schäffer, AA; Yannakakis, M. (1990). "Sobre la complejidad de la búsqueda local". Actas del vigésimo segundo simposio anual de la ACM sobre teoría de la computación - STOC '90 . págs. 438–445. doi :10.1145/100216.100274. ISBN 0897913612.S2CID16877206  .​
  19. ^ abc Fabrikant, Alex; Papadimitriou, Christos; Talwar, Kunal (2004). "La complejidad de los equilibrios de Nash puros". Actas del trigésimo sexto simposio anual de la ACM sobre teoría de la computación . ACM. págs. 604–612. CiteSeerX 10.1.1.3.7861 . doi :10.1145/1007352.1007445. ISBN .  978-1581138528.S2CID 1037326  .
  20. ^ abcde Ackermann, Heiner; Röglin, Heiko; Vöcking, Berthold (2008). "Sobre el impacto de la estructura combinatoria en los juegos de congestión". J. ACM . 55 (6): 25:1–25:22. CiteSeerX 10.1.1.634.4913 . doi :10.1145/1455248.1455249. ISSN  0004-5411. S2CID  3070710. 
  21. ^ Yang, Yichen; Jia, Kai; Rinard, Martin (2022). "Sobre el impacto de la capacidad del jugador en los juegos de congestión". Teoría de juegos algorítmicos . Apuntes de clase en informática. Vol. 13584. págs. 311–328. arXiv : 2205.09905 . doi :10.1007/978-3-031-15714-1_18. ISBN . 978-3-031-15713-4.
  22. ^ abcd Dumrauf, Dominic; Monien, Burkhard (2013). "Sobre la complejidad PLS de la asignación de máxima restricción". Theor. Comput. Sci . 469 : 24–52. doi : 10.1016/j.tcs.2012.10.044 . ISSN  0304-3975.
  23. ^ Kaznatcheev, Artem (2019). "Complejidad computacional como una restricción última en la evolución". Genética . 212 (1): 245–265. doi :10.1534/genetics.119.302000. PMC 6499524 . PMID  30833289. 
  24. ^ Fearnley, John; Goldberg, Paul; Hollender, Alexandros; Savani, Rahul (19 de diciembre de 2022). "La complejidad del descenso de gradiente: CLS = PPAD ∩ PLS". Revista de la ACM . 70 (1): 7:1–7:74. arXiv : 2011.01929 . doi :10.1145/3568163. ISSN  0004-5411. S2CID  263706261.
  25. ^ Yannakakis, Mihalis (1 de mayo de 2009). "Equilibrios, puntos fijos y clases de complejidad". Computer Science Review . 3 (2): 71–85. arXiv : 0802.2831 . doi :10.1016/j.cosrev.2009.03.004. ISSN  1574-0137.