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.
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.
O que é o oráculo
é uma porta unitária reversível. Você não abre e lê ; só faz perguntas — uma consulta por chamada.
Clássico versus quântico
Clássico determinístico ou probabilístico precisa de consultas. Quântico exige exatamente 1, com probabilidade 1.
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.
Como ler o painel de ondas
Cada linha é um estado da base computacional. Altura é magnitude da amplitude, cor é o sinal.
Recuo de fase, o coração do algoritmo
Phase kickback: a ancila absorve o oráculo, mas o sinal reflui para o registrador principal.
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.
Cada qubit na esfera de Bloch
BV é raro: cada qubit fica em estado puro separável e revela seu bit de de forma independente.
Interferência final · Walsh-Hadamard
O segundo é uma Transformada de Walsh-Hadamard. Só sobrevive; o resto cancela por interferência destrutiva.
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.
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_Spara 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
- Bernstein, E.; Vazirani, U. (1993). Quantum Complexity Theory. STOC 1993.
- Deutsch, D.; Jozsa, R. (1992). Rapid Solution of Problems by Quantum Computation. Proc. Royal Society A.
- Grover, L. K. (1996). A Fast Quantum Mechanical Algorithm for Database Search. STOC 1996.
- Nielsen, M. A.; Chuang, I. L. (2010). Quantum Computation and Quantum Information. Cambridge University Press.
- MacWilliams, F. J.; Sloane, N. J. A. (1977). The Theory of Error-Correcting Codes. North-Holland.
- Simon, D. R. (1994). On the Power of Quantum Computation. FOCS 1994.
- Shor, P. W. (1994). Algorithms for Quantum Computation: Discrete Logarithms and Factoring. FOCS 1994.
- Deutsch, D. (1985). Quantum Theory, the Church-Turing Principle and the Universal Quantum Computer. Proc. Royal Society A.
- Shor, P. W. (1997). Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. SIAM J. Comput.
- Ladd, T. D. et al. (2010). Quantum computers. Nature 464, 45–53.
o editor referenciado ainda nao emitiu conteudo — abra o code_editor acima e escreva algo.