320 likes | 507 Views
Quantum Search Algorithms. Introduzione agli algoritmi di ricerca quantistici. Perché usare questi algoritmi?. Formalizziamo il problema. Cos’è un Oracolo?. Negli algoritmi quantistici si usa applicare all’Oracolo l’ oracle qubit nello stato:. Se x dovesse essere la soluzione.
E N D
Quantum Search Algorithms Introduzione agli algoritmi di ricerca quantistici
Negli algoritmi quantistici si usa applicare all’Oracolo l’oracle qubit nello stato: • Se x dovesse essere la soluzione • Di conseguenza l’Oracolo si comporterà nel seguente modo
rimane invariato perciò possiamo ometterlo per facilitarne la spiegazione, potremo descrivere l’Oracolo così: • Dalla fig 1notiamo che il termine Possiamo dire che l’Oracolo marchia la soluzione con un cambiamento di fase.
Esempio di utilizzo • Fattorizzazione di m ,dove m è un numero grande risultato del prodotto di 2 numeri primi p e q (come nell’ RSA cryptosystem). • In un computer classico dividiamo tutti i numeri da 2 a per trovare il più piccolo dei fattori e ricaviamo il più grande da questo risultato. • Un Oracolo potrebbe essere utilizzato per velocizzare questo processo
Si inizia definendo una funzione • Si costruisce un circuito classico reversibile (la traduzione di un normale circuito classico irreversibile) • Successivamente potrà essere tradotto in uno quantistico
Il punto chiave è che dobbiamo scrivere un Oracolo che riconosca la soluzione senza conoscere a priori i fattori primi di m. • Il vantaggio è che possiamo cercare la soluzione da 2 a con richieste all’oracolo invece che classiche iterazioni .
La Procedura • L’ algoritmo fa uso di un registro a n qubits e di altri qubits aggiuntivi usati dall’Oracolo L’algoritmo inizia nello stato La trasformata di Hadamard è utilizzata per portare Il computer nel superposition state:
Grover interation o Grover operator • Consiste nella continua ripetizione dei seguenti passi : • Applico l’oracolo O • Applico la trasformata di Hadamard • Applico un shift di fase condizionato :per ogni stato tranne lo si avrà lo shift di -1 • Applico la trasformata di Hadamard
Spiegazione Geometrica • Un’iterazione di Grover corrisponde a una rotazione in uno spazio bidimensionale coperto da . Per mostrarlo adotteremo la seguente convenzione:
1°riflessione 2° riflessione
E per M>=N/2 ? 2 • Se conoscessimo che M>=N/2 possiamo scegliere un indice a caso tra quelli disponibili e sottoporlo all’oracolo. • Altrimenti possiamo duplicare il numero degli elementi aggiungendo solo elementi che non sono soluzioni. Di conseguenza meno di metà degli elementi saranno soluzioni.
Uno sguardo al futuro • Nonostante l'algoritmo di Grover sia uno strumento estremamente versatile e potente, in pratica la ricerca in un database fisico sarà difficilmente una delle sue applicazioni fondamentali, almeno fino a quando la memoria classica resterà molto più economica di quella quantistica. Per queste ragioni, il campo in cui questo algoritmo da' il meglio di sé è sicuramente quello della ricerca algoritmica, nella quale i dati non sono conservati in memoria, ma sono generati al volo da un programma: pensiamo ad esempio ad un calcolatore quantistico programmato per giocare a scacchi, che utilizzi l'algoritmo di Grover per investigare tutte le possibili mosse a partire da una determinata configurazione della scacchiera.
Uno sguardo al futuro 1 • Gilles Brassard dell'Universita' di Montreal ha recentemente fatto notare, inoltre, un'altra importantissima applicazione dell'algoritmo di Grover e' nel campo della crittanalisi, per attaccare schemi crittografici classici come il Data Encryption Standard (DES) con un approccio a forza bruta. Crackare il DES fondamentalmente richiede una ricerca tra tutte le 2^56 = 7 x 10^16 possibili chiavi. Un computer classico, potendo esaminarne ad esempio 1 milione al secondo, impiegherebbe migliaia di anni a scoprire quella corretta; un computer quantistico che utilizzi l'algoritmo di Grover, invece, ci metterebbe meno di 4 minuti.