Kontext:
Ich habe versucht, den genetischen Algorithmus zu verstehen, der in der Arbeit Zerlegung einheitlicher Matrizen zum Auffinden von Quantenschaltungen diskutiert wurde : Anwendung auf molekulare Hamiltonianer (Daskin & Kais, 2011) (PDF hier ) und Optimierungsalgorithmus für Gruppenleiter (Daskin & Kais, 2010) . Ich werde versuchen, zusammenzufassen, was ich bisher verstanden habe, und dann meine Fragen stellen.
Betrachten wir das Beispiel des Toffoli-Tors in Abschnitt III-A im ersten Artikel. Aus anderen Quellen wie dieser wissen wir , dass etwa 5 Zwei-Qubit-Quantentore benötigt werden, um das Toffoli-Gate zu simulieren. Wir wählen also willkürlich eine Reihe von Toren wie . Wir beschränken uns auf maximal Tore und erlauben uns, nur die Tore aus der Tormenge . Jetzt generieren wir Gruppen von zufälligen Zeichenfolgen wie:
1 3 2 0,0; 2 3 1 0,0; 3 2 1 0,0; 4 3 2 0,0; 2 1 3 0.0
In der obigen Zahlenfolge sind die ersten fettgedruckten Zahlen die Indexnummer der Tore (dh ), die letzten Zahlen sind die Werte der Winkel in und die mittleren ganzen Zahlen sind das Ziel-Qubit bzw. das Kontroll-Qubit. Es würde solcher anderen zufällig erzeugten Zeichenketten geben.
Unsere Gruppen sehen jetzt so aus (im Bild oben) mit und . Die Fitness jeder Saite ist proportional zur Spurentreue Dabei istdie einheitliche Matrixdarstellung, die einem von uns erzeugten String entspricht, unddie einheitliche Matrixdarstellung des 3-Qubit-Toffoli-Gatters. Der Gruppenleiter in einer Gruppe ist derjenige mit dem Maximalwert von .
Sobald wir die Gruppen haben, folgen wir dem Algorithmus:
Die Gl. (4) im Bild erwähnt ist im Grunde:
1 3 2 0.0; 2 3 1 0.0; 3 2 1 0.0; 4 3 2 0.0; 2 1 3 0.0
ist das Element 3
. In diesem Zusammenhang nehmen wir und . Das heißt, in jeder Iteration werden alle Zeichenfolgen gemäß der Regel mutiert: Für jede Zeichenfolge in jeder Gruppe werden die einzelnen Elemente (Zahlen) in der Zeichenfolge gemäß Gl. (4).
Außerdem,
Zusätzlich zur Mutation wird in jeder Iteration für jede Gruppe der Population eine Einwegkreuzung (auch als Parameterübertragung bezeichnet) zwischen einem ausgewählten zufälligen Mitglied aus der Gruppe und einem zufälligen Mitglied aus einer anderen zufälligen Gruppe durchgeführt. Diese Operation ersetzt hauptsächlich einen zufälligen Teil eines Mitglieds durch den äquivalenten Teil eines zufälligen Mitglieds aus einer anderen Gruppe. Der Betrag der Übertragungsoperation für jede Gruppe wird durch einen Parameter definiert, der als Übertragungsrate bezeichnet wird und hier als
wobei der Zähler die Anzahl der Variablen ist, die bei der Optimierung eine numerische Zeichenfolge bilden.
Fragen:
Woher wissen wir, wenn wir diesen Algorithmus anwenden, um die Zerlegung eines zufälligen Gates zu finden, wie viele und welche Art von elementaren Gates wir in unserem Gate-Set aufnehmen müssen? Im obigen Beispiel haben sie . Aber ich vermute, dass diese Wahl nicht völlig willkürlich war (?) Oder hätten wir auch etwas Zufälliges wie wählen können ? Auch die Tatsache, dass sie nur verwendet
Ist meine Erklärung / mein Verständnis (ab Absatz 3) des Algorithmus nach dem Teil (in "Kontext"), in dem die Auswahl des Gate-Satzes und die Anzahl der Gates besprochen wurden, korrekt?