Das Schloss ist virtuell, die Berechnung echt: Auf unserem normalen Rechner läuft eine mathematische Simulation des Quantenprogramms. Bitte wähle einen erfundenen Testcode; er wird zum Berechnen an unseren Server übermittelt.
Du hast den Testcode selbst festgelegt. Daraus entsteht die Prüfregel für unser Quantenprogramm. Grovers Algorithmus verstärkt dann die Chance auf den passenden Messwert. Für eine unbekannte echte PIN bräuchten wir erst eine geeignete Prüfregel; dieses Lernschloss ist keine Methode, reale Schlösser zu öffnen.
Das Schloss hat 1.000.000 gültige Codes von 000000 bis 999999. 20 Such-Qubits bilden 1.048.576 Bitfolgen ab; die übrigen 48.576 sind keine gültigen Codes. Unser spezialisierter C++-Simulator berechnet alle 1.048.576 Möglichkeiten mit 804 Grover-Runden. Er braucht dafür kein zusätzliches Hilfsqubit. Der häufigste gemessene gültige Code muss mit der Prüfregel übereinstimmen, sonst bleibt der Verschluss geschlossen.
Die ideale Trefferchance pro Messung liegt bei rund 99,99998 Prozent, nicht bei garantierten 100 Prozent. Der vollständige Zustandsvektor belegt 16 MiB bei doppelter Genauigkeit; das gesamte Programm benötigt zusätzlich Speicher. Die Rechnung nutzt alle zehn Rechenkerne des i9 mit AVX2-Befehlen. Das Ergebnis ist dabei Bit für Bit dasselbe wie mit einem einzigen Kern.
Mehr Ziffern bedeuten vor allem mehr Rechenarbeit: In jeder der 804 Runden berechnet die Simulation alle 1.048.576 Möglichkeiten neu. Das dauert rund eine Zehntelsekunde. Ein gewöhnliches Programm, das die Codes der Reihe nach mit derselben Prüfregel vergleicht, wäre hier früher fertig. Die Simulation zeigt, wie das Quantenprogramm arbeitet. Sie ist kein Geschwindigkeitsrekord und kein Quantenvorteil.
Die Räder zeigen keine nacheinander getesteten Quantencodes. Ihre schnelle Bewegung überbrückt das Warten auf das Ergebnis; die anschließende Zeitlupe macht den Treffer sichtbar. Beide sind Gestaltung, keine Messung der Rechengeschwindigkeit. Bei reduzierter Bewegung erscheint das Ergebnis direkt.
Grovers Algorithmus bei IBM erklärt