Articulo de referencia

Algoritmo de Karloff-Zwick

El algoritmo de Karloff-Zwick , en la teoría de la complejidad computacional , es un algoritmo de aproximación aleatoria que toma como entrada una instancia del problema de sati...

El algoritmo de Karloff-Zwick , en la teoría de la complejidad computacional , es un algoritmo de aproximación aleatoria que toma como entrada una instancia del problema de satisfacibilidad booleana MAX-3SAT . Si la instancia es satisfacible, el peso esperado de la asignación encontrada es al menos 7/8 del óptimo. Existe una fuerte evidencia (aunque no una demostración matemática ) de que el algoritmo alcanza 7/8 del óptimo incluso en instancias MAX-3SAT insatisfacibles. Howard Karloff y Uri Zwick presentaron el algoritmo en 1997. [ 1 ]

El algoritmo se basa en programación semidefinida . Se puede eliminar la aleatoriedad utilizando, por ejemplo, las técnicas de [ 2 ] para obtener un algoritmo determinista de tiempo polinomial con las mismas garantías de aproximación.

Comparación con la asignación aleatoria

Para el problema MAX-E3SAT relacionado, en el que se garantiza que todas las cláusulas de la fórmula 3SAT de entrada tengan exactamente tres literales, el algoritmo de aproximación aleatoria simple , que asigna un valor de verdad a cada variable de forma independiente y uniforme al azar, satisface 7/8 de todas las cláusulas en promedio, independientemente de si la fórmula original es satisfacible. Además, este algoritmo simple también se puede desaleatorizar fácilmente utilizando el método de expectativas condicionales . Sin embargo, el algoritmo de Karloff-Zwick no requiere la restricción de que la fórmula de entrada deba tener tres literales en cada cláusula. [ 1 ]

Optimalidad

Partiendo de trabajos previos sobre el teorema PCP , Johan Håstad demostró que, suponiendo que P ≠ NP, ningún algoritmo de tiempo polinomial para MAX 3SAT puede alcanzar una relación de rendimiento superior a 7/8, incluso cuando se restringe a instancias satisfacibles del problema en las que cada cláusula contiene exactamente tres literales. Por lo tanto, tanto el algoritmo de Karloff-Zwick como el algoritmo simple anterior son óptimos en este sentido. [ 3 ]

Referencias

  1. 1 2 Karloff, H.; Zwick, U. (1997), "Un algoritmo de aproximación 7/8 para MAX 3SAT?", Actas del 38.º Simposio Anual sobre Fundamentos de la Informática , págs. 406–415 , CiteSeerX 10.1.1.51.1351 , doi : 10.1109/SFCS.1997.646129 , ISBN   978-0-8186-8197-4, S2CID 15447333 .
  2. Sivakumar, D. (19 de mayo de 2002), "Algorithmic desaleatorization via complexity theory", Actas del trigésimo cuarto simposio anual de la ACM sobre teoría de la computación , págs. 619–626 , doi : 10.1145/509907.509996 , ISBN  1581134959, S2CID 94045 
  3. Hastad, J. (2001), "Algunos resultados óptimos de inaproximabilidad", Journal of the ACM , 48 (4): 798–859 , CiteSeerX 10.1.1.638.2808 , doi : 10.1145/502090.502098 , S2CID 5120748  .