Como funciona o feedback no algoritmo de Grovers simples, onde $n=4$?
Neste exemplo de implementação do Algoritmo de Grovers do Livro de Texto Qiskit que resolve um $2\times 2$ quebra-cabeça sudoku:
https://qiskit.org/textbook/ch-algorithms/grover.html
O circuito itera duas vezes (veja a imagem)
Minha pergunta é:
Como estão os dados no $c_0 - c_3$ e out0 qubits utilizados.
Para mim parece $c_0 - c_3$ e fora nunca são realimentados no $v_0 - v_3$ qubits e $v_0 - v_3$ são os únicos que são medidos no final.
Não tenho certeza se interpretei mal como funciona o emaranhamento aqui, ou como funcionam as portas CX.
Respostas
O registro quântico cpode ser considerado como ancilla. Para a primeira parte de cada iteração (antes de CCCC-NOT), cada dois cxcompara se o estado dos dois qubits é idêntico, se não, um ancilla será convertido para o estado$|1\rangle$. As CCCC-NOTverificações se os quatro ancillae são todos$|1\rangle$, em caso afirmativo, uma operação de inversão de fase é implementada.
A segunda parte de cada iteração (entre CCCC-NOTe a difusão unitária) converte os ancillae em seu estado original ($|0000\rangle$, para reversibilidade). A ação de difusão unitária deve ser familiar para você.
A introdução de ancilla no circuito quântico certamente aumentará a dificuldade da simulação clássica, mas pode diminuir a dificuldade de projetar um algoritmo (às vezes é impossível atingir o objetivo sem o ancilla).