310 likes | 410 Views
Problemi intrattabili e quantum computing. Il problema del commesso viaggiatore. Noto anche come Travelling Salesman Problem (TSP) Il commesso viaggiatore deve visitare n città in automobile
E N D
Il problema del commesso viaggiatore • Noto anche come Travelling Salesman Problem (TSP) • Il commesso viaggiatore deve visitare n città in automobile • Se viaggiasse per una distanza totale maggiore di k il viaggio non gli converrebbe più (per il costo della benzina) • Ogni città è collegata direttamente a tutte le altre • Esiste un percorso di lunghezza < k che visita una sola volta tutte le città ?
Bari Ancona ? Como Domodossola
(Un) algoritmo • disponi le città in una permutazione qualunque…ABCD • somma le distanze tra A e B, tra B e C, tra C e D; se la somma è < k stampa il percorso e termina con successo • se non ci sono altre permutazioni termina con fallimento, altrimenti scegline un’altra e riparti dal passo 2
Complessità di TSP • Nel caso peggiore, dobbiamo esaminare tutte le permutazioni possibili • Date ncittà, le possibili permutazioni sono n! • TSP è O(n!) • Se n = 30, n! = 2,61032 • Un computer capace di esaminare 1000 miliardi di percorsi al secondo, lanciato all’istante presunto del big bang, dovrebbe lavorare ancora per 8000 miliardi di anni
Problemi (in)trattabili • Si dicono intrattabili problemi i cui algoritmi richiedono una quantità irragionevolmente alta di risorse • Attualmente la distinzione tra problemi trattabili e non si basa sulla polinomialità • Problemi in O(nk) sono considerati trattabili
Problemi di complessità polinomiale • Sono considerati trattabili in base all’esperienza • O(n10300) non è affatto ragionevole • Fino ad oggi, però, per tutti i problemi con complessità polinomiale si è sempre trovato un algoritmo al più O(n4) • Se un giorno si dovesse scoprire un problema polinomiale il cui migliore algoritmo è O(n10300), allora l’equivalenza polinomiale ~ trattabile andrebbe rivista
La classe P • Contiene i problemi per i quali esiste un algortimo di complessità polinomiale • Il TSP ha un algoritmo O(n!) • Perché TSP sia dimostrabilmente in P, dobbiamo esibire un algoritmo O(nk) che lo risolva • Finora non è stato trovato niente del genere
Verifica di possibile soluzione TSP • Dato un possibile percorso, verificare che soddisfa le condizioni del TSP < k?
Verifica di possibile soluzione TSP • Avviene in tempo lineare rispetto al numero di città: O(n) • Se potessimo controllare tutti i percorsi possibili contemporaneamente, avremmo un algoritmo O(n) per TSP
Macchina di Turing < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k?
Macchina di Turing non deterministica • È tale una MT la cui tavola può comprendere più di una quintupla in corrispondenza di una certa configurazione • Una MTN (MT non deterministica), in corrispondenza di certi input, riesce a produrre più di una singola sequenza di calcolo
< k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k?
< k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k? < k?
La classe NP • TSP è O(n) per una MT non deterministica, perché viene effettuata contemporaneamente la verifica (di complessità lineare) per ogni possibile percorso • TSP è dunque nella classe NP dei problemi nondeterministico-polinomiali • P NP, perché ovviamente se una MT risolve un problema in tempo polinomiale, anche una MTN è in grado di farlo
P = NP ? • Clay Mathematics InstituteOne Bow StreetCambridge, Massachusetts 02138USA http://www.claymath.org/millennium/ • Offerti $1000000 per chi lo dimostra o dimostra il contrario • Per dimostrare che P NP, ossia P NP, occorre dimostrare che esiste un problema in NP per il quale non esiste un algoritmo polinomiale
La collocazione di TSP • TSP è sicuramente in NP perché una MTN lo risolve in tempo polinomiale • Attualmente, il migliore algoritmo per TSP è O(n22n) • Non è stato dimostrato che non si possa migliorare • Né è stato dimostrato che sicuramente esiste un algoritmo polinomiale
Problemi di decisione • TSP è un problema di decisione • “Date queste città collegate in questo modo, esiste un percorso....?” • Sì / No
Riduzione polinomiale • Siano dati un problema di decisione p e un input d • Sia R un algoritmo che, dati p e d in input, restituisce un altro problema p’ e un altro input d’ tali che p’(d’ ) = sì se e solo se p(d) = sì • Se R ha complessità polinomiale, si dice che p è polinomialmente riducibile a p’
Problemi NP-completi • Un problema NP si dice NP-completo quando tutti i problemi NP sono polinomialmente riducibili ad esso • È stato dimostrato che TSP lo è • I problemi NP-completi sono particolarmente interessanti perché se un giorno si trova un algoritmo polinomiale che ne risolve uno, allora avremo dimostrato che P = NP
Realizzazione di una MTN • Una possibile strada da seguire per realizzare fisicamente una macchina che esegua calcoli in parallelo è lo sfruttamento dei fenomeni di tipo quantistico • Quantum computing
Sovrapposizione • Se un’entità quantistica può trovarsi in due stati, oppure assumere due valori diversi, si trova in uno stato di sovrapposizione delle due situazioni, con un coefficiente di probabilità per ciascuna | = |0 + |1 ||2+ ||2 = 1
Interferenza • Un’entità quantistica può trovarsi in più di uno stato • Se vogliamo conoscere lo stato in cui si trova, dobbiamo effettuare una misura • Il tentativo stesso di misura interferisce con l’entità e determina un particolare valore che prima era solo una tra tante possibilità
Correlazione • Nota anche come entanglement • Porta a un paradosso in cui sembra violato il principio di località di Einstein, secondo cui se A e B sono separati da una distanza superiore a ct non possono influenzarsi in alcun modo • La misura di una grandezza quantistica influenza istantaneamente a distanza un’altra grandezza quantistica correlata
0 1 0 1
Computer classici vs quantistici 0 1 1 2n registri per le 2n configurazioni 1 registro per le 2n configurazioni