Problemi intrattabili e quantum computing

Slides:



Advertisements
Presentazioni simili
…da von Neumann al computer quantistico architettura dellelaboratore.
Advertisements

CONOSCERE CONOSCERSI COMUNICARE
Metodi Quantitativi per Economia, Finanza e Management Lezione n°4 Analisi bivariata. Analisi di connessione, correlazione e di dipendenza in media.
TSP Traveling Salesman’s Problem Università di Camerino
Algoritmi e Strutture Dati
Macchine di Turing e ricorsività generale
2. Introduzione alla probabilità
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Problema e algoritmo Prof. Baldassare Galia 2002.
Il Problema del Commesso Viaggiatore
Informatica Generale Alessandra Di Pierro
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Lez. 51 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Complessita'
EPR. Teoria completa E' quella che prende in considerazione ogni elemento fisico di realtà
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Soluzioni di problemi elettrostatici
3. Processi Stocastici Un processo stocastico è una funzione del tempo i cui valori x(t) ad ogni istante di tempo t sono v.a. Notazione: X : insieme di.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Iterazione enumerativa (for)
Computational Learning Theory and PAC learning
Algoritmi Politecnico di Milano
Algoritmo di Ford-Fulkerson
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
Algoritmi e Strutture Dati (Mod. A)
Algoritmi e Strutture Dati (Mod. B)
G.M. - Informatica B-Automazione 2002/03 Funzione Indica una relazione o corrispondenza tra due o più insiemi che soddisfa ad alcune proprietà. Il dominio.
Algoritmi di ordinamento
07/04/2003Algoritmi Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure.
Modelli simulativi per le Scienze Cognitive
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
COMPLESSITÀ DEGLI ALGORITMI
L’AUTOMA ESECUTORE Un automa capace di ricevere dall’esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio.
Lezione 13 Equazione di Klein-Gordon Equazione di Dirac (prima parte)
Elementi di Informatica
Metodo della moltiplicazione
Invariante spazio temporale
L’inventore del calcolatore odierno
INTELLIGENZA E MACCHINE CALCOLATRICI
Radix-Sort(A,d) // A[i] = cd...c2c1
Lezione 6 Strutture di controllo Il condizionale
Per valutare la complessità ammortizzata scomponiamo ogni Union: nelle due FindSet e nella Link che la costituiscono e valuteremo la complessità in funzione.
Problemi facili, problemi difficili
Ripasso : Algoritmi.
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
è … lo studio delle caratteristiche di regolarità dei fenomeni casuali
Problemi facili, difficili, impossibili……
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
COME RAGIONA UN COMPUTER
Valutare la difficoltà dei problemi
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Un problema Progettare un programma per calcolare se un qualsiasi altro programma contiene un ciclo infinito –Ciclo infinito: per esempio, eseguire le.
Metodi Quantitativi per Economia, Finanza e Management Lezione n°5.
NP completezza. Problemi decisionali I problemi decisionali sono una classe di problemi dove per ogni possibile ingresso un algoritmo deve scegliere una.
1/20 NP completezza. 2/20 Problemi astratti Un problema è un’entità astratta (es. il TSP). Una istanza del problema è un suo caso particolare in cui vengono.
Il Problema del Commesso Viaggiatore. Traveling Salesman’s Problem (TSP) Un commesso viaggiatore deve visitare un certo numero di città Conosce la distanza.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Automi temporizzati.
Spiegazione di alcuni concetti
PROBABILITÀ Corsi Abilitanti Speciali Classe 59A III semestre - 2.
Complessità Computazionale
Indecidibilità Limiti della calcolabilità Pigreco-day 14 marzo 2014 Matematica e Incertezza Prof. Antonio Iarlori Mathesis Lanciano-Ortona.
Modello delle località centrali di W. Christaller.
Transcript della presentazione:

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 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 n città, le possibili permutazioni sono n! TSP è O(n!) Se n = 30, n! = 2,61032 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?

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 Street Cambridge, Massachusetts 02138 USA 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(n22n) 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 ct non possono influenzarsi in alcun modo La misura di una grandezza quantistica influenza istantaneamente a distanza un’altra grandezza quantistica correlata

1 1

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