Jak działa sprzężenie zwrotne w prostym algorytmie Grovera, gdzie $n=4$?

Nov 23 2020

W tym przykładzie implementacja algorytmu Grovers z podręcznika Qiskit, która rozwiązuje problem $2\times 2$ puzzle sudoku:

https://qiskit.org/textbook/ch-algorithms/grover.html

Obwód iteruje dwukrotnie (patrz rysunek)

Moje pytanie brzmi:

Jak są dane w $c_0 - c_3$ i out0 qubitów.

Dla mnie to wygląda $c_0 - c_3$ i na zewnątrz nigdy nie są wprowadzane z powrotem do $v_0 - v_3$ kubity i $v_0 - v_3$ są jedynymi, które są mierzone na końcu.

Nie jestem pewien, czy źle zinterpretowałem, jak działa splątanie, lub jak działają bramki CX.

Odpowiedzi

1 YitianWang Nov 23 2020 at 07:59

Rejestr kwantowy cmożna uznać za ancylę. W pierwszej części każdej iteracji (przed CCCC-NOT) każde dwa cxporównuje, czy stan dwóch kubitów jest identyczny, jeśli nie, jedna ancyla zostanie przekonwertowana na stan$|1\rangle$. Do CCCC-NOTsprawdza, czy są wszystkie cztery ancillae$|1\rangle$jeśli tak, to wykonywana jest operacja odwrócenia fazy.

Druga część każdej iteracji (między CCCC-NOTi unitarna dyfuzyjna) przekształca ancillae w ich pierwotny stan ($|0000\rangle$, dla odwracalności). Działanie jednolitej dyfuzji powinno być wam znane.

Wprowadzenie ancyli do obwodu kwantowego z pewnością zwiększy trudność klasycznej symulacji, ale może zmniejszyć trudność projektowania algorytmu (czasami bez ancyli osiągnięcie celu jest niemożliwe).