Quali applicazioni ha l'algoritmo di ricerca di Grover?


14

L'algoritmo di ricerca di Grover viene generalmente parlato in termini di ricerca di una voce contrassegnata in un database non ordinato. Questo è un formalismo naturale che consente di applicarlo direttamente alla ricerca di soluzioni ai problemi NP (dove una buona soluzione è facilmente riconoscibile).

Ero interessato a conoscere altre applicazioni della ricerca di Grover per trovare il minimo, la media e la mediana di un insieme di numeri. Ciò mi lascia chiedermi se ci sono altre applicazioni meno ovvie della ricerca di Grover (o applicazioni delle sue generalizzazioni come l'amplificazione dell'ampiezza) che sono già note? Qualche breve intuizione su come questo sarebbe apprezzato.

Risposte:


7

Oltre a quelli che hai menzionato, un'altra applicazione dell'algoritmo (modificato) di Grover di cui sono a conoscenza è la risoluzione del problema della collisione in teoria della complessità, informatica quantistica e matematica computazionale . Si chiama anche algoritmo BHT .

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

fonti:

  1. https://en.wikipedia.org/wiki/Collision_problem

  2. https://en.wikipedia.org/wiki/BHT_algorithm

  3. Algoritmo quantistico per il problema della collisione - Gilles Brassard, Peter Hoyer, Alain Tapp


Alcuni commenti sulla soluzione BHT (non ho trovato l'articolo di Wikipedia molto illuminante): In primo luogo, selezionare ingressi a prova di f a caso. Supponiamo che non si scontrino. Ordina questi valori x secondo f ( x ) . Ora, se f ( x ) è 2-a-1, ci sono n 1 / 3 valori x Ha non già testato che collide con quelle testate. Quindi, definire una funzione che controlla "non già testato e si scontra". Questo definisce le voci contrassegnate. La collisione è facile da testare con l'elenco ordinato dei valori f ( xn1/3fxf(x)f(x)n1/3x . Conoscendo il numero esatto di voci contrassegnate (se da 2 a 1), Grover (quasi) garantisce una soluzione. f(x)
DaftWullie,

@DaftWullie Sì, sicuramente ha senso. L'algoritmo di Grover non garantisce una soluzione ma ha un'alta probabilità di fornire la soluzione corretta. Ma non è abbastanza ovvio dalla stessa descrizione di Wikipedia? Non sono sicuro di capire il punto o l'obiezione che stai sollevando. Mi sto perdendo qualcosa?
Sanchayan Dutta,

Tutto quello che posso dire è che non era ovvio per me . In prima lettura, ho capito (falsamente) che per Grover's, invece di preparare una sovrapposizione di tutti gli stati possibili, ha preparato solo una sovrapposizione su quelli non già testati. Ma questo è sembrato cruciale per il modo in cui è stato spiegato l'accelerazione. Inoltre, inizialmente ero preoccupato del modo in cui le collisioni venivano controllate: quali coppie venivano controllate per le collisioni e con quale efficienza poteva essere calcolata la collisione?
DaftWullie,

@DaftWullie Ah, ok. Ho capito il tuo punto. Wikipedia non entra nei dettagli dell'algoritmo. Puoi sempre fare riferimento al documento originale ( arxiv.org/abs/quant-ph/9705002 ) per i dettagli (che immagino tu abbia già fatto). Più tardi, proverò ad espandere questa risposta per includere tutti i dettagli. Sto ancora leggendo il giornale.
Sanchayan Dutta,

1
A meno che qubit e gate quantistici non siano incredibilmente più economici di bit e gate classici, qualsiasi discussione su BHT dovrebbe includere la precisazione che i costi superano la ricerca di collisioni classiche all'avanguardia con la macchina van Oorschot-Wiener. Vedi cr.yp.to/papers.html#collisioncost o blog.cr.yp.to/20171017-collisions.html per i dettagli. (Quest'ultimo è una risposta a un presunto miglioramento della BHT che afferma di essere più conveniente rispetto alla classica ricerca di collisioni.)
Squeamish Ossifrage,

4

L'algoritmo di Grover è ampiamente utilizzato anche nella crittografia quantistica. Può essere utilizzato per risolvere problemi come il problema del logaritmo trascendentale, il problema di ricerca della radice polinomiale ecc.


Ti andrebbe di elaborare un po '? Quali sono questi problemi? Dove posso leggere di più su di loro?
DaftWullie,

1
ieeexplore.ieee.org/document/7016940 Questo è un documento di ieee che cerca di sviluppare un algoritmo quantico per risolvere il problema di individuazione della radice polinomiale. Puoi leggere di più qui
da281

0

L'algoritmo di Grover può essere utilizzato per risolvere qualsiasi problema di ottimizzazione numerica più velocemente della ricerca della forza bruta, poiché qualsiasi problema di ottimizzazione può essere formulato come un problema di ricerca (in cui si sta cercando un output di funzione maggiore / minore di alcuni fissi M all'interno di ciascuna corsa e si ripete per un numero logaritmico di corse utilizzando la ricerca binaria per tornare a casa nell'ottimale M): https://epubs.siam.org/doi/abs/10.1137/040605072?journalCode=sjope8 .

In effetti, l'algoritmo di Grover è l'algoritmo quantistico più noto per molti problemi di ottimizzazione difficili (come quelli NP-completi) che non hanno una struttura adatta a un algoritmo classico più intelligente della ricerca della forza bruta: https: // link.springer.com/chapter/10.1007/978-3-540-78773-0_67 .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.