Comme la question d'origine portait sur la description d'un profane, je propose une solution légèrement différente qui est peut-être plus facile à comprendre (en fonction de l'arrière-plan), basée sur un temps continu évolution. (Je ne prétends cependant pas qu'il convient à un profane.)
Nous partons d'un état initial qui est une superposition uniforme de tous les états,
et nous cherchons à trouver un état qui peut être reconnu comme la bonne réponse (en supposant qu'il existe exactement un tel état, bien que cela puisse être généralisé). Pour ce faire, nous évoluons dans le temps sous l'action d'un hamiltonien
La très belle caractéristique de la recherche de Grover est qu'à ce stade, nous pouvons réduire les mathématiques à un sous-espace de seulement deux états , plutôt que d'exiger les . Il est plus facile de décrire si nous faisons une base orthonormée à partir de ces états, où
| x⟩H=| x⟩⟨x| +| ψ⟩⟨ψ| . {| x⟩,| ψ⟩}2n{| x⟩,| ψ⊥⟩}| ψ⊥⟩=1
|ψ⟩=12n−−√∑y∈{0,1}n|y⟩
|x⟩H=|x⟩⟨x|+|ψ⟩⟨ψ|.
{|x⟩,|ψ⟩}2n{ | x ⟩ , |∣ψ⊥⟩}e-iHt| ψ⟩e-it(I+2-nZ+√∣∣ψ⊥⟩=12n−1−−−−−√∑y∈{0,1}n:y≠x|y⟩.
En utilisant cette base, l'évolution temporelle peut être écrite comme
où et sont les matrices Pauli standard. Cela peut être réécrit sous la forme
Donc, si nous évoluons pendant un temps
e−iHt|ψ⟩XZe-it(Icos(te−it(I+2−nZ+2n−1√2nX)⋅⎛⎝⎜12n√1−12n−−−−−√⎞⎠⎟,
XZt=πe−it(Icos(t2n/2)−i12n/2sin(t2n/2)(Z+X2n−1−−−−−√))⎛⎝⎜12n√1−12n−−−−−√⎞⎠⎟.
t=π22n/2, et en ignorant les phases globales, l'état final est
En d'autres termes, avec la probabilité 1, nous obtenons l'état que nous recherchions. La description habituelle en circuit de la recherche de Grover est vraiment juste cette évolution temporelle continue divisée en étapes discrètes, avec le léger inconvénient que vous ne pouvez généralement pas obtenir exactement la probabilité 1 pour votre résultat, juste très proche.
| x⟩12n/2(Z+X2n−1−−−−−√)⎛⎝⎜12n√1−12n−−−−−√⎞⎠⎟=(12n−2n−1√2n)+(1−12n2n−1√2n)=(10).
|x⟩
Une mise en garde est la suivante: vous pouvez redéfinir , et évoluer en utilisant et le temps d'évolution serait 5 fois plus court. Si vous voulez être vraiment radical, remplacez le 5 par , et la recherche de Grover s'exécute en temps constant! Mais vous n'êtes pas autorisé à le faire arbitrairement. Toute expérience donnée aurait une force de couplage maximale fixe (c'est-à-dire un multiplicateur fixe). Ainsi, différentes expériences ont des temps d'exécution différents, mais leur mise à l'échelle est la même, . C'est comme dire que le coût de la porte dans le modèle de circuit est constant, plutôt que de supposer que si nous utilisons un circuit de profondeur chaque porte peut être exécutée dans le temps .H~=5HH~2n/22n/2k1/k
La preuve d'optimalité consiste essentiellement à montrer que si vous accélériez la détection d'un état marqué possible , cela ralentirait la détection d'un état marqué différent, . Étant donné que l'algorithme devrait fonctionner aussi bien quel que soit l'état marqué, cette solution est la meilleure.|x⟩|y⟩