Memória clássica suficiente para armazenar estados de sistema quântico de até 40 qubits?

10

Como parte de uma discussão com meu amigo "clássico", ele insistiu em que é possível fazer uma máquina de estado para calcular o resultado do computador quântico; portanto, basta calcular os resultados dos algoritmos (conhecidos) nos supercomputadores e armazenar seus resultados em uma tabela de consulta. (Algo como armazenar a tabela da verdade).

Então, por que as pessoas trabalham em simuladores quânticos (digamos, capazes de até 40 qubits); que calcula o resultado toda vez ?! Simplesmente (hipoteticamente) use os supercomputadores do mundo (digamos, capazes de até 60 qubits); calcular o resultado para casos de entrada, armazenar o resultado e usá-lo como referência? Como posso convencê-lo de que não é possível? Nota: isto é para algoritmos quânticos conhecidos e suas implementações de circuitos conhecidas.260

viliyar
fonte
2
Sugiro uma abordagem 'clássica' mais extrema: no final do dia, qualquer algoritmo quântico é uma transformação unitária aplicada a um sistema de n-qubit; pode ser descrito por matriz unitária; para que possamos criar uma lista de algoritmos quânticos conhecidos, descritos como matrizes unitárias; e executar um algoritmo é simplesmente a multiplicação da matriz por um vetor de entrada, e seria rápido. Claro que existem os requisitos de memória para considerar ...2n×2n
kludg
Exatamente. E acredito que o requisito de memória aumentaria acentuadamente à medida que n aumentasse.
viliyar

Respostas:

14

Suponha que você tenha um algoritmo quântico com entradas possíveis. Suponha também que levaria 1 nanossegundo para executar isso em um supercomputador (o que é irrealisticamente otimista!). O tempo total necessário para executar todas as entradas possíveis seria 36,5 anos.260

Claramente, seria muito melhor executar apenas a instância que lhe interessa e obter a resposta em um instante, em vez de esperar meia vida para selecioná-la em uma lista. Isso fica ainda mais verdadeiro à medida que aumentamos o tempo de execução a partir de 1 nanossegundo irrealista.

por que as pessoas trabalham em simuladores quânticos (digamos, capazes de até 40 qubits); que calcula o resultado toda vez ?!

Mesmo se você quiser criar uma tabela de pesquisa, ainda precisará de um simulador como este para criá-la.

James Wootton
fonte
2
O atual supercomputador número 1 do Top500 , em Oak Ridge, está listado como tendo 2,3 milhões de núcleos, POWER9 e CUDA Volta (não conheço o colapso, eles provavelmente os agrupam nas estatísticas). Supondo que o cálculo seja totalmente paralelelizável, ou seja, reduz bastante a estimativa, até cerca de 20 minutos. Mesmo multiplicando o tempo sim por 12 coloca em um tempo razoável de 4 horas e a energia passar de mera 32 MW‧h :)
kkm
3

Para um algoritmo quântico específico que usa 40 qubits, seu amigo faz um bom argumento. Pode-se apenas calcular a tabela verdade (pode ser difícil, mas suponha que sim) e usá-la como referência. É claro que isso começa a ficar ridículo à medida que você aumenta o número de qubits, não apenas por causa do número de entradas, mas porque calcular o resultado de um algoritmo quântico pode ser exponencialmente mais difícil classicamente, pelo que sabemos.

No entanto, ser capaz de simular um computador quântico (ou ter um computador quântico real) é muito mais útil. Ao alterar as operações quânticas que se faz, obtém-se algoritmos diferentes. O número de funções que se pode definir em 40 bits de entradas é 2 ^ 2 ^ 40. Ter um único banco de dados que fornece acesso instantâneo aos resultados de qualquer algoritmo quântico é absurdamente inviável. Também queremos alternar algoritmos facilmente, e classicamente queremos simuladores para isso.

SuhailSherif
fonte
Você pode me dizer como você calculou ? 2240
viliyar
11
Cada função é definida exclusivamente por uma tabela de verdade. Para uma entrada de 40 bits, a tabela verdade possui 2 ^ 40 bits. Portanto, o número de tabelas verdadeiras (e, portanto, o número de funções) é o número de cadeias de bits de comprimento 2 ^ 40, que é 2 ^ 2 ^ 40.
precisa saber é o seguinte