Qual é o valor inteiro mínimo para fazer a fatoração quântica valer a pena?

11

Suponhamos que temos computadores quânticos e clássicos, de modo que, experimentalmente, cada operação lógica elementar da fatoração matemática também gaste tempo na clássica e na fatoração quântica: qual é o menor valor inteiro para o qual o processo quântico é mais rápido que o clássico? 1?

SalvaCardona
fonte
2
Um cálculo muito preciso dependeria de detalhes como a implementação de operações de adição no algoritmo quântico e também das operações precisas usadas no melhor algoritmo de fatoração clássico. Nos dois casos, estamos acostumados a ignorar fatores constantes na quantidade de trabalho necessária, mas até mais no caso clássico do que no caso quântico. Você ficaria satisfeito com uma estimativa de ordem de magnitude (por exemplo, uma vantagem quântica sendo obtida em algum lugar entre 350-370 bits - para fornecer uma resposta possível que eu criei do nada com base em nenhuma análise real)?
Niel de Beaudrap 17/04/19
@NieldeBeaudrap Eu diria que, pelas razões que você declarou, seria impossível fornecer um número exato. Se sua estimativa "fora do ar" for baseada em algum raciocínio, acho que seria interessante. (Em outras palavras, um educado adivinhar tem valor, mas um palpite não)
Discrete lagarto
@DiscreteLizard: se eu tivesse um bom meio de estimativa pronto, não teria produzido uma resposta de exemplo com base em nenhuma análise :-) Tenho certeza de que há uma maneira razoável de produzir uma estimativa interessante, mas as que eu seria capaz de fornecer facilmente teria barras de erro muito grandes para serem muito interessantes.
Niel de Beaudrap 17/04/19
Como esse problema é (ou foi) comumente considerado como "prova" típica de que os computadores quânticos são capazes de realizar ações fora dos domínios da computação clássica, mas quase sempre em termos estritos de complexidade computacional (negligenciando todas as constantes e válidas apenas para entradas arbitrariamente altas) Eu diria que uma resposta aproximada em ordem de magnitude (e sua derivação) já seria útil / pedagógica. Talvez as pessoas no CS / teórico CS possam estar dispostas a ajudar.
Agaitaarino 17/04/19
1
@agaitaarino: Eu concordo, embora a resposta precise presumir uma descrição mais ou menos precisa do desempenho dos melhores algoritmos clássicos para fatoração. O resto pode ser feito por um estudante razoavelmente bom de computação quântica.
Niel de Beaudrap 17/04/19

Respostas:

8

A parte quântica do algoritmo de Shor é, essencialmente, uma única exponenciação modular feita sob superposição, seguida por uma transformada de Fourier e, em seguida, uma medição. A exponenciação modular é de longe a parte mais cara.

Suponhamos que [...] cada operação lógica elementar da fatoração matemática também gaste tempo na fatoração clássica e quântica.

Se assumirmos que a exponenciação modular leva exatamente tanto tempo em um computador quântico quanto em um computador clássico, a transição em que a computação quântica se tornou melhor aconteceria em um número muito baixo. A computação de exponenciações modulares é muito rápida, classicamente, porque você pode usar quadrados repetidos. Eu estimaria muito que o crossover acontecesse antes mesmo de você chegar a números de 30 bits (números acima de um bilhão).

Mas os computadores quânticos não fazem matemática tão rápido quanto os computadores clássicos . Por exemplo, no meu laptop, eu posso fazer uma exponenciação modular de 1000 bits em python em uma fração de segundo. Mas em computadores quânticos previsíveis, levaria horas ou dias. A questão é a enorme diferença ( enorme ) no custo de um portão AND.

Em uma máquina clássica, executar um AND é tão irrelevante que nem sequer pensamos nisso ao programar. É muito mais provável que você pense em termos de contagem de adições de 64 bits do que em termos de contagem de portas AND, ao determinar o custo do seu algoritmo. Mas em um computador quântico corrigido por erro, executar um AND (geralmente temporariamente, via Toffoli) tende a ser caro. Por exemplo, você pode fazer isso destilando quatro estados alta qualidade . Não vou entrar nos números ... basta dizer que em máquinas com correção precoce de erros você ficaria muito feliz em obter um milhão de T de estados por segundo.|T

Então, suponha que tenhamos um milhão de T estados por segundo e queremos converter isso em uma taxa de acréscimos de 64 bits para comparar com a máquina clássica. Uma adição de 64 bits requer 64 portas AND, cada uma exigindo 4 portas T. 1 milhão dividido por 4 dividido por 64 dá ... cerca de 4KHz. Por outro lado, uma máquina clássica fará facilmente um bilhão de adições por segundo. Os aditivos quânticos são um milhão de vezes mais lentos que os aditivos clássicos (novamente, estimando amplamente, e lembre-se de que esse número deve melhorar com o tempo).

Outro fator que vale a pena considerar são os diferentes custos dos computadores quânticos e clássicos. Se você tem cem milhões de dólares e está escolhendo entre um computador quântico e mil computadores clássicos, esse fator de 1000 deve ser contabilizado. Nesse sentido, poderíamos dizer que os somadores quânticos são um bilhão de vezes menos eficientes que os somadores clássicos (em FLOPS / $).

Uma penalidade de fator constante de um bilhão é normalmente um rompimento imediato do negócio. E para algoritmos quânticos com uma mera vantagem quadrática (como Grover), afirmo que é de fato um rompimento de um acordo. Mas o algoritmo de Shor fica exponencialmente melhor em relação à estratégia clássica à medida que você aumenta o número de bits no número a ser fatorado. Quantos bits antes de comermos aquela constante "mísera" 10 ^ 9 com nosso crescimento exponencial em vantagem?

Considere que o RSA-640 foi fatorado em 2005 usando ~ 33 anos de CPU. Um computador quântico deve conseguir esse número em menos de um dia. Se você tem mil computadores clássicos trabalhando no problema, eles terminam em cerca de duas semanas. Parece que o quantum está ganhando 640 bits, mas apenas por uma ordem de magnitude ou três. Talvez o corte ocorra em torno de 500 bits?

De qualquer forma, eu sei que essa não é uma resposta difícil e rápida. Mas espero ter transmitido algum sentido das quantidades em que pensaria ao comparar o clássico e o quântico. Realmente ninguém sabe os fatores constantes envolvidos ainda, então eu ficaria surpreso se alguém pudesse lhe fornecer uma estimativa adequada melhor do que "em algum lugar nas centenas de bits".

Craig Gidney
fonte
Este é um bom esforço, mas como você calcula 30 bits? Com que precisão você está comparando o algoritmo de Shor quando considera um provável ponto de cruzamento?
Niel de Beaudrap 18/04/19
1
@NieldeBeaudrap Como eu disse, é um palpite. Eu imagino: a multiplicação modular tem um fator constante decente (classicamente). O mesmo acontece com as frações. Os algoritmos de fatoração também têm bons fatores constantes? Provavelmente não? Nesse caso, o cruzamento aconteceria quase imediatamente, em vez de em grandes números. Se alguém realmente quiser comparar essas duas coisas, atualizarei a resposta. Eu considero a "carne" o resto.
Craig Gidney
1
Normalmente, eu não me oporia a isso como uma intuição, exceto que seu palpite é exatamente sobre o assunto da questão. (A questão também é colocada de uma maneira que sugere a conscientização sobre os problemas da velocidade do relógio.) As técnicas mais rápidas para fatorar números muito grandes envolvem grandes fatores constantes, mas, na verdade, contar com eles é o ponto da questão; mas para números em torno de um bilhão, podemos até considerar a divisão de teste usando uma tabela de números primos de até 32.767, o que seria muito rápido na prática. Uma comparação quantitativa, mesmo com isso, seria um começo.
Niel de Beaudrap 18/04/19
6

Como mencionei nos comentários, uma resposta muito precisa provavelmente dependerá de muitas opções técnicas que são um tanto arbitrárias. É provável que seja mais importante obter uma estimativa de ordem de magnitude e levar em conta o máximo possível ao fazê-la.

Esta resposta não pretende ser uma resposta definitiva, mas um passo na direção certa por referência à literatura existente (embora admitidamente já tenha mais de uma década), especificamente:

  • Van Meter, Itoh e Ladd. Tempo de execução dependente da arquitetura do algoritmo de Shor . Proc. Supercondutividade Mesoscópica + Spintronics 2006; [ arXiv: quant-ph / 0507023 ]

Van Meter, Itoh e Ladd tentam comparar o desempenho do algoritmo de Shor com a tecnologia de computação disponível executando o Number Field Sieve (o algoritmo clássico mais conhecido para fatoração). Não tive tempo de examinar os detalhes do artigo - uma resposta superior provavelmente poderia ser obtida com isso - mas a Figura 1 desse artigo nos permite fazer uma estimativa numérica razoável:

insira a descrição da imagem aqui

Aqui, as curvas acentuadas representam o tempo de computação das redes clássicas de computação. A curva denominada 'NFS, 104 PCs, 2003' parece indicar cálculos (e o tempo de computação projetado) de cento e quatro computadores pessoais por volta de 2003, conforme relatado pela RSA Security Inc. em 2004 [ http: //www.rsasecurity. com / rsalabs / node.asp? id = 2096] .

Vamos realizar um cálculo de Fermi. Suponhamos que a curva corresponda a uma computação em 104 computadores essencialmente idênticos e presumamos que computadores que executam peneira de campo numérico podem executar computações por segundo de Peneira de campo numérica, em que é o número de operações por segundo que um único computador pode executar. Uma rápida pesquisa na web sugere que a velocidade de um bom PC disponível comercialmente em 2003 foi de cerca de 2 GHz. Supondo que os computadores estivessem executando uma operação lógica por ciclo de clock, o cálculo clássico em 2003 estava efetivamente operando em cerca den v v 2 × 10 11nnvv2×1011operações por segundo. Um benchmarking hipotético do algoritmo de Shor teria que ser feito contra um computador quântico com desempenho em uma velocidade de clock comparável.

Infelizmente, a curva mais baixa para algoritmos quânticos representa uma taxa de clock de ; portanto, o ponto no qual uma realização hipotética do algoritmo de Shor superaria esse desempenho não está no gráfico mostrado. No entanto, há algumas informações interessantes que são mostradas.109

  • Apesar da vantagem de um fator de 200 ou mais de operações por segundo, o gráfico indica quando essa implementação clássica do NFS de 200 GHz é superada por um computador quântico de 1 GHz executando o algoritmo de Shor (com cerca de 200 dígitos) e por um computador quântico de 1 MHz ( em cerca de 330 dígitos).
  • Também temos uma curva projetando o desempenho "em 2018", representando 1000 vezes o poder computacional clássico: as intercepções nos computadores quânticos de 1GHz e 1MHz estão em números de 350 e 530 bits.

O aumento dos pontos de cruzamento com os cálculos quânticos, desde o cálculo em 2003 até o projetado em 2018, representando um aumento na velocidade do relógio de 1000, é um fator de cerca de 5/3. A partir disso, podemos estimar que a vantagem computacional para o tamanho dos números que podem ser rapidamente resolvidos por um computador clássico, devido a um aumento de velocidade de um fator de 200, é de aproximadamente 7/6. Então, podemos estimar que o ponto de cruzamento de um único computador clássico de 1 GHz executando NFS, com um computador quântico de 1 GHz executando o algoritmo de Shor, esteja em cerca de 170 bits.

Conclusão - uma resposta precisa dependerá de muitas suposições técnicas que podem alterar significativamente o resultado preciso, portanto, é melhor procurar uma estimativa aproximada. Mas essa questão já foi pesquisada pelo menos uma vez antes e, com algumas suposições e extrapolações sobre o desempenho com base no desempenho clássico em 2003, parece que os algoritmos de Shor superarão o algoritmo clássico mais conhecido, operação a operação, para números. cerca de 170 bits.

Niel de Beaudrap
fonte
Esta é uma boa resposta. Vale a pena notar que a ideia deste artigo de uma "operação lógica elementar" está (muito apropriadamente) no nível de uma porta AND, em oposição ao nível de uma instrução de CPU ou uma operação BigInt (que eu suspeito que seja o autor da pergunta) pensando). Em minha própria resposta, eu estava assumindo que a exponenciação modular era feita "como se fosse clássica", o que envolveria, por exemplo, multiplicações de FFT. É por isso que adivinhei um número muito menor do que este artigo, que (apropriadamente) faz a multiplicação de livros escolares com ripple carry adders por sua aritmética quântica.
Craig Gidney
@ SalvaCardona: Eu recomendo que você não aceite minha resposta. Minha análise é muito superficial, e você deve aguardar uma análise melhor.
Niel de Beaudrap