Algorítmica y complejidad computacional. El problema P vs. NP, un survey.

El autor del survey es el merecidamente popular bloguero (y por supuesto académico experto en computación cuántica) Aaronson.

Lo he leído muy muy en diagonal este finde aprovechando que tenía un potente resfriado, lo cual en general y paradójicamente me inspira. Me ha gustado sobre todo (y mucho) el punto 6, en el que he concentrado mi tiempo. Los otros puntos, que finalmente me he saltado, diría que no aportan demasiado a cualquiera que ya conozca el tema (aunque yo lo tengo completamente oxidado y me vendría bien un recordatorio, así que lo leeremos más detalladamente en otra ocasión).

El punto 6 repasa las barreras o limitaciones teóricas que se han encontrado (y se pueden encontrar) en los intentos de demostraciones de esta conjetura (tema muy bien explicado que finalmente creo que he comprendido, pero que nadie me pida que se lo explique ahora :-); nos demuestran que hay niveles de abstracción inadecuados o más bien insuficientes para atacar este problema, sea por exceso o sea por defecto, lo cual da que pensar; realmente los nombres elegidos para las denominarlas no dicen mucho de lo que luego son) así como algunos enfoques prometedores, que permiten saltarse estas barreras (aunque a lo mejor se encontrarán con otras) como el utilizar cotas superiores algorítmicas para demostrar cotas  inferiores teóricas y así separar clases de complejidad (método que ya ha dado sus frutos hace unos años, separando dos clases de complejidad, eso sí muy extremas; también tiene un nombre raro) o el enfoque llamado Geometric Complexity Theory que aplica técnicas de geometría algebraica (el estudio de los conjuntos de soluciones de los sistemas de ecuaciones algebraicases decir a ecuaciones polinómicas multivariables, cuando las variables recorren determinados tipos de estructuras algebraicas) a estos temas. Gracias a este survey también he comprendido este último enfoque, obviamente en líneas muy muy generales (idem, que  nadie me pida que se lo explique…).  El autor no entra en demasiados detalles técnicos al respecto, lo cual algunos agradecerán, pero nos da una visión de (un) pájaro con muy buena vista. Por lo visto a algunos expertos este enfoque les parece una complicación innecesaria; a otros un camino viable.

Espero lector, que disfrutes del  survey.

Por cierto, al leerlo me he acordado de un tema que tenemos pendiente de comprobar con respecto a nuestro método de demostración de no hamiltonicidad en casos, que bien por ser entangled o twisted, no tienen recorridos hamiltonianos, método que hemos detallado largamente en varias entradas el pasado verano: ¿ como escala este método con el tamaño del input ?.

Ya en el peor caso, sólo determinar o decidir si un caso es entangled puede ser subexponencial (cota de Landau). Si es entangled el caso es potencialmente complicado y ya podemos decidir abandonarlo sin más e identificar otro que sea potencialmente sencillo.

Pero si por los motivos que sean nos gustan sus propiedades conocidas y además queremos que tenga recorridos hamiltonianos luego hay una serie de pasos más que nos permiten demostrar que no los tiene y aplicar el  razonamiento contrapositivo, según hemos detallado en las entradas del año pasado. Así de memoria pensamos no incrementarán la cota teórica señalada en el peor caso (según pienso hablaríamos de una suma de operaciones de complejidad subexponencial, lo cual sólo añadiría constantes). Pero queremos comprobarlo.

De  cualquier manera ya la cota subexponencial peor caso sólo para decidir si el caso es entangled nos deja completamente insatisfechos…Por otra parte también hemos comentado en varias entradas anteriores que hay buenos argumentos para pensar que el caso medio no será subexponencial, sino más bien cuasipolinómico (ver también aquí), lo cual nos consuela. Por otra parte de momento no hemos investigado si hay un test más eficiente para identificar si un caso tiene las propiedades de entrelazado (entanglement) o de retorcimiento (twistedness). No me parece fácil mejorar el  estado del arte en esto, pero tampoco imposible.

Algunos extractos (barriendo para casa :-)):

 –2.2.1 Search, Decision, and Optimization . . . . . . . . . . . . . . . . . . . . . . . . 16

Es un extracto del índice. En el punto indicado nos explica la diferencia entre estos problemas (también la no diferencia desde el punto de vista de complejidad computacional). ¿ Por qué es tan complicado entender esta diferencia ?

–Just as Hilbert’s question turned out to have a negative answer, so too in this case, most computer scientists conjecture that P!= NP: that there exist rapidly checkable problems that aren’t rapidly solvable, and for which brute-force search is close to the best we can do. This is not a unanimous opinion. At least one famous computer scientist, Donald Knuth [151], has professed a belief that P = NP, while another, Richard Lipton [171], professes agnosticism.   

Desconocía esta posición de Knuth tan extrema (bastante reciente; la referencia es: D. E. Knuth and E. G. Daylight. Algorithmic Barriers Falling: P=NP? Lonely Scholar, 2014; se trata de una entrevista). Si conocía la del otro investigador pues leemos su blog. Son, dicho sea con todos los respetos, dos veteranos que ya no tienen nada que demostrar a nadie ni nada que temer y, a calzón quitao, muestran un escepticismo a contracorriente muy sano y recomendable, que equilibra la balanza. Hace poco hicimos una entrada sobre otro investigador, más joven, que también expresaba sus dudas abiertamente.

–More broadly, there are many cases in mathematics where we can prove that some object O of interest to us has a property P, even though we have no hope of finding a general polynomial time algorithm to decide whether any given object has property P, or even to certify a large fraction of objects as having property P. In such cases, often we prove that O has property P by exploiting special symmetries in O—symmetries that have little to do with why O has property P, but everything to do with why we can prove it has the property. As an example, a random graph is an expander graph (that is, a graph on which a random walk mixes rapidly) with overwhelming probability. But since the general problem of deciding whether a graph is an expander is NP-hard, if we want a specific graph G that’s provably an expander, typically we need to construct G with a large amount of symmetry: for example, by taking it to be the Cayley graph of a finite group. Similarly, even though we expect that there’s no general efficient algorithm to decide if a Boolean function f is hard,51 given as input f’s truth table, we might be able to prove that certain specific f’s (for example, NP- or #P-complete ones) are hard by exploiting their symmetries. Geometric Complexity Theory (see Section 6.6) is the best-known development of that particular hope for escaping the natural proofs barrier.

Esta es la única mención honorífica a los Grafos de Cayley en todo el survey, en un contexto perfectamente conocido desde hace años. Pero lo hemos extractado sobre todo porque es una prueba más del hecho de que demostrar que un grafo tiene determinadas propiedades, y sólo esto, añade valor. Cosa que de nuevo parece que a algunos les cuesta comprender.

–ETH is an ambitious strengthening of P!= NP. Even assuming P!= NP, there’s by no means a consensus in the field that ETH is true—let alone still further strengthenings, like the Strong Exponential Time Hypothesis or SETH, which asserts that any algorithm for kSat requires Ω ((2 − ε) n ) time, for some ε that goes to zero as k → ∞. SETH, of course, goes even further out on a limb than ETH does, and some algorithms researchers have been actively working to disprove SETH (see [275] for example).

En el blog nos hemos interesado bastante por la conjetura ETH hace años.

–But now we come to the main insight of GCT, which is that the permanent and determinant are both special, highly symmetric functions, and it’s plausible that we can leverage that fact to learn more about their orbit closures than we could if they were arbitrary functions. For starters, Per (X) is symmetric under permuting X’s rows or columns, transposing X, and multiplying the rows or columns by scalars that multiply to 1. That is, we have

Per (X) = Per ( XT ) = Per (P XQ) = Per (AXB) (2)

for all permutation matrices P and Q, and all diagonal matrices A and B such that Per (A) Per (B) = 1.

The determinant has an even larger symmetry group: we have

Det (X) = Det ( XT ) = Det (AXB) 

Nos gusta la simetría. Muy interesante. En esto se basa todo el enfoque GCT, al parecer.

Anuncios

Terms and conditions: 1. Any commenter of this blog agrees to transfer the copy right of his comments to the blogger. 2. RSS readers and / or aggregators that captures the content of this blog (posts or comments) are forbidden. These actions will be subject to the DMCA notice-and-takedown rules and will be legally pursued by the proprietor of the blog.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: