-
HINTERGRUND
-
Die Offenbarung des Gegenstands betrifft Quantendatenverarbeitung und insbesondere ein Lösen von Problemen der kombinatorischen Optimierung bei Quantenschaltungen. Bei Optimierung oder kombinatorischer Optimierung handelt es sich um ein Verfahren zum Suchen nach einer optimalen Lösung für eine unendliche oder eine zählbar endliche Menge möglicher Probleme. Ein Optimum ist in Bezug auf eine bestimmte Kriterienfunktion definiert, die minimiert oder maximiert werden soll, was in der Regel als „Aufwandsfunktion“ bezeichnet wird. Es gibt verschiedene Arten von Optimierungsproblemen, darunter zum Beispiel Minimierung physischer Parameter: Abstand, Durchquerungslänge, Gewicht, Verarbeitungszeit, Material, Energieverbrauch, Anzahl von Objekten und Maximierung von: physikalischem Wert, Ausgangsleistung, Ausbeute, Nutzwert, Wirkungsgrad, Kapazität, Anzahl von Objekten. Dementsprechend betrifft der Begriff „Aufwandsfunktion“ bei Verwendung hierin vorzugsweise einen physikalischen Parameter wie zum Beispiel die oben beschriebenen. Der Begriff „Aufwandsfunktion“ kann außerdem auf nicht physikalische Parameter wie zum Beispiel Kosten, Gewinn, numerischer Wert zutreffen. Quantencomputer zeigen ein Verhalten, das darauf schließen lässt, dass sich Optimierungsprobleme effizienter als mit klassischen Algorithmen lösen lassen. Beispielsweise wird mit dem allgemein bekannten adiabatischen Quantenalgorithmus versucht, kombinatorische Optimierungsprobleme zu lösen. Dieser Algorithmus benötigt lange Kohärenzzeiten, die mit dem Umfang des Problems zunehmen. Ein alternativer Ansatz zum Lösen von Optimierungsproblemen beruht auf „Algorithmen zur Quanten-Näherungsoptimierung“ (Quantum-Approximate-Optimization-Algorithmens, QAOA). Zur direkten Realisierung dieses Algorithmus wird ein unitäres Element benötigt, das vom Optimierungsproblem abhängt. Die Zerlegung dieses unitären Elements in eine Standard-Gattermenge stellt hohe Anforderungen an die Kohärenzzeit der Quanteneinheit.
-
KURZDARSTELLUNG
-
Die folgende Kurzdarstellung dient zur Vermittlung eines grundlegenden Verständnisses einer oder mehrere Ausführungsformen der Erfindung. Mit dieser Kurzdarstellung ist nicht beabsichtigt, wichtige oder entscheidende Elemente zu benennen oder einen beliebigen Schutzbereich der betreffenden Ausführungsformen oder einen beliebigen Schutzbereich der Ansprüche zu skizzieren. Ihr ausschließlicher Zweck besteht darin, Konzepte in einer vereinfachten Form als Einleitung der danach folgenden ausführlicheren Beschreibung vorzustellen. Bei einer oder mehreren hierin beschriebenen Ausführungsformen sind Einheiten, Systeme, mittels Computer realisierte Verfahren, Vorrichtungen und/oder Computerprogrammprodukte beschrieben, die ein Automatisieren der Fehlerbeseitigung bei Quantenschaltungen ermöglichen.
-
Gemäß einer Ausführungsform weist ein Verfahren eine Zuordnungskomponente auf, die auf der Grundlage einer oder mehrerer Einschränkungen eine Aufwandsfunktion, die einen physikalischen Parameter betrifft, einer Hamiltonfunktion zuordnet, um das Optimierungsproblem über zulässige Quantenzustände einem Optimierungsproblem zuzuordnen, eine Versuchszustands- und Messungskomponente, die eine Quantenschaltung mit mindestens einem gemeinsamen Gatter aufweist, die der Hamiltonfunktion entsprechende Versuchszustände durch physikalische Zeitentwicklung von Quantenhardware erzeugt, in die Mikrowellensteuerimpulse eingestreut werden, um Qubits der Quantenhardware zu verschränken, und die eine Quantenaufwandsfunktion für die Versuchszustände misst, um einen Versuchszustand zu ermitteln, der zu optimalen Werten führt, und eine Deformationskomponente, die eine Hamiltonfunktion in eine deformierte Hamiltonfunktion deformiert, um einen optimalen Zustand zu finden, und den optimalen Zustand als nächsten Ausgangszustand für eine nächste Optimierung an der deformierten Hamiltonfunktion verwendet, bis ein Optimierer in Bezug auf eine gewünschte Hamiltonfunktion ermittelt ist. Eine Abtastkomponente führt Abtastungen des optimalen Zustands durch, der dem Optimierer entspricht, um eine oder mehrere Näherungen an das kombinatorische Optimierungsproblem zu erhalten.
-
Gemäß einer weiteren Ausführungsform wird ein mittels Computer realisiertes Verfahren bereitgestellt. Das mittels Computer realisierte Verfahren weist ein Zuordnen einer dem kombinatorischen Optimierungsproblem zugehörigen Aufwandsfunktion zu einem Optimierungsproblem über zulässige Quantenzustände auf, die ein Aufbauen einer Quanten-Hamiltonfunktion für die Aufwandsfunktion und durch Quantenschaltungen des Systems und ein Erzeugen einer Menge von Versuchszuständen durch eine physikalische Zeitentwicklung der Quantenhardware aufweisen, in die Mikrowellensteuerimpulse eingestreut werden. Des Weiteren weist das mittels Computer realisierte Verfahren ein Messen einer Quantenaufwandsfunktion für die Versuchszustände auf, ein Ermitteln eines zu optimalen Werten führenden Versuchszustands und ein Deformieren einer Hamiltonfunktion und ein Verwenden des optimalen Zustands als nächsten Ausgangszustand für eine nächste Optimierung an einer deformierten Hamiltonfunktion, bis ein Optimierer in Bezug auf eine gewünschte Hamiltonfunktion ermittelt ist. Das Verfahren weist ein Erzeugen der Menge von Versuchszuständen durch die physikalische Zeitentwicklung von Quantenhardware auf, in die Steuerimpulse eingestreut werden, um unter Verwendung der physikalischen Zeitentwicklung Verschränkung zu erzeugen. Das Verfahren weist ein Abtasten des optimalen Zustands auf, der dem Optimierer entspricht, um Näherungen an das kombinatorische Optimierungsproblem zu erhalten.
-
Gemäß noch einer weiteren Ausführungsform wird eine elektronische Einheit bereitgestellt. Die elektronische Einheit weist eine Zuordnungskomponente auf, die auf der Grundlage einer oder mehrerer Einschränkungen eine Aufwandsfunktion, die einem kombinatorischen Optimierungsproblem zugehörig ist, einem Optimierungsproblem über zulässige Quantenzustände zuordnet und für die Aufwandsfunktion eine Quanten-Hamiltonfunktion aufbaut. Die elektronische Einheit weist ferner eine Versuchszustands- und Messungskomponente auf, die eine Quantenschaltung aufweist, die durch eine physikalische Zeitentwicklung von Quantenhardware, in die Mikrowellensteuerimpulse eingestreut werden, eine Menge von Versuchszuständen erzeugt, eine Quantenaufwandsfunktion für die Versuchszustände misst und einen Versuchszustand ermittelt, der zu optimalen Werten führt. Die elektronische Einheit weist ferner eine Deformationskomponente auf, die die Quanten-Hamiltonfunktion in eine deformierte Hamiltonfunktion deformiert, um einen optimalen Zustand zu finden, und den optimalen Zustand als nächsten Ausgangspunkt für eine nächste Optimierung an der deformierten Hamiltonfunktion verwendet, bis ein Optimierer in Bezug auf eine gewünschte Hamiltonfunktion ermittelt ist. Die Quantenschaltung verwendet die Steuerimpulse, um den Versuchszustand zu erzeugen. Eine Abtastkomponente führt Abtastungen durch, um Bitfolgen zu erhalten, die Näherungen an das Optimierungsproblem bereitstellen.
-
Bei noch einer weiteren Ausführungsform wird ein mittels Computer realisiertes Verfahren bereitgestellt, das durch ein funktionsmäßig mit einem Prozessor verbundenes System ein Erhalten einer Ausgang-Hamiltonfunktion aufweist, die zugehörige Ausgangssteuerparameter enthält. Aspekte beinhalten unter Verwendung von Quantenhardware, die unitäre Verschränkungsgatter aufweist, ein Erzeugen von Versuchszuständen, um Energie einer deformierten Hamiltonfunktion zu schätzen, die aus der Ausgangs-Hamiltonfunktion erhalten wurde. Auf der Grundlage optimaler Steuerparameter für die zur Ausgangs-Hamiltonfunktion gehörigen Versuchszustände beinhalten andere Aspekte ein wiederholtes Messen der Energie der deformierten Hamiltonfunktion unter Verwendung von Quantenhardware, um neue optimale Steuerparameter der deformierten Hamiltonfunktion zu finden, und ein wiederholtes Deformieren der deformierten Hamiltonfunktion in eine neue deformierte Hamiltonfunktion mit wiederholten anfänglichen Steuerparametern, bis eine Deformation in eine endgültige gewünschte Hamiltonfunktion erreicht ist, das ein Verwenden der deformierten Hamiltonfunktion als neue Ausgangs-Hamiltonfunktion mit den neuen optimalen Steuerparametern der deformierten Hamiltonfunktion als neue Ausgangssteuerparameter aufweist. Durch das Abtasten auf der Grundlage der Informationen, die der endgültigen gewünschten Hamiltonfunktion entsprechen, und der zur endgültigen gewünschten Hamiltonfunktion gehörigen optimalen Steuerparameter werden Daten erhalten, die Näherungen an das kombinatorische Optimierungsproblem bereitstellen.
-
Bei einer weiteren Ausführungsform wird ein Computerprogrammprodukt bereitgestellt. Das Computerprogrammprodukt erhält durch ein funktionsmäßig mit einem Prozessor verbundenes System eine Ausgangs-Hamiltonfunktion, die zugehörige Ausgangssteuerparameter enthält. Unter Verwendung von Quantenhardware, die unitäre Verschränkungsgatter aufweist, erzeugt das Computerprogrammprodukt Versuchszustände, um Energie einer deformierten Hamiltonfunktion zu schätzen, die aus der Ausgangs-Hamiltonfunktion erhalten wurde. Auf der Grundlage optimaler Steuerparameter für die zur Ausgangs-Hamiltonfunktion gehörigen Versuchszustände misst das Computerprogrammprodukt unter Verwendung der Quantenhardware wiederholt die Energie der deformierten Hamiltonfunktion, um neue optimale Steuerparameter der deformierten Hamiltonfunktion zu finden. Auf der Grundlage wiederholter anfänglicher Steuerparameter deformiert das Computerprogrammprodukt wiederholt die deformierte Hamiltonfunktion in eine neue deformierte Hamiltonfunktion, bis eine Deformation in eine endgültige gewünschte Hamiltonfunktion erreicht ist, wobei das Deformieren ein Verwenden der deformierten Hamiltonfunktion als neue Ausgangs-Hamiltonfunktion mit den neuen optimalen Steuerparametern der deformierten Hamiltonfunktion als neue Ausgangssteuerparameter aufweist.
-
Figurenliste
-
- 1 ist ein Blockschema eines beispielhaften, nicht einschränkenden Systems, das verschiedene Aspekte der Technologie gemäß einer oder mehreren hierin beschriebenen Ausführungsformen veranschaulicht.
- 2 veranschaulicht eine Darstellung, die beispielhafte Komponenten wiedergibt, die den verschiedene technischen Aspekten von 1 gemäß einer oder mehreren hierin beschriebenen Ausführungsformen entsprechen.
- 3 veranschaulicht eine beispielhafte Darstellung, die das Zuordnen einer Aufwandsfunktion zu einer Hamiltonfunktion-Aufwandsfunktion gemäß einer oder mehreren hierin beschriebenen Ausführungsformen wiedergibt.
- 4 veranschaulicht eine beispielhafte Darstellung, die Aspekte wiedergibt, die die Energiemessung gemäß einer oder mehreren hierin beschriebenen Ausführungsformen betrifft.
- 5 veranschaulicht eine beispielhafte Darstellung, die auf Versuchszuständen beruhende Messungen unter Verwendung einer Verschränkung über Quantenschaltungen gemäß einer oder mehreren hierin beschriebenen Ausführungsformen wiedergibt.
- 6 veranschaulicht eine beispielhafte Darstellung, die Aspekte wiedergibt, die ein Ausgeben eines einer Energiemessung beruhenden Energiewerts gemäß einer oder mehreren hierin beschriebenen Ausführungsformen wiedergibt.
- 7 veranschaulicht eine beispielhafte Darstellung, die wiedergibt, wie eine klassische Optimierung als Teil einer Quanten-Näherungsoptimierung gemäß einer oder mehreren hierin beschriebenen Ausführungsformen verwendet wird.
- 8 veranschaulicht eine beispielhafte Darstellung, die eine Aufwandsfunktionsdeformation wiedergibt, um endgültige Zustände zu erzeugen, die eine Aufwandsfunktionslösung gemäß einer oder mehreren hierin beschriebenen Ausführungsformen wiedergibt.
- Die 9 bis 11 veranschaulichen beispielhafte Diagramme, die optimierte Messungsmöglichkeiten zeigen, die gemäß einer oder mehreren hierin beschriebenen Ausführungsformen durch allmähliches Deformieren einer Funktion erhalten wurden, die einem kombinatorischen Optimierungsproblem (MaxCut) für Eckpunktemengen aus zwei, drei bzw. vier Eckpunkten entsprechen.
- 12 veranschaulicht ein Blockschema eines beispielhaften, nicht einschränkenden Systems, das gemäß einer oder mehreren hierin beschriebenen Ausführungsformen eine Optimierung eines Optimierungsproblems ermöglicht
- 13 veranschaulicht ein Flussdiagramm eines beispielhaften, nicht einschränkenden, mittels Computer realisierten Verfahrens, das gemäß einer oder mehreren hierin beschriebenen Ausführungsformen die Optimierung eines Optimierungsproblems ermöglicht.
- 14 veranschaulicht ein Flussdiagramm eines beispielhaften, nicht einschränkenden, mittels Computer realisierten Verfahrens, das gemäß einer oder mehreren hierin beschriebenen Ausführungsformen die Optimierung eines Optimierungsproblems über eine Aufwandsfunktionsdeformation ermöglicht.
- 15 veranschaulicht ein Flussdiagramm eines beispielhaften, nicht einschränkenden, mittels Computer realisierten Verfahrens, das gemäß einer oder mehreren hierin beschriebenen Ausführungsformen die Optimierung eines Optimierungsproblems durch wiederholtes Deformieren einer Hamiltonfunktion ermöglicht.
- 16 veranschaulicht ein Blockschema einer beispielhaften, nicht einschränkenden Betriebsumgebung, die eine oder mehrere hierin beschriebene Ausführungsformen ermöglicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende ausführliche Beschreibung dient lediglich der Veranschaulichung und soll Ausführungsformen und/oder eine Anwendung oder Verwendungen von Ausführungsformen nicht einschränken. Des Weiteren besteht keine Absicht, durch beliebige ausdrücklich oder stillschweigend eingeschlossene Informationen gebunden zu sein, die in den vorstehenden Abschnitten „Hintergrund“ oder „Kurzdarstellung“ oder im Abschnitt „Ausführliche Beschreibung“ angegeben sind.
-
Im Allgemeinen löst die hierin beschriebene Technologie Optimierungsprobleme effizient ohne die langen Kohärenzzeiten, die frühere Lösungen benötigen. Außerdem vermeidet diese Technologie nur bei lokaler Interaktion auftretende Probleme früherer Lösungen und kann daher Optimierungsprobleme lösen, zu deren Lösung hochgradig geometrische nicht lokale Interaktionen benötigt werden.
-
Zu diesem Zweck findet die Technologie ein effizientes Zuordnen binärer Optimierungsprobleme zu einer Qubit-Darstellung auf einem Näherungs-Quantencomputer. Anstelle eines wiederholten Verarbeitens lokaler Interaktionen zwischen zwei Gattern, um eine gewünschte Verschränkung zu finden, ermöglicht die hierin beschriebene Technologie einen gleichzeitigen gemeinsamen Gatterbetrieb auf dem Interaktionsgraphen des Chips in Bezug auf viel mehr Gattermengen. Ein Mikrowellenimpuls, der Qubits verschränkt, dient zum Bilden des Verschränkungsgatters, bei dem es sich um ein gemeinsames Gatter handelt, in dem viele (oder alle) Qubits zum selben Zeitpunkt verschränkt werden. Dies führt zu einer Quantenschaltung für Algorithmen zur Quanten-Näherungsoptimierung, die sich in Bezug auf kohärente Gatterfehler selbst korrigiert. Diese Technologie verwendet die Kreuzresonanz-Hamiltonfunktion auf dem Chip und Variationsparameter, die kohärente systematische Fehler bei Optimierungsproblemen lösen können, indem der gemeinsame Gatterbetrieb im Optimierungsprotokoll gewählt wird, um die größte durchschnittliche Gleichzeitigkeit zu erzeugen, und ein aktualisierter adiabatischer Optimierungsplan des Erwartungswerts verwendet wird, der die Hamiltonfunktion deformiert und dadurch die besten Steuerparameter „zieht“, die als optimaler Ausgangszustand für einen nächsten optimalen Zustand verwendet werden sollen, und so weiter.
-
Eine oder mehrere Ausführungsformen werden nun unter Bezugnahme auf die Zeichnungen beschrieben, wobei durchgehend gleiche Bezugsnummern verwendet werden, um auf gleiche Elemente zu verweisen. In der folgenden Beschreibung sind zu Erläuterungszwecken zahlreiche konkrete Einzelheiten dargelegt, um ein gründlicheres Verständnis der einen oder der mehreren Ausführungsformen zu ermöglichen. Es ist jedoch offensichtlich, dass die eine oder die mehreren Ausführungsformen in verschiedenen Fällen ohne diese konkreten Einzelheiten in die Praxis umgesetzt werden können.
-
1 veranschaulicht eine beispielhafte allgemeine Struktur, die auf ein Lösen klassischer Optimierungsprobleme gerichtet ist, indem unter anderem eine Optimierungsproblem-Aufwandsfunktion 102 über eine Zuordnungskomponente 104 einer Hamiltonfunktion-Aufwandsfunktion 106 zugeordnet wird, wie hierin ferner unter Bezugnahme auf 3 beschrieben wird. Zu beachten ist, dass zum Darstellen einer klassischen Aufwandsfunktion als Quanten-Hamiltonfunktion die Hamiltonfunktion als lineare Kombination aus Pauli-Z-Ausdrücken ausgedrückt wird.
-
Bei einem klassischen Optimierungsproblem/einer klassischen Aufwandsfunktion, die einer Hamiltonfunktion-Aufwandsfunktion zugeordnet ist, werden Versuchszustands- und Messungsarbeitsschritte (wie unter Bezugnahme auf die 4 bis 6 beschrieben) durchgeführt, um eine Quantenschaltung geringer Tiefe zu erzeugen, die von einer Menge kontinuierlicher Parameter abhängt. Zu diesem Zweck wird eine Versuchszustands- und Messungskomponente 107 verwendet, die einen Quantencomputer/eine Quantenschaltung 108 aufweist, um zum Beispiel eine Abtastung aus einem optimalen Zustand in einer Berechnungsgrundlage durchzuführen, um Bitfolgen zu erhalten, die eine gute Näherung an das binäre Optimierungsproblem bereitstellen, und die Quanten-Aufwandsfunktion für Versuchszustände zu messen, um diese in eine klassische Optimierungsroutine einzuspeisen (wie unter Bezugnahme auf 7 ausführlicher beschrieben).
-
Im Gegensatz zu binären Digitaltechniken auf der Grundlage von Transistoren nutzt die Quantendatenverarbeitung im Allgemeinen Quantenphysik, um Informationen zu codieren. Zum Beispiel nutzt ein Quantencomputer Quantenbits (zum Beispiel Qubits), bei denen es sich um grundlegende Einheiten von Quanteninformationen handelt. Qubits funktionieren nach einem Superpositionsprinzip der Quantenphysik und nach einem Verschränkungsprinzip der Quantenphysik. Das Superpositionsprinzip der Quantenphysik besagt, dass jedes Qubit gleichzeitig sowohl einen Wert von „1“ als auch einen Wert von „0“ darstellen kann. Das Verschränkungsprinzip der Quantenphysik besagt, dass Qubits in einer Superposition miteinander korreliert werden können. Zum Beispiel kann ein Zustand eines ersten Werts (z.B. ein Wert von „1“ oder ein Wert von „0“) vom Zustand eines zweiten Werts abhängen. Im eigentlichen Sinne nutzt ein Quantencomputer Qubits, um Informationen zu codieren.
-
Aspekte umfassen ein Modellieren durch Mikrowellenimpulse, die an eine supraleitende Quantenschaltung gesendet werden, die bestimmte Quantenzustände erzeugt, die verwendet werden, um Abtastungen aus Optimierungsproblemen zu entnehmen. Wie unter Bezugnahme auf die 4 bis 6 beschrieben ist, besteht ein allgemeiner Ansatz darin, eine anfängliche Schätzung der Menge kontinuierlicher Parameter zu nehmen, die einen bestimmten Zustand erzeugt, die Hamiltonfunktion als Summe von Energiemessungen zu schreiben, um einen Zustand und einen Mittelwert (z.B. Abtastung aus dem Zustand, um den Mittelwert der Pauli-Werte zu messen) und den Mittelwert zurückzumelden.
-
Die klassische Optimierungskomponente (Block 114 in 1) von 7 stellt einen Schleifenbetrieb bereit, der mit einer anfänglichen Schätzung einer Menge von Steuerparametern beginnt und die Hamiltonfunktion zusammen mit der Menge von Parametern bereitstellt. Eine Messungskomponente 110 erhält den Energiewert bei Block 112 über einen Prozess, der unter Bezugnahme auf 6 ausführlicher beschrieben ist. Dieser Energiewert wird einer neuen vorgeschlagenen Aktualisierungsmenge der Steuerparameter zugeordnet, und die Schleife wird wiederholt. Sobald die klassische Optimierung konvergiert (z.B. ändert sich der Energiewert nicht wesentlich) wird der Energiewert zusammen mit seinen entsprechenden optimalen Steuerparametern ausgegeben. Diese Optimierung nimmt zum Beispiel bei einer bestimmten Hamiltonfunktion ein lokales Minimum an und findet die entsprechende Menge von Steuerparametern.
-
Block 118, der unter Bezugnahme auf 8 ausführlicher beschrieben ist, weist eine Deformationskomponente auf, die wie hierin beschrieben auf die Deformation der Aufwandsfunktion gerichtet ist. Allgemein beginnen die Arbeitsschritte bei einer Hamiltonfunktionsfamilie 116 mit einer Aufwandsfunktion, für die die exakten Steuerparameter bekannt sind, und werden in einer Schleife ausgeführt (durch Anwenden einer Schaltung wiederholter Driftschritte), um diese Aufwandsfunktion über Quantenschaltungen langsam zu deformieren, um ein konkreteres Optimierungsproblem zu lösen. Allgemein und wie klar sein wird, beginnen Aspekte der Technologie durch Deformieren von Steuerparametern und Überwachen des Werts der Aufwandsfunktion, bis der endgültige Zustand 120 erreicht ist. Insbesondere wird bei einer zu lösenden Hamiltonfunktion, die ein Optimierungsproblem darstellt, eine Familie von Hamiltonfunktionen (Block 116) gewählt, die mit einer einfachen Hamiltonfunktion beginnt, für die die Antwort bekannt ist, die in dem Wissen, dass die anfängliche Schätzung sehr genau ist, ein korrektes Wählen der Steuerparameter ermöglicht. Ab der Ausgangs-Hamiltonfunktion wird die Hamiltonfunktion im Laufe der Zeit durch zulässige Driftzeiten allmählich deformiert, um die eigentliche Verschränkung zu erzeugen (5), bis die Hamiltonfunktion erreicht ist, für die nach dem Minimum gesucht wird, und anschließend zum Lösen eines klassischen Optimierungsproblems verwendet.
-
2 zeigt ein Beispiel eines Prozessors 200 und eines Hauptspeichers 202, die mit Komponenten verbunden sind, die einigen der Blöcke von 1 entsprechen. Wie zu erkennen ist, führen eine Zuordnungskomponente 204, eine Versuchszustands- und Messungskomponente 207, eine klassische Optimierungskomponente 214 und eine Aufwandsfunktions-Deformationskomponente 218 verschiedene hierin beschriebene Arbeitsschritte durch. Es versteht sich jedoch, dass es sich hierbei lediglich um Beispiele handelt und mindestens einige der beispielhaft dargestellten Komponenten zu einer geringeren Anzahl von Komponenten zusammengefasst werden können und/oder die beispielhaft dargestellten Komponenten in weitere Komponenten aufgeteilt werden können, bei alternativen Ausführungsformen weitere Komponenten vorliegen können und so weiter.
-
Unter Bezugnahme auf verschiedene Beispiele und zugehörige Einzelheiten bezeichnen die Begriffe „Optimierung“ oder „kombinatorische Optimierung“ ein Suchen nach einer optimalen Lösung in einer endlichen oder zählbar unendlichen Menge möglicher Lösungen. Ein Optimum ist in Bezug auf eine bestimmte Kriterienfunktion definiert, die minimiert oder maximiert werden soll, was in der Regel als „Aufwandsfunktion“ bezeichnet wird. Es gibt verschiedene Arten von Optimierungsproblemen. Hierzu gehören eine Minimierung von: Kosten, Abstand, Durchquerungslänge, Gewicht, Verarbeitungszeit, Material, Energieverbrauch, Anzahl von Objekten usw.; und eine Maximierung von: Gewinn, Wert, Ausgangsleistung, Rendite, Ausbeute, Nutzwert, Wirkungsgrad, Kapazität, Anzahl von Objekten usw.
-
Ein beliebiges Maximierungsproblem kann in Form eines Minimierungsproblems umgewandelt werden und umgekehrt. Daher ist die allgemeinste Form eines kombinatorischen Optimierungsproblems gegeben durch
C(x) minimieren
unter der Bedingung x E S,
wobei x ∈ S eine diskrete Variable ist und C : D → ℝ die Aufwandsfunktion ist, die aus einem bestimmten Bereich D in die reellen Zahlen ℝ zuordnet. In der Regel unterliegt die Variable x einer Menge von Einschränkungen und liegt innerhalb der Menge S realisierbarer Punkte.
-
Bei binären kombinatorischen Optimierungsproblemen kann die Aufwandsfunktion normalerweise als Summe von Ausdrücken ausgedrückt werden, die lediglich Teilmengen Q c [n] der n Bits in der Zeichenfolge ∈ {0,1}
n enthalten. Die Aufwandsfunktion C wird normalerweise in der kanonischen Form
bei x
i ∈ {0,1} und w
Q ∈ ℝ geschrieben. Die Optimierung ist darauf gerichtet, die n-Bitfolge x zu finden, bei der C(x) am kleinsten ist.
-
3 veranschaulicht ein Blockschema eines beispielhaften, nicht einschränkenden Systems, das eine Möglichkeit definiert, ein klassisches kombinatorisches Optimierungsproblem auf einem Quantencomputer darzustellen. Im Allgemeinen versteht es sich angesichts einer allgemeinen Aufwandsfunktion 302 (z.B. eines binären kombinatorischen Optimierungsproblems zum Suchen nach binären Zeichenfolgen), die aus einem bestimmten Bereich in reelle Zahlen zuordnet, dass viele derartige Aufwandsfunktionen normalerweise weitere Einschränkungen 304 haben. Diese Einschränkungen werden mit Helferfunktionen aufgebaut, die im Allgemeinen die allgemeine Aufwandsfunktion mit Penalty-Ausdrücken für andere Helferfunktionen modifizieren (Block 306). Wie hierin beschrieben wird die modifizierte Aufwandsfunktion einer diagonalen Hamiltonfunktion-Aufwandsfunktion 308 (einer Diagonalmatrix) zugeordnet, die die Einträge der Diagonalen auf der Grundlage des ursprünglichen Problems festlegt, das mit hierin ebenfalls beschriebenen Pauli-Z-Ausdrücken dargestellt wird.
-
Die Aufwandsfunktion wird somit einem Quantenproblem zugeordnet, indem für jedes C eine Hamiltonfunktion-Diagonale in der Berechnungsgrundlage aufgebaut wird. Die der Aufwandsfunktion C(x) zugehörige Hamiltonfunktion H
C des Problems ist definiert als
wobei x ∈ {0,1}
n die Zustände
der Berechnungsgrundlage bezeichnet, wobei d = 2
n. Die Aufgabe der Quantenoptimierung besteht dann darin, einen Zustand
aus einer Variationsunterklasse Ω von Quantenzuständen zu finden, der die Energie von H
C minimiert.
minimieren
unter der Bedingung
-
Wie aus
3 ersichtlich ist wohl das binäre Optimierungsproblem in ein Näherungsproblem über zulässige Quantenzustände umgewandelt, die von einer steuerbaren Menge von Parametern abhängen, die Ω angeben. Der Zustand, der die Gleichung minimiert, ist mit
bezeichnet. Weitere Einzelheiten sind im Folgenden unter Bezugnahme auf die hierin dargelegten Gleichungen Gl. 1 bis Gl. 4 (und den zugehörigen Text) beschrieben.
-
Unter Bezugnahme auf die 4 bis 6 werden bei dem klassischen Optimierungsproblem, das einem Hamiltonfunktion-Optimierungsproblem zugeordnet ist, Schaltungen geringer Tiefe erzeugt, die von einer Menge kontinuierlicher Parameter abhängen. Im Allgemeinen und wie hierin beschrieben wird dies erreicht, indem eine anfängliche Schätzung einer Menge kontinuierlicher Parameter genommen wird (Block 402), die einen bestimmten Zustand erzeugen (Block 404), und diese Hamiltonfunktion als Summe von Pauli-Z-Ausdrücken geschrieben wird. Im Allgemeinen wird dies erreicht, indem Zustandsinformationen erhalten und gemittelt werden, das heißt, diese Pauli-Ausdrücke aus diesem Zustand abgetastet/gemittelt werden (Blöcke 406 und 408, bei einigen Iterationen Rückführung in einer Schleife zu Block 404), oder anders ausgedrückt, diese Pauli-Ausdrücke gemessen werden, um einen Durchschnittswert zu erhalten, und diese Durchschnittsmessung zurückgemeldet wird (Block 410).
-
In Bezug auf Versuchszustände unter Bezugnahme auf eine beispielhafte Quantenschaltung in 5 ist eine unitäre Zustandsverschränkung (Uent) auf einem Quantencomputer wie zum Beispiel in der beispielhaften Schaltung 500 geringer Tiefe dargestellt. Die Schaltung 500 geringer Tiefe kann auf einem supraleitenden Quantencomputer dargestellt werden, zum Beispiel mit Verschränkungsgattern 502 und 504; Uent stellt ein gemeinsames Gatter dar. Ein Mikrowellenimpuls, der Qubits verschränkt, wird zum Bilden der Verschränkungsgatter verwendet. Bei diesen Verschränkungsgattern handelt es sich um Kreuzresonanzgatter, die mit mehreren Qubits in Verbindung stehen und bestimmten Parametern unterliegen können, zum Beispiel einem Tiefenparameter (wie viele Interaktionen zwischen Kreuzresonanzgattern sind erwünscht) und so weiter. Zu beachten ist, dass derartige klassische Parameter somit eine Familie von Zuständen Uent angeben; weitere Einzelheiten sind unter Bezugnahme auf die Gleichungen 8, 9 und 10 und deren zugehörigen Text bereitgestellt. Die Einheitsverschränkung Uent stammt daher von Kreuzresonanzgattern (die allgemein in den Gleichungen 10, 11 und 12 definiert sind) und einem supraleitenden Quantendatenverarbeitungschip. Es sollte beachtet werden, dass dies lediglich ein nicht einschränkendes Beispiel ist; alternativ können andere Gatter verwendet werden, die verschränken können.
-
Bei den Verschränkungsgattern 502 und 504 handelt es sich um gemeinsame Gatter, in denen alle Qubits (oder eine bestimmte vorgegebene Teilmenge, die dem Tiefenparameter entspricht) gleichzeitig verschränkt werden und in denen ein Auftreten kohärenter systematischer Fehler vermutet wird. Bei einem Aspekt wird der Betrieb des gemeinsamen Gatters im Optimierungsproblem gewählt, um die größte durchschnittliche Gleichzeitigkeit zu erzeugen. Auf der Grundlage der Verwendung der Kreuzresonanz-Hamiltonfunktion auf dem Chip und von Variationsparametern, die kohärente systematische Fehler bei Optimierungsproblemen korrigieren, ist der Algorithmus in Bezug auf kohärente Gatterfehler selbstkorrigierend.
-
Unter erneuter Bezugnahme auf 4 wird Block 408, in dem die Energie gemessen wird, allgemein in Bezug auf das Flussdiagramm zum Messen der Energie von 6 beschrieben. Wie hierin beschrieben ist bei Block 602 eine Hamiltonfunktion gegeben als Kombination aus Pauli-Ausdrücken (Pα) und reellen Zahlen (hα). Bei jedem der Alpha-Werte (α) (Blöcke 604 und 608) werden Erwartungswerte der einzelnen Pauli-Ausdrücke gemessen (Block 606) und anschließend addiert (Block 610), um eine endgültige Energie (Block 612) zu erhalten.
-
Wie zu erkennen ist, liegt eine Menge von Pauli-Operatoren vor, die mit Koeffizienten gepaart sind. Ein Parameter wird gewählt, und das Ergebnis des Pauli-Operators wird bei einzelnen Quantenzuständen mehrmals gemessen, bis ein Durchschnitt erhalten wird, wobei die Gewichtungen hα (die reelle Zahl vor dem Erwartungswert) zur Gesamtenergie summiert werden. Bei der Ausgabe handelt es sich um die Summe dieser Einzelmessungen. Weitere Einzelheiten sind unter Bezugnahme auf die Gleichungen 15 und 16 und deren zugehörigen Text dargelegt.
-
Sobald ein Energiewert bereitgestellt wurde, der von den in eine Quanteneinheit eingespeisten anfänglichen Parametern abhängt, kann ein vollständiges Minimierungskonzept realisiert werden. Zusammenfassend soll eine Menge von Versuchszuständen
betrachtet werden, die durch die physikalische Zeitentwicklung der Quantenhardware erzeugt wurden, in die Steuerimpulse eingestreut wurden. Die Versuchszustände Ω werden als hardwareeffiziente Versuchszustände bezeichnet. Die gesteuerte physikalische Zeitentwicklung ist in der Weise allgemeingültig, dass in C
d im Prinzip ein beliebiger Zustand erzeugt werden kann. Der Quantencomputer dient zum Abtasten aus dem optimalen Zustand
in der Berechnungsgrundlage
um Bitfolgen x zu erhalten, die eine gute Näherung an das binäre Optimierungsproblem bereitstellen, und die Quantenaufwandsfunktion
für die Versuchszustände
zu messen, um sie in eine klassische Optimierungsroutine einzuspeisen.
-
7 veranschaulicht eine derartige klassische Optimierungsschleife, die mit einer anfänglichen Schätzung von Parametern beginnt, um der Hamiltonfunktion (Block 702) die Menge von Steuerparametern (Block 704) bereitzustellen. Block 706 stellt eine anfängliche Schätzung von Steuerparametern bereit. Die Blöcke 704, 708, 710 und 712 beschreiben eine Messungsschleife zum Erhalten des Energiewerts wie in 4; in dieser Schleife wird der Energiewert einer neuen vorgeschlagenen Aktualisierungsmenge der Steuerparameter zugeordnet und so weiter, bis Konvergenz mit einem gewünschten Niveau erreicht ist. Zu beachten ist, dass die neue Menge von Steuerparametern davon abhängt, welche klassische Optimierungsroutine für kontinuierliche Variablen verwendet wird, z.B. Simulated Annealing, stochastischer Gradient oder dergleichen.
-
Im Allgemeinen prüft Block 710 auf Konvergenz in der Weise, dass sich die Energie nicht wesentlich ändert (obwohl das Experiment fortgesetzt werden kann). Bei Konvergenz gibt Block 714 den Energiewert zusammen mit seinen zugehörigen entsprechenden optimalen Steuerparametern aus. Dadurch tritt bei einer gegebenen Hamiltonfunktion ein lokales Minimum auf, und die Steuerparameter werden auf der Grundlage einer anfänglichen Schätzung von optimalen Steuerparametern gefunden.
-
Unter Bezugnahme auf die in 8 allgemein dargestellte Aufwandsfunktionsdeformation ist anzumerken, dass sich das Optimierungsproblem trotz der partiellen Abhängigkeit dieses Quantenoptimierungsproblems von einem klassischen Optimierer vom ursprünglichen klassischen Problem C unterscheidet, da es sich lediglich über eine Klasse von Quantenzuständen mit (möglicherweise) weniger Parametern erstreckt. 8 beginnt (Block 802) mit einem Wählen einer Familie von Hamiltonfunktionen, darunter einer, bei der die Antwort bekannt ist. Das heißt, dass die Arbeitsschritte mit einer einfachen (trivialen) Hamiltonfunktion und korrekt gewählten Steuerparametern beginnen, sodass die anfängliche Schätzung sehr genau ist. Von dieser trivialen Hamiltonfunktion und der korrekten anfänglichen Schätzung ausgehend deformieren die Arbeitsschritte die Hamiltonfunktion allmählich bis zum Erreichen der Hamiltonfunktion, für die das Minimum gesucht wird, das der Aufwandsfunktion des klassischen Optimierungsproblems entspricht, die gelöst werden soll (durch Abtasten aus dem Quantenoptimierungsproblem).
-
8 minimiert die Familie von Hamiltonfunktionen (ähnlich wie 7) von s = 0 in 1 während des Erhöhens um ε), indem neue Steuerparameter eingegeben werden (Block 804), die für den vorhergehenden Wert von s bei (s - ε) gefunden wurden, und der gefundene Wert deformiert wird (bis s = 1, Block 806). Anders ausgedrückt, die Steuerparameter werden eingegeben und minimiert (z.B. über die Schleife in 7), indem sie anfangs mit φ0, θ0 eingegeben werden und die deformierte Hamiltonfunktion H diese lokale Optimierungsschleife durchführt (Blöcke 804, 806, 808 und 810).
-
Somit ist hierin das Deformieren einer Familie von Hamiltonfunktionen beschrieben, bei dem bei einer trivialen Hamiltonfunktion begonnen wird, für die der Grundzustand bekannt ist, und der Grundzustand während der stattfindenden Deformation überwacht wird, bis ein gewünschter Punkt erreicht ist. Durch Beginnen mit einer Menge bekannter Parameter und Deformieren der von diesen Parametern abhängenden Hamiltonfunktion, um die nächste Menge optimaler Parameter zu finden, wird die nächste Menge in eine nächste Optimierungsschleife für die nächste deformierte Hamiltonfunktion eingespeist, bis die gewünschte Hamiltonfunktion erreicht ist. An diesem Punkt sind die endgültigen optimalen Parameter für diese endgültige Hamiltonfunktion bekannt und werden zum Abtasten verwendet, um die korrekte Bitfolge zu erhalten.
-
Somit wird eine Familie von Aufwandsfunktionen
für s ∈ [0,1] ausgehend von einem trivialen Versuchszustand deformiert, für den der optimale Zustand
bekannt ist. Als Beispiel werden die Familie von Hamiltonfunktionen
für n Bits und der Pauli-Drehoperator
betrachtet, der sich auf jede einzelne Stelle i auswirkt. Hierin beschrieben ist ein Minimieren der Aufwandsfunktion für Parameter s, die bei s
0 = 0 beginnen, und anschließend ein Verwenden des optimalen
als nächsten Ausgangszustand für die nächste Optimierung bei s
k+1 = s
k + ε, bis s = 1 erreicht und der Optimierer von
gefunden ist. Bei jedem Schritt wird die Quantenhardware verwendet, um die mit echten Werten versehene Aufwandsfunktion
auszuwerten.
-
Zu beachten ist, dass ein Zugriff auf das zur Optimierung verwendete Quantensystem und ein Zugriff auf das zum Optimieren der Quantenaufwandsfunktion über das Internet bereitgestellt sein können. Zum Beispiel kann außerdem eine Schnittstelle bereitgestellt sein, sodass der Zugriff auf diese Routine in der Cloud erfolgt.
-
Eine numerische Untersuchung wurde bei kleinen Systemgrößen und einer Schaltung der Tiefe d = 2 mit zwei Verschränkungsschritten U
ent und zwei Mengen von Drehungen einzelner Qubits
bei der Hamiltonfunktionsfamilie in Gl. (18) durchgeführt. Für ein Diagramm mit zwei Eckpunkten und der entsprechenden Hamiltonfunktion von N = 2 Qubits sind die optimierten Messungsmöglichkeiten
in
9 für s E [0,1] dargestellt. Das Beispiel für ein Diagramm mit drei Eckpunkten ist in
10 und für ein Diagramm mit vier Eckpunkten in
11 gezeigt. Die lokalen Parameter wurden unter Verwendung einer klassischen Simulated-Annealing-Technik optimiert.
-
Zu beachten ist, dass die 9 bis 11 für ein System mit zwei bis vier Qubits bei Instanzen eines kombinatorischen Optimierungsproblems MaxCut gelten, das nachstehend beschrieben ist. Im Allgemeinen stellen die Diagramme ein Codieren in einer bestimmten Bitfolge dar, die mit einer anfänglichen Superposition beginnt - die Verteilung, von der minimierende Bitfolgen abzutasten sind, die die Funktion allmählich deformieren, bis sie den Konzentrationsvorgang beginnt, der mit der korrekten Bitfolge endet. Dies ist durch die frühen Messungen veranschaulicht, die die einheitlichsten Ergebnisse liefern, aber da die Aufwandsfunktion in Richtung der gewünschten deformiert wird, ist die Konzentration der Gewichtungen erkennbar.
-
Unter Bezugnahme auf weitere Einzelheiten, darunter Gleichungen, wird die Aufwandsfunktion C : {0,1}
n → ℝ bei binären kombinatorischen Optimierungsproblemen normalerweise in der kanonischen Form
für x
i ∈ {0,1} und w
Q ∈ ℝ Abgeschrieben, wobei normalerweise die Größe der Menge Q im Verhältnis zu n klein ist. Eine Aufgabe besteht darin, die n-Bitfolge x ∈ {0,1}
n zu finden, bei der C(x) ein Extrem ist. Bei einem Problem kann versucht werden, C mit zusätzlichen Einschränkungen an der Bitfolge zu optimieren. Als Beispiel soll das nachstehend aufgeführte „Problem des Handlungsreisenden“ betrachtet werden. Weitere Einschränkungen an der Variablen x können in Form einer Einschränkungsfunktion
angegeben werden, bei der
um die Einschränkung zu erzwingen. Allgemein bekannt ist, dass derartige Einschränkungen in Form einer modifizierten Aufwandsfunktion
erzwungen werden können, wobei die A
i ∈ ℝ
+ so gewählt werden, dass A
i >> ΔC und ΔC den kleinsten Unterschied zwischen den diskreten Werten von C angibt.
-
Dieses klassische Problem kann in eine zur Aufwandsfunktion C
λ(x) gehörige Quanten-Hamiltonfunktion H
C umgeformt werden, die in der Berechnungsgrundlage |x) diagonal verläuft.
-
Um die Optimierung als Quanten-Hamiltonfunktion darzustellen, wird die Optimierung praktischerweise als lineare Kombination aus Pauli-Z-Ausdrücken ausgedrückt. Dies ist sofort erreichbar, wenn es sich bei Cλ(x) um ein Polynom niedrigen Grades in x handelt. In diesem Fall reicht eine einfache Substitution bei jeder binären Variablen als xi = 2_1(1 - Zi) aus. Diese Zuordnung ist wie hierin dargelegt in 3 veranschaulicht.
-
Beispiel A: Gewichtetes MaxCut:
-
Bei MaxCut handelt es sich um ein NP-vollständiges Problem mit Anwendungsfällen in Clustering, Netzwerkwissenschaft und statistischer Physik. Die formale Definition dieses Problems lautet wie folgt:
-
Betrachtet werden soll ein ungerichteter Graph G = (V, F) mit n Knoten, wobei |V| = n bei Kantengewichten w
ij > 0 für (i,j) ∈ E. Ein Cut ist definiert als Aufteilung der ursprünglichen Menge V in zwei Teilmengen. Die Aufwandsfunktion, die in diesem Fall zu optimieren ist, ist die Summe der Gewichte von Kanten, die Punkte in den zwei Teilmengen verbinden. Für x
i ∈ {0,1} oder x
i = 1 zu jedem Knoten i wird versucht, die globale Aufwandsfunktion
zu maximieren, wobei w
ij reell ist. Eine Zuordnung zu einer Ising-Hamiltonfunktion wird durch die Zuweisung x
i = 2
_1(1 - Z
i) bereitgestellt. Die Hamiltonaufwand-Hamiltonfunktion H
c ist dann gegeben durch
wobei Konst = Σ
i<j w
ij/2 + Σ
iw
i/2. Da diese Konstante nicht relevant ist, ist das Problem des gewichteten MaxCut gleichbedeutend mit dem Minimieren der Ising-Hamiltonfunktion
-
Beispiel B: Problem des Handlungsreisenden
-
Um das Zuordnen von Optimierungsproblemen mit Einschränkungen zu veranschaulichen, wird hierin das Problem des Handlungsreisenden (Traveling Salesman Problem, TSP) erörtert. Das TSP an den Knoten eines Graphen fragt nach dem kürzesten Hamiltonkreis in einem Graphen G = (V, E) mit n = |V| Knoten und Abständen w
ij (Abstand von Eckpunkt i zu Eckpunkt j). Ein Hamiltonkreis ist durch N
2 Variable x
i,p beschrieben, wobei i den Knoten darstellt und p dessen Reihenfolge in einem voraussichtlichen Kreis darstellt. Die Entscheidungsvariable nimmt den Wert „1“, wenn die Lösung am Knoten i in der zeitlichen Reihenfolge p auftritt. Jeder Knoten tritt einmal im Kreis auf, und bei jedem Mal muss ein Knoten auftreten. Dies führt zu den beiden Einschränkungen
-
Wenn x
i,p und x
j,p+1 bei Knoten in der voraussichtlichen Reihenfolge jeweils „1“ sind, muss eine Energieeinbuße auftreten, wenn (i,j) ∉ E (nicht mit dem Graphen verbunden). Die Form dieser Einbuße lautet
wobei angenommen wird, dass die Grenzbedingung des Hamiltonkreises (p = N) ≡ (p = 0) lautet. Hierbei wird ein vollständig verbundener Graph angenommen, der diesen Ausdruck nicht enthält. Der zu minimierende Abstand beträgt
-
Um diese zusätzlichen Einschränkungen zu berücksichtigen, wird die Aufwandsfunktion modifiziert und in einer zu minimierenden Funktion mit einem Ziel zusammengesetzt.
wobei A ein freier Parameter ist. Der Parameter A muss so groß sein, dass diese Einschränkungen berücksichtigt werden. Eine Möglichkeit hierzu besteht darin, A so zu wählen, dass A > max(w
ij). Da das Problem dem Handlungsreisenden ermöglicht, zum Ausgangsort zurückzukehren, können des Weiteren ohne Verlust der Allgemeingültigkeit x
00 = 1, x
i0 = 0 Vi ≠ 0 und x
0p = 0 ∀p ≠ 0 gesetzt werden. Dadurch wird die Zielfunktion zu
-
Das uneingeschränkte Problem wird einer Quanten-Hamiltonfunktion mit der Substitution xi = 2_1(1 - Zi) zugeordnet, und die Lösung wird durch Minimieren einer Ising-Hamiltonfunktion gefunden.
-
Somit können die hierin betrachteten Probleme einer Problem-Hamiltonfunktion H zugeordnet werden. Ein Ziel besteht darin, entweder eine gute Näherung an den Wert der Grundzustandsenergie E
min zu bestimmen oder aus der Näherung
geringer Tiefe des Grundzustands der Hamiltonfunktion abzutasten. Aufgrund der Komplexität theoretischer Argumente ist eine exakte Schätzung von E
min oder eine exakte Aufbereitung von
im Allgemeinen nicht möglich. Daher liegt das Hauptaugenmerk hierin auf Algorithmen, mit denen Näherungen an beide erzeugt werden.
-
Ein kohärent steuerbares quantenmechanisches System, zum Beispiel ein supraleitender Chip mit N Qubits, wird zum Erzeugen eines Quantenzustands
verwendet, indem wie in
5 dargestellt eine Schaltung aus d wiederholten Driftschritten aus Drehungen lokaler einzelner Qubits
angewendet wird, die mit
parametriert sind.
-
Des Weiteren können Verschränkungsinteraktionen
angewendet werden, die von einigen realen Parametern
abhängen. Es bestehen mehrere Auswahlmöglichkeiten bei den unitären Verschränkungselementen
die berücksichtigten Versuchszustände können als Zustände der Algorithmen zur Quanten-Näherungsoptimierung angesehen werden, bei denen
und zusätzliche Einschränkungen auf
angewendet werden sodass U(θ
i,t) = exp(iθ
tx
j). Zu beachten ist, dass diese Einschränkungen gelockert werden können, um allgemeinere Ising-Kopplungsgraphen für
zu berücksichtigen, die nicht notwendigerweise der Hamiltonfunktion H
C des Problems entsprechen müssen.
-
Zu beachten ist, dass diese Interaktionen für die betrachtete supraleitende Schaltung nicht charakteristisch sind. Als Beispiel zum Veranschaulichen des Verfahrens und nicht als Einschränkung wird das Anwenden von Kreuzresonanzgattern betrachtet, wobei vorausgesetzt wird, dass das durch die beiden lokalen effektiven Hamiltonfunktionen erzeugte unitäre Verschränkungselement zwischen den Qubits k und l gegeben ist durch
-
Die Parameter a, b, c
k.l, d
k,l, e
k,l werden durch die tatsächliche Hardware der supraleitenden Schaltung bestimmt. Das bedeutet, dass eine natürliche Driftentwicklung K, beispielsweise gegeben ist durch
wobei J
k,l(θ
t) experimentell abgestimmt werden kann.
-
Dieser zweipunktgesteuerte Zustand entspricht einem allgemeinsten Zustand, der auf der physischen Quantenhardware erzeugt werden kann, wenn diese auf eine maximale Menge von K aufeinanderfolgenden Iterationen des Anwendens von Steuerimpulsen und zulässige Driftzeiten beschränkt ist, um Verschränkung zu erzeugen (5). Für den allgemeinen Ansatz bei dem bekannten Algorithmus zur Quanten-Näherungsoptimierung muss die Interaktion ZlZm wirksam aus hk,l erzeugt werden, indem Zweipunktsteuerimpulse angewendet werden, wodurch die Schaltungstiefe vergrößert und die Einführung zusätzlicher kohärenter Fehler ermöglicht werden, indem die Variation über die Steuerparameter hinweg beschränkt wird. Im Gegensatz hierzu wird ein direktes Optimieren der Steuerimpulse in Gegenwart der Hamiltonfunktion mit natürlicher Drift beschrieben. Anders ausgedrückt, anstelle des Suchens nach Interaktionen zweier Gatter und des präzisen und feinen Steuerns der Gatter, um ein gewünschtes Paar von Gattern zu finden, wird als Teil des Optimierungsalgorithmus ein gleichzeitiges Optimieren über größere Mengen von Gattern (das gemeinsame Gatter Uent) durchgeführt. Das bedeutet, dass anders als bei zwei Gattern die Gleichung (11) im Grunde genommen über eine volle Menge von untereinander in Verbindung stehenden Qubits als einem großen Verschränkungsgatter realisiert wird, an das einzelne Qubit-Mikrowellensteuerimpulse gesendet werden können, um Unter- und Überdrehungen zu korrigieren und somit selbstkorrigierende kohärente Gatterfehler bereitzustellen. Da bekannt ist, dass die Driftmenge {hkl} zusammen mit den einzelnen Steuerimpulsen Uloc(θ) allgemeingültig ist, kann auf diese Weise ein beliebiger Zustand mit ausreichender Schaltungstiefe erzeugt werden.
-
Wie hierin beschrieben werden Optimierungsprobleme Ising-Quantenmodellen zugeordnet. Um wie hierin beschrieben eine adiabatische Deformation der Aufwandsfunktion durchzuführen, müssen mehr allgemeine Hamiltonfunktionen berücksichtigt werden. Das heißt, dass Grundzustände von Hamiltonfunktionen aufgebaut werden müssen, die in der Z-Grundlage nicht notwendigerweise diagonal sind. Im Allgemeinen wird angenommen, dass die Hamiltonfunktion zerlegt werden kann in eine Summe einiger weniger Pauli-Operatoren mit mehreren Qubits
-
Zur beispielhaften Veranschaulichung und nicht als Einschränkung wird die Pauli-Zerlegung für das transversale Ising-Modell mit zufälligen Spin-Kopplungen zweier Körper betrachtet
-
Zu beachten ist, dass dies nicht durch die Verbindung der Hamiltonfunktion H beschränkt ist und nicht lokale Pauli-Operatoren Pα vollständig berücksichtigen kann, da nicht geplant ist, die Hamiltonfunktion direkt in Hardware zu realisieren, sondern vielmehr die einzelnen Pauli-Operatoren bei einer Menge experimentell gesteuerter Versuchszustände zu messen.
-
Die Energie von H kann dann direkt darin gemessen werden, indem zunächst
erzeugt und anschließend die Erwartungswerte für die einzelnen σ(α) bei allen α gemessen werden. Der Erwartungswert wird anschließend berechnet als
-
Der Erwartungswert der Hamiltonfunktion aus den einzelnen Pauli-Messungen
wird ausgewertet als
-
Betrachtet werden M unabhängige und identisch verteilte Abtastungen der Messung durch einen Aufbau zur wiederholten Erzeugung und Messung (
4), wobei der Variationsversuchszustand Gl. 8 M Mal erzeugt und der Pauli-Operator direkt gemessen werden. Um eine Grenze für die Anzahl M von Abtastungen zu erhalten, werden asymptotische Statistiken betrachtet und das Konfidenzintervall anhand der Varianz geschätzt. Das bedeutet, dass eine beliebige Messung, die dazu dient, den Erwartungswert
bis zum Fehler ε zu reproduzieren, mindestens
Abtastungen erzeugen sollte, wobei Var
E die Varianz der Energie des Messungsschemas angibt.
-
Eine klassische Optimierungsroutine wird benötigt, die gegen die optimalen Parameterwerte
konvergiert. Es bestehen mehrere anwendbare Optionen. Als Beispiel und nicht als Einschränkung besteht ein Ansatz darin, bei der on
Simulated Annealing durchzuführen. Zu anderen Alternativen gehören der SPSA-Gradientenabstiegsalgorithmus (Spall-Gradientenabstiegsalgorithmus) oder der Nelder-Mead-Algorithmus (NM-Algorithmus). Dieser würde einen direkten Ansatz zum Minimieren der Energie von
in Bezug auf die Hamiltonfunktion H bilden. Dies entspricht der klassischen Optimierungsroutine mit der Aufwandsfunktion
die auf einem Quantencomputer direkt ausgewertet wird. Mit diesem Ansatz werden die optimale Energienäherung
von E
min geschätzt und die Steuerparameter bereitgestellt, um den Zustand
zu erzeugen, bei dem es sich um die beste Schätzung für den tatsächlichen Zustand lψ
min〉 handelt.
-
Ein direkter Minimierungsansatz folgt den Schritten:
- 1. Für t = 0 anfängliche Parameter
bereitstellen.
- 2. Die folgenden Schritte M-fach wiederholen:
- (a) Zustand
auf dem Quantencomputer erzeugen und einen Pauli-σ(α) über diesen Zustand messen.
- (b) Dann die Abtastungen addieren, um den Erwartungswert
zu erhalten.
- 3. Dann t → t + 1 setzen, um auf der Grundlage eines klassischen Optimierungsschemas eine neue Menge von Parametern
vorzuschlagen.
- 4. Bis zur Annäherung an die optimalen Werte
wiederholen.
-
Es kann jedoch Szenarien geben, bei denen es vorteilhaft sein kann, eine weniger direkte Route in Betracht zu ziehen. Ein anderer Ansatz ist zum Beispiel die Möglichkeit, eine adiabatische Transformation einer virtuellen Hamiltonfunktion vorzunehmen. Zu beachten ist, dass das klassische Optimierungsproblem beim direkten Minimieren von
höchstwahrscheinlich nicht einfacher als das direkte Minimieren der anfänglichen Aufwandsfunktion ist. In diesem Kontext wird eine Deformation der Aufwandsfunktion beschrieben, die von einem Parameter s ∈ [0,1] abhängt. Das heißt, dass eine Familie von Hamiltonfunktionen H(s) betrachtet wird, die zwischen der anfänglichen Hamiltonfunktion H(0) = H
trivial zur endgültigen Hamiltonfunktion H(1) = H
C betrachtet wird. Eine mögliche Deformation kann zum Beispiel gegeben sein als
-
Zu beachten ist, dass andere Auswahlmöglichkeiten für H(s) bestehen, solange die Bedingungen für H(0), H(1) erfüllt sind. Die Auswahl von H
trivial wird so getroffen, dass eine optimale Menge von Parametern
für den Grundzustand des anfänglichen Zustands bekannt ist, sodass der Grundzustand
bei
leicht aufgebaut werden kann.
-
Um ein konkretes Beispiel zum Zweck der nicht einschränkenden Veranschaulichung zu geben, wird das MaxCut-Problem für einen Graphen G = (V, E) mit einer Eckpunktmenge V und einer Kantenmenge G betrachtet. Das Problem wird dem Minimieren der Energie einer Ising-Hamiltonfunktion H
C wie in Gl. (7) zugeordnet. Als triviale anfängliche Hamiltonfunktion wird H
trivial = -Σ
i∈VX
i gewählt, d.h. das transversale Feldmodell am Graphen G. Eine einfache Interpolationsfamilie ist dann gegeben durch
-
Der anfängliche Zustand lautet dann
Diese Auswahl kann einfach realisiert werden, indem die Interaktionsparameter
der Hamiltonfunktion im Versuchszustand von Gl. (8) so gesetzt werden, dass alle K = 0 und die Drehparameter
einzelner Qubits so gesetzt werden, dass die erste Ebene unitärer Elemente durch H
⊗n gegeben ist.
-
Die Hamiltonfunktionsfamilie H(s) für s E [0,1] führt zu einer Familie klassischer Aufwandsfunktionen E(s), die wie oben unter Bezugnahme auf die
4 und
5 auf dem Quantencomputer durch Messung ausgewertet werden. Die Aufwandsfunktion
interpoliert zwischen den Näherungen der Grundzustandsenergie E
0, E
1 und aktualisiert Parameter
zusammen mit dem deformierten Pfad, der die Parameter bei jedem Schritt s unter Verwendung der unter Bezugnahme auf
7 beschriebenen klassischen Minimierer minimiert.
-
Das Verfahren beginnt mit den anfänglichen Parametern
und folgt dann einem Plan für T Werte 0 = s
0 < s
1 < s
2 < ...< s
T = 1 des Parameters s unter Verwendung des optimalen Werts
als Ausgangspunkt für die nächste Minimierung. Das heißt
- 1. T Werte 0 = s0 < s1 < s2 < ...< sT = 1 wählen und die anfänglichen optimalen Parameter für
erzeugen.
- 2. Für 1 ≤ t ≤ T Folgendes wiederholen
- (a) Hamiltonfunktion H(st) bereitstellen.
- (b) Anfängliche Parameter
festlegen.
- (c) Optimierungsverfahren (1) für H(st) ausführen und
- 3. Die optimalen Parameter
und die Energie ES T mitteilen.
- 4. Zustand
erzeugen und mehrere Male in der Berechnungsgrundlage abtasten, um eine gute Bitfolge zu erhalten, die eine Energie von HC bereitstellt, die mit ES T vergleichbar ist.
-
Durch Einführen einer derartigen Deformation wird vermutlich die Konvergenz des klassischen Optimierungsverfahrens verbessert, da ein Warmstart bei den Parametern
durchgeführt wird. Betrachtet wird die Familie von Hamiltonfunktionen H
MaxCut(s) in Gl. (18) für s ∈ [0,1]. Zu beachten ist, dass andere Lösungen ein vollständig klassisches Verfahren vorschlagen, um ein rauschbehaftetes Quanten-Annealing zu emulieren. Dieses klassische Modell kann innerhalb des hierin beschriebenen Rahmens erhalten werden, indem die sehr eingeschränkte Klasse von Produktversuchszuständen berücksichtigt wird:
-
Die hierin beschriebene Technologie stellt bereit, dass
klassisch berechnet werden kann, und reduziert auf die Aufwandsfunktion
-
Diese Aufwandsfunktion entspricht bekannten klassischen Modellen. Im Gegensatz hierzu entspricht die hierin beschriebene Technologie einem Berücksichtigen von Variationsquantenschaltungen als Versuchswellenfunktionen
die eine größere Tiefe aufweisen und eigentlich eine Verschränkung verwenden.
-
Wie zu erkennen ist, ist hierin eine konkrete Realisierungsform von Schaltungen geringer Tiefe für kombinatorische Optimierungsprobleme beschrieben. Diese Technologie kann einem klassischen Optimierungsproblem für kontinuierliche Parameter zugeordnet werden, wobei Ergebnisse über eine Deformation aus einer bekannten Lösung in diesem Raum erhalten werden. Kreuzresonanzgatter können diesen Zustand erzeugen; dadurch wird im Grunde genommen der Zustand so abgestimmt, dass er sich vor dem Abtasten innerhalb der korrekten Klasse von Zuständen befindet. Durch Minimieren einer klassischen Aufwandsfunktion und Anwenden der Schaltung, um durch Messen einer Energiefunktion (bei der es sich um die Aufwandsfunktion bei dieser Schaltung handelt) eine Ausgabe zu erzeugen, wird mit der Technologie somit versucht, über ein klassisches Minimierungsproblem Parameter in der Schaltung zu minimieren. Sobald diese bekannt sind, werden Abtastungen entnommen, bei denen es sich um Näherungslösungen an das zu lösende kombinatorische Optimierungsproblem handelt.
-
12 ist eine Darstellung eines Systems 1200, das ein Lösen von Optimierungsproblemen ermöglicht, z.B. über einen Hauptspeicher, in dem durch einen Computer ausführbare Komponenten gespeichert sind, und einen Prozessor, der durch einen Computer ausführbare Komponenten ausführt, die im Hauptspeicher gespeichert sind. Block 1202 stellt eine Zuordnungskomponente dar, die auf der Grundlage einer oder mehrerer Einschränkungen eine Aufwandsfunktion einer Hamiltonfunktion zuordnet, um das Optimierungsproblem über zulässige Quantenzustände einem Optimierungsproblem zuzuordnen (z.B. durch die Zuordnungskomponente 104). Block 1204 stellt eine Versuchszustands- und Messungskomponente dar, die der Hamiltonfunktion entsprechende Versuchszustände durch physikalische Zeitentwicklung von Quantenhardware erzeugt, in die Steuerimpulse eingestreut werden, um Qubits der Quantenhardware zu verschränken, und die eine Quantenaufwandsfunktion für die Versuchszustände misst, um einen Versuchszustand zu ermitteln, der zu optimalen Werten führt (z.B. durch die Versuchszustands- und Messungskomponente 107). Block 1206 stellt eine Deformationskomponente dar, die eine Hamiltonfunktion in eine deformierte Hamiltonfunktion deformiert, um einen optimalen Zustand zu finden, und den optimalen Zustand als nächsten Ausgangspunkt für eine nächste Optimierung an der deformierten Hamiltonfunktion verwendet, bis ein Optimierer in Bezug auf eine gewünschte Hamiltonfunktion ermittelt ist (z.B. durch die Deformationskomponente 118).
-
Aspekte können eine Abtastkomponente aufweisen, die Abtastungen des optimalen Zustands durchführt, der dem Optimierer entspricht, um eine oder mehrere Näherungen an das kombinatorische Optimierungsproblem zu erhalten. Andere Aspekte können eine Schnittstelle aufweisen, die mit der Zuordnungskomponente interagiert und den Versuchszustand ausgibt, der zu den optimalen Werten führt. Die Versuchszustands- und Messungskomponente kann einzelne Pauli-Operatoren an den Versuchszuständen messen.
-
13 ist eine Flussdiagrammdarstellung beispielhafter Arbeitsschritte, die allgemein darauf gerichtet sind, ein Lösen eines kombinatorischen Optimierungsproblems unter Verwendung von Quantenhardware zu ermöglichen. Aspekte weisen ein Zuordnen (Block 1302) einer dem kombinatorischen Optimierungsproblem zugehörigen Aufwandsfunktion zu einem Optimierungsproblem über zulässige Quantenzustände auf, das ein Aufbauen einer Quanten-Hamiltonfunktion für die Aufwandsfunktion aufweist. Andere Aspekte weisen ein Erzeugen (Block 1304) einer Menge von Versuchszuständen durch eine physische Zeitentwicklung der Quantenhardware auf, in die Steuerimpulse eingestreut werden, ein Messen (Block 1306) einer Quantenaufwandsfunktion für die Versuchszustände, ein Ermitteln (Block 1308) eines zu optimalen Werten führenden Versuchszustands und ein Deformieren (Block 1310) einer Hamiltonfunktion und ein Verwenden des optimalen Zustands als nächsten Ausgangszustand für eine nächste Optimierung an einer deformierten Hamiltonfunktion, bis ein Optimierer in Bezug auf eine gewünschte Hamiltonfunktion ermittelt ist.
-
Aspekte können ein Erzeugen der Menge von Versuchszuständen durch die physikalische Zeitentwicklung von Quantenhardware aufweisen, in die Steuerimpulse eingestreut werden, um unter Verwendung der Steuerimpulse Verschränkung zu erzeugen.
-
Das Aufbauen der Quanten-Hamiltonfunktion für die Aufwandsfunktion kann ein Aufbauen einer Quanten-Hamiltonfunktionsdiagonalen aufweisen. Das Aufbauen der Quanten-Hamiltonfunktion für die Aufwandsfunktion kann ein Ausdrücken einer Quanten-Hamiltonfunktion als lineare Kombination aus Pauli-Z-Ausdrücken aufweisen.
-
Das Zuordnen der zum binären kombinatorischen Optimierungsproblem gehörigen Aufwandsfunktion kann ein Zuordnen der Aufwandsfunktion zu einer Qubit-Darstellung auf dem Quanten-Näherungscomputer aufweisen. Das Messen der Quantenaufwandsfunktion für die Versuchszustände kann ein Messen einzelner Pauli-Operatoren an den Versuchszuständen aufweisen.
-
Aspekte können ein Abtasten des optimalen Zustands aufweisen, der dem Optimierer entspricht, um Näherungen an das kombinatorische Optimierungsproblem zu erhalten. Das kombinatorische Optimierungsproblem kann ein binäres kombinatorisches Optimierungsproblem aufweisen, und Aspekte können ein Abtasten aus dem optimalen Zustand aufweisen, der dem Optimierer entspricht, um Bitfolgen zu erhalten, die Näherungen an das binäre Optimierungsproblem bereitstellen.
-
Andere Aspekte, die z.B. in einer elektronischen Einheit realisiert sind, können eine Zuordnungskomponente aufweisen, die auf der Grundlage einer oder mehrerer Einschränkungen eine Aufwandsfunktion, die einem kombinatorischen Optimierungsproblem zugehörig ist, einem Optimierungsproblem über zulässige Quantenzustände zuordnet und für die Aufwandsfunktion eine Quanten-Hamiltonfunktion aufbaut. Die elektronische Einheit kann ferner eine Versuchszustands- und Messungskomponente aufweisen, die eine Quantenschaltung aufweist, die durch eine physikalische Zeitentwicklung von Quantenhardware, in die Mikrowellensteuerimpulse eingestreut werden, eine Menge von Versuchszuständen erzeugt, eine Quantenaufwandsfunktion für die Versuchszustände misst und einen Versuchszustand ermittelt, der zu optimalen Werten führt. Die elektronische Einheit kann ferner eine Deformationskomponente aufweisen, die die Quanten-Hamiltonfunktion in eine deformierte Hamiltonfunktion deformiert, um einen optimalen Zustand zu finden, und den optimalen Zustand als nächsten Ausgangspunkt für eine nächste Optimierung an der deformierten Hamiltonfunktion verwendet, bis ein Optimierer in Bezug auf eine gewünschte Hamiltonfunktion ermittelt ist.
-
Die Quantenschaltung kann die Steuerimpulse verwenden, um Verschränkung zu erzeugen. Die Zuordnungskomponente, die die Quanten-Hamiltonfunktion für die Aufwandsfunktion aufbaut, kann eine Quanten-Hamiltonfunktionsdiagonale aufbauen und die Quanten-Hamiltonfunktion als lineare Kombination aus Pauli-Z-Ausdrücken ausdrücken.
-
Die Zuordnungskomponente kann die Aufwandsfunktion einer Qubit-Darstellung auf einem Quanten-Näherungscomputer zuordnen. Die Versuchszustands- und Messungskomponente kann einzelne Pauli-Operatoren an den Versuchszuständen messen. Die elektronische Einheit kann ferner eine Abtastkomponente aufweisen, die Abtastungen durchführt, um Bitfolgen zu erhalten, die Näherungen an das Optimierungsproblem bereitstellen.
-
Andere Aspekte, die in 14 als Arbeitsschritte beispielhaft veranschaulicht sind, können ein Erhalten einer Ausgangs-Hamiltonfunktion aufweisen, die zugehörige Ausgangs-Steuerparameter enthält (Arbeitsschritt 1402), und ein Verwenden von Quantenhardware, um die Ausgangs-Hamiltonfunktion in eine deformierte Hamiltonfunktion zu deformieren, der optimale Steuerparameter für diese deformierte Hamiltonfunktion zugehörig sind (Arbeitsschritt 1404). Aspekte können ein Verwenden der Quantenhardware aufweisen, um die deformierte Hamiltonfunktion mit den dieser deformierten Hamiltonfunktion zugehörigen optimalen Steuerparametern wiederholt in weitere deformierte Hamiltonfunktionen und weitere zu dieser gehörige optimale Steuerparameter zu deformieren, bis eine gewünschte Hamiltonfunktion erreicht ist (Arbeitsschritt 1406), und ein Ausgeben von Informationen, die der gewünschten Hamiltonfunktion und den zur gewünschten Hamiltonfunktion gehörigen optimalen Steuerparametern entsprechen (Arbeitsschritt 1408).
-
Aspekte können ein Abtasten auf der Grundlage der Informationen, die der endgültigen gewünschten Hamiltonfunktion entsprechen, und der zur gewünschten Hamiltonfunktion gehörigen optimalen Steuerparameter aufweisen, um Daten zu erhalten, die Näherungen an das kombinatorische Optimierungsproblem bereitstellen. Andere Aspekte können ein Erzeugen einer Menge von Versuchszuständen durch eine physikalische Zeitentwicklung der Quantenhardware aufweisen, in die Steuerimpulse eingestreut werden, die eine Verschränkung erzeugen, ein Messen einer Quantenaufwandsfunktion für die Versuchszustände und ein Ermitteln eines Versuchszustands, der zu optimalen Werten führt.
-
Ein Computerprogrammprodukt kann bereitgestellt sein, das ein Lösen eines binären kombinatorischen Optimierungsproblems ermöglicht, und das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium aufweisen, das darauf verkörperte Programmanweisungen enthält. Die Programmanweisungen können durch einen Prozessor ausführbar sein, um den Prozessor zu veranlassen, eine Ausgangs-Hamiltonfunktion zu erhalten, die zugehörige Ausgangs-Steuerparameter enthält, und Quantenhardware zu verwenden, um die Ausgangs-Hamiltonfunktion in eine deformierte Hamiltonfunktion zu deformieren, der optimale Steuerparameter für diese deformierte Hamiltonfunktion zugehörig sind. Andere Anweisungen können die Quantenhardware verwenden, um die deformierte Hamiltonfunktion mit den dieser deformierten Hamiltonfunktion zugehörigen optimalen Steuerparametern wiederholt in weitere deformierte Hamiltonfunktionen und weitere zu dieser gehörige optimale Steuerparameter zu deformieren, bis eine gewünschte Hamiltonfunktion erreicht ist, und Informationen ausgeben, die der gewünschten Hamiltonfunktion und den zur gewünschten Hamiltonfunktion gehörigen optimalen Steuerparametern entsprechen.
-
Andere Aspekte können Anweisungen zum Abtasten auf der Grundlage der Informationen, die der endgültigen gewünschten Hamiltonfunktion entsprechen, und der zur gewünschten Hamiltonfunktion gehörigen optimalen Steuerparameter aufweisen, um Daten zu erhalten, die Näherungen an das kombinatorische Optimierungsproblem bereitstellen. Noch andere Aspekte können Anweisungen zum Erzeugen einer Menge von Versuchszuständen durch eine physikalische Zeitentwicklung der Quantenhardware aufweisen, in die Steuerimpulse eingestreut werden, die eine Verschränkung erzeugen, ein Messen einer Quantenaufwandsfunktion für die Versuchszustände und ein Ermitteln eines Versuchszustands, der zu optimalen Werten führt.
-
Noch weitere Aspekte, die in 15 als Arbeitsschritte beispielhaft veranschaulicht sind, weisen durch ein mit einem Prozessor funktionsmäßig verbundenes System ein Erhalten einer Anfangs-Hamiltonfunktion auf, die zugehörige Anfangs-Steuerparameter enthält (Arbeitsschritt 1502), und unter Verwendung von Quantenhardware, die unitäre Verschränkungsgatter aufweist, ein Erzeugen von Versuchszuständen, um Energie einer deformierten Hamiltonfunktion zu schätzen, die von der Anfangs-Hamiltonfunktion erhalten wurde (Arbeitsschritt 1504). Aspekte können auf der Grundlage optimaler Steuerparameter für die zur Ausgangs-Hamiltonfunktion gehörigen Versuchszustände ein wiederholtes Messen der Energie der deformierten Hamiltonfunktion unter Verwendung von Quantenhardware aufweisen, um neue optimale Steuerparameter der deformierten Hamiltonfunktion zu finden (Arbeitsschritt 1506), und ein wiederholtes Deformieren der deformierten Hamiltonfunktion in eine neue deformierte Hamiltonfunktion mit wiederholten anfänglichen Steuerparametern, bis eine Deformation in eine endgültige gewünschte Hamiltonfunktion erreicht ist, das ein Verwenden der deformierten Hamiltonfunktion als neue Ausgangs-Hamiltonfunktion mit den neuen optimalen Steuerparametern der deformierten Hamiltonfunktion als neue Ausgangssteuerparameter aufweist (Arbeitsschritt 1508).
-
Um einen Kontext für die verschiedenen Aspekte des offenbarten Gegenstands bereitzustellen, sollen 16 sowie die folgende Erörterung eine allgemeine Beschreibung einer geeigneten Umgebung bereitstellen, in der die verschiedenen Aspekte des offenbarten Gegenstands realisiert sein können. 16 veranschaulicht ein Blockschema einer beispielhaften, nicht einschränkenden Betriebsumgebung, die eine oder mehrere hierin beschriebene Ausführungsformen ermöglicht. Im Interesse der Kürze wird auf eine wiederholte Beschreibung ähnlicher Elemente verzichtet, die bei anderen hierin beschriebenen Ausführungsformen eingesetzt werden.
-
Unter Bezugnahme auf 16 kann eine geeignete Betriebsumgebung 1600 zum Realisieren verschiedener Aspekte dieser Offenbarung auch einen Computer 1612 beinhalten. Der Computer 1612 kann außerdem eine Verarbeitungseinheit 1614, einen Systemspeicher 1616 und einen Systembus 1618 beinhalten. Der Systembus 1618 verbindet Systemkomponenten einschließlich, ohne auf diese beschränkt zu sein, des Systemspeichers 1616 mit der Verarbeitungseinheit 1614. Bei der Verarbeitungseinheit 1614 kann es sich um einen beliebigen verschiedener verfügbarer Prozessoren handeln. Als Verarbeitungseinheit 1614 können außerdem Architekturen mit zwei Mikroprozessoren und andere Mehrprozessorarchitekturen genutzt werden. Beim Systembus 1618 kann es sich um einen beliebigen von mehreren Arten von Busstrukturen handeln, darunter der Speicherbus oder die Speichersteuereinheit, ein Peripheriebus oder externer Bus und/oder ein lokaler Bus unter Verwendung einer beliebigen Vielfalt verfügbarer Busstrukturen einschließlich, ohne auf diese beschränkt zu sein, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Firewire (IEEE 1394) und Small Computer Systems Interface (SCSI).
-
Der Systemspeicher 1616 kann außerdem flüchtigen Speicher 1620 und nicht flüchtigen Speicher 1622 beinhalten. Das Basic Input/Output System (BIOS), dass die grundlegenden Routinen zum Übertragen von Daten zwischen Elementen innerhalb des Computers 1612 zum Beispiel während des Starts enthält, ist im nicht flüchtigen Speicher 1622 gespeichert. Der Computer 1612 kann außerdem wechselbare/nicht wechselbare, flüchtige/nicht flüchtige Computerspeichermedien beinhalten. 16 veranschaulicht zum Beispiel einen Plattenspeicher 1624. Zum Plattenspeicher 1624 können außerdem, ohne auf diese beschränkt zu sein, Einheiten gehören wie zum Beispiel ein Magnetplattenlaufwerk, ein Diskettenlaufwerk ein Bandlaufwerk, ein Jaz-Laufwerk, ein Zip-Laufwerk, ein LS-100-Laufwerk, eine Flash-Speicherkarte oder ein Speicherstick. Der Plattenspeicher 1624 kann außerdem Speichermedien getrennt von oder in Kombination mit anderen Speichermedien beinhalten. Um eine Verbindung des Plattenspeichers 1624 mit dem Systembus 1618 zu ermöglichen, wird in der Regel eine wechselbare oder nicht wechselbare Schnittstelle wie zum Beispiel eine Schnittstelle 1626 verwendet. 16 stellt außerdem Software dar, die als Vermittler zwischen Benutzern und den grundlegenden Computerressourcen fungiert, die in der geeigneten Betriebsumgebung 1600 beschrieben sind. Zu einer derartigen Software kann zum Beispiel auch ein Betriebssystem 1628 gehören. Das Betriebssystem 1628, das auf dem Plattenspeicher 1624 gespeichert sein kann, dient zum Steuern und Zuweisen von Ressourcen des Computers 1612.
-
Systemanwendungen 1630 nutzen die Verwaltung von Ressourcen durch das Betriebssystem 1628 über Programmmodule 1632 und Programmdaten 1634, die z.B. entweder im Systemspeicher 1616 oder auf dem Plattenspeicher 1624 gespeichert sind. Es sollte klar sein, dass diese Offenbarung mit verschiedenen Betriebssystemen oder Kombinationen von Betriebssystemen realisiert werden kann. Ein Benutzer gibt Befehle oder Informationen über eine Eingabeeinheit bzw. über Eingabeeinheiten 1636 in den Computer 1612 ein. Zu Eingabeeinheiten 1636 gehören, ohne auf diese beschränkt zu sein, eine Zeigeeinheit wie zum Beispiel eine Maus, ein Trackball, ein Stift, ein Touchpad, eine Tastatur, ein Mikrofon, ein Joystick, ein Gamepad, eine Satellitenempfangsantenne, ein Scanner, eine TV-Tunerkarte, eine Digitalkamera, eine digitale Videokamera, eine Webkamera und dergleichen. Diese und andere Eingabeeinheiten sind über den Systembus 1618 und den Schnittstellenanschluss bzw. die Schnittstellenanschlüsse 1638 mit der Verarbeitungseinheit 1614 verbunden. Zum Schnittstellenanschluss bzw. zu den Schnittstellenanschlüssen 1638 gehören zum Beispiel ein serieller Anschluss, ein paralleler Anschluss, ein Game-Anschluss und ein Universal Serial Bus (USB). Eine Ausgabeeinheit bzw. Ausgabeeinheiten 1640 nutzt/nutzen einige derselben Arten von Anschlüssen wie die Eingabeeinheit(en) 1636. Daher kann zum Beispiel ein USB-Anschluss verwendet werden, um dem Computer 1612 Eingaben bereitzustellen und Daten aus dem Computer 1612 zu einer Ausgabeeinheit 1640 auszugeben. Ein Ausgabeadapter 1642 ist bereitgestellt, um zu veranschaulichen, dass hierbei neben anderen Ausgabeeinheiten 1640, die spezielle Adapter erfordern, einige Ausgabeeinheiten 1640 wie z.B. Monitore, Lautsprecher und Drucker vorliegen können. Zur Veranschaulichung und nicht als Einschränkung gehören zu den Ausgabeadaptern 1642 Video- und Soundkarten, die ein Mittel zur Verbindung zwischen der Ausgabeeinheit 1640 und dem Systembus 1618 bereitstellen. Es sollte beachtet werden, dass andere Einheiten und/oder Systeme von Einheiten wie zum Beispiel entfernt angeordnete Computer 1644 sowohl Eingabe- als auch Ausgabefähigkeiten bereitstellen.
-
Der Computer 1612 kann unter Verwendung logischer Verbindungen zu einem oder mehreren entfernt angeordneten Computern wie zum Beispiel den entfernt angeordneten Computern 1644 in einer vernetzten Umgebung arbeiten. Bei den entfernt angeordneten Computern 1644 kann es sich um einen Computer, einen Server, einen Router, einen Netzwerk-PC, eine Workstation, um eine auf Mikroprozessoren beruhende Vorrichtung, eine gleichberechtigte Partnereinheit (Peer-Einheit) oder um einen anderen üblichen Netzwerkknoten und dergleichen handeln, die darüber hinaus viele oder alle der im Zusammenhang mit dem Computer 1612 beschriebenen Elemente beinhalten. Der Kürze wegen ist bei den entfernt angeordneten Computern 1644 nur eine Hauptspeichereinheit 1646 veranschaulicht. Der/die entfernt angeordnete/angeordneten Computer 1644 ist/sind lokal mit dem Computer 1612 über eine Netzwerkschnittstelle 1648 und anschließend physisch über eine Datenaustauschverbindung 1650 verbunden. Die Netzwerkschnittstelle 1648 umfasst drahtgebundene und/oder drahtlose Datenaustauschnetzwerke wie zum Beispiel lokale Netzwerke (LAN), Weitverkehrsnetzwerke (WAN), Mobilfunknetze usw. Zu LAN-Technologien gehören Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring und dergleichen. Zu WAN-Technologien gehören, oder auf diese beschränkt zu sein, Punkt-zu-Punkt-Verbindungen, leitungsvermittelte Netze wie zum Beispiel Integrated Services Digital Networks (ISDN) und Varianten davon, paketvermittelte Netze und digitale Teilnehmeranschlüsse (Digital Subscriber Lines, DSL). Der Begriff „Datenaustauschverbindung“ 1650 bezeichnet die Hardware/Software, die zum Verbinden der Netzwerkschnittstelle 1648 mit dem Systembus 1618 verwendet wird. Obwohl die Datenaustauschverbindung 1650 zur Verdeutlichung der Veranschaulichung innerhalb des Computers 1612 gezeigt ist, kann sie sich auch außerhalb des Computers 1612 befinden. Zu Hardware/Software zum Verbinden mit der Netzwerkschnittstelle 1648 können außerdem, um nur einige Beispiele zu nennen, interne und externe Technologien wie zum Beispiel Modems gehören, darunter normale Telefonmodems, Kabelmodems und DSL-Modems, ISDN-Adapter und Ethernet-Karten.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren, eine Vorrichtung und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Integrationsgrad technischer Einzelheiten handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um zu bewirken, dass ein Prozessor Aspekte der vorliegenden Erfindung ausführt. Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, auf der Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen aufbewahrt und gespeichert sein können. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination des Vorstehenden handeln. Zu einer nicht erschöpfenden Liste konkreterer Beispiele des durch einen Computer lesbaren Speichermediums können außerdem die folgenden gehören: eine transportable Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (random access memory, RAM), ein Nur-Lese-Speicher (read-only memory, ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory, EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (static random access memory, SRAM), ein transportabler Kompaktspeicherplatte-Nur-Lese-Speicher (compact disc read-only memory, CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und beliebige geeignete Kombinationen des Vorstehenden. Ein durch einen Computer lesbares Speichermedium im hierin verwendeten Sinne ist nicht so auszulegen, dass es sich dabei um flüchtige Signale handelt, beispielsweise um Funkwellen oder sich frei ausbreitende elektromagnetische Wellen, um elektromagnetische Wellen, die sich durch einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z.B. Lichtimpulse, die ein Lichtwellenleiterkabel durchlaufen) oder um elektrische Signale, die über ein Kabel übertragen werden.
-
Hierin beschriebene durch einen Computer lesbare Programmanweisungen können über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk ein Weitverkehrsnetzwerk und/oder ein Drahtlosnetzwerk von einem durch einen Computer lesbaren Speichermedium auf betreffende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenleiter, Drahtlosübertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle bei jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der jeweiligen Datenverarbeitungs-/Verarbeitungseinheit weiter. Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (ISA = Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie z.B. Smalltalk, C++ oder dergleichen sowie prozedurale Programmiersprachen wie z.B. die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Beim letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (Local Area Network, LAN) oder über ein Weitverkehrsnetzwerk (Wide Area Network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt sein (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)). Bei einigen Ausführungsformen können elektronische Schaltungen, zu denen beispielsweise programmierbare Logikschaltungen, vor Ort programmierbare Schaltungen (Field-Programmable Gate Arrays, FPGA) oder programmierbare logische Arrays (PLA) gehören, die durch einen Computer lesbaren Programmanweisungen ausführen, indem Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen genutzt werden, um die elektronische Schaltung zu personalisieren, sodass Aspekte der vorliegenden Erfindung durchgeführt werden.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Flussdiagrammdarstellungen und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird klar sein, dass jeder Block der Flussdiagramme und/oder der Blockschemata und Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschemata durch einen Computerprogrammanweisungen realisiert werden kann bzw. können. Diese Computerprogrammanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder anderer programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Flussdiagramms bzw. der Flussdiagramme und/oder des Blockschemas bzw. der Blockschemata angegebenen Funktionen/Aktionen zu realisieren. Diese durch einen Computer lesbaren Programmanweisungen können ebenfalls in einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das durch einen Computer lesbare Medium mit darauf gespeicherten Anweisungen ein Erzeugnis aufweist, das Anweisungen enthält, die die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebene Funktion/Aktion realisieren. Die durch einen Computer lesbaren Programmanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Arbeitsschritten ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder Einheiten ausgeführt werden, die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebenen Funktionen/Aktionen realisieren.
-
Die Flussdiagramme und Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Flussdiagrammen bzw. in den Blockschemata eine Steuerungskomponente, ein Segment oder einen Abschnitt von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Bei einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben stattfinden. Zum Beispiel können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der mit den Blöcken verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der dargestellten Blockschemata und/oder Flussdiagramme sowie Kombinationen von Blöcken in den dargestellten Blockschemata und/oder Flussdiagrammen mit Hilfe zweckgebundener hardwaregestützter Systeme zum Ausführen der angegebenen Funktionen bzw. Aktionen oder mit Hilfe von Kombinationen aus zweckgebundener Hardware und zweckgebundenen Computeranweisungen realisiert werden kann bzw. können.
-
Obwohl der Gegenstand im Vorstehenden im allgemeinen Kontext von durch einen Computer ausführbaren Anweisungen eines Computerprogrammprodukts beschrieben wurde, das auf einem Computer und/oder auf Computern ausgeführt wird, werden Fachleute erkennen, dass diese Offenbarung ebenso in Kombination mit anderen Programmmodulen realisiert werden kann. Programmmodule beinhalten im Allgemeinen Routinen, Programme, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben durchführen und/oder bestimmte abstrakte Datentypen realisieren. Darüber hinaus wird Fachleuten klar sein, dass die erfindungsgemäßen, mittels Computer realisiertes Verfahren mit Hilfe anderer Computersystemkonfigurationen in die Praxis umgesetzt werden können, darunter Computersystem mit einem oder mehreren Prozessoren, Mini-Datenverarbeitungseinheiten, Großrechner sowie handgehaltene Datenverarbeitungseinheiten (z.B. PDA, Telefon), auf Mikroprozessoren beruhende oder programmierbare Unterhaltungs- oder Industrieelektronik und dergleichen. Die veranschaulichten Aspekte können außerdem in verteilten Datenverarbeitungsumgebungen praktisch umgesetzt werden, in denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. Jedoch können einige, wenn nicht alle Aspekte dieser Offenbarung auf eigenständigen Computern in die Praxis umgesetzt werden. Bei einer verteilten Datenverarbeitungsumgebung können sich Programmmodule sowohl auf lokal als auch auf entfernt angeordneten Hauptspeichereinheiten befinden.
-
In dem in dieser Anmeldung verwendeten Sinne können die Begriffe „Komponente“, „System“, „Plattform“, „Schnittstelle“ usw. eine mit Computern im Zusammenhang stehende Einheit oder eine Einheit bezeichnen oder diese beinhalten, die im Zusammenhang mit einer betriebsfähigen Maschine mit einer oder mehreren bestimmten Funktionalitäten steht. Bei den hierin offenbarten Einheiten kann es sich entweder um Hardware, eine Kombination aus Hardware und Software, Software oder Software in Ausführung handeln. Bei einer Komponente kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um einen auf einem Prozessor ausgeführten Prozess, einen Prozessor, ein Objekt, ein ausführbares Element, einen Ausführungs-Thread, ein Programm und/oder einen Computer handeln. Zur Veranschaulichung kann es sich sowohl bei einer auf einem Server ausgeführten Anwendung als auch bei dem Server um eine Komponente handeln. Eine oder mehrere Komponenten können sich innerhalb eines Prozesses und/oder Ausführungs-Threads befinden, und eine Komponente kann sich auf einem Computer befinden und/oder auf zwei oder mehr Computer verteilt sein. Bei einem weiteren Beispiel können jeweilige Komponenten von verschiedenen, durch einen Computer lesbare Medien ausgeführt werden, auf denen verschiedene Datenstrukturen gespeichert sind. Die Komponenten können über lokale und oder entfernt angeordnete Prozessoren Daten austauschen, zum Beispiel gemäß einem Signal, das ein oder mehrere Datenpakete enthält (z.B. Daten von einer Komponente, die mit einer anderen Komponente in einem lokalen System, verteilten System und/oder über ein Netzwerk wie zum Beispiel das Internet mit anderen Systemen über das Signal in Wechselwirkung steht). Weiterhin beispielhaft kann es sich bei einer Komponente um eine Vorrichtung mit einer bestimmten Funktionalität handeln, die durch mechanische Teile bereitgestellt wird, die durch elektrische oder elektronische Schaltungen betätigt werden, die durch eine Software- oder Firmware-Anwendung betrieben werden, die durch einen Prozessor ausgeführt wird. In einem derartigen Fall kann sich der Prozessor innerhalb oder außerhalb der Vorrichtung befinden und zumindest einen Teil der Software- oder Firmware-Anwendung ausführen. Als noch weiteres Beispiel kann es sich bei einer Komponente um eine Vorrichtung handeln, die eine bestimmte Funktionalität über elektronische Schaltungen ohne mechanische Teile bereitstellt, wobei die elektronischen Komponenten einen Prozessor oder andere Mittel beinhalten können, um Software oder Firmware auszuführen, die zumindest teilweise die Funktionalität der elektronischen Komponenten überträgt. Bei einem Aspekt kann eine Komponente eine elektronische Komponente über eine virtuelle Maschine emulieren, z.B. innerhalb eines Cloud-Computing-Systems.
-
Darüber hinaus ist der Begriff „oder“ so zu verstehen, dass er ein einschließendes „oder“ und nicht ein ausschließendes „oder“ bezeichnet. Das bedeutet, dass, sofern nichts anderes angegeben ist oder aus dem Kontext ersichtlich ist, mit dem Ausdruck „X nutzt A oder B“ beliebige der natürlichen einschließenden Permutationen gemeint sind. Das bedeutet, dass, wenn A durch X genutzt wird; B durch X genutzt wird; oder X sowohl A als auch B nutzt, „X nutzt A oder B“ unter beliebigen der vorstehend genannten Fälle erfüllt ist. Des Weiteren sollten die Artikel „ein“ und „eine“ in dem in der Beschreibung des Gegenstands und in den beigefügten Zeichnungen verwendeten Sinne generell so ausgelegt werden, dass sie „ein/eine/eines oder mehrere“ bedeuten, sofern nichts anderes angegeben oder aus dem Kontext ersichtlich ist, dass es sich um eine Einzahlform handelt. Im hierin verwendeten Sinne werden die Ausdrücke „Beispiel“ und/oder „beispielhaft“ in der Bedeutung von „als Beispiel, Exemplar oder der Veranschaulichung dienend“ verwendet. Um jegliche Zweifel auszuschließen, ist der hierin offenbarte Gegenstand nicht auf derartige Beispiele beschränkt. Darüber hinaus sind beliebige Aspekte oder Gestaltungsformen, die hierin als „Beispiel“ und/oder „beispielhaft“ beschrieben sind, weder zwangsläufig als gegenüber anderen Aspekten oder Gestaltungsformen bevorzugt oder vorteilhaft auszulegen, noch sollen sie gleichwertige beispielhafte Strukturen und Techniken ausschließen, die Fachleuten bekannt sind.
-
In dem in der Beschreibung des Gegenstands verwendeten Sinne kann der Begriff „Prozessor“ im Wesentlichen beliebige Datenverarbeitungseinheiten oder Einheiten bezeichnen, die, ohne auf diese beschränkt zu sein, Prozessoren mit einem Kern; Prozessoren mit einem Kern und einer Fähigkeit zur Multithread-Ausführung von Software; Prozessoren mit mehreren Kernen; Prozessoren mit mehreren Kernen und einer Fähigkeit zur Multithread-Ausführung von Software; Prozessoren mit mehreren Kernen und Hardware-Multithread-Technologie; Parallelplattformen; und Parallelplattformen mit gemeinsam genutztem verteilten Speicher aufweisen. Darüber hinaus kann der Begriff „Prozessor“ eine integrierte Schaltung, eine anwendungsspezifische integrierte Schaltung (Application Specific Integrated Circuit, ASIC), einen digitalen Signalprozessor (DSP), ein vor Ort programmierbares Gate-Array (Field Programmable Gate Array, FPGA), eine speicherprogrammierbare Steuerung (SPS), eine Complex Programmable Logic Device (CPLD), eine Transistorlogik oder Logik mit diskreten Gattern, diskrete Hardwarekomponenten oder beliebige Kombinationen davon bezeichnen, die ausgelegt sind, um die hierin beschriebenen Funktionen durchzuführen. Ferner können Prozessoren Nanoarchitekturen nutzen wie zum Beispiel, ohne auf diese beschränkt zu sein, Molekular- oder Quantenpunkttransistoren, Schalter und Gatter, um die Raumausnutzung zu optimieren oder das Betriebsverhalten von Benutzergeräten zu verbessern. Ein Prozessor kann außerdem als Kombination aus Datenverarbeitungseinheiten realisiert sein. In der vorliegenden Offenbarung werden Begriffe wie zum Beispiel „speichern“, „Speicher“, „Datenspeicher“, „Datenbank“, „Datenbank“ und im Wesentlichen beliebige andere Informationsspeicherkomponenten genutzt, die für den Betrieb und die Funktionalität einer Komponente von Bedeutung sind, um „Speicherkomponenten“, in einem „Speicher“ verkörperte Einheiten oder Komponenten zu bezeichnen, die einen Speicher aufweisen. Es sollte klar sein, dass es sich bei Speicher und/oder Speicherkomponenten, die hierin beschrieben sind, entweder um flüchtigen Speicher oder nicht flüchtigen Speicher handeln kann oder dieser Speicher bzw. diese Speicherkomponenten sowohl flüchtigen als auch nicht flüchtigen Speicher beinhalten können. Zur Veranschaulichung und nicht als Einschränkung können zum nicht flüchtigen Speicher Nur-Lese-Speicher (read only memory, ROM), programmierbarer ROM (PROM), elektrisch programmierbarer ROM (EPROM), elektrisch löschbarer ROM (electrically erasable ROM, EEPROM), Flash-Speicher oder nicht flüchtiger Direktzugriffsspeicher (random access memory, RAM) (z.B. ferroelektrischer RAM (FeRAM) gehören. Flüchtiger Speicher kann RAM beinhalten, der zum Beispiel als externer Cachespeicher fungieren kann. Zur Veranschaulichung und nicht als Einschränkung ist RAM in vielen Formen verfügbar, zum Beispiel als synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM) und Rambus dynamic RAM (RDRAM). Darüber hinaus sollen die hierin offenbarten Speicherkomponenten von Systemen oder mittels Computer realisierten Verfahren diese und beliebige andere geeignete Arten von Speicher einschließen, ohne auf diese beschränkt zu sein.
-
Die oben aufgeführte Beschreibung beinhaltet lediglich Beispiele von Systemen und mittels Computer realisierten Verfahren. Es ist selbstverständlich nicht möglich, jede denkbare Kombination aus Komponenten oder mittels Computer realisierten Verfahren zum Beschreiben dieser Offenbarung zu beschreiben, aber Fachleute können erkennen, dass viele weitere Kombinationen und Abwandlungen dieser Offenbarung möglich sind. Des Weiteren sind in dem Ausmaß, in dem die Begriffe „beinhaltet“, „enthält“, „besitzt“ und dergleichen in der ausführlichen Beschreibung, in den Ansprüchen, Anhängen und Zeichnungen verwendet werden, derartige Begriffe als in einer ähnlichen Weise einschließend gedacht, in der der Begriff „aufweisen/aufweisend“ als „enthalten/enthaltend“ interpretiert wird, wenn er in einem Anspruch als Übergangswort verwendet wird.
-
Die Beschreibungen der verschiedenen Ausführungsformen sollen der Veranschaulichung dienen, sind jedoch nicht als vollständig oder auf die Erfindung in der offenbarten Form beschränkt gedacht. Für den Fachmann sind viele Modifikationen und Variationen denkbar, ohne dass diese eine Abweichung vom Schutzbereich der beschriebenen Ausführungsformen darstellen würden. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung bzw. die technische Verbesserung gegenüber den auf dem Markt vorgefundenen Technologien auf bestmögliche Weise zu erläutern bzw. anderen mit entsprechenden Fachkenntnissen das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.