La risposta potrebbe influenzare i limiti della conoscenza - Kataweb
La risposta potrebbe influenzare i limiti della conoscenza - Kataweb
La risposta potrebbe influenzare i limiti della conoscenza - Kataweb
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
oltre i<br />
LIMITI<br />
complessità<br />
chi siamo<br />
che cosa faremo<br />
dove andiamo<br />
Macchine<br />
dell’infinito<br />
Le macchine possono risolvere velocemente problemi di tipo sì-o-no?<br />
<strong>La</strong> <strong>risposta</strong> <strong>potrebbe</strong> <strong>influenzare</strong> i <strong>limiti</strong> <strong>della</strong> <strong>conoscenza</strong> umana<br />
di John Pavlus<br />
n giorno nevoso del<br />
marzo 1956, a Princeton,<br />
in New Jersey, un uomo<br />
basso, con un aspetto un po’<br />
da gufo, chiamato Kurt Gödel,<br />
scrisse la sua ultima lettera a un<br />
amico morente. Gödel si rivolgeva<br />
con grande formalità a John<br />
von Neumann, sebbene i due si<br />
conoscessero da decenni, dato<br />
che erano colleghi all’Institute<br />
for Advanced Study di Princeton.<br />
Entrambi erano geni <strong>della</strong><br />
matematica, ed erano stati fondamentali<br />
nello sviluppo <strong>della</strong><br />
supremazia statunitense in campo<br />
tecnologico e militare negli<br />
anni successivi alla seconda guerra<br />
mondiale. Ora però von Neumann<br />
aveva un tumore, e c’era poco che anche<br />
un genio come Gödel potesse fare, a parte<br />
esprimere gentili aspettative un po’ troppo<br />
ottimistiche e poi cambiare argomento.<br />
Caro von Neumann,<br />
è con massima tristezza che ho appreso<br />
<strong>della</strong> vostra malattia… Ho saputo che<br />
negli ultimi mesi vi siete sottoposto a un<br />
trattamento radicale, e sono felice che questo<br />
trattamento abbia avuto successo come<br />
sperato, e che ora vi sentiate meglio.<br />
Dato che ora, come ho saputo, vi sentite<br />
più forte, mi permetto di scrivervi riguardo<br />
a un problema matematico, su cui la vostra<br />
opinione sarebbe di mio grande interesse…<br />
<strong>La</strong> descrizione di questo problema fatta<br />
da Gödel è decisamente incomprensibile<br />
per i non matematici (forse stava semplicemente<br />
tentando di distrarre von Neumann<br />
dalla sua malattia, impegnandolo in<br />
una versione altamente specialistica delle<br />
quattro chiacchiere fra amici…). In sintesi,<br />
Gödel si chiedeva quanto tempo sarebbe<br />
servito a un’ipotetica macchina per dare<br />
risposte a un qualsiasi problema. <strong>La</strong> sua<br />
conclusione sembra qualcosa che arriva<br />
dalla fantascienza.<br />
Se una (simile) macchina esistesse davvero…<br />
questo avrebbe conseguenze <strong>della</strong><br />
massima importanza. In particolare significherebbe<br />
ovviamente che… il lavoro mentale<br />
di un matematico che riguarda domande<br />
di tipo sì-o-no, <strong>potrebbe</strong> essere completamente<br />
sostituito da una macchina.<br />
Con «lavoro mentale» Gödel non intendeva<br />
banali calcoli come fare due più due.<br />
Parlava invece del salto intuitivo che i matematici<br />
compiono quando illuminano aree<br />
completamente nuove <strong>della</strong> <strong>conoscenza</strong>.<br />
Venticinque anni prima i teoremi di incompletezza<br />
di Gödel, oggi famosi, avevano<br />
Illustrazione di Kyle Bean; Kyle Bean (set); Ryan Hopkinson (fotografia)<br />
62 Le Scienze 531 novembre 2012 www.lescienze.it Le Scienze 63
oltre i<br />
LIMITI<br />
chi siamo<br />
John Pavlus è scrittore e autore<br />
cinematografico che si occupa<br />
principalmente di scienza, tecnologia<br />
e design. I suoi lavori sono stati pubblicati<br />
su «Wired», «Nature», «Technology<br />
Review» e altre testate.<br />
in breve<br />
Il problema «P contro NP» si chiede se<br />
problemi impegnativi, ma le cui soluzioni<br />
possono essere velocemente verificate<br />
(come per esempio i puzzle) siano anche, in<br />
sintesi, facilmente risolvibili.<br />
Nonostante decenni di studi, nessuno è<br />
stato in grado di provare che le due categorie<br />
siano differenti. Se non lo fossero, le<br />
macchine <strong>potrebbe</strong>ro acquistare un enorme<br />
potere.<br />
Il problema non riguarda solo chi tenta di<br />
decifrare codici, o i motori di ricerca sul Web.<br />
Suggerisce infatti un limite fondamentale per<br />
l’evoluzione biologica, le leggi fisiche e la<br />
natura <strong>della</strong> <strong>conoscenza</strong>.<br />
che cosa faremo<br />
dove andiamo<br />
trasformato la matematica per sempre. Si<br />
poteva costruire una macchina per produrre<br />
a richiesta simili intuizioni in grado di<br />
cambiare il mondo?<br />
Gödel aveva spedito la lettera da qualche<br />
settimana quando von Neumann si<br />
fece visitare al Walter Reed Army Medical<br />
Center di Washington, dove morì in meno<br />
di un anno, senza aver mai risposto all’interrogativo<br />
del suo amico. Ma il problema<br />
sarebbe sopravvissuto a entrambi. Oggi<br />
conosciuta come «P contro NP», la domanda<br />
di Gödel finì per diventare un principio<br />
organizzatore dell’informatica moderna.<br />
Ha fatto nascere un’intera nuova area di<br />
ricerca, chiamata teoria <strong>della</strong> complessità<br />
computazionale: una fusione di matematica,<br />
scienza e ingegneria che cerca di<br />
provare, con assoluta certezza, che cosa i<br />
computer possano e non possano fare in<br />
condizioni realistiche.<br />
Ma P contro NP riguarda molto di più<br />
che quegli aggeggi di plastica e silicio che<br />
chiamiamo computer. Il problema ha implicazioni<br />
pratiche per fisica e biologia<br />
molecolare, crittografia, sicurezza nazionale,<br />
evoluzione, <strong>limiti</strong> <strong>della</strong> matematica e<br />
forse addirittura per la natura <strong>della</strong> realtà.<br />
In teo ria, questa singola questione fissa i<br />
<strong>limiti</strong> di quello che saremo in grado di calcolare.<br />
E nel XXI secolo i <strong>limiti</strong> del calcolo<br />
somigliano sempre di più ai <strong>limiti</strong> stessi<br />
<strong>della</strong> <strong>conoscenza</strong> umana.<br />
<strong>La</strong> scommessa<br />
Michael Sipser era solo un laureando,<br />
ma sapeva che presto qualcuno avrebbe<br />
risolto il problema P contro NP. Addirittura<br />
pensava che poteva essere proprio lui a<br />
farlo. Era l’autunno del 1975, e stava discutendo<br />
il problema con Leonard Adleman,<br />
compagno di corso al Dipartimento<br />
informatico dell’Università <strong>della</strong> California<br />
a Berkeley. «Mi ero fissato con il problema<br />
P contro NP, in qualche modo mi sentivo<br />
in grado di capirlo seguendo una strada<br />
che andava oltre quella che gli altri stavano<br />
seguendo», dice Sipser, che attualmente<br />
dirige il Dipartimento di matematica del<br />
Massachusetts Institute of Technology. Era<br />
così sicuro di se stesso da fare una scommessa<br />
con Adleman: P contro NP sarebbe<br />
stato risolto entro la fine del XX secolo,<br />
se non prima. <strong>La</strong> posta: un’oncia (circa 30<br />
grammi) di oro puro.<br />
<strong>La</strong> scommessa di Sipser aveva un che<br />
di poetico, perché P contro NP è di per sé<br />
un problema che riguarda la velocità con<br />
cui possono essere risolti altri problemi. A<br />
volte seguire una lista di passi da compie-<br />
re ci porta al risultato finale in un tempo<br />
relativamente breve. Pensiamo alla nota<br />
<strong>della</strong> spesa: si spuntano via via gli alimenti<br />
acquistati, fino a quando si raggiunge la<br />
fine <strong>della</strong> lista. I teorici <strong>della</strong> complessità<br />
etichettano questi problemi come P, che<br />
sta per «tempo polinomiale», che è poi un<br />
modo matematicamente esatto di dire che<br />
non importa quanto lunga la lista <strong>della</strong><br />
spesa diventi, il tempo che ci vorrà a spuntare<br />
tutti gli alimenti non crescerà mai a un<br />
tasso ingestibile.<br />
Al contrario, molti più problemi <strong>potrebbe</strong>ro<br />
o non <strong>potrebbe</strong>ro essere pratici da risolvere<br />
semplicemente spuntando oggetti<br />
da una lista, ma il controllo <strong>della</strong> soluzione<br />
è comunque facile. Un puzzle è un buon<br />
esempio: anche se richiede un bel po’ di<br />
fatica per essere messo insieme, è sempre<br />
facile capire se sia risolto o meno, basta<br />
guardarlo. I teorici <strong>della</strong> complessità chiamano<br />
questi problemi facilmente controllabili,<br />
«tipo puzzle», problemi NP.<br />
Quattro anni prima <strong>della</strong> scommessa<br />
di Sipser con Adleman, il matematico<br />
Stephen Cook aveva dimostrato che questi<br />
due tipi di problemi sono collegati: ogni<br />
problema P, facilmente risolvibile, è anche<br />
un problema NP, facilmente controllabile.<br />
<strong>La</strong> questione P contro NP che era emersa<br />
dall’intuizione di Cook, e che da allora è<br />
rimasta in sospeso, si chiede se vale anche<br />
il contrario: tutti i problemi facilmente<br />
controllabili, sono anche facilmente risolvibili?<br />
Intuitivamente, la <strong>risposta</strong> sembra<br />
negativa. Riconoscere un puzzle risolto<br />
(«Ehi, ce l’hai fatta!») non è proprio la stessa<br />
cosa che fare tutto il lavoro per trovarne<br />
la soluzione. In altre parole, P non sembra<br />
uguale a NP.<br />
Sipser era affascinato dal fatto che nessuno<br />
era stato in grado di dimostrare dal<br />
punto di vista matematico quell’osservazione<br />
apparentemente ovvia. E senza una<br />
prova rimaneva la possibilità, per quanto<br />
improbabile o strana, che tutti i problemi<br />
NP potessero in realtà essere problemi P<br />
sotto mentite spoglie. P e NP <strong>potrebbe</strong>ro<br />
essere uguali, e dato che i computer possono<br />
risolvere velocemente qualsiasi problema<br />
in P, P uguale a NP implica che la<br />
capacità dei computer di risolvere problemi<br />
è enormemente più grande di quanto avessimo<br />
immaginato. Sarebbero esattamente<br />
quello che Gödel descriveva nella sua lettera<br />
a von Neumann: oracoli meccanici che<br />
<strong>potrebbe</strong>ro rispondere con efficienza più o<br />
meno a ogni domanda posta loro, ammesso<br />
che si possano programmare per verificarne<br />
la soluzione.<br />
64 Le Scienze 531 novembre 2012<br />
Sipser sapeva che questo risultato era<br />
estremamente improbabile. Eppure dimostrare<br />
il caso opposto molto più probabile,<br />
cioè che P non è uguale a NP, sarebbe stato<br />
ugualmente rivoluzionario.<br />
Come i teoremi di incompletezza di<br />
Gödel, che avevano rivelato che la matematica<br />
deve contenere proposizioni vere<br />
ma non dimostrabili, una prova che mostra<br />
che P non è uguale a NP esporrebbe una<br />
verità obiettiva che riguarda i <strong>limiti</strong> <strong>della</strong><br />
<strong>conoscenza</strong>. Risolvere un puzzle e riconoscerne<br />
uno che è già risolto sono due cose<br />
Universo compUtazionale<br />
Le basi temporali<br />
<strong>della</strong> complessità<br />
Quanto tempo è necessario per risolvere un problema? Questa è la domanda che si pongono i ricercatori<br />
quando classificano i problemi in classi computazionali. Come esempio si consideri un<br />
semplice compito di suddivisione: si ordini una lista di numeri casuali dal più piccolo al più grande.<br />
Con la crescita <strong>della</strong> lista, il tempo necessario per ordinarla aumenta a una velocità gestibile, forse<br />
come il quadrato delle dimensioni <strong>della</strong> lista. Questa proprietà colloca il problema nella classe<br />
«P», perché può essere risolto in un tempo polinomiale. Problemi molto più ostici, come il cosiddetto<br />
«problema del commesso viaggiatore» (si veda il box a p. 66), richiedono esponenzialemente più<br />
tempo per essere risolti mentre crescono di complessità. Questi problemi «NP-completi» diventano<br />
rapidamente tanto difficili da gestire che non <strong>potrebbe</strong>ro essere risolti nemmeno da miliardi di processori<br />
che lavorassero per miliardi di anni.<br />
che tipo di problema è?<br />
Più difficili da risolvere<br />
np<br />
Questi<br />
problemi<br />
hanno una<br />
qualità<br />
essenziale: se si<br />
propone una <strong>risposta</strong><br />
a un qualsiasi<br />
problema NP, si può<br />
rapidamente<br />
verificare se la<br />
<strong>risposta</strong> sia vera o<br />
falsa.<br />
np-completi<br />
Questo sottoinsieme di problemi NP<br />
«difficili-da-risolvere» funziona come un<br />
passepartout: ogni problema NP può<br />
essere tradotto in un problema NP-completo.<br />
Così, se qualcuno dovesse trovare una<br />
soluzione veloce per un problema<br />
NP-completo, sarebbe in grado di<br />
risolvere velocemente tutti i problemi<br />
NP. P sarebbe uguale a NP.<br />
p<br />
Questi problemi<br />
possono essere<br />
facilmente risolti. Si noti che<br />
tutti i problemi facilmente<br />
risolvibili sono anche velocemente<br />
verificabili, così tutti i problemi P<br />
sono anche NP. Il contrario<br />
quasi certamente non è<br />
vero.<br />
fondamentalmente diverse, e non ci sono<br />
scorciatoie per arrivare alla <strong>conoscenza</strong>,<br />
non importa quanto potenti i nostri computer<br />
diventeranno.<br />
Dimostrare una negazione è sempre<br />
difficile, ma Gödel ce l’aveva fatta. Così a<br />
Sipser, quando nel 1975 aveva scommesso<br />
con Adleman, 25 anni sembravano un<br />
tempo più che sufficiente per portare a termine<br />
il lavoro. Se non avesse potuto provare<br />
che P non è uguale a NP, ci sarebbe<br />
riuscito qualcun altro. E comunque sarebbe<br />
diventato più ricco di un’oncia d’oro.<br />
Complicazione<br />
in rapida crescita<br />
Adleman condivideva l’interesse di<br />
Sipser, ma non la sua fiducia, a causa di<br />
una criptica prova matematica. Il lavoro di<br />
Cook che stabiliva che i problemi P sono<br />
tutti NP dimostrava anche l’esistenza di<br />
uno speciale tipo di problemi facilmente<br />
controllabili, chiamati NP-completi. Questi<br />
problemi si comportano come un mazzo<br />
di chiavi magiche: se si trovasse un algoritmo<br />
veloce per risolverne uno, quell’algoritmo<br />
sbloccherebbe la soluzione di<br />
ogni altro problema NP, provando che P è<br />
uguale a NP.<br />
C’è solo un piccolo inconveniente da risolvere:<br />
i problemi NP-completi sono tra i<br />
più difficili che chiunque in campo informatico<br />
abbia mai visto. E, una volta scoperti,<br />
sono cominciati ad apparire ovunque.<br />
Subito dopo la pubblicazione <strong>della</strong> ricerca<br />
di Cook, uno dei mentori di Adleman<br />
a Berkeley, Richard M. Karp, pubblicò uno<br />
studio fondamentale che dimostrava che<br />
21 classici problemi computazionali erano<br />
tutti NP-completi. Presto ne seguirono<br />
altre decine, poi centinaia. «Fu come aver<br />
tolto il dito dalla fessura di una diga», dice<br />
Adleman. Programmare voli aerei, sistemare<br />
scatoloni in un camion, risolvere schemi<br />
di Sudoku, progettare un chip per computer,<br />
assegnare i posti a sedere a un pranzo<br />
di matrimonio, giocare a Tetris e migliaia<br />
di altri problemi pratici del mondo reale si<br />
sono dimostrati NP-completi.<br />
Come può questa intrigante chiave per<br />
risolvere P contro NP sembrare allo stesso<br />
tempo così comune e così irrisolvibile? «È<br />
il motivo per cui mi sono interessato allo<br />
studio del problema P contro NP», confessa<br />
Adleman, che attualmente è professore<br />
alla University of Southern California a Los<br />
Angeles. «Potere e ampiezza di queste questioni<br />
computazionali sembravano decisamente<br />
meravigliosi. Ma sicuramente non<br />
le capivamo, e sembrava anche che non<br />
saremmo arrivati a capirle molto presto» (Il<br />
pessimismo di Adleman riguardo a P contro<br />
NP ha condotto a un’invenzione che<br />
ha cambiato il mondo: qualche anno dopo<br />
aver fatto la scommessa, Adleman e i suo<br />
colleghi Ronald Rivest e Adi Shamir hanno<br />
sfruttato l’apparente incommensurabilità<br />
di P contro NP per creare il loro eponimo<br />
algoritmo crittografico RSA, che ancora<br />
oggi è usato diffusamente per banche on<br />
line, telecomunicazioni e applicazioni di<br />
sicurezza nazionale).<br />
I problemi NP completi sono difficili<br />
perché si complicano in modo rapido. Im-<br />
www.lescienze.it Le Scienze 65
oltre i<br />
LIMITI<br />
chi siamo<br />
maginiamo di essere un turista squattrinato<br />
che sta pianificando un viaggio attraverso<br />
un certo numero di città in Europa, e<br />
che cerca un percorso che gli faccia attraversare<br />
ogni città minimizzando la distanza<br />
totale che deve percorrere. Come trovare<br />
la strada migliore? Il metodo più semplice<br />
è provare ogni possibilità. Con cinque città<br />
da visitare si devono controllare solo 12<br />
possibili itinerari. Con dieci città i percorsi<br />
possibili crescono come funghi, e arrivano<br />
a 180.000. Con 60 città il numero di itinerari<br />
supera il numero di atomi nell’universo<br />
conosciuto. Questo incubo computazionale<br />
è conosciuto come il problema del commesso<br />
viaggiatore, e nonostante ottant’anni<br />
di intensi studi nessuno ha mai trovato<br />
un metodo generale per risolverlo che funzioni<br />
meglio del provare ogni possibilità,<br />
una alla volta.<br />
Questa è l’essenza perversa <strong>della</strong> NPcompletezza,<br />
e di P contro NP: non solo<br />
tutti i problemi NP-completi sono egualmente<br />
impossibili da risolvere con l’eccezione<br />
dei casi più semplici, anche se il<br />
vostro computer ha più memoria di Dio<br />
e l’intera vita dell’universo per provarci,<br />
sembrano saltare fuori ovunque. In effetti,<br />
questi problemi NP-completi, non solo<br />
frustrano gli informatici, ma addirittura<br />
sembrano mettere <strong>limiti</strong> alle capacità <strong>della</strong><br />
natura stessa.<br />
Il codice <strong>della</strong> natura<br />
Il pionieristico programmatore olandese<br />
Eds ger Dijkstra aveva capito che i problemi<br />
computazionali hanno implicazioni<br />
che vanno oltre la matematica. Una volta<br />
sottolineò che «l’informatica riguarda solo<br />
i computer quanto l’astronomia riguarda<br />
solo i telescopi». In altre parole, il calcolo<br />
è un comportamento esibito da molti sistemi,<br />
al di là da quelli creati da Google e<br />
Intel. In effetti si può dire che ogni sistema<br />
che trasformi input in output seguendo un<br />
insieme finito di regole, compresi quelli<br />
normalmente studiati da biologi e fisici,<br />
stia calcolando.<br />
Nel 1994 il matematico Peter Shor aveva<br />
dimostrato che particelle subatomiche,<br />
disposte secondo una configurazione ingegnosa,<br />
<strong>potrebbe</strong>ro decifrare i moderni<br />
codici crittografici. Nel 2002 Adleman<br />
ha usato frammenti di DNA per scoprire<br />
la soluzione ottimale di una versione del<br />
problema del commesso viaggiatore. E<br />
nel 2005 Scott Aaronson, esperto in calcolo<br />
quantistico che lavora oggi al Computer<br />
Science and Artifi cial Intelligence<br />
<strong>La</strong>boratory del Massachusetts Institute of<br />
che cosa faremo<br />
Il venditore<br />
svedese<br />
Se avete grandi ambizioni riguardo a un<br />
vostro viaggio in Svezia, considerate la<br />
possibilità di visitarla tutta, ma proprio tutta.<br />
Alcuni ricercatori hanno provato che l’itinerario<br />
rappresentato qui accanto è il<br />
più breve possibile fra quelli che attraversano<br />
tutte le 24.978 città e villaggi<br />
svedesi. Gli scienziati non si aspettano<br />
che qualcuno faccia veramente questo<br />
viaggio, ma le tecniche di ricerca<br />
che hanno sviluppato per risolvere<br />
il problema saranno di aiuto in<br />
altre situazioni in cui serve trovare,<br />
per esempio, il percorso ottimale<br />
in un contesto complicato,<br />
nella progettazione dei microchip<br />
o nel sequenziamento del<br />
genoma.<br />
dove andiamo<br />
Technology, per calcolare con efficienza<br />
la soluzione ottimale a un problema conosciuto<br />
come «albero di Steiner», fra le tante<br />
cose che avrebbe potuto scegliere, ha usato<br />
bolle di sapone. Questi sono proprio il<br />
tipo di problemi NP che <strong>potrebbe</strong>ro ingolfare<br />
i circuiti di un computer che provasse<br />
a risolverli. Questi sistemi naturali sanno<br />
qualcosa su P contro NP, che i computer<br />
non sanno?<br />
applicazioni<br />
Percorso ottimale<br />
(linea)<br />
Centri abitati (punti)<br />
«Certamente no», risponde Aaronson.<br />
Il suo esperimento con le bolle di sapone<br />
era in realtà una dimostrazione per assurdo<br />
dell’affermazione secondo cui semplici<br />
sistemi fisici possono in qualche modo trascendere<br />
le differenze fra P e NP. Sebbene<br />
le bolle di sapone «calcolino» le soluzioni<br />
perfette in pochi casi per l’albero di Steiner<br />
minimo, smettono di funzionare rapidamente<br />
con il crescere delle dimensioni del<br />
66 Le Scienze 531 novembre 2012<br />
David Applegate, AT&T <strong>La</strong>bs; Robert Bixby, Rice University; Vasek Chvatal, Concordia University;<br />
William J. Cook, Georgia Institute of Technology<br />
problema, proprio come farebbe un computer.<br />
L’esperimento con il DNA effettuato<br />
da Adleman ha sbattuto contro lo stesso<br />
muro. L’algoritmo quantistico di Shor funziona<br />
in tutti i casi, ma quasi certamente il<br />
problema fattoriale che risolve non è NPcompleto.<br />
Quindi quell’algoritmo non ci<br />
fornisce la chiave per risolvere ogni altro<br />
problema NP. Biologia, fisica classica e sistemi<br />
quantistici, tutti sembrano sostenere<br />
l’idea secondo cui non ci sono scorciatoie<br />
per risolvere i problemi NP-completi. E<br />
questo sarebbe vero solo se P non è uguale<br />
a NP.<br />
«Certo, non possiamo provarlo con assoluta<br />
certezza», dice Aaronson. «Ma se<br />
fossimo fisici invece che teorici <strong>della</strong> complessità,<br />
“P non è uguale a NP” sarebbe stato<br />
dichiarato legge di natura già da tempo,<br />
proprio come il fatto che niente possa<br />
superare la velocità <strong>della</strong> luce». In effetti<br />
alcune teorie fisiche riguardo alla natura<br />
fondamentale dell’universo, come il principio<br />
olografico suggerito dal lavoro di<br />
Stephen Hawking sui buchi neri, implicano<br />
che il tessuto <strong>della</strong> realtà stessa non sia<br />
continuo, ma discreto, composto di tasselli<br />
simili a pixel, proprio come i bit di un computer<br />
(si veda Lo spazio è digitale?, di Michael<br />
Moyer, in «Le Scienze» n. 524, aprile<br />
2012). Quindi l’apparente intrattabilità dei<br />
problemi NP, e la limitazione <strong>della</strong> <strong>conoscenza</strong><br />
che questa intrattabilità implica,<br />
<strong>potrebbe</strong> essere parte dell’universo al livello<br />
più fondamentale.<br />
Cervelli meccanici<br />
Ma se l’universo stesso è soggetto ai <strong>limiti</strong><br />
computazionali imposti da P contro<br />
NP, come è possibile che i problemi NPcompleti<br />
sembrano sempre risolvibili, addirittura<br />
nei casi in cui trovare le soluzioni<br />
dovrebbe richiedere migliaia di miliardi di<br />
anni o più?<br />
Per esempio, mentre un feto umano<br />
è in gestazione nell’utero il suo cervello<br />
completa i collegamenti necessari alla sopravvivenza<br />
partendo da miliardi di singoli<br />
neuroni. Aver trovato la migliore rete<br />
di collegamenti possibile fra tutte queste<br />
cellule è un problema NP-completo che<br />
l’evoluzione sembra aver risolto. «Quando<br />
un neurone si allunga da un punto per collegarsi<br />
a un insieme di altri punti sinaptici,<br />
risolve sostanzialmente un problema di<br />
ottimizzazione di un grafo, che è un NPdifficile»,<br />
spiega il neurobiologo evolutivo<br />
Mark Changizi. Eppure il cervello in realtà<br />
non risolve il problema, trova un’approssimazione<br />
molto vicina alla soluzione. (In<br />
pratica la disposizione dei neuroni ricade<br />
entro il tre per cento di quella ottimale.) Il<br />
verme Cae norhabditis elegans ha solo 302<br />
neuroni, tuttavia non ha un diagramma di<br />
connessioni neurali perfettamente ottimizzato,<br />
nonostante miliardi di miliardi di generazioni<br />
siano state spinte dalla selezione<br />
naturale ad agire sul problema. «L’evoluzione<br />
è limitata da P contro NP», afferma<br />
Changizi. «Però funziona ugualmente, perché<br />
non sempre la vita richiede la perfezione<br />
per funzionare bene».<br />
A quanto pare non ne hanno bisogno<br />
nemmeno i computer. Il fatto che i computer<br />
di oggi possano fare anche solo qualcosa<br />
di utile – e per molto meno raggiungere<br />
le meravigliose prestazioni che diamo per<br />
scontate nelle nostre consolle per videogiochi<br />
o nei nostri smartphone – è la prova<br />
che i problemi in P includono un gran<br />
numero delle nostre necessità computazionali.<br />
Per il resto, un imperfetto algoritmo<br />
di approssimazione è spesso più che sufficiente<br />
allo scopo. In effetti questi algoritmi<br />
«più che sufficienti» possono risolvere problemi<br />
di ricerca e di confronto fra strutture<br />
immensamente complessi, molti dei quali<br />
sono tecnicamente NP-completi. Queste<br />
soluzioni non sono sempre matematicamente<br />
ottimali per tutti i casi, ma questo<br />
non significa che non siano utili.<br />
Prendiamo Google, per esempio. Secondo<br />
molti ricercatori <strong>della</strong> complessità, i<br />
problemi NP sono essenzialmente problemi<br />
di ricerca. Ma secondo il direttore <strong>della</strong> ricerca<br />
di Google, Peter Norvig, l’azienda fa<br />
ogni sforzo per evitare di doversi trovare<br />
ad affrontare problemi NP. «Per i nostri<br />
utenti la velocità conta più <strong>della</strong> perfezione»,<br />
spiega. E in effetti i ricercatori di Google<br />
ottimizzano i loro algoritmi per una<br />
categoria computazionale addirittura più<br />
veloce di quella richiesta dai problemi P<br />
(a cui ci si riferisce come «tempo lineare»),<br />
in modo che i risultati di ricerca appaiano<br />
quasi istantaneamente. E se si incontra un<br />
problema che non può essere risolto in<br />
questo modo? «O lo formuliamo in modo<br />
da renderlo più semplice, o non ce ne preoccupiamo»,<br />
dice Norvig.<br />
Questa è l’eredità, e l’ironia, del problema<br />
P contro NP. Scrivendo a Von Neumann<br />
nel 1956 Gödel pensava che il problema<br />
contenesse la promessa di un futuro<br />
pieno di macchine dal ragionamento infallibile,<br />
in grado di ripetere «il lavoro mentale<br />
di un matematico», che producessero<br />
insomma grandi verità fondamentali premendo<br />
semplicemente un bottone. Invece<br />
decenni di studio di P contro NP hanno<br />
contribuito a creare un mondo in cui abbiamo<br />
esteso la capacità di risolvere problemi<br />
delle nostre macchine, ma proprio<br />
accettandone i <strong>limiti</strong>. L’approssimazione<br />
<strong>della</strong> vita, non la perfezione <strong>della</strong> meccanica,<br />
è ciò che le automobili autonome di<br />
Google usano per poter guidare da sole<br />
nelle affollate autostrade di Los Angeles, o<br />
che il computer Watson di IBM ha sfruttato<br />
per indovinare le risposte che lo hanno<br />
portato a vincere a Jeopardy, un famoso<br />
quiz televisivo di cultura generale trasmesso<br />
negli Stati Uniti.<br />
Corsa all’oro<br />
Il 2000 è arrivato ed è passato, e Sipser<br />
ha spedito ad Adleman l’oncia d’oro. «Forse<br />
voleva che la spedissi in un cubo di<br />
poliestere trasparente, in modo da poterla<br />
esporre come un trofeo sulla sua scrivania<br />
o da qualche altra parte», dice Sipser. «Ma<br />
non l’ho fatto». Lo stesso anno il Clay Mathematics<br />
In stitute di Cambridge, in Massachusetts,<br />
ha offerto una nuova taglia a<br />
chi risolverà il problema P contro NP: un<br />
milione di dollari. Il premio ha aumentato<br />
l’attenzione sul problema, come sperato,<br />
ma ha anche attirato dilettanti e svitati:<br />
attualmente Sipser, come molti altri importanti<br />
teorici <strong>della</strong> complessità, riceve<br />
regolarmente e-mail non richieste in cui<br />
perfetti sconosciuti gli chiedono un parere<br />
su certi loro inediti tentativi di dimostrare<br />
che P non è uguale a NP, o, peggio ancora,<br />
di dimostrare l’opposto.<br />
Sebbene P contro NP rimanga irrisolto,<br />
molti ricercatori <strong>della</strong> complessità ritengono<br />
che prima o poi se ne verrà a capo. «Non<br />
mi sono mai veramente arreso», confida<br />
Sipser. E aggiunge che ogni tanto tira fuori<br />
carta e matita e torna a lavorarci. Quasi<br />
per svago, come un cane che si accanisce<br />
sull’osso preferito. P contro NP, in fondo, è<br />
un problema NP: la sola via per risolverlo è<br />
continuare a provarci. <strong>La</strong> <strong>risposta</strong> <strong>potrebbe</strong><br />
non arrivare mai. Tuttavia, nel caso in cui<br />
dovesse arrivare la riconosceremo, quando<br />
la vedremo. n<br />
per approfondire<br />
I <strong>limiti</strong> del computer quantistico. Aaronson S., in «Le<br />
Scienze» n. 477, maggio 2008 .<br />
I <strong>limiti</strong> <strong>della</strong> ragione. Chai tin G., in «Le Scienze» n.<br />
453, maggio 2006.<br />
The History and Status of the P versus NP Question.<br />
Sipser M., in «Proceedings of the Twenty-Fourth Annual<br />
ACM Symposium on Theory of Computing», pp. 603-<br />
618, 1992.<br />
The Efficiency of Algorithms. Lewis H.R. e<br />
Papadimitriou H.C., in «Scientific American», Vol. 238, n.<br />
1, pp. 96-109, gennaio 1978.<br />
www.lescienze.it Le Scienze 67