Nehmen wir an, wir haben ein Optimierungsproblem in der Form:
wobei eine Zielfunktion ist, sind Ungleichheitsbeschränkungen und Gleichheitsbeschränkungen.
Kürzlich habe ich über das adiabatische Quantencomputing gelesen . Die Wikipedia sagt:
Zunächst wird ein (möglicherweise komplizierter) Hamilton-Operator gefunden, dessen Grundzustand die Lösung des interessierenden Problems beschreibt. Als nächstes wird ein System mit einem einfachen Hamilton-Operator vorbereitet und auf den Grundzustand initialisiert. Schließlich wird der einfache Hamiltonianer adiabatisch zum gewünschten komplizierten Hamiltonianer entwickelt. Nach dem adiabatischen Theorem bleibt das System im Grundzustand, so dass am Ende der Zustand des Systems die Lösung des Problems beschreibt. Es wurde gezeigt, dass adiabatisches Quantencomputing im Schaltungsmodell polynomiell äquivalent zu herkömmlichem Quantencomputing ist.
Gibt es eine allgemeine Methode, um das Optimierungsproblem (z. B. wie oben dargestellt) im Hamilton-Formalismus auszudrücken, der beim adiabatischen Quantencomputing verwendet wird ?
quelle
Antworten:
Wie in den Kommentaren angefordert, ist hier ein Beispiel. Der Hauptteil befasst sich mit der Minimierung vonf(x) für ein bestimmtes Problem. Unten folgt eine kurze Diskussion der Einschränkungen, dann eine kurze Diskussion des allgemeinen Falls.
Lösen wir seitdem das Problem des gewichteten maximalen Schnitts
Um das Problem zu verstehen, beginnen wir mit einem ungerichteten Graphen vonn Eckpunkten {V} , wobei jeder Eckpunkt vi∈V das Gewicht wi≥0 und jede Kante, die vi und vj verbindet, ein Gewicht wij≥0 . Wir schneiden dann die Grafik in zwei Teile. Der Schnitt muss nicht gerade sein, darf sich aber nicht selbst schneiden und darf keine Kante zweimal schneiden. Dann berechnen wir eine " Auszahlung " P für unseren Schnitt. Die Auszahlung ist die Summe der Gewichte der Kanten, die wir durchschneiden, plus der Summe der Gewichte der Eckpunkte auf einer Seite des Schnitts. 11
Quelle
In diesem Bild wäre die Auszahlung1+4+3+3+2=13 für die Kanten plus 5 + 6 + 1 = 12 für die Eckpunkte → P.= 25 (vorausgesetzt, die Zahl in jedem Eckpunkt ist sein Gewicht). Das Optimierungsproblem besteht darin, P. für einen gegebenen Graphen zu maximieren . 22
Um dies mathematisch zu schreiben, können wir in Bitfolgen denken. Wir definieren einen Schnitt durch ein Strings ∈ { 0 , 1 }n wobei sich= 0 → vich ist nicht in der Summe gezählt und si=1→vi wird in der Summe gezählt. Um die Mathematik ein wenig sauberer zu machen, wenn der Graph nicht vollständig verbunden ist, machen Sie den Graph vollständig verbunden und setzen Sie wij=0 für alle nicht verbundenen Paare vi,vj .
Wenn wir beispielsweise das obige Bild noch einmal betrachten, interpretieren wir die Zahlen innerhalb der Scheitelpunkte als Scheitelpunktindex anstelle des oben angenommenen Gewichts. Dann entspricht der gezeichnete Schnitts=100011 . s1=s5=s6=1→v1,v5,v6 sind auf der "guten" Seite des Schnitts und werden gezählt, während s2=s3=s4=0 auf der "schlechten" Seite sind. Seite des Schnitts und werden nicht gezählt.
Dies ermöglicht es uns dann, P ( s ) = ∑ i s i w i + ∑ i , j s i ( 1 - s j ) w i j zu schreibenP(s)=∑isiwi+∑i,jsi(1−sj)wij
Der erste Term zählt nur die Gewichte aller Eckpunkte auf der "guten" Seite des Schnitts. Der zweite Term zählt das Gewicht einer Kante, wenn sich die Eckpunkte, die sie verbindet, auf gegenüberliegenden Seiten des Schnitts befinden. Beachten Sie, dass dies nicht doppelt zählt, da es nur die Kante zählt, wennsi=1,sj=0 und nicht, wenn si=0,sj=1 .
Unser Optimierungsproblem besteht nun darin, die Zeichenfolges , die P(s) maximiert . Die Idee hier ist, P(s) als ein Maß für die Energie eines Systems und s als den Zustand des Systems zu betrachten. Dies bedeutet, dass wir P(s) mit unserem Hamilton-Operator in Beziehung setzen können . Es gibt hier eine leichte Subtilität, dass wir versuchen, P(s) zu maximieren, aber wir sprechen normalerweise darüber, den Grundzustand eines Hamiltonianers zu finden. Dies ist kein Problem, aber ich wollte darauf hinweisen - wir können stattdessen den angeregten Zustand mit der höchsten Energie (Anti-Boden-Zustand, wenn Sie so wollen) betrachten oder −P(s) als unsere Energiefunktion arbeiten dann wie gewohnt mit dem Grundzustand. Lassen Sie uns mit dem höchsten angeregten Zustand arbeiten undP maximieren.
Wir möchten einen Hamilton-Operator so erstellen, dass sein höchster Energiezustand|s0⟩ , so daß P(s0) , maximal ist. Im Wesentlichen wollen wir drehen P(s) , eine Energiefunktion, in H , einen Energiebetreiber. Wir tun dies, indem wir feststellen, dass für | s ⟩ & egr ; { | 0 ⟩ , | 1 ⟩ } wir haben I - ZH^ |s⟩∈{|0⟩,|1⟩} I−Z2|s⟩=s|s⟩→ define s^i=I−Zi2
WobeiZi das Pauli Z , das auf Qubit i wirkt . Jetzt bekommen wir unsere Hamilton - durch Ersetzen s mit s (und 1 mit I ) in Ps^ I P
Dies kann durch Erweitern und Anzeigen von ∑ i , j ( Z i - Z j ) = 0 → bereinigt werden∑i,j(Zi−Zj)=0→
Wir können dies noch weiter bereinigen, indem wir mit 2 multiplizieren und eine konstante Energieverschiebung entfernen (dieI Terme löschen ). Neuer Hamilton-Operator mit denselben Eigenzuständen mit skalierten und verschobenen Eigenwerten (die maximale Energie wird von diesen Transformationen eindeutig nicht beeinflusst)
Wenn Sie ein Physiker der kondensierten Materie sind, werden Sie diesen Hamiltonianer wahrscheinlich als Ising-Spinglas erkennen. Nicht wirklich relevant für das Problem, aber ich finde es cool.
Jetzt haben wir also einen Hamilton-Operator, dessen (Anti-) Grundzustand die Bitfolges0 codiert, die P(s) maximiert und das Problem löst.
Das Letzte, was wir brauchen, ist ein anfänglicher Hamilton-H0 , den wir langsam (adiabatisch) in unseren endgültigen Hamilton- H umwandeln, damit wir den vollständigen Hamilton- HT(t)=(1−f(t))H0+f(t)H:f(0)=0,f(tf)=1
Als Ausgangspunkt wirdf(t)∝t der Einfachheit halber häufig verwendet. Das Minimum tf wird durch die gewünschte Genauigkeit und die Spektrallücke 3 bestimmt . Die spektrale Lücke ist die minimale Energiedifferenz über alle t zwischen dem (Anti) Grundzustand und dem nächsten Energiezustand. Die Analyse der Lücke ist höchst nicht trivial (siehe https://arxiv.org/abs/quant-ph/0509162 ) und bestimmt die Komplexität / Effizienz des Algorithmus. Es ist nicht garantiert, dass ein Algorithmus mit einer Lücke von 0 überhaupt funktioniert.3 t
Wir wollen also einH0 so dass
Für dieses Problem ist ein guter anfänglicher Hamilton-OperatorH0=∑iXi weil sein höchster Energiezustand leicht zu finden ist, es ist |+⟩⊗n . Es ist einfach vorzubereiten, wenden Sie einfach H⊗n auf |0⟩⊗n . Ich habe keine Zeit, mich mit der Analyse der spektralen Lücke zu befassen, aber dieser Hamilton-Operator ist in dieser Hinsicht wahrscheinlich nicht ideal (siehe https://arxiv.org/abs/1701.05584 ).
Einschränkungen
Der allgemeine Fall
quelle