Qual è il valore intero minimo per rendere utile la fattorizzazione quantistica?


11

Supponiamo di avere computer quantistici e classici tali che, a livello sperimentale, ogni operazione logica elementare di fattorizzazione matematica sia ugualmente dispendiosa in termini di tempo nella fattorizzazione classica e in quantistica: qual è il valore intero più basso per il quale il procedimento quantico è più veloce del classico uno?


2
Un calcolo molto preciso dipenderebbe da dettagli come l'implementazione di operazioni di addizione nell'algoritmo quantistico e anche dalle operazioni precise utilizzate nel miglior algoritmo di fattorizzazione classico. In entrambi i casi, siamo spesso abituati a ignorare i fattori costanti nella quantità di lavoro richiesto, ma anche più nel caso classico che nel caso quantico. Saresti soddisfatto di una stima dell'ordine di grandezza (ad esempio un vantaggio quantico ottenuto da qualche parte tra 350-370 bit --- per fornire una possibile risposta che ho creato dal nulla sulla base di nessuna analisi effettiva)?
Niel de Beaudrap,

@NieldeBeaudrap Direi che per i motivi che hai indicato, un numero esatto sarebbe impossibile da fornire. Se la tua stima "out of the air" si basa su alcuni ragionamenti, penso che sarebbe interessante. (In altre parole, un'ipotesi istruita ha valore, ma un'ipotesi selvaggia no)
Lucertola discreta,

@DiscreteLizard: se avessi avuto un valido mezzo per stimare pronto a portata di mano, non avrei prodotto una risposta di esempio basata su nessuna analisi :-) Sono sicuro che c'è un modo ragionevole per produrre una stima interessante, ma quelli che sarei in grado di fornire facilmente avrebbe barre di errore troppo grandi per essere molto interessanti.
Niel de Beaudrap,

Dato che questo problema è (o è stato) comunemente considerato come una tipica "prova" che i computer quantistici sono capaci di prodezze al di fuori dei regni dell'informatica classica, ma quasi sempre in termini di complessità computazionale rigorosa (quindi, trascurando tutte le costanti e valido solo per input arbitrariamente alti dimensioni) Direi che una risposta approssimativa di ordine di grandezza (e la sua derivazione) sarebbe già utile / pedagogica. Forse le persone su CS / theoreticalCS potrebbero essere disposte ad aiutare.
agaitaarino,

1
@agaitaarino: sono d'accordo, anche se la risposta dovrà presumere un resoconto più o meno preciso delle prestazioni dei migliori algoritmi classici per la fattorizzazione. Il resto può quindi essere fatto da uno studente ragionevolmente buono di computazione quantistica.
Niel de Beaudrap,

Risposte:


8

La parte quantistica dell'algoritmo di Shor è essenzialmente una singola esponenziazione modulare eseguita in sovrapposizione seguita da una trasformata di Fourier e quindi da una misurazione. L'esponenziazione modulare è di gran lunga la parte più costosa.

Supponiamo che [...] ogni operazione logica elementare di fattorizzazione matematica sia ugualmente costosa in termini di fattorizzazione classica e quantistica

Se assumiamo che l'esponenziazione modulare impieghi esattamente tanto tempo su un computer quantistico come su un computer classico, allora la transizione in cui il calcolo quantistico diventava migliore avverrebbe ad un numero molto basso. Il calcolo esponenziale modulare è molto veloce, in modo classico, perché è possibile utilizzare la quadratura ripetuta. Stimerei selvaggiamente che il crossover avvenga anche prima ancora di arrivare a numeri di 30 bit (numeri oltre un miliardo).

Ma i computer quantistici non faranno la matematica quasi alla stessa velocità dei computer classici . Ad esempio, sul mio laptop, posso eseguire un'esponenziazione modulare a 1000 bit in Python in una frazione di secondo. Ma su computer quantistici prevedibili, occorrerebbero ore o giorni. Il problema è l'enorme differenza ( enorme ) nel costo di un gate AND.

|T

Supponiamo quindi di ottenere un milione di stati T al secondo e di convertirlo in un tasso di aggiunte a 64 bit da confrontare con la macchina classica. Un'aggiunta a 64 bit richiede 64 porte AND, ognuna delle quali richiede 4 porte T. 1 milione diviso per 4 diviso per 64 dà ... circa 4KHz. Al contrario, una macchina classica farà facilmente un miliardo di aggiunte al secondo. Gli additivi quantistici sono un milione di volte più lenti degli additivi classici (di nuovo, stimano selvaggiamente e tieni presente che questo numero dovrebbe migliorare nel tempo).

Un altro fattore da considerare è il diverso costo dei computer quantistici e classici. Se hai cento milioni di dollari e stai scegliendo tra un computer quantistico e un migliaio di computer classici, è necessario tenere conto di quel fattore 1000. In questo senso, potremmo dire che gli additivi quantistici sono un miliardo di volte meno efficienti degli additivi classici (in FLOPS / $).

Una penalità di fattore costante di un miliardo è normalmente un breaker immediato. E per gli algoritmi quantistici con un mero vantaggio quadratico (come Grover), sostengo che in realtà è un rompicapo. Ma l'algoritmo di Shor migliora in modo esponenziale rispetto alla strategia classica quando si aumenta il numero di bit nel numero da fattorizzare. Quanti bit prima di mangiare quella costante "misera" 10 ^ 9 con la nostra crescita esponenziale in vantaggio?

Considera che RSA-640 è stato preso in considerazione nel 2005 usando ~ 33 anni CPU. Un computer quantistico dovrebbe essere in grado di fare quel numero in meno di un giorno. Se hai un migliaio di computer classici che lavorano al problema, finirebbero tra circa due settimane. Quindi sembra che il quantum stia vincendo di 640 bit, ma solo di un ordine di grandezza o tre. Quindi forse il taglio si verificherebbe da qualche parte intorno ai 500 bit?

Comunque, so che questa non è una risposta difficile e veloce. Ma spero di aver trasmesso un senso delle quantità a cui avrei pensato confrontando classico e quantistico. Davvero nessuno conosce ancora i fattori costanti coinvolti, quindi sarei sorpreso se qualcuno potesse darti una stima adeguata meglio di "da qualche parte nelle centinaia di bit".


Questo è un buon sforzo, ma come si ottiene la stima di 30 bit? A cosa stai esattamente confrontando l'algoritmo di Shor, quando lo consideri un probabile punto di crossover?
Niel de Beaudrap,

1
@NieldeBeaudrap Come ho detto, è un'ipotesi selvaggia. Immagino: la moltiplicazione modulare ha un fattore costante decente (classico). Così fa le frazioni continue. Gli algoritmi di factoring hanno anche buoni fattori costanti? Probabilmente no? In tal caso, il crossover avverrebbe quasi immediatamente invece che a grandi numeri. Se qualcuno vuole effettivamente confrontare queste due cose una contro l'altra, aggiornerò la risposta. Considero la "carne" come il resto.
Craig Gidney,

1
Normalmente non obietterei a ciò come a fornire un'intuizione, tranne per il fatto che la tua ipotesi selvaggia è precisamente sull'argomento della domanda. (La domanda si pone anche in modo tale da suggerire la consapevolezza delle problematiche relative alla velocità di clock.) Le tecniche più veloci per la fattorizzazione di numeri molto grandi implicano fattori costanti di grandi dimensioni, ma in realtà fare i conti con loro è il punto della domanda; ma per numeri circa un miliardo potremmo anche considerare la divisione di prova usando una tabella di numeri primi fino a circa 32.767, che sarebbe molto veloce in pratica. Un confronto quantitativo anche con questo sarebbe un inizio.
Niel de Beaudrap,

6

Come ho detto nei commenti, una risposta molto precisa dipenderà probabilmente da molte scelte tecniche che sono in qualche modo arbitrarie. È probabile che sia più importante ottenere una stima dell'ordine di grandezza e tenere conto il più possibile della sua realizzazione.

Questa risposta non è intesa come una risposta definitiva, ma come un passo nella giusta direzione in riferimento alla letteratura esistente (anche se, a dire il vero, ormai più di un decennio), in particolare:

  • Van Meter, Itoh e Ladd. Tempo di esecuzione dipendente dall'architettura dell'algoritmo di Shor . Proc. Superconduttività mesoscopica + Spintronics 2006; [ arXiv: quant-ph / 0507023 ]

Van Meter, Itoh e Ladd tentano di confrontare le prestazioni dell'algoritmo di Shor con la tecnologia di calcolo disponibile eseguendo il Number Field Sieve (l'algoritmo classico più noto per la fattorizzazione). Non ho avuto il tempo di scorrere i dettagli del documento - probabilmente si potrebbe ottenere una risposta superiore facendo così - ma la Figura 1 di quell'articolo ci consente di fare una stima numerica ragionevole:

inserisci qui la descrizione dell'immagine

Qui, le curve ripide rappresentano il tempo di elaborazione delle reti di elaborazione classiche. La curva denominata "NFS, 104 PC, 2003" sembra indicare i calcoli (e il tempo di calcolo previsto) di centoquattro personal computer intorno al 2003, come riportato da RSA Security Inc. nel 2004 [ http: //www.rsasecurity. com / rsalabs / node.asp? id = 2096] .

nnvv2×1011operazioni al secondo. Un ipotetico benchmarking dell'algoritmo di Shor dovrebbe essere fatto contro un computer quantistico che esegue ad una velocità di clock comparabile.

109

  • Nonostante un vantaggio di operazioni al secondo di un fattore di 200 o più, la trama indica quando questa implementazione NFS classica a 200 GHz è superata da un computer quantistico da 1 GHz che esegue l'algoritmo di Shor (a circa 200 cifre) e da un computer quantico da 1 MHz ( a circa 330 cifre).
  • Abbiamo anche una curva che proietta le prestazioni "nel 2018", che rappresenta 1000 volte la potenza di calcolo classica: le intercettazioni con i computer quantistici 1GHz e 1MHz sono a 350 bit e 530 bit.

L'aumento dei punti di attraversamento rispetto ai calcoli quantistici, dal calcolo nel 2003 a quello previsto nel 2018, che rappresenta un aumento della velocità di clock di 1000, è un fattore di circa 5/3. Da questo possiamo stimare che il vantaggio computazionale della dimensione dei numeri che può essere risolto rapidamente da un computer classico, a causa di un aumento della velocità di un fattore di 200, è di circa 7/6. Quindi possiamo stimare che il punto di attraversamento di un singolo computer classico da 1 GHz che esegue NFS, con un computer quantistico da 1 GHz che esegue l'algoritmo di Shor, è a circa 170 bit.

La linea di fondo: una risposta precisa dipenderà da molti presupposti tecnici che possono cambiare significativamente il risultato preciso, quindi è meglio cercare una stima approssimativa. Ma questa domanda è stata studiata almeno una volta prima, e facendo un certo numero di ipotesi ed estrapolazioni sulle prestazioni basate sulle prestazioni classiche nel 2003, sembra che gli algoritmi di Shor supereranno l'algoritmo classico più noto su una base operativa per i numeri circa 170 bit.


Questa è una buona risposta Vale la pena notare che l'idea di questo documento di "un'operazione logica elementare" è (molto appropriatamente) a livello di una porta AND, al contrario di una istruzione CPU o di un'operazione BigInt (che sospetto sia ciò che era il richiedente) pensiero). Nella mia risposta, supponevo che l'espiazione modulare fosse fatta "come se classicamente", il che avrebbe comportato ad esempio le moltiplicazioni FFT. Questo è il motivo per cui ho indovinato un numero che era molto più basso di questo documento, che (appropriatamente) fa la moltiplicazione del libro di testo con ripple porta adduttori per la sua aritmetica quantistica.
Craig Gidney,

@SalvaCardona: ti consiglio di non accettare la mia risposta. La mia analisi è molto superficiale e dovresti resistere per un'analisi migliore.
Niel de Beaudrap,
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.