Laboratório · lab

O algoritmo Bernstein-Vazirani

Escolha o segredo s, avance passo a passo e veja as 8 amplitudes de |x⟩ evoluírem sob Hadamard → oráculo → Hadamard até uma consulta bastar para descobri-lo.

Laboratório · Bernstein-Vazirani

O algoritmo Bernstein-Vazirani

Uma consulta ao oráculo basta para revelar toda a string secreta.

Escolha o segredo , avance passo a passo e veja as 8 amplitudes de evoluírem sob Hadamard → oráculo → Hadamard até uma consulta bastar para descobri-lo.

Bernstein-Vazirani é o primeiro algoritmo que expõe, sem margem, o mecanismo que dá vantagem à computação quântica: uma única consulta a uma caixa-preta basta para descobrir uma string secreta que classicamente exige consultas. É o predecessor direto de Simon (1994) e Shor (1994), e é o algoritmo em que a ideia de vantagem quântica aparece limpa, separada de qualquer complicação de engenharia.

Antes de começar · roteiro editorial

Roteiro guiado em 10 paradas

Primeiro contato com algoritmo quântico? Comece por aqui. Cada parada é um mini-capítulo autocontido. Leia o resumo, expanda pro conteúdo estendido se quiser aprofundar. Concluídas as 10, o vocabulário e a intuição estão prontos pra navegar o resto da página sem tropeçar em notação.

  1. O problema em uma frase

    Uma string secreta de bits está escondida dentro de uma caixa-preta. Descubra todos os bits fazendo o menor número possível de consultas.

  2. O que é o oráculo

    é uma porta unitária reversível. Você não abre e lê ; só faz perguntas — uma consulta por chamada.

  3. Clássico versus quântico

    Clássico determinístico ou probabilístico precisa de consultas. Quântico exige exatamente 1, com probabilidade 1.

  4. Símbolos e notação

    Mini-dicionário de kets, bras, tensor, XOR, Hadamard, Pauli-X e oráculo — para não tropeçar mais adiante.

  5. Como ler o painel de ondas

    Cada linha é um estado da base computacional. Altura é magnitude da amplitude, cor é o sinal.

  6. Recuo de fase, o coração do algoritmo

    Phase kickback: a ancila absorve o oráculo, mas o sinal reflui para o registrador principal.

  7. O circuito quântico como notação padrão

    Diagrama de fios e portas: Hadamards paralelos, oráculo como CNOTs controladas em cada bit 1 de , Hadamard final, medição.

  8. Cada qubit na esfera de Bloch

    BV é raro: cada qubit fica em estado puro separável e revela seu bit de de forma independente.

  9. Interferência final · Walsh-Hadamard

    O segundo é uma Transformada de Walsh-Hadamard. Só sobrevive; o resto cancela por interferência destrutiva.

  10. Contexto histórico e por que importa

    STOC 1993, definição formal de BQP, predecessor direto de Simon (1994) e Shor (1994). Turing Award para Umesh Vazirani em 2024.

definição · ~2 min

O problema em uma frase

Uma string secreta de bits está escondida dentro de uma caixa-preta, o oráculo. Sua missão é descobrir todos os bits de fazendo o menor número possível de perguntas.

A caixa carrega uma única promessa: dado um , devolve , o produto interno bit a bit entre e colapsado num único bit (par → 0, ímpar → 1). Cada consulta custa uma query, unidade fundamental do modelo de query complexity em que Bernstein e Vazirani formularam o problema em 1993.

A pergunta central é econômica, não algorítmica: quantas consultas até recuperar ? A resposta clássica é linear em . A resposta quântica é exatamente 1. Essa separação motiva toda a página.

modelo de custo · ~2 min

O que é o oráculo

Oráculo é caixa-preta. Você não pode abrir e ler diretamente, só fazer perguntas na forma de estados de entrada e observar a resposta. Uma consulta por chamada.

Formalmente, é uma porta unitária (reversível) que age como . Preserva o registrador de entrada e combina a ancila com via XOR. Nenhum custo interno é contabilizado, só o número de invocações.

Ação do oráculo BV sobre entrada mais ancila.

É o mesmo modelo em que vivem Deutsch-Jozsa (função constante ou balanceada?), Grover (busca desordenada) e Simon (período escondido). O que muda entre eles é a estrutura da função escondida. A definição de query segue igual.

separação · ~3 min

Clássico versus quântico

Clássico determinístico precisa de consultas (uma por bit). Clássico probabilístico também precisa de . Quântico exige 1 consulta, resultado exato com probabilidade 1.

A prova clássica é elementar: consulte com sendo a string com 1 só na posição e você obtém imediatamente. queries e pronto.

A prova de otimalidade probabilística é teoria da informação: cada query devolve 1 bit. Para recuperar bits com erro , você precisa de pelo menos queries. Aleatoriedade não salva. A vantagem quântica de é separação linear em queries. Se considerarmos informação extraída por chamada, exponencial em recursos totais.

glossário · ~2 min

Símbolos e notação

Mini-dicionário para não tropeçar em notação. Se um símbolo aparecer sem tradução mais adiante, procure aqui primeiro.

ket zero, qubit no estado zero.
ket um, qubit no estado um.
ket psi, nome genérico de estado quântico.
bra psi, dual do ket, útil para produtos internos.
tensor, empilha dois sistemas quânticos num só.
XOR bit a bit.
amplitude de superposições balanceadas.
Hadamard, cria superposição uniforme.
Pauli-X, o NOT quântico.
oráculo.

visualização · ~3 min

Como ler o painel de ondas

Cada linha do painel é um estado da base computacional, de até . A onda desenhada em cima é a amplitude. Altura é magnitude, cor é sinal.

Dourado quente = amplitude positiva. Rosé = amplitude negativa. Cinza-terroso = amplitude zero. A onda oscila no tempo só para dar textura visual. O que importa é a envoltória (altura da onda em relação à base) e a cor (sinal).

Ao avançar passo a passo, o painel congela cada etapa: estado inicial (só ativo), Hadamard (8 ondas de altura igual), oráculo (mesma altura, sinais trocados), Hadamard final (uma onda sobrevive), medição (colapso). Cada quadro é o mesmo objeto matemático que a álgebra descreve, renderizado como ondas em vez de somatório abstrato de kets.

phase kickback · ~4 min

Recuo de fase, o coração do algoritmo

A ancila, preparada em , absorve a operação do oráculo. Mas o sinal é chutado de volta para o registrador principal.

Formalmente, . A ancila fica inalterada. O registrador principal ganha uma fase relativa que carrega em cada posição da diagonal. É o recuo de fase (phase kickback), o mesmo mecanismo que Grover usa para marcar o alvo da busca desordenada.

A ancila em é autovetor do oráculo com autovalor .

diagrama · ~3 min

O circuito quântico como notação padrão

O mesmo processo aparece em diagrama de circuito: 3 fios do registrador principal + 1 fio da ancila, com portas atuando da esquerda para a direita: Hadamard, oráculo, Hadamard, medição.

Convenção universal. Cada linha horizontal é um qubit; o tempo corre à direita. Caixas são Hadamards paralelos. O oráculo é implementado como conjunto de CNOTs, uma controlada em cada posição onde tem bit 1, todas atuando na ancila. A ancila é descartada antes da medição.

Ler o circuito é traduzir sequência de operações unitárias. É o mesmo objeto matemático que o painel de ondas anima, só que comprimido e simbólico enquanto o outro é lento e visual. Ambos descrevem o mesmo estado a cada instante.

separabilidade · ~3 min

Cada qubit na esfera de Bloch

Estado puro separável

Um estado de qubits que se escreve como produto tensorial . Não há entrelaçamento: cada qubit tem descrição completa própria.

Bernstein-Vazirani é raro. Cada qubit se mantém em estado puro (sem entrelaçamento com os outros) durante toda a execução, e cada um revela um bit de de forma independente.

Trajetória de cada qubit da entrada: (polo norte) (eixo +x) ou (eixo , dependendo do bit de ) ou . O qubit termina exatamente em .

QFT sobre · ~4 min

Interferência final · Walsh-Hadamard

O Hadamard final é a Transformada de Walsh-Hadamard, versão discreta de Fourier sobre . Ela interfere todas as fases carimbadas pelo oráculo.

Após o oráculo, o registrador é uma superposição uniforme com sinais distribuídos pelos estados. O segundo reorganiza essa nuvem de fases. Só a componente acumula amplitudes que se somam construtivamente. Todas as outras componentes cancelam por interferência destrutiva perfeita.

Colapso construtivo: só a componente sobrevive à interferência.

STOC 1993 · ~4 min

Contexto histórico e por que importa

Bernstein e Vazirani apresentaram este algoritmo no STOC 1993, no artigo Quantum Complexity Theory, o mesmo que define formalmente a classe BQP. É o predecessor direto de Simon (1994) e Shor (1994).

O paper faz três coisas ao mesmo tempo: formaliza a Máquina de Turing Quântica que Deutsch esboçara em 1985; introduz a Transformada de Fourier Quântica sobre ; e apresenta o primeiro problema com separação provável (relativizada) entre BQP e BPP.

Um ano depois, Simon usa a mesma arquitetura de sanduíche () e obtém separação exponencial em queries. Poucos meses adiante, Shor generaliza a QFT de para . Nasce o algoritmo de fatoração que motivaria a criptografia pós-quântica.

hardware × matemática

Antes de olhar as amplitudes

registrador × amplitude

Registrador é hardware, qubits físicos que você toca. O BV tem dois registradores: o principal (3 qubits) e a ancila (1 qubit). Total de 4 qubits.

Amplitude é a descrição matemática do estado do registrador, um número complexo por configuração possível. Um registrador de qubits tem amplitudes.

Registrador principal (3 qubits) = 8 amplitudes. São essas as 8 linhas que aparecem no painel de ondas do lab original. A ancila (1 qubit) = 2 amplitudes, mostrada à direita como o par .

código executável · Pyodide

Simulador do circuito · rode com Cirq

O editor abaixo carrega um circuito Cirq completo de Bernstein-Vazirani para 3 qubits + ancila. Edite a variável SECRET_S no topo, clique em executar e observe o statevector no console — a única amplitude com magnitude 1 marca exatamente o segredo escolhido.

python
0/3 dicas

O que ler no console. A saída lista as 8 amplitudes do registrador principal depois de marginalizar a ancila. Quando o circuito está correto, apenas uma linha tem amplitude e todas as outras zeram. A linha marcada com <-- s é o segredo escondido no oráculo — BV descobriu tudo em uma única invocação de .

  • Troque SECRET_S para outra string de 3 bits e rode de novo: a amplitude 1 pula para a linha correspondente.
  • Aumente para 4 ou 5 bits (SECRET_S = "1011"): o algoritmo continua exato, só o custo clássico cresce.
  • Comente a linha da ancila circuit.append(cirq.X(ancila)) — sem , o phase kickback quebra e o statevector deixa de concentrar.

bibliografia

Referências

Referências

  1. Bernstein, E.; Vazirani, U. (1993). Quantum Complexity Theory. STOC 1993.
  2. Deutsch, D.; Jozsa, R. (1992). Rapid Solution of Problems by Quantum Computation. Proc. Royal Society A.
  3. Grover, L. K. (1996). A Fast Quantum Mechanical Algorithm for Database Search. STOC 1996.
  4. Nielsen, M. A.; Chuang, I. L. (2010). Quantum Computation and Quantum Information. Cambridge University Press.
  5. MacWilliams, F. J.; Sloane, N. J. A. (1977). The Theory of Error-Correcting Codes. North-Holland.
  6. Simon, D. R. (1994). On the Power of Quantum Computation. FOCS 1994.
  7. Shor, P. W. (1994). Algorithms for Quantum Computation: Discrete Logarithms and Factoring. FOCS 1994.
  8. Deutsch, D. (1985). Quantum Theory, the Church-Turing Principle and the Universal Quantum Computer. Proc. Royal Society A.
  9. Shor, P. W. (1997). Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. SIAM J. Comput.
  10. Ladd, T. D. et al. (2010). Quantum computers. Nature 464, 45–53.
pronto

o editor referenciado ainda nao emitiu conteudo — abra o code_editor acima e escreva algo.

Console
Sem saída ainda.