problemi intrattabili e quantum computing. il problema del commesso viaggiatore noto anche come...
Embed Size (px)
TRANSCRIPT

Problemi intrattabilie quantum computing

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à ?

?
Ancona
Bari
Como
Domodossola

(Un) algoritmo
1. disponi le città in una permutazione qualunque…ABCD
2. 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
3. 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 n città, 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?

• 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
Verifica di possibile soluzione 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 Institute
One 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 chep’(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
01

Computer classici vs quantistici
0 1 12n registri per le 2n configurazioni
1 registro per le 2n configurazioni