🔍 Grovers Suchalgorithmus
Durchlaufe Grovers Quantensuchalgorithmus an einem 16-Elemente-Register. Beobachte, wie Amplitudenverstärkung das Zielelement in O(√N) Iterationen gegenüber klassisch O(N) verstärkt.
🔍 Grovers Suchalgorithmus
Durchlaufe Grovers Quantensuchalgorithmus an einem 16-Elemente-Register. Beobachte, wie Amplitudenverstärkung die Wahrscheinlichkeit des Zielelements in O(√N) Iterationen gegenüber klassisch O(N) verstärkt.
🔬 Was es zeigt
Grovers Algorithmus nutzt zwei Operationen pro Iteration: ein Orakel, das das Vorzeichen der Zielamplitude umkehrt, und einen Diffusionsoperator, der Amplituden um ihren Mittelwert spiegelt. Nach ~√N Iterationen nähert sich die Zielwahrscheinlichkeit 1 an.
🎮 So wird's benutzt
Wähle ein Zielelement im 16-Elemente-Register. Durchlaufe Iterationen und beobachte das Amplituden-Histogramm. Der Balken des Ziels wächst, während andere schrumpfen. Vergleiche die O(√N) = 3 Quanten-Iterationen mit klassisch O(N) = 16.
💡 Wusstest du schon?
Grovers Algorithmus bietet eine nachweislich optimale quadratische Beschleunigung für unstrukturierte Suche — kein Quantenalgorithmus kann besser sein. Bei einer Datenbank mit 1 Million Einträgen findet er die Antwort in ~1000 Abfragen statt 500.000.
Über Grovers Suchalgorithmus
Diese Simulation durchläuft Grovers Quantensuchalgorithmus an einem Register von N = 16 Basiszuständen. Das System beginnt in einer gleichmäßigen Überlagerung mit jeder Amplitude gleich 1/√16. Jede Iteration wendet ein Orakel an, das das Vorzeichen der Amplitude des markierten Ziels umkehrt, dann einen Diffusionsoperator, der alle Amplituden um ihren Mittelwert spiegelt (D = 2|s⟩⟨s| − I). Zusammen führen diese eine Rotation aus, die die Wahrscheinlichkeit stetig auf das Ziel konzentriert.
Du wählst das Zielelement aus dem 16-Elemente-Dropdown, verwendest dann Schritt, um eine Grover-Iteration fortzuschreiten, Automatisch, um Iterationen automatisch auszuführen, und Zurücksetzen, um zum gleichmäßigen Zustand zurückzukehren. Das Amplituden-Histogramm zeigt, wie der Balken des Ziels wächst, während die anderen schrumpfen, mit einem Höhepunkt nach etwa π/4·√N ≈ 3 Iterationen. Diese quadratische O(√N)-Beschleunigung untermauert schnellere Brute-Force-Suche, Kryptoanalyse und Datenbankabfragen auf Quantenhardware.
Häufig gestellte Fragen
Was zeigt diese Simulation?
Sie visualisiert Grovers Algorithmus, der ein unstrukturiertes Register von N = 16 Elementen nach einem einzelnen markierten Ziel durchsucht. Die Amplitude jedes Elements wird als Balken dargestellt, und du beobachtest, wie der Balken des Ziels durch aufeinanderfolgende Grover-Iterationen zur nahezu Gewissheit heranwächst.
Wie funktioniert Grovers Algorithmus?
Jede Iteration kombiniert zwei Schritte. Das Orakel kehrt das Vorzeichen der Zielamplitude um und markiert sie so; der Diffusionsoperator spiegelt dann alle Amplituden um ihren Durchschnitt. Diese "Inversion um den Mittelwert" erhöht das Ziel, während sie den Rest senkt, und dreht den Zustandsvektor zur Lösung hin.
Was bewirken die Steuerelemente?
Das Ziel-Dropdown wählt, welches der 16 Elemente (dargestellt als |0000⟩ bis |1111⟩) die markierte Lösung ist. Schritt führt eine Orakel-plus-Diffusions-Iteration aus, Automatisch führt alle 0,9 Sekunden Iterationen aus, und Zurücksetzen stellt die gleichmäßige 1/√16-Überlagerung mit null Iterationen wieder her.
Wie viele Iterationen sind optimal?
Die optimale Anzahl beträgt etwa π/4·√N. Für N = 16 rundet sich das auf 3 Iterationen, bei denen die Zielwahrscheinlichkeit nahe ihrem Maximum liegt. Die Infoleiste zeigt dies als "π/4·√16 ≈ 3" an.
Warum ist es schneller als klassische Suche?
Klassisch benötigt die Suche in einer unsortierten Liste von N Elementen im Durchschnitt etwa N/2 Vergleiche (8 für N = 16). Grover findet das Ziel in nur O(√N) Iterationen, eine quadratische Beschleunigung. Für eine Million Elemente sind das etwa 1.000 Abfragen statt 500.000.
Was passiert, wenn ich über das Optimum hinaus weiterschreite?
Grover-Iterationen sind eine Rotation, daher schießen sie über das Ziel hinaus. Nach dem optimalen Punkt sinkt die Zielwahrscheinlichkeit wieder, während sich der Zustand über die Lösung hinausdreht. Die Simulation bezeichnet dies als "Über-Rotation" und zeigt, dass mehr Iterationen nicht immer besser sind.
Was ist der Diffusionsoperator?
Es ist der unitäre Operator D = 2|s⟩⟨s| − I, wobei |s⟩ die gleichmäßige Überlagerung ist. In der Praxis spiegelt er jede Amplitude um den Durchschnitt aller Amplituden, was jeden Wert verstärkt, den das Orakel unter den Mittelwert gedrückt hat, nämlich das markierte Ziel.
Ist dies ein physikalisch akkurates Modell?
Die Amplitudenarithmetik ist für einen idealisierten, rauschfreien Quantencomputer mit reellen Amplituden exakt, was alles ist, was Grovers Algorithmus benötigt. Sie lässt reale Effekte wie Dekohärenz, Gatterfehler und Messkollaps aus, ist also ein getreues mathematisches Modell und keine Hardware-Emulation.
Warum sind zu Beginn alle Amplituden gleich?
Der Algorithmus beginnt damit, das Register in eine gleichmäßige Überlagerung zu versetzen, typischerweise über Hadamard-Gatter, sodass jedes Element die Amplitude 1/√N = 1/4 und die Wahrscheinlichkeit 1/16 (6,25%) hat. Dieser gleiche Startpunkt spiegelt wider, dass kein Vorwissen darüber besteht, wo das Ziel liegt.
Kann Grovers Algorithmus verbessert werden?
Nein. Für unstrukturierte Suche ist die O(√N)-Skalierung nachweislich optimal; kein Quantenalgorithmus kann ein markiertes Element mit weniger Orakelabfragen finden. Diese Optimalität, bewiesen von Bennett, Bernstein, Brassard und Vazirani, macht Grover zu einem Maßstab für Quantensuche.
Was sind reale Anwendungen?
Grover-artige Amplitudenverstärkung beschleunigt Brute-Force-Aufgaben: das Durchsuchen unstrukturierter Datenbanken, das Invertieren von Funktionen, das Lösen von Constraint- und SAT-Problemen und das Angreifen symmetrischer Kryptografie (Halbierung der effektiven Schlüsselstärke), weshalb Post-Quanten-Empfehlungen größere Schlüsselgrößen empfehlen.
Durchlaufe Grovers Amplitudenverstärkung an einem 4-Qubit-Register (N=16). Orakel- und Diffusionsphasen als Live-Histogramm visualisiert. O(√N)≈3 Iterationen gegenüber klassisch O(N).
3D · Three.js / WebGL-Renderer · 60 FPS Ziel · läuft vollständig clientseitig, ohne Installation