P vs. NP - En busca del algoritmo "imposible" para 3SAT

Aplicación de las abstracciones exponenciales al problema 3-SAT

Sinopsis

Haciendo uso de nuestra metodología basada en las abstracciones exponenciales, abordamos el diseño de un algoritmo polinómico para el problema 3-SAT. Si parafraseáramos a Lance Fortnow, podríamos decir que nos embarcamos en la búsqueda de lo imposible.

El algoritmo teóricamente polinómico (de orden cuartico) que mostramos nos valió para reforzar nuestra teoría, y considerar que a pesar de que pudieran demostrarse que existen limiten físicos (P != NP) que condicionan y condicionaran por siempre el diseño de algoritmos, sería posible usar la abstracción como un recurso computacional más. Este recurso, que es independiente al espacio y el tiempo podría tender a crecer exponencialmente a pesar de que los recursos temporales y espaciales que usará nuestra máquina de cómputo se mantuvieran acotados en términos polinómicos.

En este libro, podrá ver como gracias al uso de la abstracción y del diseño de algoritmos, podemos computar todo el conjunto de configuraciones satisfacibles de una instancia 3-SAT, y posteriormente, en caso de el conjunto no sea vacío, leer una de ellas como certificado de satisfacibilidad. Al igual que hacíamos, en nuestro trabajo de investigación, para computar de forma abstracta el conjunto de todos ciclos hamiltonianos o tours de TSP.

Somos conscientes del escepticismo generalizado que existe alrededor de cualquier intento de diseñar un algoritmo polinómico para un problema NP-Complete como es 3-SAT. Sin embargo, le invitamos a dar a este algoritmo (para 3-SAT) y a nuestros otros algoritmos (para HC, TSP, n-Queens) el beneficio de la duda. De hecho, podemos decir que la lógica de este algoritmo es mucho más simple (y, por ende, más fácil de entender) que la que requerimos implementar en nuestro trabajo principal para HC y TSP.

P versus NP Diseño de Algortimos Estructuras de datos Abstracciones Exponenciales Problemas Intratables 3-SAT

Índice

  1. Diseño
    1. Redefinición del Problema
    2. Algoritmo General
      1. Graph Map
      2. 3SAT Machine
      3. Graph PathSet
  2. Implementación
    1. Graph Map
      1. Literals Block
      2. Clauses Block
      3. Lectura del Mapa
    2. Graph PathSet
      1. UP
      2. Filtering
      3. Join
    3. 3-SAT Machine
      1. Initialization
      2. Execution
    4. Solution Reader
      1. Bit by Bit
  3. Testing & Complexity
    1. Asymptotic Analysis
    2. Testing
      1. 3SAT Machine vs Brute
      2. 3SAT Machine vs MiniSat
  4. Conclusiones
  5. A. Recursos Adicionales
    Bibliografía

Libros de referencia

Garey, M.R. and D.S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-completeness. W. H. Freeman. isbn: 9780716710448
Arora, S. and B. Barak (2017). Computational Complexity: A Modern Approach. Cambridge University Press. isbn: 9781316612156
Ricardo, M. Biot (2022). P vs. NP - Abstracciones Exponenciales. isbn: 978-8409442089