Comment fonctionne la rétroaction dans un algorithme Grovers simple où $n=4$?

Nov 23 2020

Dans cet exemple d'implémentation de l'algorithme Grovers du manuel Qiskit qui résout un $2\times 2$ puzzle sudoku:

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

Le circuit effectue deux itérations (voir photo)

Ma question est:

Comment les données dans le $c_0 - c_3$ et out0 qubits utilisés.

Pour moi, ça ressemble $c_0 - c_3$ et ne sont jamais réinjectés dans le $v_0 - v_3$ qubits, et $v_0 - v_3$ sont les seuls mesurés à la fin.

Je ne sais pas si j'ai mal interprété le fonctionnement de l'intrication ici ou le fonctionnement des portes CX.

Réponses

1 YitianWang Nov 23 2020 at 07:59

Le registre quantique cpeut être considéré comme ancilla. Pour la première partie de chaque itération (avant le CCCC-NOT), chacun des deux cxcompare si l'état des deux qubits est identique, sinon, un ancilla sera converti à l'état$|1\rangle$. Les CCCC-NOTvérifications si les quatre ancilles sont toutes$|1\rangle$, si tel est le cas, une opération d'inversion de phase est implémentée.

La deuxième partie de chaque itération (entre CCCC-NOTet la diffusion unitaire) convertit les ancilles dans son état d'origine ($|0000\rangle$, pour réversibilité). L'action de diffusion unitaire doit vous être familière.

Introduire l'ancilla dans le circuit quantique augmentera certainement la difficulté de la simulation classique, mais cela peut diminuer la difficulté de concevoir un algorithme (parfois il est impossible d'atteindre l'objectif sans l'ancilla).