Ich interessiere mich für einen Quantenalgorithmus, der als Eingabe eine n-Bit-Sequenz erhält und als Ausgabe eine neu gemischte (permutierte) Version dieser n-Bit-Sequenz erzeugt.
Wenn die Eingabe z. B. 0,0,1,1 ist (in diesem Fall also n = 4), lauten die möglichen Antworten:
- 0,0,1,1
- 0,1,0,1
- 0,1,1,0
- 1,0,0,1
- 1,0,1,0
- 1,1,0,0
Beachten Sie, dass nur eine Ausgabe generiert werden sollte, die zufällig aus allen möglichen gültigen Ausgaben ausgewählt wird.
Wie kann dies am besten in einen Quantenalgorithmus implementiert werden ?
Eine Lösung hierfür wird bereits als Teil einer der Antworten für Wie erstelle ich einen Quantenalgorithmus, der 2 n-Bit-Sequenzen mit der gleichen Anzahl von 1-Bit erzeugt? . Das Problem bei dieser Lösung ist jedoch, dass dies ungefähr Hilfe-Qubits erfordert, die schnell riesig werden, wenn n groß ist.
Hinweis:
- Bitte geben Sie keinen klassischen Algorithmus an, ohne zu erklären, wie die Schritte des klassischen Algorithmus auf einen universellen Quantencomputer abgebildet werden können.
- Für mich gibt es zwei gute Möglichkeiten, "zufällig aus allen möglichen guten Ergebnissen ausgewählt" zu interpretieren : (1) Jedes mögliche gute Ergebnis hat die gleiche Chance, ausgewählt zu werden. (2) Jeder mögliche gute Output hat eine Chance> 0 gewählt zu werden.