introduzione :
Il problema delle collisioni si riferisce più spesso alla versione 2 a 1 descritta da Scott Aaronson nella sua tesi di dottorato. Dato che è pari e una funzione f : { 1 , . . . , N } → { 1 , . . . , n } sappiamo in anticipo che f è 1-a-1 o 2-a-1. Ci è consentito solo fare domande sul valore di f ( i ) per qualsiasi i ∈ { 1 , 2 ,nf:{1,...,n}→{1,...,n}ff(i) . Il problema chiede quindi quante domande dobbiamo fare per determinare con certezza se f è 1 a 1 o 2 a 1.i∈{1,2,...,n}f
La risoluzione deterministica della versione 2 a 1 richiede query e, in generale, la distinzione delle funzioni r-1 da 1 a 1 richiede n / r + 1 query.n/2+1n/r+1
Soluzione classica deterministica :
Questa è una semplice applicazione del principio del buco del piccione: se una funzione è r-a-1, dopo che interrogazioni ci viene garantito che abbiamo trovato una collisione. Se una funzione è 1 a 1, non esiste alcuna collisione. Se siamo sfortunati, allora le query n / r potrebbero restituire risposte distinte. Quindi sono necessarie n / r + 1 query.n/r+1n/rn/r+1
Soluzione classica randomizzata :
Se permettiamo la casualità, il problema è più semplice. Dal paradosso del compleanno, se scegliamo (distinte) query a caso, quindi con alta probabilità troviamo una collisione in qualsiasi funzione fissa da 2 a 1 dopo
query.Θ(n−−√)
Soluzione Quantum BHT :
Intuitivamente, l'algoritmo combina l'accelerazione della radice quadrata dal paradosso del
compleanno
usando la casualità (classica) con l'accelerazione della radice quadrata dall'algoritmo (quantistico) di Grover.
In primo luogo, ingressi f sono scelte a caso e f è interrogati a tutti. Se c'è una collisione tra questi input, restituiamo la coppia di input in collisione. Altrimenti, tutti questi input sono associati a valori distinti di f . Quindi l'algoritmo di Grover viene utilizzato per trovare un nuovo input in f che si scontra. Poiché ci sono solo
n 2 / 3 tali ingressi f , l'algoritmo di Grover può trovare uno (se esiste) facendo solo
O ( √n1/3ffffn2/3fquery perf.O(n2/3−−−−√)=O(n1/3)f