
Algorithmen · Herbst 2019
Quantensuchalgorithmus mit einem Quanten-Random-Walk
Eine Neuimplementierung der Quantenwalk-Suche auf einem Hyperwürfel, numerisch bis zum 5-Würfel gegen die Abschätzung der Publikation geprüft.
Kurz gesagt
Eine klassische Suche in einer unsortierten Liste aus N Einträgen braucht O(N) Abfragen; der Grover-Algorithmus erreicht auf einem Quantencomputer O(√N). Shenvi, Kempe und Whaley erreichen dieselbe Skalierung auf einem anderen Weg, mit einem Quantenwalk auf einem Hyperwürfel. Dieses Projekt in einer Lehrveranstaltung hat ihre Publikation untersucht und den Algorithmus neu implementiert.
Studienleistung in der Veranstaltung Quantum Information and Quantum Computation am NISER Bhubaneswar, gelehrt von Dr. Colin Benjamin, zu „A Quantum Random Walk Search Algorithm“ (Shenvi, Kempe & Whaley, Phys. Rev. A 67, 052307, 2003).
Wie
- Den Schritt auf dem Hyperwürfel in Arithmetik übersetzt. Jeder der 2^n Knoten ist eine n-Bit-Folge, und ein Schritt in Richtung i ist ein XOR mit einem einzelnen gesetzten Bit, das ich als Addition von 2^(i-1) modulo 2^n umgesetzt habe, für den klassischen wie für den Quantenwalk.
- Zuerst den klassischen Random Walk in Python simuliert, mit der Wahrscheinlichkeit über der Position auf einem 3-Würfel und einem 7-Würfel nach 10 Schritten.
- Die Suche mit dem Quantenwalk in Wolfram Mathematica gebaut, mit dem Paket
Quantum`Notation: der Bitflip-Shift, ein Grover-Münzoperator und ein Orakel, das den Zielzustand |0⟩ invertiert, π/2 × 2^(n/2)-mal iteriert, wie es die Publikation herleitet. - Die Simulation über den Punkt hinaus laufen lassen, den die Publikation analysiert, und dort zeigte sich das nichtperiodische Verhalten.
Die ganze Suche in einer Mathematica-Zelle: Bitflip-Shift, Grover-Münze mit eingebautem Orakel, π/2 × 2^(n/2)-mal iteriert.