Wie funktioniert Feedback in einem einfachen Grovers-Algorithmus? $n=4$?

Nov 23 2020

In diesem Beispiel Implementierung des Grovers-Algorithmus aus dem Qiskit-Lehrbuch, der a löst $2\times 2$ Sudoku-Puzzle:

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

Die Schaltung iteriert zweimal (siehe Bild)

Meine Frage ist:

Wie sind die Daten in der $c_0 - c_3$ und out0 Qubits verwendet.

Für mich sieht es so aus $c_0 - c_3$ und raus werden nie zurück in die $v_0 - v_3$ Qubits und $v_0 - v_3$ sind die einzigen, die am Ende gemessen werden.

Ich bin mir nicht sicher, ob ich falsch interpretiert habe, wie Verschränkung hier funktioniert oder wie die CX-Gates funktionieren.

Antworten

1 YitianWang Nov 23 2020 at 07:59

Das Quantenregister ckann als Ancilla angesehen werden. Für den ersten Teil jeder Iteration (vor dem CCCC-NOT) werden jeweils zwei cxverglichen, wenn der Zustand der beiden Qubits identisch ist. Wenn nicht, wird eine Ancilla in den Zustand konvertiert$|1\rangle$. Die CCCC-NOTprüft, ob die vier Ancillae alle sind$|1\rangle$In diesem Fall wird eine Phasenumkehroperation implementiert.

Der zweite Teil jeder Iteration (zwischen CCCC-NOTund der Diffusionseinheit) wandelt die Ancillae in ihren ursprünglichen Zustand um ($|0000\rangle$zur Reversibilität). Die Wirkung der einheitlichen Diffusion sollte Ihnen vertraut sein.

Das Einführen von Ancilla in die Quantenschaltung erhöht sicherlich die Schwierigkeit der klassischen Simulation, kann jedoch die Schwierigkeit beim Entwerfen eines Algorithmus verringern (manchmal ist es unmöglich, das Ziel ohne Ancilla zu erreichen).