Kann ein gespeichertes Programmiermodell auf einen Quantencomputer angewendet werden?

8

Ein gespeichertes Programmiercomputermodell ist dasjenige, in dem ein zentraler Speicher verwendet wird, um sowohl Anweisungen als auch Daten zu speichern, mit denen sie arbeiten. Grundsätzlich verwenden alle klassischen Computer von heute, die der von Neumann-Architektur folgen, das gespeicherte Programmiermodell. Während der Programmausführung liest die CPU Befehle oder Daten aus dem RAM und legt sie in den verschiedenen Registern wie dem Befehlsregister (IR) und anderen Allzweckregistern ab.

Meine Frage ist, ob ein solches gespeichertes Programmiermodell auf einen Quantencomputer anwendbar ist oder nicht, da es aufgrund des No-Cloning-Theorems nicht möglich ist, einen beliebigen Quantenzustand zu klonen.

Dies bedeutet, dass der Quantencomputer-Prozessor diese Qubits aufgrund des No-Cloning-Theorems nicht in der Lage ist, diese Qubits aus dem Speicher in einige interne Register zu lesen oder zu kopieren, wenn einige Qubits in einem bestimmten Zustand in einem Speicherregister gespeichert sind.

K Sarkar
quelle

Antworten:

3

Ja, Sie können ein Programm genauso in Ihre Qubits codieren, wie Sie ein Programm in Bits codieren würden, und dann Schaltkreise ausführen, die das Programm interpretieren. Man könnte hoffen, dass Sie das Programm auf eine ausgefallene, exponentiell effiziente Weise codieren können, aber in Mike & Ike beweisen sie, dass dies nicht möglich ist. Da es keinen exponentiellen Vorteil gibt und die zum Lesen und Dekodieren des Programms erforderlichen Vorgänge auf einem Quantencomputer milliardenfach teurer sind, möchten Sie das Programm in fast allen Fällen auf dem klassischen Steuercomputer speichern.

Craig Gidney
quelle
"Meine Frage ist, ob ein solches gespeichertes Programmiermodell auf einen Quantencomputer anwendbar ist oder nicht, da es aufgrund des No-Cloning-Theorems nicht möglich ist, einen beliebigen Quantenzustand zu klonen." Ihre Antwort scheint "Ja, das Modell ist anwendbar" zu sein, jedoch ohne Bezug auf den "Seit" -Teil der Frage. Können Sie dem Fragesteller sagen, warum seine Überzeugung, dass das No-Cloning-Theorem die Antwort "Nein" geben würde, falsch ist?
user1271772
@ user1271772 Das No-Cloning-Theorem gilt nicht für Qubits, die sich in einem bekannten Zustand oder in einem Basiszustand einer bekannten orthonormalen Basis wie der Berechnungsbasis befinden. So können Sie das Programm in die rechnerischen Basiszustände kodieren. Die von mir erwähnten Einschränkungen der "nicht exponentiellen Effizienz" könnten als mit dem No-Cloning-Theorem verbunden angesehen werden.
Craig Gidney
1
@ user1271772 Wenn es sich bei den Zuständen um rechnergestützte Basiszustände handelt, können Sie sie messen, ohne sie zu entschlüsseln, und im Allgemeinen alle gewünschten Kopien erstellen.
Craig Gidney
1
Sie sagen, dass "man hoffen könnte, dass Sie das Programm auf eine ausgefallene exponentiell effiziente Weise codieren könnten", aber Mike & Ike beweisen, dass dies nicht möglich ist. Dies umfasst den Teil "Anweisungen" von "Während der Programmausführung liest die CPU Anweisungen oder Daten aus dem RAM", nicht jedoch den Teil "Daten". Laut der Antwort von @Peter Shor ist es experimentell schwieriger, Anweisungen in Überlagerung zu haben, als nur den Speicher in Überlagerung zu haben. Aber was ist mit der Idee, die Daten in der Speicherüberlagerung zu haben? Sie müssten Überlagerungszustände aus dem RAM in IRs kopieren. NCT-Verletzung?
user1271772