P != NP by Deolalikar

B

En una de estas calurosas tardes de verano me encontraba yo holgazaneando y haciendo limpieza de contactos de MSN (Dè.ésiH, me pregunto qué extraña enfermedad mental me llevó a agregarte 6 años ha). De repente, en el grupo "Companys universitat" veo uno de los ya licenciados con el siguiente y misterioso nick: "Theorem 7. P!=NP".

"¿Cómo?", pensé mientras me comía el último trozo de melocotón que había cortado con cariño mi madre, y eso mismo le pregunté a este compañero, "¿esto no era un problema del milenio?".

Bueno, me estoy cansando del estilo literario, se me hace cansino y pedante así que al grano voy xD.

La cuestión es que este compañero me explicó que hay todos los años varias demostraciones, pero un empleado de HP, un tal Deolalikar, había desarrollado una demostración que parecía correcta (aún está en proceso de revisión). Yo no sé mucho de complejidad, calculabilidad, teorías del lenguaje y todo eso, es más de informáticos y aunque en matemáticas hay la rama de lógica, de momento yo estoy con Russell, Gödel y sus impresionantes avances, pero para ponernos en situación, la cosa va así:
Hay problemas (teoremas, fórmulas, algoritmos, como queráis llamarlo) que se resuelven en un cierto número de pasos en función del número de elementos del lenguaje (o el número de dígitos por ejemplo en encriptación, o de ciudades en el caso del problema del viajante) - que alguien me corrija si miento- y se dividen en dos tipos. El primero es P (tiempo polinómico), básicamente el número de pasos es una función polinómica (o de menor orden) del número de elementos, es decir que si por ejemplo yo tardo 4 segundos con 2 elementos, a lo mejor con 3 elementos tardaré 9 segundos. Esto es bueno, porque es controlable, y bueno aquí de nuevo los amigos informáticos lo sabrán mejor. El segundo es NP (no polinómico), es decir, a lo mejor con 5 digitos tardamos 4 días y con 6 necesitamos 10 semanas.

Pues bien, allá en el año 1971 un tal Levin dijo que si alguien demostraba que se podía pasar de problemas NP a problemas P (fijaos que el cambio sería radical), o bien lo contrario, se le pagarían 1 millón de $. Es decir, uno de los famosos problemas del milenio. Y ahora este Deolalikar sacó una demostración que parece que si no es correcta, poco le falta, de que no se puede pasar.

Como veis mi conocimiento sobre el tema es prácticamente nulo, pero siempre me ha interesado y como sé que aquí en el foro hay muchos informáticos, proyectos de informático y gente lista en general (CI > 160 oc) digo, pues a lo mejor a alguien le interesa la noticia, y mejor aún, le interesa explicarnos un poco con más detalle la situación xD.

No tengo tiempo de redactar más pero he estado leyendo estos links:
wiki Deolalikar
P=NP=WTF?¿
P versus NP. ¿Nunca lo entendiste?
Y creo que son interesantes para entenderlo un poco y tal, a lo mejor me están timando porque como ya os digo, no tengo ni zorra idea xD.

Bueno, y para acabar y hacer alguna pregunta (a parte de pedir ayuda a los expertos para que completen la poca información que he dado), suponiendo que esta demostración no es correcta, vosotros "creéis" (porque hasta que no esté demostrado, es un acto de fe) ¿que P=NP, que P!=NP? ¿Que son teoremas indecidibles? ¿Que soy un pesado?

Saludos

Corrijo cosas que han comentado otros users con más dominio:

Los problemas P son todos aquellos cuya solución es verificable por una Máquina de Turing determinista mientras que aquellos NP son verificables por una MT no determinista. Esto es, aquellas Máquinas de Turing que en un estado y con la lectura de un símbolo pueden llevar a un estado u a otro.

2
M0E

P!= NP

P/P = N/!

N/!=1

N=!

31
jose29

#2 Sus mil dolares

Kreidmar

De no haber sido artista habría ido por la rama de informática, ciencia o matemáticas pero no fue así. Con el problema no te puedo ayudar, pero hay algo que es una verdad universal y es:

"La probabilidad de que consigas una respuesta seria en MV es inversamente proporcional a la seriedad con la que la plantees."

B

#2 has hecho que los 15 minutos de redacción y aburrimiento valieran la pena xd.

#4 cierto, la próxima vez escribiré "lol P!=NP u got pwnd n00bz!!!"

T

Respecto a #1, no tengo ningún conocimiento sobre el tema que pueda aportar y, mucho menos, alguno que haga que este post valga la pena. Pero tenía que comentar el #2 más épico que vi en mucho tiempo xDDDDD

-Crack-

#5 empezamos a entendernos.

Zerokkk

#1 No entiendo tanto de matemáticas, pero creo que más o menos he entendido lo que comentas. Pasar un problema no polinómico a uno polinómico, si lo he entendido bien, es imposible. Decir que P != NP es una tontería puesto que tan solo dices que el tiempo polinómico no es igual al tiempo no polinómico. Vamos, que solo es una obviedad; en realidad no solucionas nada.

#2 ¿? Que alguien me explique qué ha hecho, anda xD. Que de matemáticas sé -1.

#9 Ah, vale xD.

B

#8 en realidad lo que dice P != NP es que los problemas con algoritmos de resolución con tiempos no polinómicos no se pueden transformar en problemas con algoritmos de resolución con tiempos polinómicos xD, pero P != NP queda más cool que decir todo eso. Y, estrictamente hablando, de momento no sabemos si es posible o imposible hasta que no haya una demostración correcta.

BLaCkDaRk

NPI

6
Kartalon

Los problemas P son todos aquellos cuya solución es verificable por una Máquina de Turing determinista mientras que aquellos NP son verificables por una MT no determinista. Esto es, aquellas Máquinas de Turing que en un estado y con la lectura de un símbolo pueden llevar a un estado u a otro.

Obviamente aquellos problemas verificables por una MT determinista son también verificables por una MT no determinista siempre y cuando esta incluya (entre otros) el "camino" de la determinista que verifica dicho problema.

El problema es, en las MT no deterministas, ¿por qué camino se va? Si para el mismo par estado-entrada hay varios caminos, ¿cual cogemos? De ahí, si no me equivoco (que alguien me corrija si me equivoco) es de donde nace el problema de P vs NP. ¿Todos los problemas NP son en realidad problemas P? ¿Todos los problemas que podemos verificar son problemas a los que en realidad una computadora podría llegar a solucionar? ¿O no?

Si no me equivoco eso es en esencia lo que plantea el problema de P vs NP que sigue sin ser resuelto. En la Wiki hay más información y supongo que habré dicho algo mal pero bueno.

(Tengo la informática teórica oxidada y eso que la aprobé hace no tanto, con una nota decente y me gustaba, pero soy un desastre xD)

#2 Not funny ¬¬

kaitoo

Un profesor de la carrera nos habló de esto, pero la verdad es que por mucho que pensé la forma de conseguir que P = NP, es decir, que el tiempo polinómico en resolver un problema sea igual al de resolver un problema de tiempo exponencial, no le encontré ningún sentido.

Porque supongamos que tu tienes una ecuación polinómica para resolver el coste computacional (algo así cómo tiempo en informática) de un problema, cómo cojones se puede transformar esa ecuación a exponencial y que de el mismo tiempo para cada paso que realizas? :S

Obviamente es lo mismo al revés, pasar una ecuación exponencial a polinómica, WTF

EDIT: hablo del total desconocimiento, no me ataquéis por las burradas que estoy diciendo !!

#11 Ahí es donde esta la duda, si el coste computacional de verificar el resultado NP es bajo, porque es tan alto de resolver?

B

#8 lo que ha hecho #2 es muy simple. En vez de tomar != como "no es igual" (P != NP), ha tomado P! = NP. Es decir, P multiplicado por ! es igual a N por P.

Y ha despejado, con dos cojones xDDD

Kartalon

#12 Un tiempo de resolución exponencial no dejaría de ser polinómico. NP no significa No Polinómico sino No Determinista en Tiempo Polinómico.

Edit: Son problemas irresolubles (o altísimos de resolver) porque, si sabemos la solución, por asi decirlo, "sabemos el camino". Pero sino habría que ir decidiendo el camino. Se que me explico como el culo, luego miro la wiki y me explico mejor xDDD

kaitoo

#14 yo te he entendido perfectamente, y me he explicado bastante mal todo sea dicho de paso.

Lo que quería comentar es diferenciar entre 2 costes computacionales: El exponencial (cómo tu dices, hay muchos caminos, y cuanto más te adentras en el problema, más alto es el coste porque más ramas hay en los caminos), y el que yo he llamado polinomio pero básicamente quería decir de tiempo "simple" (ahora no me acuerdo de la palabra exacta), donde el coste de resolver es una ecuación simple.

Joder me explico cómo el culo, pero bueno da igual, he entendido lo que querías decir, yo esto del coste computacional de los problemas y demás lo vi hace mucho tiempo, y me cago para eso ahora jaja

dagavi

Si bien la demostración salió hace unas semanas armando bastante revuelo ya que parecía tener buena pinta, pero se descubrieron fallos, por lo que no se ha dado la demostración por correcta.

El tío está (o estaba) intentando corregirlos (de echo ya pasó con otro problema del milenio: el que lo demostró se fue de gira explicando su solución, en medio de esta se detectaron errores que el tío corrigió y continuó con su gira, al final se llegó a aceptar su demostración) pero son escépticos de que la demostración pueda considerarse como buena incluso haciendo cambios mayores.

En GenCiencia: P versus NP. ¿Nunca lo entendiste?

djamb

#11 para el que no entienda lo que es una maquina de turing voy a explicarlo mas o menos con mis palabras.
Por ejemplo si hubiera un array(cinta) y tu estas en un estado(estado del automata), si en el array estas en una posicion que pone a y el estado es 1 te mueves a la derecha en el array y el estado lo pones a 2, si el array pone b y el estado es 1 escribes en la posicion del array donde estas una a y te quedas en el estado 1.. y asi sucesivamente

Una maquina de turing no determinista es parecido pero por ejemplo cuando estas en el estado 1 y en la posicion del array en la que estamos hay un 1,hay varias opciones, puedes ir a la derecha y cambiar a estado 2, ir a la izquierda del array y cambiar al estado 1 etc etc.

Esta un poco mal explicado asi que el que quiera enterarse mejor que busque inet.

Kartalon

(Una interpretación mecánica de la Máquina de Turing, obviamente la cinta debería ser infinita y esto es imposible, además que supongo que la cinta se acabará desgastando de tanto borrar xD )

Recomendado para todos aquellos que quieran jugar con Máquinas de Turing: http://sourceforge.net/projects/visualturing/

djamb

Yo termine ayer una emulador de maquina de turing determinista en c pero es un churro, podeis probar con jflap que es bastante intuitivo.

LOc0

P != NP, hackean la PS3, vaya veranito xD... La verdad es que me había pasado lo de Deolalikar que por lo que he leído no pintaba mal (ahora mismo han borrado todos los documentos de la web oficial menos un "resumen" de la demostración).

Por lo visto, de forma muuuuuuuuuuuuuuuuuy esquemática le ha metido mano al problema por el problema del k-SAT demostrando (o intentándolo de momento) que todos los algoritmos que resuelven el k-SAT en tiempo polinómico tienen un "fallo" para determinados casos del problema, por lo que k-SAT no está en P y por tanto P!=NP

Hubiera "molado" que P=NP por el "hostión" que hubiera significado, pero desde hace mucho la mayoría de los expertos apostaban por el contrario como parece haber sido.

En fin, a ver qué pasa al final con esto...

Salu2 ;)

PD:

Como veis mi conocimiento sobre el tema es prácticamente nulo, pero siempre me ha interesado y como sé que aquí en el foro hay muchos informáticos, proyectos de informático y gente lista en general (CI > 160 oc) digo, pues a lo mejor a alguien le interesa la noticia, y mejor aún, le interesa explicarnos un poco con más detalle la situación xD.

Me temo #1 que la mayor parte de nuestros cerebros están liados con esto -> http://www.mediavida.com/foro/3/caso-monitor-samsung-40-393778 xD

-Shaydund-

Estoy experimentando lo que suelen experimentar los que me oyen. lol.

#1 Yo quiero uno de bujeros negros eh? XDD

mTh

#3, no le des el millon de dolares a #2 todavía, esa deducción no es válida!!!!!!

Farsante!!! Que le corten la cabeza!!!!. A mi la guardia!!!!!!!!

spoiler
11
B

Gracias por los aportes, luego editaré corrigiendo cosas que he escrito mal : ) .

Usuarios habituales