Col·laboracions
La Dra. Carme alvarez col·labora amb nosaltres amb el problema "P versus NP".
P versus NP: la bellesa d'una qüestió fonamental
Dins del cicle de conferències "Les grans conjectures matemà tiques. Reptes matemà tics per al Segle XXI" el passat dimecres dia 6 de maig el Dr. Avi Wigderson, de l'Institute of Advanced Studies de Princeton (USA), va presentar "El problema P versus NP i els lÃmits del coneixement" Tenia una gran curiositat per escoltar a un investigador tan reconegut com el Dr. Wigderson explicant a un públic, que podia ser neòfit en Teoria de la Computació, una qüestió de tanta transcendència com és la de 'P versus NP'.
Per a mi va ser un plaer únic veure com es podia descriure d'una manera tan entenedora i intuïtiva la qüestió central en Theoretical Computer Science plantejada des de fa aproximadament quatre dècades. El Dr. Wigderson va centrar el discurs en mostrar la forta relació entre computació, naturalesa, matemà tiques, algorismes, bellesa i eficiència. La seva tesi es basava en tres idees fonamentals: la computació és present arreu, els algorismes constituiexen el llenguatge de la computació, i la creativitat no pot ser automatitzada (traducció intuïtiva, segons el Dr. Wigderson, de la conjectura P diferent de NP).
Una vella qüestió presentada amb una elegà ncia i senzillesa que només ho pot fer possible algú que té un coneixement profund de les capacitats i limitacions de la computació. El Dr. Wigderson va transmetre amb entusiasme la bellesa de molts conceptes de Teoria de la Complexitat Computacional, introduïts tots ells en l'intent de resoldre P versus NP.
Seguidament resumiré la seva conferència aixà com també algunes de les respostes que va donar a preguntes plantejades pel públic. Si bé la conferència estava adreçada a un públic general, el torn de preguntes va fer palès que molts dels assistents tenien un coneixement previ i bastant profund de la qüestió.
Resum de la conferència
Els Algorismes
Tornant als exemples bà sics
Contrastant amb aquests exemples ens fa notar que és fà cil verificar que 193707721 x 761838257287=147573952589676412927, només cal fer una multiplicació de dos nombres llargs. En canvi si l'entrada és el número 147573952589676412927 i el que volem és computar els seus factors primers, el procediment de provar tots els possibles factors no seria gens eficient. Si el nombre d'entrada té n dÃgits aleshores es farien unes 2 ^(n/2) proves en el cas pitjor i a la prà ctica no no veurÃem acabar la computació.
Els problemes NP
Tots el problemes prà ctics tenen aquestes caracterÃstiques? En aquest punt el Dr. Widgerson provoca a l'audiència demanant-nos si juguem a resoldre Sudokus. I si ho fem és per què ens diverteix senzillament, o per què ens agradaria fer una aportació a la ciència. Com en el cas anterior, si juguéssim a Sudokus de dimensions qualssevol n x n, seria molt diferent el verificar que una solució és correcta, de trobar-la. Aplicant 'força bruta' com en el cas de la factorització, l'algorisme no seria efectiu a la prà ctica. El mateix a l'hora de demostrar teoremes que sà tenen demostració i que aquesta no és massa llarga. Si es dona la demostració, verificar que és correcta és fà cil. Aquests tres problemes formen part de la classe NP, la classe de problemes per als que si es dona una possible solució, és fà cil comprovar que és correcta. Un cop definides intuïtivament aquestes classes P i NP ja pot atacar la qüestió P versus NP. És clar que tot problema que està en la classe P també està en la classe NP. Si es pot computar la solució aleshores es pot verificar. La conjectura és que computar solucions és molt més difÃcil que verificar-les, P ≠ NP. Si P=NP aleshores aquestes solucions es podrien computar de manera eficient. És més, en el cas del Sudoku si fóssim capaços de dissenyar un algorisme que computés rà pidament, aleshores P=NP, qualsevol problema de la classe NP es pot traduir a problema de solucionar Sudokus. El mateix passaria amb el problema de demostrar teoremes amb demostracions d'una certa longitud. Aquesta idea intuïtiva de que un problema captura tota la complexitat de la classe NP correspon al concepte formal de NP-completesa.
Per acabar amb l'exposició de la rellevà ncia de P=NP? el Dr. Wigderson fa la consideració següent. Si existÃs un algorisme eficient per resoldre Sudokus, factoriztar nombres seria fà cil. Això tindria un impacte molt negatiu en els sistemes de seguretat en transaccions electròniques, serien clarament vulnerables. El 'bread and butter' de tot investigador en Teoria de la Computació és dissenyar algorismes eficients per a problemes no trivials o bé demostrar la impossibilitat de la seva existència. En el cas de la factorització encara no s'ha pogut demostrar cap de les dues coses.
Els Algoritmes són recursos d'una alta bellesa
Els algorismes eficients són pedres precioses. Molts problemes que antigament es pensava que no tenien solució a la fi han pogut ser resolts. Els algorismes que computen la solució en tots aquest casos són elegants, astuts i independents de la tecnologia. P versus NP: és més fà cil verificar una solució que trobar-ne una qualsevol? El Dr. Wigderson creu que P=NP és una utopia. Si fos aixà molta part de la ciència podria ser automatitzada... I que P≠NP ... pot ser algun dia ho veurem. P&R
Del torn de preguntes voldria remarcar que el Dr Wigderson va contestar cadascuna d'elles d'una manera molt intuïtiva i, crec jo, convincent. Totes elles se centraven en el significat de la qüestió P versus NP en à mbits diferents. En recordo dues en particular, sobre tot per la claredat de les respostes donades i també perquè ressaltaven una vegada més l'esforç que s'està fent per entendre les limitacions de la computació. Una d'elles va ser en relació a la computació i naturalesa i deia: Es veritat que la naturalesa pot resoldre eficientment problemes NP-complets?' El Dr Wigderson va respondre que si bé era cert que en els éssers vius contÃnuament s'estan resolent problemes que hom ha classificat NP-complets, cal dir que cada individu té unes dades molt particulars que el caracteritzen, que el defineixen. Aleshores les solucions computades en cada cas no tenen com a dades d'entrada totes les possibles, sino que en cada individu es calcula la solució per un subconjunt restringit de dades. Cada individu 'resol' el seu problema 'particular' i de manera molt eficaç.
L'altra pregunta que voldria esmentar va ser la següent: Quin impacte ha tingut la caracterització de NP en termes de PCPs? El Dr Wigderson primer va explicar d'una manera molt planera, cosa que sembla gairebé impossible, què vol dir que 'Cada conjunt a NP té un sistema PCP '. El nom PCP prové de Probabilistic Checkable Proof system. Imaginem-nos que tenim una demostració d'un teorema que té unes 200 pà gines i volem verificar que és correcta. Tot seguit la 'normalitzem' d'una manera molt particular i passa a ser una demostració d'unes 2000 pà gines, una mica més llarga, però no exageradament més llarga. El sistema PCP és un verificador probabilÃstic que rep entrades d'aquest tipus, però ara aquest verificador només pot llegir una petita part d'aquesta demostració (que serà sel·leccionada aleatòriament). Una analogia podria ser la d'un revisor que intenta decidir la correctesa d'una demostració molt llarga triant de manera aleatòria només unes poques lÃnies de la demostració. Aquest mètode sembla inadequat, com es pot assegurar que hi ha algun error sense haver llegit completament tota la demostració? Aquesta intuïció és và lida quan considerem només la manera "natural" d'escriure les demostracions, però falla quan s'utilitzen certs formats "robusts" de les demostracions (i com és natural, s'admet una probabilitat petita d'error). Aquests sistemes de demostracions robustes són els anomenats PCPs. Un sistema d'aquest tipus per a un conjunt S és un verificador probabilÃstic eficient (rà pid) que té accés a uns pocs bits de la suposada demostració en format robust. El verificador llença a l'aire una moneda i d'acord amb el resultat accedeix a un nombre constant de bits de la suposada demostració. Cada element del conjunt S ha de ser acceptat amb probabilitat 1 (donada una demostració real, correctament codificada), i rebutja qualsevol element que no pertanyi a S amb probabilitat com a mÃnim 1/2 (no importa quina sigui la suposada demostració donada en format robust). El famós teorema diu que cada conjunt NP té un sistema PCP i, a més, existeix un algorisme eficient que tradueix qualsevol possible demostració o testimoni de pertinença a un conjunt NP a una demostració en format "robust".
Segons el Dr Wigderson la demostració del teorema PCP suggereix una nova manera d'escriure demostracions "robustes" en la que qualsevol error (virus) s'escampa per tot arreu. I si la probabilitat de trobar un error en aquests pocs bits de l'entrada és molt petita, aleshores el teorema és correcte. I per acabar, el Dr Wigderson remarca una de les implicacions d'aquesta caracterització: 'Sota la hipòtesi P diferent de NP, aleatoritzar no ajuda'.
Persones de contacte:
ilapuente@lsi.upc.edu
