Si hubiera un algoritmo de tiempo polinómico para algo como 3SAT, ¿qué tan probable es que sea algo elegante y / o simple?

Además de la buena respuesta de Igor está el teorema de naturalidad de Razborov y Rudich [0]. Hablando en términos generales, una pregunta que uno podría hacer es: “¿Es el problema de decidir si [matemáticas] P \ neq NP [/ matemáticas] es un problema [matemáticas] NP [/ matemáticas] en sí mismo?”

La estrategia para realizar esto técnicamente es la siguiente:

  • Comience con un problema NP-hard / función difícil de calcular, digamos el TSP
  • Encuentre una propiedad [math] \ mathcal {P} [/ math] de esta función de manera que a) los problemas de poli tiempo no tengan [math] \ mathcal {P} [/ math] b) [math] \ mathcal {P } [/ math] es eficientemente computable y c) muchas funciones poseen [math] \ mathcal {P} [/ math]. Tal propiedad se llama natural
  • La última propiedad significa que si extraje una función booleana aleatoria de la distribución uniforme en las funciones booleanas del tamaño del problema [matemática] n [/ matemática], entonces tiene una probabilidad no despreciable de tener [matemática] \ matemática {P} [ /mates]
  • Si existe tal propiedad, entonces al tomar expectativas sobre las funciones booleanas, podemos eficientemente (por ejemplo, en el tiempo polivinílico) separar [matemática] P [/ matemática] y [matemática] NP [/ matemática] en un sentido aleatorio

Razborov y Rudich demostraron que si existe una propiedad natural, entonces el problema del logaritmo discreto no es difícil (por ejemplo, Factoring, la generación de números pseudoaleatorios no es difícil). En cierto sentido, esto dice que NP-ness se basa en algunas propiedades que son NP en sí mismas y no son compartidas por funciones aleatorias. Así es como podemos decir aproximadamente que resolver [matemáticas] P \ neq NP [/ matemáticas] es [matemáticas] NP [/ matemáticas] en sí. Ver [1,2] para más detalles (¡escribir en TeX en un teléfono es una mierda!)

Como tal, es bastante improbable que exista una solución bonita.

[0] Ganaron el Premio Gödel 2007 por esto
[1] http://www.ams.org/notices/20111…
[2] https://gowers.wordpress.com/201…
[3] Además, tenga en cuenta que este argumento se aplica a la separación de un espacio un poco más grande que [math] P [/ math] de [math] NP [/ math] (ya que estamos tratando con funciones booleanas)

Extremadamente improbable por varias razones.

  • Más de 60 años de intentos de un gran número de personas con todo tipo de antecedentes técnicos, incluidos lógicos, matemáticos, físicos, informáticos, ingenieros de algoritmos e incluso la industria electrónica que utiliza solucionadores SAT para verificar circuitos digitales.
  • Un algoritmo elegante / simple para resolver 3SAT conducirá a algoritmos elegantes / simples para resolver muchos otros problemas, que también se han estudiado mucho, incluida la factorización de números.
  • Alrededor de 30 años de exitosa investigación algorítmica en la satisfacción booleana que identificó algunos algoritmos relativamente simples (varios miles de líneas de código) que funcionan bien en la práctica. Pero es poco probable que se ejecuten en tiempo polivinílico en todos los casos (por razones fundamentales que se entienden).

Lo que está sugiriendo puede ser posible si el algoritmo es esencialmente poco práctico, por ejemplo, se ejecuta en [math] n ^ {10} [/ math] time. Pero la gente también los buscaba. Don Knuth sugiere que P = NP, pero aparentemente piensa que los algoritmos específicos serían complicados.

para preguntas np-complete, los humanos todavía necesitamos algunas chispas

More Interesting

¿Cuáles son los problemas en informática para los cuales se conoce con certeza la mejor complejidad computacional absoluta?

¿Cuál es la complejidad temporal para ordenar n cadenas de n caracteres, cada una utilizando un orden lexicográfico?

¿Qué conceptos matemáticos son cruciales para un informático?

¿Por qué identificamos algoritmos que actúan en diferentes tamaños de entrada?

Cómo hacer un programa en c ++ que pueda factorizar un número de 10 dígitos

Informática teórica: ¿cómo empiezo a resolver el problema P = NP?

¿Hay una mejor manera que la recursividad para encontrar palabras reducibles?

¿Cuál es el concepto de tipos en la teoría de tipos (de una manera simple pero rigurosa)?

Teoría de la complejidad computacional: ¿Hay conjeturas famosas que alguna vez se creyeron firmemente que eran ciertas pero que luego se demostraron falsas?

¿Cuál es la diferencia entre matemática y ciencia?

¿Por qué el problema indecidible en las máquinas de Turing es interesante desde un sentido práctico?

¿Cuáles son algunos temas imprescindibles en matemáticas discretas y probabilidad de programación competitiva?

En términos simples, ¿qué quieres decir con enmarcar bits?

¿Es la matemática de la computación (UCLA) una especialidad decente para ir a la escuela de posgrado en informática?

Si un ciclo se ejecuta infinitas veces, ¿por qué recibimos un error de tiempo de ejecución en lugar de un error de límite de tiempo excedido? Además, ¿cuál es el valor de infinito para los compiladores en línea?