263 39 3MB
English Pages 310 Year 2008
Leserstimmen zur vorangegangenen Auflage: „Exzellent. Ein ideales Lehrbuch für Studierende mit mathematischen Grundkenntnissen, aber ohne tiefgehendes physikalisches Wissen. Der Autor hat exakt das Abstraktionsniveau gefunden, das für Informatikkurse zu Beginn des Hauptstudiums vorausgesetzt werden kann. Auch zum Selbststudium sehr zu empfehlen, bzw. zum Masterstudium.“ Dr. Peter Schroeder-Heister, Uni Tübingen
„Grafisch sehr ansprechend, fokussiert auf die inhaltlichen Schwerpunkte, gut zu lesen.“ Prof. Dr. Uwe Schöning, Uni Ulm
„Es macht Spass! Didaktisch hervorragend aufbereitet, sehr empfehlenswert.“ Prof. Dr. Burkhard Wrenger, FH Lippe und Höxter
„Besonders gefällt mir die gute Herausarbeitung der Verbindung Informatik – Physik. Die große Anzahl von Aufgaben mit Lösungen motiviert beim Durcharbeiten. /…/ Insgesamt ein didaktisch ausgezeichnetes Buch mit aktuellem und qualitativ sehr gutem Inhalt.“ Prof. Dr. Rudolf Baumgarten-Schmitt, FH Schmalkalden
„Der Versuch ein mathematisch anspruchsvolles Thema möglichst einfach darzustellen: Sehr gut gelungen.“ Dr. Karl Schwarzbeck, FH Regensburg
Computational Intelligence Herausgegeben von Wolfgang Bibel, Rudolf Kruse und Bernhard Nebel
Aus den Kinderschuhen der „Künstlichen Intelligenz“ entwachsen bietet die Reihe breitgefächertes Wissen von den Grundlagen bis in die Anwendung, herausgegeben von namhaften Vertretern ihres Faches. Computational Intelligence hat das weitgesteckte Ziel, das Verständnis und die Realisierung intelligenten Verhaltens voranzutreiben. Die Bücher der Reihe behandeln Themen aus den Gebieten wie z.B. Künstliche Intelligenz, Softcomputing, Robotik, Neuro- und Kognitionswissenschaften. Es geht sowohl um die Grundlagen (in Verbindung mit Mathematik, Informatik, Ingenieurs- und Wirtschaftswissenschaften, Biologie und Psychologie) wie auch um Anwendungen (z.B. Hardware, Software, Webtechnologie, Marketing, Vertrieb, Entscheidungsfindung). Hierzu bietet die Reihe Lehrbücher, Handbücher und solche Werke, die maßgebliche Themengebiete kompetent, umfassend und aktuell repräsentieren.
Unter anderem sind erschienen: Information Mining von Thomas A. Runkler Methoden wissensbasierter Systeme von Christoph Beierle und Gabriele Kern-Isberner Neuro-Fuzzy-Systeme von Detlef Nauck, Christian Borgelt, Frank Klawonn und Rudolf Kruse Evolutionäre Algorithmen von Ingrid Gerdes, Frank Klawonn und Rudolf Kruse Grundkurs Spracherkennung von Stephan Euler Grundkurs Künstliche Intelligenz von Wolfgang Ertel Quantum Computing verstehen von Matthias Homeister
www.vieweg.de
Matthias Homeister
Quantum Computing verstehen Grundlagen – Anwendungen – Perspektiven 2., aktualisierte und durchgesehene Auflage Mit 88 Abbildungen
Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliographie; detaillierte bibliografische Daten sind im Internet über abrufbar.
Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor übernimmt infolgedessen keine Verantwortung und wird keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne von Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürfen. Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion und Auslieferung unserer Bücher wollen wir die Umwelt schonen: Dieses Buch ist auf säurefreiem und chlorfrei gebleichtem Papier gedruckt. Die Einschweißfolie besteht aus Polyäthylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe freisetzen.
1. Auflage 2005 2. Auflage 2008 Alle Rechte vorbehalten © Friedr. Vieweg & Sohn Verlag | GWV Fachverlage GmbH, Wiesbaden 2008 Lektorat: Sybille Thelen / Andrea Broßler Der Vieweg-Verlag ist ein Unternehmen von Springer Science+Business Media. www.vieweg.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de Druck und buchbinderische Verarbeitung: MercedesDruck, Berlin Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier. Printed in Germany ISBN 978-3-8348-0436-5
V
Inhaltsverzeichnis
Vorwort
IX
1 Einleitung 1.1 Eine neue Art des Rechnens . . . . . . . . . . . . . . . . . . ¨ 1.2 Uber dieses Buch . . . . . . . . . . . . . . . . . . . . . . .
1 1 8
2 Vom Bit zum Quantenregister 2.1 Was ist eine Berechnung? . . . . . . . . . . . . . . . . . . . 2.1.1 Die Turingmaschine . . . . . . . . . . . . . . . . . . 2.1.2 Schaltkreise . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Der Sprung in die Quantenwelt: Schr¨odingers Katze . 2.2 Das Quantenbit . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Rechenschritte auf einem Quantenbit . . . . . . . . . . . . . 2.4 Der erste Algorithmus: Ein Zufallsgenerator . . . . . . . . . 2.5 Quantenregister . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Der zweite Algorithmus: Das Problem von Deutsch . . . . . 2.7 Die Rolle des Tensorprodukts . . . . . . . . . . . . . . . . . 2.8 Das Messen von Quantenregistern . . . . . . . . . . . . . . 2.9 Noch einmal das Problem von Deutsch . . . . . . . . . . . . 2.10 Bestandsaufnahme: Die drei Prinzipien des Quantum Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11 Verschr¨ankung . . . . . . . . . . . . . . . . . . . . . . . . . 2.12 Die Hadamard-Transformation und mehrere Bits . . . . . . . 2.13 Der Algorithmus von Deutsch-Jozsa . . . . . . . . . . . . .
9 10 13 14 17 20 23 26 28 33 37 44 50
3 Vom Quantenregister zum Quantenschaltkreis 3.1 Laufzeit . . . . . . . . . . . . . . . . . . . . . 3.2 Klassische Schaltkreise und Komplexit¨at . . . . 3.3 Quantengatter und Quantenschaltkreise . . . . 3.4 Quantenbits kopieren: Das No-Cloning-Theorem 3.5 Umkehrbare Berechnungen . . . . . . . . . . . 3.6 Unterscheidbare Zust¨ande . . . . . . . . . . . . 3.7 Gest¨ orte Berechnungen . . . . . . . . . . . . .
. . . . . . .
67 68 75 76 81 84 93 95
4 Hilfsmittel aus der Theoretischen Informatik 4.1 Komplexit¨atsklassen . . . . . . . . . . . . . . . . . . . . . . 4.2 Randomisierte Algorithmen . . . . . . . . . . . . . . . . . . 4.2.1 Mit dem Zufall rechnen . . . . . . . . . . . . . . . .
101 101 106 106
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
51 53 59 62
VI
Inhaltsverzeichnis
4.3 4.4 4.5
4.2.2 Ein Primzahltest . . . . . . . . . . . 4.2.3 Probabilistische Komplexit¨atsklassen Unl¨ osbare Probleme? NP-Vollst¨andigkeit . . Quantenkomplexit¨atstheorie . . . . . . . . . Die Churchsche These . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
107 110 114 118 121
5 Teleportation und dichte Kodierung 125 5.1 Quantenteleportation . . . . . . . . . . . . . . . . . . . . . 127 5.2 Dichte Kodierung . . . . . . . . . . . . . . . . . . . . . . . 131 5.3 Verschr¨ankte Bits . . . . . . . . . . . . . . . . . . . . . . . 133 6 Suchen 6.1 Die Nadel im Heuhaufen . . . . . . . . . . . . . . . 6.2 Die Grover-Iteration . . . . . . . . . . . . . . . . . . 6.3 Eine geometrische Veranschaulichung . . . . . . . . . 6.4 Varianten der Quantensuche . . . . . . . . . . . . . 6.4.1 Suche nach einer von mehreren L¨osungen . . 6.4.2 Suche bei unbekannt vielen L¨osungen . . . . 6.4.3 Die Suche nach dem Minimum . . . . . . . . 6.4.4 Z¨ahlen . . . . . . . . . . . . . . . . . . . . . 6.5 Anwendungen von Grovers Algorithmus . . . . . . . 6.6 Grovers Algorithmus ist von optimaler Gr¨oßenordnung 6.7 Folgen f¨ ur die F¨ahigkeiten von Quantencomputern . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
137 138 140 146 153 153 155 156 159 159 161 166
7 Geheime Botschaften 7.1 Alice, Bob und Eve . . . . . . . . . . . . . . 7.2 Quantenverschl¨ usselung: das BB84-Protokoll . 7.3 Lauschstrategien . . . . . . . . . . . . . . . . 7.4 Quantenverschl¨ usselung mit Verschr¨ankung .
. . . .
. . . .
. . . .
. . . .
169 170 175 183 188
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung 8.1 Faktorisierung und Verschl¨ usselung: RSA-Kryptographie . . 8.2 Die Suche nach Perioden . . . . . . . . . . . . . . . . . . 8.3 Die schnelle Fouriertransformation . . . . . . . . . . . . . 8.4 Die Quanten-Fouriertransformation . . . . . . . . . . . . . 8.5 Simons Algorithmus . . . . . . . . . . . . . . . . . . . . . 8.6 Shors Algorithmus . . . . . . . . . . . . . . . . . . . . . . 8.7 Jenseits von Shor . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
193 194 199 207 214 218 223 231
9 Quantenhardware 9.1 Anforderungen . . . . . . . . . . . . . . . 9.2 Dekoh¨arenz . . . . . . . . . . . . . . . . 9.3 Photonen . . . . . . . . . . . . . . . . . 9.3.1 Mach-Zehnder-Interferometer . . . 9.3.2 Kryptographie . . . . . . . . . . . 9.4 Kernspinresonanz . . . . . . . . . . . . . 9.5 Ionenfallen . . . . . . . . . . . . . . . . . 9.6 Einwegberechnungen mit Clusterzust¨anden
. . . . . . . .
237 237 238 241 241 244 248 249 251
. . . . . . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Inhaltsverzeichnis 10 Zur Geschichte der Quantenmechanik 10.1 Max Planck: das Quantum der Wirkung . 10.2 Albert Einstein: Spukhafte Fernwirkung . 10.3 Niels Bohr: Kopenhagen . . . . . . . . . . 10.4 Werner Heisenberg: Ein großes Quantenei 10.5 Erwin Schr¨odinger: Katzen und Wellen . . 10.6 Zur Geschichte des Quantencomputers . .
VII
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
255 255 257 258 261 263 264
A Mathematische Grundlagen A.1 Komplexe Zahlen . . . . . . . . . . . . . . . . . . A.2 Vektorr¨aume . . . . . . . . . . . . . . . . . . . . . A.2.1 Was sind Vektorr¨aume? . . . . . . . . . . . A.2.2 Basen und Unterr¨aume . . . . . . . . . . . A.2.3 Winkel und Abst¨ande in einem Vektorraum A.2.4 Projektionen . . . . . . . . . . . . . . . . . A.3 Matrizen . . . . . . . . . . . . . . . . . . . . . . . A.4 Kombinatorik und Wahrscheinlichkeit . . . . . . . . A.5 Ganze Zahlen . . . . . . . . . . . . . . . . . . . . A.5.1 Teiler und Vielfache . . . . . . . . . . . . . A.5.2 Modulares Rechnen . . . . . . . . . . . . . A.5.3 Zur Division . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
267 267 269 269 271 272 274 275 277 279 279 279 281
. . . . . .
. . . . . .
. . . . . .
. . . . . .
¨ B L¨ osungen ausgew¨ ahlter Ubungsaufgaben
283
Literatur
291
Symbole und Abk¨ urzungen
297
Quantengatter
298
Namen- und Sachwortverzeichnis
299
IX
Vorwort Zwei wissenschaftliche Revolutionen pr¨agten die erste H¨alfte des 20. Jahrhunderts. Zum einen legten Pioniere wie Konrad Zuse, Alan Turing und John von Neumann die Grundlagen f¨ ur den Bau der ersten praktikablen Rechenmaschinen. Zum anderen st¨ urzte das klassische Weltbild der Physik, seit den Tagen Newtons erweitert, aber kaum ver¨andert, in sich zusammen. Um den Aufbau der Materie zu verstehen, wurde eine radikal neue Theorie geschaffen. Die Quantenmechanik ver¨anderte unsere Auffassung von der Realit¨at so sehr, dass auch viele ihrer Sch¨ opfer vor den Konsequenzen zur¨ uckschreckten. Diese wissenschaftlichen Revolutionen zogen sehr schnell technische nach sich. Wie sehr der Computer unsere heutige Gesellschaft, unser Welt- und Menschenbild pr¨agt, steht jedem vor Augen. Weniger bewusst ist vielen, dass die Quantenmechanik unseren Alltag ebenso beeinflusst. Erst die quantenmechanische Beschreibung des Atoms machte es m¨oglich, Halbleiter und den Laser zu entwickeln; das Transistorradio, der CD-Spieler und moderne Computerhardware sind Folgen der Quantenmechanik. In den letzten Jahrzehnten wurden diese beiden Wissenschaften zusammengef¨ uhrt, es entstand ein neuer interdisziplin¨arer Zweig namens Quantum Computing. Das Ziel ist, Quantencomputer zu bauen, Quantenalgorithmen zu entwickeln und zu untersuchen, welche Konsequenzen die Quantenmechanik f¨ ur die Informations¨ ubertragung hat. Es gibt verschiedene Ausl¨oser f¨ ur diese Entwicklung, am wichtigsten sind die beiden folgenden: 1. Die grundlegenden Bauteile unserer Rechner werden immer kleiner. Wenn diese Entwicklung im aktuellen Tempo fortschreitet, wird es im Jahr 2020 Bauteile von der Gr¨ oße eines einzelnen Atoms geben. F¨ ur Hardwarekomponenten dieser Gr¨ oßenordnung gelten die Gesetze der klassischen Physik nicht mehr, und man muss sich auf die Quantenmechanik einlassen. 2. Computer, welche die Gesetze der Quantenmechanik f¨ ur sich ausnutzen, k¨ onnen Aufgaben erledigen, die f¨ ur herk¨ommliche Rechner unm¨ oglich sind. Dazu geh¨ oren absolut abh¨ orsichere Nachrichten¨ ubertragung, die Teleportation von Information, das Erzeugen echter Zufallszahlen und das Knacken von Verschl¨ usselungsmethoden, die zur Zeit als sicher gelten. Dabei geht es um Probleme, die herk¨ommliche onnen, egal wie sich ihre LeisRechner grunds¨atzlich nicht l¨ osen k¨ tungsf¨ahigkeit steigern wird. Zur Zeit kann noch niemand absehen, welche Konsequenzen diese Entwicklung haben wird, da niemand weiß, wie die k¨ unftigen Quantencomputer
X
Vorwort aussehen werden und wie aufw¨andig ihre Herstellung und ihr Betrieb sein wird. Einiges deutet jedoch darauf hin, dass wir gerade Zeugen einer neuen wissenschaftlichen Revolution sind. Unter Laborbedingungen sind Quantencomputer l¨angst Realit¨at, und die Medien berichten regelm¨aßig u ¨ber neue Erfolge bei der Suche nach praktikabler Quantenhardware. Am weitesten ist man bei der Umsetzung von Verschl¨ usselungsverfahren. Verschiedene Firmen bieten bereits Quantenkryptographieger¨ate an, und Anfang 2004 wurde in Wien mit großem Medienecho die erste mit Quantenprinzipien verschl¨ ussel¨ te Bank¨ uberweisung verschickt. Offentliche und private Stellen investieren j¨ahrlich mehrstellige Millionenbetr¨age in die neue Verschl¨ usselungstechnik, und kaum geringer sind die Anstrengungen, die in den Bau der Quantencomputer selbst gesetzt werden. Bedeutende H¨ urden sind u ¨berwunden worden, und die bisherigen Fortschritte stimmen optimistisch, wobei noch viele Herausforderungen zu meistern sind. Der erste praktisch einsetzbare Quantencomputer wird noch etwas auf sich warten lassen, aber unsere Auffassung vom Rechnen selbst, von dem, was ein Computer leisten kann, hat sich bereits ver¨andert. Jeder Informatikstudent lernt im ersten Semester die Churchsche These kennen. Ihre moderne Fassung lautet: L¨asst sich ein Problem von irgendeiner physikalisch realisierbaren Rechenmaschine effizient berechnen, so l¨asst es sich von einer (randomisierten) Turingmaschine effizient berechnen. Das stimmt so nicht mehr. Quantencomputer sind physikalisch realisierbar, wenn sie auch bisher nur mit wenigen Bits und unter Laborbedingungen rechnen. Und sie k¨onnen Probleme l¨ osen, an denen herk¨ommliche Computer nach dem Stand der Wissenschaft scheitern. Aber auch f¨ ur das Verst¨andnis der physikalischen Realit¨at werden Informationsprozesse immer wichtiger. Die Forschung rund um den Quantencomputer hat nicht nur das Potential, eine neue Technologie hervorzubringen, sondern auch unser Weltbild zu ver¨andern. Information k¨onnte ein grundlegenderes Prinzip sein als die klassischen physikalischen Begriffe Materie oder Energie. Wir sind also Zeugen der Entstehung einer neuen Wissenschaft, der eine rasante Entwicklung bevorsteht. Kenntnisse in einigen ihrer Bereiche haben dadurch eine geringe Halbwertszeit. Was ein Quantencomputer ist und was er kann, wird in diesem Buch an Hand von Quantenalgorithmen erl¨autert, also an konkreten Rechenverfahren. Dieser theoretische Zugang bereitet den Leser auch auf k¨ unftige Entwicklungen vor. Man denke daran, dass die Ideen Zuses, Turings und von Neumanns heute nichts von ihrer G¨ ultigkeit verloren haben und aus der Antike stammende Algorithmen noch immer praktisch eingesetzt werden. Leider trauen sich viele Interessierte nicht zu, sich mit diesem neuen Gebiet n¨aher auseinander zu setzen. Quantenmechanik ist ein voraussetzungsreiches Gebiet, in das man sich nicht mal eben so einarbeitet. Um jedoch zu verstehen, wie Quantencomputer rechnen, gen¨ ugen zun¨achst wenige quantenmechanische Prinzipien. Es sind einfache Prinzipien, auch wenn sie naturgem¨aß unanschaulich sind. Dieses Buch stellt sie so anwendungsorientiert wie m¨ oglich dar und ist f¨ ur Leser ohne besondere Vorkenntnisse geschrieben.
Vorwort Ein typischer Leser dieses Buches k¨ onnte ein Informatikstudent nach den Grundvorlesungen sein, aber genauso jede andere Person mit mathematischen Grundkenntnissen. Der Leser wird so schnell wie m¨oglich die Arbeitsweise von Quantenrechnern verstehen k¨ onnen und die wichtigen Algorithmen kennen lernen. Die fortgeschrittenen Kapitel vermitteln vertieftes Wissen und bereiten auf die Forschungsliteratur vor. Um dieses Buch f¨ ur Leser ohne Informatikkenntnisse lesbar zu machen, werden wichtige Begriffe, wie Berechnung oder Algorithmus, umfassend eingef¨ uhrt. Lesern, deren Mathematikkenntnisse aus Schule oder Studium verblasst sind, hilft ein Abschnitt im Anhang, der Themen wie komplexe Zahlen, Vektorr¨aume und Matrizen behandelt. G¨ ottingen und Hannover, 1. Juli 2005 Matthias Homeister
Zur zweiten Auflage Die vielen positiven Reaktionen auf die erste Auflage dieses Buches scheinen das Konzept zu best¨atigen, die Grundlagen des Quantum Computing auf wenige, einfache Prinzipien zur¨ uckzuf¨ uhren. Offenbar gibt es Bedarf nach einem Buch, das auch Leser ohne Vorkenntnisse schrittweise in das interdisziplin¨are Thema einf¨ uhrt. F¨ ur die zweite Auflage wurde das Buch aktualisiert und gr¨ undlich durchgesehen: die Darstellungsweise wurde verbessert und einige Beweise vereinfacht. Die umfassendsten Ver¨anderungen ergeben sich dabei in den Kapiteln 6-9. Einige Leser regten an, das Kapitel u ¨ber Quantenhardware zu einer grundlegenden Einf¨ uhrung in das Thema umzugestalten. Dies ließe sich mit dem Anspruch des Buchs, keine speziellen Vorkenntnisse zu erfordern, leider nicht vereinbaren, da jeder Ansatz zur physikalischen Realisierung f¨ ur sich sehr voraussetzungsreich ist. Jenes Kapitel soll eine Idee davon vermitteln, wie ¨ ein Quantencomputer prinzipiell realisiert werden kann, und einen Uberblick u ¨ber den derzeitigen Stand der Entwicklung geben. Hamburg, 15. September 2007 Matthias Homeister
XI
XII
Vorwort Danksagung Viele Menschen halfen bei der Entstehung dieses Buches, ich m¨ochte mich an dieser Stelle f¨ ur alle Hinweise bedanken. Namentlich danke ich Dagmar Bruß, Carsten Damm, Christoph D¨ urr, Maike Tech, Philip Walther, Harald Weinfurter, Stephan Waack und insbesondere Hecke Schrobsdorff, dessen unerm¨ udliche Unterst¨ utzung als Korrektor und Gespr¨achspartner f¨ ur das Gelingen dieses Buches wesentlich war. Cornelia Caspary danke ich f¨ ur die wunderbaren Illustrationen. F¨ ur viele Hinweise und eine sehr engagierte Zusammenarbeit danke ich dem Herausgeber Prof. Dr. Wolfgang Bibel und Dr. Reinald Klockenbusch vom Vieweg Verlag.
1
1 Einleitung Eine neue wissenschaftliche Wahrheit pflegt sich nicht in der Weise durchzusetzen, dass ihre Gegner ¨ uberzeugt werden und sich als belehrt erkl¨ aren, sondern vielmehr dadurch, dass die Gegner allm¨ ahlich aussterben, und dass die heranwachsende Generation von vornherein mit der Wahrheit vertraut gemacht ist. Max Planck
Diese Einleitung vermittelt einen ersten Eindruck vom Nutzen der Quantenmechanik f¨ ur die Informatik. Zur Orientierung geben die Randbemerkungen das Kapitel an, in dem das angesprochene Thema detailliert behandelt wird; wir folgen dabei nicht streng dem Inhaltsverzeichnis.
1.1 Eine neue Art des Rechnens Unsere heutigen Computer, so verzwickt ihre Technologie auch sein mag, funktionieren letztlich nach den gleichen Grundprinzipien wie die fr¨ uhen Rechenmaschinen. Das soll nicht heißen, seit Konrad Zuses mechanischer Bin¨arziffernrechenmaschine Z1 von 1938 oder seit der Difference Engine, die Charles Babbage zu Anfang des 19. Jahrhunderts entworfen hat, seien keine Fortschritte gemacht worden. Die Computertechnologie entwickelt sich rasant, und neue Architekturen f¨ uhren zu immer schnelleren und leistungsf¨ahigeren Rechnern. Trotzdem kann man die Etappen des Wegs von Zahnrad u ohre und Transistor zum miniaturisierten Schaltkreis ¨ber Relais, R¨ als verschiedene technische Umsetzungen der gleichen Idee betrachten. Ein Schritt von ganz anderer Reichweite wird mit der Entwicklung von Quantenrechnern getan, eine ganz neue Art des Rechnens wird hier realisiert. Es ist fast, als w¨ urden f¨ ur Quantencomputer andere Naturgesetze gelten. Das ist nat¨ urlich so nicht korrekt, allerdings gelten in der Welt der
2
1 Einleitung
Abbildung 1.1: So ein klassischer Parallelrechner hat mit einem Quantencomputer wenig gemeinsam
Kapitel 2: Grundlagen
kleinsten Teilchen Gesetze, die uns sehr fremd und ungew¨ohnlich vorkommen. Quantencomputer verhalten sich zu unseren heutigen Rechnern, wie die Quantenphysik zur klassischen Physik in der Nachfolge Newtons. Darum werden wir immer dann den Begriff klassisch verwenden, wenn es um die heutigen Rechner geht. Wie funktioniert er also, der Quantencomputer? Diese Frage wollen wir so schnell wie m¨ oglich beantworten, denn die Antwort darauf ist die Vorraussetzung f¨ ur die andere, ebenso wichtige Frage: Was kann der Quantencomputer tun? Ein Stichwort werden viele Leser schon kennen: die Rede ist vom Quantenparallelismus. W¨ahrend in einem klassischen Computer ein Bit entweder auf 0 oder auf 1 gesetzt ist, kann ein Quantenbit beide Werte gleichzeitig annehmen, anders ausgedr¨ uckt, sich in zwei Zust¨anden gleichzeitig befinden. Man spricht von Superposition.1 Noch deutlicher wird der Unterschied bei mehreren Bits: ein klassischer Rechner kann mit n Bits 2n verschiedene Zahlen darstellen, zu jedem Zeitpunkt aber nur eine davon speichern. Ein Quantenrechner kann mit ebenso vielen Quantenbits 2n Zahlen gleichzeitig darstellen. Und mehr noch, ein Quantenalgorithmus kann in einem einzelnen Rechengang auf allen m¨ oglichen Eingaben gleichzeitig rechnen, und wir erhalten eine Superposition aller Ergebnisse. Trotzdem sind Quantencomputer etwas ganz anderes als Parallelrechner. In vielen Bereichen werden heute Computer eingesetzt, die mit mehreren Prozessoren ausgestattet sind und mehrere Rechnungen gleichzeitig ausf¨ uhren, siehe Abbildung 1.1. Mit solchen Rechnern hat ein Quantencom¨ puter keine Ahnlichkeit. Zun¨achst k¨onnen wir auf die erw¨ahnte Superposition von L¨ osungen nicht so einfach zugreifen. Die Welt der Quantenmechanik ist 1
Der Begriff gleichzeitig ist jedoch nicht mehr als eine veranschaulichende Metapher. Was unter einer Superposition zu verstehen ist, zeigt Kapitel 2.
1.1 Eine neue Art des Rechnens so empfindlich, dass der Versuch, ein Quantenbit zu lesen, im Allgemeinen seinen Zustand beeinflusst. Wir m¨ ussen dazu etwas tun, was Messen eines Quantenbits genannt wird und f¨ ur uns eine große Rolle spielen wird. Beim Messen wird die Superposition zerst¨ ort, und wir bekommen, mehr oder weniger zuf¨allig, eines der Rechenergebnisse. Wir erfahren noch nicht einmal, zu welcher der gleichzeitig ausgef¨ uhrten Berechnungen es geh¨ort. Man muss geschickt vorgehen, um aus einer solchen Superposition die gew¨ unschte Information zu erhalten. Dabei spielt die sogenannte Interferenz eine wichtige Rolle. Die vielleicht wichtigste Eigenheit von Quantenbits nennt sich Verschr¨ankung. Zwei verschr¨ankte Quantenbits k¨ onnen sich n¨amlich auf eine eigent¨ umliche Weise beeinflussen, auch wenn Sie sich an weit entfernten Orten befinden. Ver¨andert man nun das erste Bit, kann gleichzeitig das zweite Bit beeinflusst werden. Albert Einstein nannte dieses Ph¨anomen spukhafte Fernwirkung und mochte diese Konsequenz der Quantenmechanik nicht hinnehmen. Mittlerweile wurde es experimentell best¨atigt, und Verschr¨ankung zu nutzen ist im Quantum Computing fast schon Routine. Eine wirklich u ¨berraschende Eigenschaft ist, dass man mit Hilfe von Quantenbits Information teleportieren kann. Mag das auch nach Science Fiction klingen, mit den Hilfsmitteln aus Kapitel 2 l¨asst sich das Prinzip leicht erkl¨aren. Die ersten Teleportationen wurden schon 1997 durchgef¨ uhrt, und zwar von Anton Zeilingers Innsbrucker Forschungsgruppe. Im Sommer 2004 wurde in Wien die Donau u ¨berwunden, also in der rauhen Realit¨at außerhalb des Labors. Mit der Teleportation eng verbunden ist die M¨oglichkeit der dichten Kodierung. F¨ ur die klassische Informationstheorie ist das Bit das elementare Maß f¨ ur Information. Dagegen lassen sich mit einem einzelnen Quantenbit scheinbar zwei klassische Bits u ¨bertragen. Ein Algorithmus von großer praktischer Bedeutung wurde 1996 von Lov Grover ver¨ offentlicht, der f¨ ur die Bell Labs von Lucent Technologies in New Jersey arbeitet. Er hat festgestellt, dass Quantencomputer sehr viel schneller suchen k¨onnen als klassische Computer. Versetzen wir uns in folgende Situation: Wir ben¨ otigen aus einer Datenbank einen bestimmten Eintrag. Die Eintr¨age sind jedoch v¨ ollig unstrukturiert abgelegt, nicht nach einem f¨ ur uns wichtigen Kriterium sortiert. Es ist so, als h¨atten wir eine New Yorker Telefonnummer und m¨ ussten herausbekommen, auf wen der Anschluss angemeldet ist. Wir haben auch schon mehrmals die Nummer gew¨ahlt, aber nie hat sich jemand gemeldet. Uns bleibt nun nichts anderes u ¨brig, als im Telefonbuch Anschluss f¨ ur Anschluss durchzugehen. Hat das Telefonbuch eine Million Eintr¨age, m¨ ussen wir im Schnitt 500.000 Eintr¨age pr¨ ufen. Wenn wir Pech haben, ist erst die zuletzt gepr¨ ufte Nummer die gesuchte. Mit einem Quantencomputer gen¨ ugt es, 1000 mal auf die Eintr¨age zuzugreifen. Genauer, wollen wir ein bestimmtes √Element in einer Datenbank der Gr¨oße N suchen, kommen wir dabei mit N Aufrufen aus. Grovers Algorithmus zur Datenbanksuche bietet eine quadratische Beschleunigung gegen¨ uber dem klassischen Fall. Suchalgorithmen dieser Art haben viele Anwendungen, zum Beispiel in der Kryptographie. Klassische Verschl¨ usselungssysteme wie etwa DES kann man
3
Zu Kapitel 5: Teleportation
Kapitel 6: Schnelle Datenbanksuche
4
1 Einleitung
Kapitel 8: Wie man RSA knackt
Kapitel 7: Kryptographie
knacken, indem man alle m¨ oglichen Schl¨ ussel ausprobiert. Ihre Sicherheit liegt in der puren Anzahl der m¨oglichen Schl¨ ussel. Im Falle von DES etwa ussel. Ein klassischer Rechner, der eine Million Schl¨ ussel sind es 1016 Schl¨ pro Sekunde testet, braucht etwa 317 Jahre, um alle Schl¨ ussel durchzuprobieren. Ein Quantenrechner, der die Schl¨ ussel ebenso schnell durchprobiert, braucht dazu gut anderthalb Minuten. Er braucht n¨amlich nur 108 Schl¨ ussel durchzuprobieren, es ist, als w¨aren die Schl¨ ussel nur halb so lang. Die Grundidee von Grovers Algorithmus l¨asst sich auf verschiedene ¨ahnliche Situationen u ¨bertragen. So sind Quantencomputer im gleichen Maß schneller, wenn unser Suchschema auf mehrere Eintr¨age zutrifft oder wenn wir in diesem Fall die Anzahl der Eintr¨age mit einer bestimmten Eigenschaft z¨ahlen wollen. Andererseits ist Grovers Algorithmus in der Gr¨oßenordnung optimal, das heißt mehr als eine quadratische Beschleunigung ist nicht m¨ oglich. So wie der klassische Computer in einer Datenbank der Gr¨oße N im schlechtesten Fall N − 1 Elemente betrachten muss, √ braucht ein Quantencomputer von der Gr¨ oßenordnung her mindestens N Aufrufe. Noch bekannter als Grovers Algorithmus ist ein Verfahren, das 1993 von Peter Shor an den AT&T Labs entwickelt wurde. Shors Algorithmus zerlegt ganze Zahlen effizient in ihre Primfaktoren, also zum Beispiel 60 in folgendes Produkt von Primzahlen: 2 · 2 · 3 · 5. Das scheint nur auf den ersten Blick ein langweiliges, akademisches Problem zu sein. Denn klassische Computer brauchen dazu nach allgemeiner Annahme exponentielle Rechenzeit. Man ist von dieser Vermutung so ¨ uberzeugt, dass die Sicherheit von RSA, einem der wichtigsten Public-Key-Verschl¨ usselungssysteme auf dieser Vermutung beruht. Denn solange Computer ganze Zahlen nur in exponentieller Zeit in ihre Primfaktoren zerlegen k¨ onnen, ist das Verfahren sehr sicher. Shors Quantenalgorithmus faktorisiert Zahlen effizient, somit ist der Quantencomputer in der Lage, eines der wichtigsten Verschl¨ usselungssysteme zu knacken. Mit dem gleichen Ansatz l¨asst sich der diskrete Logarithmus berechnen. Das ist ein weiteres Problem, das f¨ ur den klassischen Computer nach heutigem Wissen nicht l¨ osbar ist und darum zur Verschl¨ usselung genutzt wird. Die Algorithmen von Grover und Shor, werden bereits erfolgreich von Quantencomputern ausgef¨ uhrt, wenn auch nur f¨ ur kleine Eingaben. So wurde in einem IBM-Labor bereits 2001 die Zahl 15 faktorisiert und zwar von einem Quantencomputer, der mit sieben Bits rechnen kann. Grovers Algorithmus lief bereits kurz nach der Ver¨offentlichung auf einem Drei-BitRechner. Anfang 2005 wurde er auf einem neuartigen Rechnertyp realisiert, der die Quantensuche mit einer gr¨oßeren Zahl von Bits sehr aussichtsreich erscheinen l¨asst (siehe Abschnitt 9.6). Quantencomputer sind damit geeignet, wichtige Verschl¨ usselungssysteme zu knacken. Das hat zu großem o¨ffentlichen Interesse gef¨ uhrt, denn sichere Daten¨ ubertragung ist von nationalem Interesse und hat direkte Aus¨ wirkungen auf die Okonomie. Man denke nur an Internethandel und OnlineBanking. Gleichzeitig eignen sich Quantenbits aber auch zum Aufbau von neuartigen Verschl¨ usselungssystemen, die einen Grad an Sicherheit bieten, der mit anderen Mitteln nicht erreichbar ist. Die Grundsituation der Datensicherheit wird klassischerweise wie folgt dargestellt. Alice m¨ochte Bob eine
1.1 Eine neue Art des Rechnens
5
Nachricht schicken, ohne dass Eve (von englisch eavesdropper, Lauscher) diese einsehen kann. Verwenden Alice und Bob Quantenbits, k¨onnen sie ihre Nachricht so pr¨aparieren, dass ein Lauschangriff sofort auffliegt. Denn wenn Eve die Nachricht erfahren m¨ ochte, muss sie die Quantenbits messen. Sind Alice und Bob geschickt vorgegangen, k¨onnen sie einen solchen Lauschversuch jedoch feststellen, weil Eves Zugriff die Bits ver¨andert hat. Nun gut, mag man hier einwenden, man bemerkt es, aber Eve kennt die Nachricht trotzdem. Um zu erl¨autern, warum ein solches Verfahren trotzdem sehr n¨ utzlich ist, m¨ ussen wir etwas ausholen. Es gibt ein klassisches Verschl¨ usselungssystem, das mathematisch beweisbar absolut sicher ist: OneTime Pads, entwickelt 1917 von dem amerikanischen Mathematiker Gilbert Vernam. Es hat nur einen Nachteil: es verwendet einen sehr langen Schl¨ ussel, der nur einmal verwendet werden kann und den sowohl Alice als auch Bob vor der Daten¨ ubertragung kennen m¨ ussen. Er muss also transportiert werden, und das ist der Schwachpunkt der One-Time Pads. Diese u ¨bernimmt das Quantenverschl¨ usselungssystem. Wenn Eve versucht, etwas ¨uber den Schl¨ ussel zu erfahren, wird das bemerkt. Alice und Bob verwenden schon u ussels nicht und unternehmen zu einem anderen ¨bertragene Teile des Schl¨ Zeitpunkt einen neuen Versuch. Quantenkryptographiesysteme werden bereits kommerziell angeboten. Die Quantenbits werden dabei mit Photonen realisiert, mit Lichtquanten also. Diese lassen sich zum Beispiel mit bereits bestehenden Glasfaserleitungen u ¨bertragen. Klassische Rechner scheitern an der Aufgabe, Quantensysteme zu simulieren. Das Studium von Prozessen auf Quantenebene k¨onnte zum Beispiel f¨ ur den Entwurf neuer Werkstoffe genutzt werden, und Quantenrechnern ist dies nat¨ urlich m¨ oglich. Interessant ist der daraus folgende Umkehrschluss: Wenn die Quantenwelt f¨ ur unsere klassischen Rechner zu komplex ist, m¨ usste dann nicht ein Quantencomputer weitaus komplexere Aufgaben l¨osen k¨onnen als ein herk¨ ommlicher? Diese Idee hat der amerikanische PhysikNobelpreistr¨ager Richard Feynman 1982 ge¨außert.
Simulation von Quantenprozessen
Aber wie steht es um den Bau von Quantenrechnern? Alle bisher geschilderten Verfahren wurden in Prototypen umgesetzt, aber nur unter Laborbedingungen und mit kleinen Eingaben. Es wird wahrscheinlich Jahrzehnte dauern, bis es Rechner gibt, die die Algorithmen von Shor und Grover auf uhren. Das ist ein Grund, warum in diesem praktisch relevante Weise ausf¨ Buch Quantenhardware nur am Rande eine Rolle spielt: wie praktisch einsetzbare Quantencomputer aussehen werden, weiß niemand. Allerdings wird das Ergebnis vermutlich kein Quanten-PC sein, der alle Aufgaben heutiger Rechner u ur sehr spezielle Aufgaben ¨bernimmt. Quantenrechner sind f¨ geeignet. Man k¨ onnte sich vorstellen, dass klassische Rechner die Benutzeroberfl¨achen zur Verf¨ ugung stellen werden und weiterhin all das tun, was sie gut k¨ onnen. Nur wenn eine Aufgabe zu erledigen ist, an der sie selbst scheitern w¨ urden, greifen sie auf einen Quantenrechner zur¨ uck. Leichter umsetzbar sind Verfahren, die Quantenbits zum Datenaustausch verwenden. Wie erw¨ahnt, gibt es Quantenkryptographiesysteme bereits k¨auflich zu erwerben.
Kapitel 9: Praktische Umsetzung
6
1 Einleitung Kapitel 3: Eigenschaften von Qubits
Allerdings gibt es auch Dinge, die f¨ ur klassische Rechner selbstverst¨andlich sind, sich mit Quantenbits jedoch nicht machen lassen. So besagt das No-Cloning-Theorem, dass man ein Quantenbit nicht kopieren kann. Eine andere Besonderheit des Quantencomputers ist, dass alle seine Rechenschritte umkehrbar oder reversibel sind. F¨ ur klassische Berechnungen gibt es keine solche Einschr¨ankung. Dazu betrachten wir eine einfache logische Operation, die Konjunktion oder Verundung zweier Bits b1 und b2 mit dem Symbol ∧: b1 ∧ b2 ist gerade dann 1, wenn beide Bits 1 sind, wie in der folgenden Wahrheitstafel dargestellt. ∧ 0 1
Kapitel 4: Komplexit¨at
0 0 0
1 0 1
Erhalten wir als Ergebnis dieser Operation das Ergebnis 1, ist klar, dass die beiden Eingabebits den Wert 1 hatten, und der Rechenschritt ist umkehrbar. Im anderen Fall allerdings gibt es drei M¨oglichkeiten f¨ ur die Belegungen von b1 und b2 , und wir k¨ onnen den Rechenschritt nicht r¨ uckg¨angig machen. Damit stellt sich die Frage, ob ein Quantencomputer all das berechnen kann, was ein klassischer Computer berechnen kann. Es w¨are durchaus denkbar, dass die Forderung von umkehrbaren Berechnungen eine zu große Beschr¨ankung ist und dass bestimmte sehr einfache Aufgaben pl¨otzlich aufw¨andig werden, wenn jeder Schritt umkehrbar gemacht wird. Gl¨ ucklicherweise ist es nicht so. Umkehrbare Berechnungen wurden schon untersucht, als man nicht an Quantenrechner dachte. Dabei hat sich herausgestellt, dass gew¨ ohnliche Rechnungen in reversible umgeformt werden k¨onnen. Interessant ist der Grund f¨ ur die erw¨ahnten Untersuchungen: das L¨oschen eines Bits in einem Computer setzt W¨arme frei. Umgekehrt verbrauchen umkehrbare Berechnungen – bei diesen darf nichts gel¨oscht werden – theoretisch keine Energie. Die W¨armeentwicklung ist angesichts der Miniaturisierung der Schaltkreise ein großes Problem. Zur Zeit werden in den Vereinigten Staaten von Amerika etwa f¨ unf Prozent der erzeugten Energie von Computern verbraucht; und zwar haupts¨achlich von den K¨ uhlelementen. Eine Kernfrage unserer Thematik ist die folgende: Was kann der Quantencomputer berechnen, woran ein klassischer Computer scheitert? Zum einen stehen dem Quantencomputer M¨oglichkeiten offen, die jedem klassischen Rechner grunds¨atzlich verwehrt sind. Dazu z¨ahlen zum Beispiel Teleportation und die Erzeugung echter Zufallszahlen. Zum anderen gibt es Probleme, die sich im Prinzip berechnen lassen, jedoch nicht in der Praxis. Das Handwerkszeug zur Untersuchung dieser Frage finden wir in der Komplexit¨atstheorie, wo nach der Effizienz von Berechnungen gefragt wird. Wenn wir in dieser Einleitung sagen, ein Problem lasse sich nicht berechnen, meinen wir stets diesen praktischen Begriff. Ein Schl¨ usselbegriff bei der Untersuchung, welche Probleme sich effizient berechnen lassen, ist NP-Vollst¨andigkeit. Zu den NP-vollst¨andigen Berechnungsproblemen geh¨ oren zun¨achst einmal viele praktisch sehr relevante; zum Beispiel Varianten von Optimierungsproblemen, mit denen sich Produktions-
1.1 Eine neue Art des Rechnens oder Informationsprozesse verbessern lassen. Ein wichtiges Beispiel f¨ ur ein NP-vollst¨andiges Problem ist das Problem des Handlungsreisenden. Dieser Reisende will eine Reihe von St¨adten besuchen und am Ende wieder am Ausgangspunkt ankommen. Ihn interessiert nun die k¨ urzeste solche Rundur dieses Problem k¨ onnte man aber nicht nur reise.2 Einen Algorithmus f¨ als Routenplaner einsetzen, das gleiche Problem l¨asst sich auch wie folgt ausdr¨ ucken. Ein Roboterarm mit Bohrer soll eine Platine mit Tausenden L¨ochern versehen. Optimiere seinen Weg! Eine Eingabe ist also eine Liste von zu besuchenden Orten samt der Entfernungen zwischen je zwei dieser Orte. Ein Algorithmus f¨ ur das Problem des Handlungsreisenden muss f¨ ur jede dieser Eingaben das optimale Ergebnis liefern. Im Prinzip l¨asst sich das Problem l¨ osen, indem man alle m¨ oglichen Rundreisen durchprobiert. Das ist allerdings praktisch undurchf¨ uhrbar. Denn die Zahl der m¨oglichen Rundreisen w¨achst ungeheuer schnell. Sind es f¨ ur f¨ unf St¨adte nur 120, gibt es zwischen 10 St¨adten schon u ur keinen ¨ber drei Millionen Rundreisen, was f¨ PC ein Problem ist. Aber f¨ ur 50 St¨adte, was ja nun nicht sehr viel ist, hat die Anzahl der Rundreisen bereits 64 Nullen. Es gibt eine magische Grenze: die vermutete Anzahl der Atome im Weltall ist eine Zahl mit 78 Nullen. Erh¨ohen wir die Anzahl der St¨adte auf 58, hat die Zahl der Rundreisen diese Grenze u uber bezeichnen wir Probleme als effizient ¨berschritten. Demgegen¨ berechenbar, deren Berechnungsaufwand in der Eingabegr¨oße deutlich langsamer w¨achst. Alle NP-vollst¨andigen Probleme haben zwei Dinge gemein: 1. Zur Zeit l¨asst sich keines effizient berechnen. 2. Wenn man eine effiziente L¨ osung f¨ ur eines dieser Probleme gefunden hat, lassen sich alle effizient l¨ osen. Die Komplexit¨atstheoretiker glauben recht einm¨ utig, dass sich keines dieser Probleme effizient l¨ osen l¨asst. Dieses offene Problem hat unter dem Namen der P ungleich NP-Hypothese eine gewisse Ber¨ uhmtheit erlangt. Dem, der sie beweist oder widerlegt, winkt ein Geldpreis von einer Million Dollar, siehe [27]. Wenn es m¨ oglich w¨are, mit dem Quantencomputer NPvollst¨andige Probleme effizient zu l¨ osen, w¨are das ein ungeheurer Fortschritt. Mit einem Schlag w¨are eine große Zahl sehr wichtiger Probleme mit dem ¨ Quantencomputer effizient l¨ osbar, f¨ ur die das klassisch nicht gilt. Ubrigens ist das von Shor untersuchte Faktorisierungsproblem (siehe oben) vermutlich nicht NP-vollst¨andig. Allerdings gibt es Hinweise darauf, dass Quantencomputer NP-vollst¨andige Probleme nicht l¨ osen k¨ onnen. Wir diskutieren sie in Abschnitt 6.6, wo unter anderem der Zusammenhang zwischen NP-vollst¨andigen Problemen und Suchalgorithmen erl¨autert wird. Trotzdem bieten Quantenrechner faszinierende M¨ oglichkeiten. Man geht davon aus, dass der eigentliche Durchbruch, die Entdeckung weiterer hocheffizienter Quantenalgorithmen, erst noch bevor steht. Vielleicht inspiriert dieses Buch ja einige Leser dazu, neue Quantenalgorithmen f¨ ur klassisch nicht l¨ osbare Probleme zu entwickeln. 2
Korrekter w¨ are es, die Entscheidungsvariante zu betrachten: Gibt es eine Rundreise k¨ urzer als zum Beispiel 500 km?
7
8
1 Einleitung
¨ 1.2 Uber dieses Buch
Vorkenntnisse
Aufbau
¨ Ubungen
Online-Service
Dieses Buch f¨ uhrt Leser ohne besondere Vorkenntnisse in ein sich rasant entwickelndes interdisziplin¨ares Gebiet ein. Die wichtigsten Ergebnisse aus den Bereichen Quantum Computing wie zum Beispiel Grovers Suchalgorithmus oder Shors Faktorisierungsalgorithmus werden detailliert dargestellt. Zudem werden Ergebnisse wie Teleportation und Quantenkryptographie pr¨asentiert, die man im englischen Sprachraum dem Gebiet Quantum Information zuordnet. Ben¨ otigt werden nur Grundkenntnisse der Mathematik wie Vektorr¨aume, komplexe Zahlen und Grundbegriffe der Wahrscheinlichkeitstheorie. Insbesondere sind keine besonderen Physikkenntnisse n¨otig. Zum Verst¨andnis von Quantenalgorithmen gen¨ ugen wenige quantenmechanische Begriffe, die in Abschnitt 2.10 zu drei Prinzipien zusammengefasst werden. Da dieses Buch ohne Vorkenntnisse gelesen werden kann und durchg¨angig anschaulich und verst¨andlich sein soll, ergeben sich zwei Beschr¨ankungen: Dieses Buch ist keine Einf¨ uhrung in die Quantenphysik, und das sehr voraussetzungsreiche Thema Hardware des Quantencomputers wird nur oberfl¨achlich behandelt. Sicher wird die Lekt¨ ure den Einstieg in diese Themen dennoch vereinfachen. Kapitel 2 bildet die Grundlage aller weiteren Kapitel: hier werden die Grundbegriffe eingef¨ uhrt, und der Leser lernt die ersten Quantenalgorithmen kennen. Auch die Kapitel 3 und 4 haben grundlegenden Charakter; deren Lekt¨ ure kann jedoch zun¨achst zur¨ uckgestellt werden. Die den verschiedenen Anwendungen gewidmeten Kapitel 5 bis 8 sind weitgehend unabh¨angig voneinander. Der mathematische Anhang stellt in komprimierter Form wichtige Begriffe und Aussagen zur Verf¨ ugung. ¨ Die Ubungsaufgaben bilden einen wichtigen Teil des Buches, und bei einigen sind die L¨ osungen f¨ ur die weitere Lekt¨ ure n¨otig. Darum findet der Leser am Ende des Buches L¨ osungen zu den meisten Aufgaben. Auf der Seite www.num.math.uni-goettingen.de/homeiste/qc finden sich Materialien zum Buch, Downloads und Links. Sollten Sie Anregungen zu diesem Buch haben oder einen Fehler finden, schicken Sie bitte eine E-Mail an [email protected], damit Ihre Hinweise in der n¨achsten Auflage ber¨ ucksichtigt werden k¨onnen.
9
2 Vom Bit zum Quantenregister Der Anfang enth¨ alt also beides, Sein und Nichts; ist die Einheit von Sein und Nichts, – oder ist Nichtsein, das zugleich Sein, und Sein, das zugleich Nichtsein ist. Georg Wilhelm Friedrich Hegel
Dieses Kapitel ist das Fundament f¨ ur alle weiteren. Wir studieren Quantenbits und die Rechenschritte eines Quantencomputers und erfahren, was Messen und Verschr¨ankung bedeuten. Dabei wenden wir diese Begriffe sofort an und lernen die ersten Algorithmen kennen, und zwar f¨ ur Probleme, bei denen der Quantencomputer klassischen Rechnern u ¨berlegen ist. Als klassisch bezeichnen wir alles, was sich verh¨alt, wie wir es aus unserer Alltagswelt gewohnt sind. Davon unterscheiden wir die nichtklassischen Ph¨anomene der Quantenwelt. Betrachten wir folgendes Spiel. Wir sollen herausbekommen, ob eine M¨ unze echt oder eine plumpe F¨alschung ist. Der echten M¨ unze ist auf der Vorderseite eine Zahl eingepr¨agt, der R¨ uckseite das Brandenburger Tor. Bei der falschen M¨ unze sind beide Seiten gleich. Wie oft m¨ ussen wir uns die M¨ unze ansehen, um eine F¨alschung zu erkennen? Zweimal, da wir beide Seiten betrachten m¨ ussen. In der Quantenwelt gen¨ ugt ein Blick, wenn wir eine Superposition beider Seiten erzeugt haben. Das ist der Kern des Problems von Deutsch. Es ist kein praktisch relevantes Problem, es verdeutlicht jedoch bereits die u oglichkeiten, die in Quantenrechnungen ¨berraschenden M¨ liegen. Das Problem von Deutsch-Jozsa a¨hnelt dem nur nach Deutsch benannten, ist jedoch etwas komplexer. An ihm wird die St¨arke von Quantenalgorithmen noch deutlicher. Unsere Aufgabe ist es, etwas u ¨ber ein Bauteil herauszufinden, das eine mathematische Funktion berechnet; es k¨onnte sich um einen Computerchip handeln. Wir haben keinerlei Informationen u ¨ber dieses Bauteil, und uns bleibt nichts anderes u ¨brig, als die n Eing¨ange des Bauteils mit von uns gew¨ahlten Bitfolgen zu belegen und aus dem Ergebnis auf die Funktion zu schließen. Man bezeichnet so ein Bauteil als Black Box oder Orakel.
Behandelte Algorithmen
10
2 Vom Bit zum Quantenregister Um das Problem von Deutsch-Jozsa zu l¨osen, muss ein klassischer Rechner alle 2n Eingaben ausprobieren, w¨ahrend einem Quantenalgorithmus ein einziger Aufruf des Orakels gen¨ ugt. Anhand dieses Algorithmus werden wir die Wirkungsweise der Hadamard-Transformation studieren, die f¨ ur Quantenberechnungen eine große Rolle spielt. Außerdem werden wir sehen, dass Quantencomputer echte Zufallszahlen erzeugen k¨ onnen. Der Ausdruck echt dient zur Abgrenzung von Pseudozufallszahlen, die uns klassische Rechner liefern. Wir werden auch auf die Bedeutung der Zufallszahlen f¨ ur die Informatik eingehen. Beginnen werden wir aber mit der Frage, was ein Rechner klassischerweise tut, wenn er rechnet. Die Rechenschritte eines Quantenrechners sehen ganz anders aus, als jemand erwartet, der einen klassischen Prozessor oder eine h¨ ohere Programmiersprache vor Augen hat. Der Zugang wird erleichtert, wenn wir uns zun¨achst klassische Berechnungen genau ansehen und in ihre grundlegenden Bestandteile zerlegen. Wir betrachten Turingmaschinen und danach Schaltkreise. Quantenschaltkreise sind am besten geeignet, Quantenalgorithmen zu beschreiben und ihre Effizienz zu bewerten.
2.1 Was ist eine Berechnung? Ein Quantencomputer ist ein ziemlich exotisches Ger¨at. Um ihn verstehen zu k¨ onnen, um einzusehen, dass das, was er tut, mit Fug und Recht rechnen genannt wird, betrachten wir zun¨achst, was die allt¨aglichen Computer tun. Diese werden f¨ ur verschiedene Aufgaben genutzt: Wissenschaftler f¨ uhren hochkomplexe Rechnungen, wie Wettervorhersagen oder die Simulation geologischer Vorg¨ange durch. Andere benutzen Computer zur Bearbeitung ihrer Urlaubsfotos oder als Spielkonsolen. In all diesen Anwendungen werden Berechnungen ausgef¨ uhrt: Dem Rechner liegt eine Aufgabenbeschreibung vor, die Eingabe, und dazu liefert er eine L¨osung als Ausgabe. Wir analysieren die dazwischenliegenden Schritte. Schriftliche Addition
Dazu betrachten wir das folgende Beispiel. Ein Mensch l¨ost mit Hilfe eines Stiftes und eines Blattes Papier eine Rechenaufgabe, wie in Abbildung 2.1 dargestellt. Er addiert die Zahlen 39831 und 21584, die untereinander auf dem Blatt stehen. Er geht so vor, wie wir es in der Schule gelernt haben. Er betrachtet zun¨achst die beiden letzten Stellen und addiert sie: 4+1 = 5. Also ist die letzte Stelle der Summe 5, was er auf dem Blatt notiert. ¨ 8 + 3 = 11: die n¨achste Stelle der Summe ist 1 und auch den Ubertrag 1 notiert unser Rechner. So f¨ahrt er fort: seine Berechnung ist in einfache Schritte unterteilbar. In unserem Beispiel geh¨ort dazu die Addition zweier einstelliger Zahlen. Aber auch das Lesen und Schreiben von Ziffern, der Test, ob eine Zahl gr¨ oßer 9 ist, und die Zerlegung einer solchen Zahl in zwei Stellen betrachten wir als einfache Schritte. Eine Berechnung ist eine Folge einfacher Rechenschritte.
2.1 Was ist eine Berechnung?
11
Abbildung 2.1: Rechner beim Addieren
Diese Definition ist zwar sehr intuitiv, hat aber zwei Probleme. Zun¨achst ist der Begriff einfach nicht klar: in unserem Beispiel haben wir ihn willk¨ urlich festgelegt. Zudem ist es wenig erhellend, den Begriff Berechnung unter R¨ uckgriff auf den Begriff Rechenschritt zu definieren. Darum folgt nun eine abstraktere Definition; mit ihr l¨asst sich leicht beschreiben, wie Quantencomputer rechnen. Betrachten wir den addierenden Menschen mit seinen Hilfsmitteln als eine Einheit, als einen Rechner, so durchl¨auft er eine Reihe von Zust¨anden. Er beginnt in einem Anfangszustand, der durch die Eingabe auf dem Blatt bestimmt ist. Er f¨ uhrt nun Rechenschritte aus: er betrachtet die letzte Stelle der ersten Zahl und ist danach in einen anderen Zustand u ¨bergegangen, zuvor kannte er diese Ziffer noch nicht. Er liest die letzte Stelle der anderen Zahl, addiert beide und schreibt das Ergebnis auf das Blatt. Das sind drei weitere Zustands¨anderungen. In dieser Weise f¨ uhrt jeder Rechenschritt zu einem neuen Zustand, den wir als Zwischenergebnis auffassen k¨onnen. Schließlich bricht die Rechnung in einem Endzustand ab, und das Ergebnis steht auf dem Papier. Damit ist auch der Begriff Rechenschritt gekl¨art, den Begriff einfach werden wir anhand der Turingmaschine erl¨autern. Noch eine Beobachtung ist wichtig: die Entscheidung, welcher Schritt als n¨achstes auszuf¨ uhren ist, h¨angt allein vom aktuellen Zustand ab. Und nicht etwa von fr¨ uheren Zust¨anden oder irgendeinem intuitiven Wissen. Wir fassen zusammen:
Eine Berechnung ist eine Folge von Zust¨anden des Rechners. Jeder Re¨ chenschritt ist ein Ubergang zwischen Zust¨anden und h¨angt allein vom aktuellen Zustand ab.
Definition Berechnung
12
2 Vom Bit zum Quantenregister
Abbildung 2.2: Ein Quantenrechner: er befindet sich in mehreren Zust¨anden gleichzeitig
Ein Quantenrechner kann zu jeder Zeit in mehreren klassischen Zust¨anden gleichzeitig sein, wie in Abbildung 2.2 dargestellt ist. Am Beginn der Einleitung wurde darauf hingewiesen, dass ein Quantenrechner kein Parallelrechner ist. Der Parallelrechner aus Abbildung 1.1 hat viele Arme, jeder muss einzeln angesteuert werden, verbraucht Energie, und alle Arme m¨ ussen koordiniert werden. Ein Quantenrechner besitzt nur einen Arm. Er teilt sich dabei auf eine eigent¨ umliche Weise: es ist, als w¨ urde er in verschiedenen Welten gleichzeitig rechnen, in jeder Welt bearbeitet er eine andere Eingabe. Insofern f¨ uhrt der oft gebrauchte Begriff Quantenparallelismus in die Irre, obwohl ein Quantenrechner tats¨achlich auf mehreren Eingaben gleichzeitig rechnet. Wir werden sagen, der Zustand eines Quantenrechners bestehe aus einer Superposition von Zust¨anden eines klassischen Rechners. Damit wird auch der eigent¨ umliche Charakter von Quantenberechnungen deutlich. Denn ein ¨ Rechenschritt eines solchen Computers ist damit der Ubergang zwischen zwei Superpositionen. Definition Algorithmus
¨ Der folgende Begriff ist mit unseren Uberlegungen eng verbunden: Berechnungen werden durch Algorithmen beschrieben. Ein Algorithmus ist eine Bearbeitungsvorschrift, die so pr¨azise formuliert ist, dass sie von einer Maschine ausgef¨ uhrt werden kann. Eine solche Maschine werden wir nun kennen lernen. Dadurch wird unsere intuitive Definition der Berechnung konkretisiert. Insbesondere k¨ onnen wir festlegen, was ein elementarer, einfacher Rechenschritt ist.
2.1 Was ist eine Berechnung?
13
2.1.1 Die Turingmaschine Die Turingmaschine, man kann sie als einen idealisierten Computer auffassen, stammt von dem britischen Mathematiker Alan Turing (1912-1954). Ihm gelang es damit, Berechnungen so formal zu beschreiben, dass sie wie mathematische Objekte behandelt werden k¨ onnen. Als Vorbild diente ihm der uns schon bekannte Herr am Tisch, der mit Bleistift und Papier eine Matheaufgabe l¨ ost. Eine Turingmaschine besitzt einen Schreib-Lese-Kopf, den sie u ¨ber ein langes Papierband bewegen kann. Das Band ist in K¨astchen eingeteilt. Ein K¨astchen enth¨alt eine 0, eine 1 oder das Leerzeichen. Der Kopf kann nicht nur u ¨ber das Band bewegt werden, sondern er kann das Zeichen an der aktuellen Stelle auch lesen oder ¨ uberschreiben. Was die Maschine tut, regelt die Steuerung. Sie befindet sich in einem internen Zustand; die internen Zust¨ande bilden so etwas wie das Ged¨achtnis der Maschine. Darunter gibt es einen, der immer dann angenommen wird, wenn die Rechnung beendet ist. Dieser interne Zustand ist aber nur ein Teil des Zustands der Turingmaschine. Die Steuerung legt nun fest, wie gerechnet wird, indem feste Regeln ¨ zum Ubergang zwischen Zust¨anden ausgef¨ uhrt werden. Anfangs steht nur die Eingabe auf dem Band. Wie mit ihr gerechnet wird, ist in der Steuerung realisiert: Abh¨angig von • dem K¨astcheninhalt an der Stelle des Kopfes und • dem internen Zustand, wird • das Zeichen unter dem Kopf u ¨berschrieben, • der interne Zustand aktualisiert und • der Kopf einen Schritt nach links oder nach rechts bewegt. Der Zustand der Turingmaschine besteht aus folgenden Teilen: der Position des Kopfes, dem Inhalt des Bandes und dem internen Zustand der Steuerung. Jeder Rechenschritt ¨andert diesen Zustand. Am Ende der Berechnung, durch den erw¨ahnten internen Zustand signalisiert, befindet sich das Ergebnis der Berechnung auf dem Band. Abbildung 2.3 verdeutlicht dieses Konzept. Nun kann man sich eine Turingmaschine konstruieren, die unseren Additionsalgorithmus ausf¨ uhrt; nat¨ urlich angepasst an Bin¨arzahlen. Außerdem ur alle kann man eine sogenannte universelle Turingmaschine angeben, die f¨ m¨ oglichen Berechnungsaufgaben genutzt werden kann. Neben der Eingabe des zu berechnenden Problems, u ¨bergibt man ihr eine Beschreibung des auszuf¨ uhrenden Algorithmus. Das entspricht unserem gewohnten Bild vom Computer. Wir haben nicht f¨ ur jede Aufgabe ein spezielles Ger¨at, sondern
Rechenschritte
14
2 Vom Bit zum Quantenregister
Abbildung 2.3: Turingmaschine bei der Arbeit
k¨ onnen verschiedene Programme ausf¨ uhren, die wir vorher in den Speicher geladen haben. ¨ Aufgabe 2.1: Uberlegen Sie sich die Arbeitsweise einer Turingmaschine f¨ ur das folgende Problem. Zu Beginn befindet sich eine Bin¨arzahl auf dem Band, und der Kopf befindet sich ¨ uber dem letzten Zeichen. Die Turingmaschine erh¨ oht diese Zahl um den Wert 1, sie berechnet also den Nachfolger einer Zahl. Alan Turing entwickelte die nach ihm benannte Maschine, um folgende Frage zu untersuchen: Gibt es Probleme, die sich nicht berechnen lassen? Gleichzeitig legte er damit die Grundlage f¨ ur die ersten universellen Rechner: Rechenmaschinen, die jedes berechenbare Problem l¨osen k¨onnen. Ein Vorzug der Turingmaschine ist, dass der Begriff Berechnung mathematisch untersucht werden kann. Algorithmen lassen sich mit ihr jedoch nur sehr sperrig beschreiben. Dazu eignet sich ein anderes Modell besser, das zus¨atzlich dem technischen Aufbau tats¨achlicher Computer nahe kommt. Diesem ist der n¨achste Unterabschnitt gewidmet.
2.1.2 Schaltkreise Ein sehr anschauliches Modell des Quantencomputers liefern Quantenschaltkreise. Darum bilden sie das grundlegende Berechnungsmodell dieses Buches. Dieser Abschnitt f¨ uhrt klassische Schaltkreise am Beispiel der Addition ein.
2.1 Was ist eine Berechnung?
15
Schaltkreise sind aus einfachen Bauteilen aufgebaut, den Gattern. Wir betrachten Gatter, die einfache Funktionen berechnen. Zum Beispiel hat ein AND-Gatter zwei Eing¨ange und einen Ausgang und berechnet die logische Operation Und. Werden die Eing¨ange mit zwei Bits a und b belegt, liefert der Ausgang genau dann den Wert 1, wenn a und b den Wert 1 haben. Wir verwenden das Symbol ∧. Abbildung 2.4 zeigt eine schematische Darstellung solch eines Gatters und eine Tabelle, die sein Verhalten beschreibt.
a b
AND
a∧b
a 0 1 0 1 b 0 0 1 1 a∧b 0 0 0 1
Abbildung 2.4: Gatter f¨ ur die logische Operation AND Auf nur einem Bit operiert die Negation, das zugeh¨orige Bauteil ist das NOT-Gatter aus Abbildung 2.5. Es liefert gerade dann den Wert 1, wenn das Eingangsbit nicht 1 ist. Weitere wichtige logische Operationen sind Oder und Exklusives Oder. Das logische Oder wird von einem OR-Gatter berechnet. Das Ausgangsbit ist gerade dann 1, wenn mindestens eines der Eingangsbits 1 ist. Bei einem XOR-Gatter f¨ ur das exklusive Oder zweier Bits ist das Ausgangsbit genau dann 1, wenn genau eines der Eingangsbits 1 ist.
a
NOT
a 0 1 a¯ 1 0
a¯
Abbildung 2.5: Gatter f¨ ur die Negation Ein Schaltkreis ist aus Gattern aufgebaut, ¨ahnlich wie sich komplexe Software aus einfachen Modulen konstruieren l¨asst. Dabei werden die Eing¨ange einiger Gatter mit den Ausg¨angen anderer Gatter durch Leitungen oder Dr¨ahte verbunden, auf diese Weise werden die Bits von einem Bauteil zum n¨achsten geleitet. Als Beispiel konstruieren wir einen Schaltkreis, der zwei jeweils drei Bit lange Zahlen addiert. Er wird sechs Eingangsbits und vier Ausgangsbits haben, wie schematisch in Abbildung 2.6 dargestellt ist. Die
a2 a1 a0
ADD b2 b1 b0
c3 c2 c1 c0
Abbildung 2.6: Schematische Darstellung eines 3-Bit-Addierers
Additionsschaltkreis
16
2 Vom Bit zum Quantenregister Ausgangsbits c0 , . . . , c3 stellen bin¨ar die Summe der durch die Eingangsbits a0 , . . . , a2 und b0 , . . . , b2 kodierten Zahlen dar: c3 · 23 + . . . + c0 · 20 = (a2 · 22 + a1 2 + a0) + (b2 · 22 + b1 · 2 + b0). An dieser Stelle ist es n¨ utzlich zu betrachten, wie auf der Menge {0, 1} gerechnet wird. Rechnen in {0, 1}
In der Menge {0, 1} bezeichnen wir die Addition mit ⊕ und die Multiplikation mit ·. Diese Operationen sind wie folgt definiert: ⊕ 0 1
0 0 1
· 0 1
1 1 0
0 0 0
1 0 1
Die Multiplikation entspricht der Operation AND oder ∧, die Addition dem XOR. + und ∑ bezeichnen stets die gewohnte Addition von ganzen oder komplexen Zahlen, w¨ahrend ⊕ die eben definierte Addition von Bits ist.
Der erste Schritt zur Realisierung des Additionsschaltkreises ist in Abbildung 2.7 dargestellt. Aus einem AND-Gatter und einem XOR-Gatter wird ein sogenannter Halbaddierer aufgebaut. Der dicke schwarze Punkt markiert eine Verzweigung, Kreuzungen ohne eine solche Markierung haben keine Bedeutung. Es werden zwei Bits a und b addiert, das Ergebnis besteht aus dem ¨ Summenbit s und einem Ubertragsbit c f¨ ur englisch carry. F¨ ur die dargestellte Zahl gilt a + b = 2c + s, wie auch aus der Tabelle zu ersehen ist.
a b
XOR AND
s c
a b
HA
s c
a b s c
0 0 0 0
1 0 1 0
0 1 1 0
1 1 0 1
Abbildung 2.7: Der Halbaddierer: Schaltkreis, Symbol und Funktionalit¨at Der Halbaddierer ist f¨ ur die Addition der beiden letzten Stellen bestens ¨ geeignet. Bei der Addition h¨ oherer Stellen m¨ ussen wir die Ubertragsbits ber¨ ucksichtigen, die von niedrigeren Stellen geliefert werden. Diese Aufgabe u ¨bernimmt ein Volladdierer, wie in Abbildung 2.8 dargestellt. Er setzt um, dass f¨ ur si , die i−te Stelle der Summe, ¨ si = ai ⊕ bi ⊕ Ubertrag aus der (i − 1)−ten Stelle gilt.
2.1 Was ist eine Berechnung?
a b c
s
HA HA
17
XOR
c
a b c s c
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Abbildung 2.8: Der Volladdierer: Schaltkreis und Funktionalit¨at
Der letzte Schritt zur Konstruktion eines Additionsschaltkreises bleibt dem Leser u ¨berlassen. Aufgabe 2.2: Realisieren Sie unseren Additionsschaltkreis gem¨aß Abbildung 2.6 aus einem Halbaddierer und zwei Volladdierern. Schaltkreise sind ein so anschauliches Berechnungsmodell, dass man eigentlich nicht n¨aher beschreiben muss, wie sie konkret rechnen. Man stellt sich leicht vor, wie die Bits hindurch fließen. Wir wollen noch darauf eingehen, wie Schaltkreise mit unserer Definition der Berechnung als Folge von Zust¨anden des Rechners u ¨bereinstimmen. Dazu ordnen wir den Leitungen nach und nach Werte zu. Die Berechnung beginnt damit, dass die Eingangsbits und die zugeh¨ origen Leitungen gem¨aß der Eingabe belegt werden; das ist der Startzustand. Nun sind die Eing¨ange einiger Gatter belegt, und wir belegen die Leitungen an den Ausg¨angen entsprechend; das ist der Folgezustand. Und so schreitet die Rechnung voran.
2.1.3 Der Sprung in die Quantenwelt: Schr¨ odingers Katze Zum Einstieg in das Rechnen mit Quanten betrachten wir eine ber¨ uhmte Veranschaulichung eines grundlegenden Quantenph¨anomens. Wir f¨ uhren die Begriffe Superposition und Messen an Hand von Schr¨odingers Katze ein. Dieses Tier erleichtert die Ann¨aherung an das Quantenbit und hat folgenden Vorteil: man vergisst es nicht mehr. Vor uns steht eine verschlossene Kiste; in der Kiste befindet sich eine Katze. Wir wissen, dass gerade ein grausiger Mechanismus“ ausgel¨ost wurde. ” Mit der Wahrscheinlichkeit 1/2 ist giftiges Gas ausgestr¨omt, das die Katze sofort get¨ otet hat. Mit der gleichen Wahrscheinlichkeit ist nichts passiert und eine quicklebendige Katze sitzt in der Kiste. Welches Ereignis eingetreten ist, h¨angt vom Zerfall eines Atoms ab. Unserem Alltagsverstand zufolge ist die Katze in der Kiste entweder tot oder lebendig, auch wenn wir es nicht wissen. In der Quantenwelt k¨onnen die Dinge jedoch grundverschieden sein. Dort ist es metaphorisch gesprochen m¨ oglich, dass eine Katze lebendig und tot zugleich ist. Sie ist bez¨ uglich der Frage, ob sie tot oder lebendig ist, unbestimmt. Diese Situation ist in ¨ Abbildung 2.9 dargestellt. Offnen wir die Kiste, ist die Katze entweder tot
Schaltkreise und Berechnung
18
2 Vom Bit zum Quantenregister
Abbildung 2.9: Katze, lebendig und tot zugleich
oder lebendig wie in Abbildung 2.10, solange diese verschlossen ist, bleibt der Zustand uneindeutig. In der Quantenwelt ist ein solch zombiehafter Zustand ganz normal. Kleine Teilchen k¨ onnen sich im oben beschriebenen Sinne an zwei Orten gleichzeitig befinden oder andere sich eigentlich ausschließende Eigenschaften vereinen: der genaue Zustand ist unbestimmt, das Teilchen befindet sich in Superposition zweier Zust¨ande. Voraussetzung daf¨ ur ist, dass das Teilchen von der Außenwelt abgeschottet ist, was in dem Katzenbeispiel die Kiste leistet. ¨ Jede Einwirkung von außen, bei uns das Offnen der Kiste zur Diagnose oder Messung des Gesundheitszustands, zerst¨ort die Superposition: Der Zombie kehrt ins Leben zur¨ uck oder stirbt ganz und gar. Das Teilchen befindet sich nach der Messung an einem konkreten, wohlbestimmten Ort. Das Gedankenexperiment mit der Katze stammt von Erwin Schr¨odinger (1887-1961), einem der V¨ater der Quantenmechanik. Er wollte verdeutlichen, dass ein solcher Zustand f¨ ur ein so großes Objekt wie eine Katze v¨ ollig absurd ist. Kleine Teilchen verhalten sich aber gerade so. F¨ ur uns ist Schr¨ odingers Veranschaulichung ein Bild f¨ ur ein Ph¨anomen der Quantenwelt, das f¨ ur unsere Berechnungen entscheidend ist, wenn es auch unserer Intuition widerspricht. Wir betrachten ein Teilchen mit zwei sich ausschließenden Eigenschaften: es kann sich nach unserem Alltagsverstand um eine gedachte Achse entweder im Uhrzeigersinn oder gegen den Uhrzeigersinn drehen. In der Quantenwelt kann es beide Zust¨ande zugleich annehmen: dann dreht es sich mit einem Anteil α in die eine Richtung und mit einem Anteil β in die entgegengesetzte; das ist die schon erw¨ahnte Superposition
2.1 Was ist eine Berechnung?
Abbildung 2.10: Bei offener Kiste ist die Katze entweder lebendig oder tot
19
20
2 Vom Bit zum Quantenregister zweier Zust¨ande. Wir k¨ onnen aber niemals erkennen, welchen Wert diese Anteile α und β genau haben. Wollen wir die Drehrichtung bestimmen, m¨ ussen wir sie messen. Dabei wird dieser merkw¨ urdige Quantenzustand, die Superposition, zerst¨ort. Mit einer gewissen Wahrscheinlichkeit, die von α und β abh¨angt, nimmt das Teilchen eine der beiden Richtungen an; diese ist unser Messergebnis. Messen stellt eine Wechselwirkung mit der Außenwelt dar: Der Zustand von Schr¨ odingers Katze ist nur so lange unbestimmt, wie sie in der Kiste von der Außenwelt abgeschottet ist. Wollen wir Schr¨odingers Katze anschauen, muss Licht in die Kiste dringen. Die splendid isolation ist beendet, die Wechselwirkung mit den Lichteilchen kann die Superposition zerst¨oren. Einer der Zust¨ande tot oder lebendig wird realisiert. Wir selbst geh¨oren stets zur Außenwelt eines Quantenteilchens. Versuchen wir etwas dar¨ uber herauszufinden, beeinflussen wir es. In diesem Sinne ist die Kiste ein entscheidender Teil des Gedankenexperiments. ¨ Auf diesen Uberlegungen baut die Hauptdefinition des n¨achsten Abschnittes auf. Ein Quantenbit kann gleichzeitig den Wert 0 und den Wert 1 annehmen. Wollen wir etwas u ¨ber dieses Bit erfahren, bleibt uns nichts anderes u ¨brig, als es zu messen. Die Eigenschaft, gleichzeitig in zwei Zust¨anden zu sein, geht verloren. Wir erhalten den Wert 0 mit einer Wahrscheinlichkeit p und den Wert 1 mit der Wahrscheinlichkeit 1 − p.
2.2 Das Quantenbit Ein klassisches Bit ist entweder 0 oder 1. Ein Quantenbit kann beides zugleich sein. Wie das zu verstehen ist, wird in diesem Abschnitt erl¨autert. Dirac-Notation
Definition Quantenbit
In der Quantenmechanik ist es u ¨blich, Zust¨ande in Klammern der Form | · zu setzen. Die Werte eines klassischen Bits werden damit zu |0 und |1. Es ist dies die ket-Notation oder auch Dirac-Notation, die auf den britischen Physiker Paul Dirac (1902-1984) zur¨ uckgeht, der 1933 zusammen mit Schr¨ odinger den Nobelpreis erhielt. Ein Quantenbit, kurz Qubit, nimmt Zust¨ande der folgenden Form an: α · |0 + β · |1. α und β heißen Amplituden und sind komplexe Zahlen mit |α|2 + |β|2 = 1.
(2.1)
2.2 Das Quantenbit Ein Quantenbit kann sich also in zwei klassischen Zust¨anden gleichzeitig befinden; die komplexen Zahlen dr¨ ucken deren jeweiligen Anteil aus. Man ¨ spricht von Superposition oder Uberlagerung der klassischen Zust¨ande |0 und |1. Die Bedingung |α|2 + |β|2 = 1 schr¨ankt die m¨oglichen Werte der Amplituden ein, zul¨assige Beispiele sind √12 |0 + √12 |1 und 0 · |0 + 1 · |1 = |1. Trotz dieser Einschr¨ankung sind unendlich viele verschiedene Zust¨ande m¨ oglich. Ein klassisches Bit kann man lesen und seinen genauen Zustand feststellen. Das ist bei einem Quantenbit in dieser Form nicht m¨oglich: M¨ochte man auf ein Quantenbit lesend zugreifen, muss man es messen. Das Messergebnis h¨angt von den Amplituden α und β ab. Messen wir ein Quantenbit im Zustand α·|0+ β ·|1, wird die Superposition zerst¨ ort. Anschließend ist es mit Wahrscheinlichkeit |α|2 im Zustand |0 und mit Wahrscheinlichkeit |β|2 im Zustand |1. Diesen Zustand nach dem Messen k¨ onnen wir beobachten.
Beispiel 2.1: Die Superposition √13 |0 + 23 |1 ist ein zul¨assiger Zustand eines Quantenbits. Denn es gilt 2 2 1 2 1 2 ) = + = 1. (√ ) +( 3 3 3 3 Messen wir ein Bit in diesem Zustand, ist das Ergebnis mit Wahrscheinlichkeit 1/3 der Zustand |0 und mit Wahrscheinlichkeit 2/3 |1. Messen wir ein Bit im Zustand √12 |0 + √12 |1, sind die Ergebnisse |0 und |1 gleichwahrscheinlich. ⋄ Dazu eine Erl¨auterung: Werfen wir einen sechsseitigen W¨ urfel, ist das Ergebnis eine der Zahlen 1, 2, . . . , 6. Sehen wir von Unregelm¨aßigkeiten des W¨ urfels ab, erhalten wir jede Zahl mit Wahrscheinlichkeit 1/6; werfen wir den W¨ urfel sehr oft, erwarten wir, dass wir zum Beispiel die 1 in einem Sechstel der F¨alle beobachten. Aber was ist Wahrscheinlichkeit? Man kann wie folgt argumentieren: h¨atten wir exakte Informationen u urfelwurf ¨ber den W¨ und die Beschaffenheit der Oberfl¨ache, auf der er auftritt, k¨onnten wir den genauen Bewegungsablauf berechnen, wie wir die Bewegung der Planeten berechnen k¨ onnen. Uns fehlen nur diese exakten Informationen! Das ist in der Quantenwelt nicht so. Messen wir ein Bit im Zustand √1 |0 + √1 |1, ist der Ausgang tats¨ achlich unbestimmt und keine Fol2 2 ge unserer Unwissenheit oder der Grobheit der Messinstrumente. Gibt es auch Quantenzust¨ande, bei denen das Ergebnis feststeht? Messen wir 0 · |0 + 1 · |1 = |1, so erhalten wir mit Sicherheit den Wert |1 als Ergebnis. Dieser Zustand verh¨alt sich wie ein klassisches Bit, das 1 gesetzt ist. Wir bezeichnen |0 und |1 als nicht-¨ uberlagerte Zust¨ande, da sie den Zust¨anden eines klassischen Bits entsprechen.
21 Superposition, ¨ Uberlagerung
Messen eines Quantenbits
22
2 Vom Bit zum Quantenregister Aufgabe 2.3: 100 Quantenbits befinden sich im Zustand 21 |0 + messen alle. Welches Ergebnis erwarten Sie?
√
3 2 |1.
Sie
Phase
Das Ergebnis der Messung h¨angt nur von dem Betrag der Amplitude ab. Messungen der Zust¨ande √12 (|0 + |1) und √12 (|0 − |1) ergeben jeweils |0 und |1 mit Wahrscheinlichkeit 1/2. Zwei reelle Zahlen haben denselben Betrag, wenn sie sich nur im Vorzeichen unterscheiden. Komplexe Zahlen z haben denselben Betrag, wenn sie sich nur bez¨ uglich der Phase unterscheiden, siehe Seite 269.
Zust¨ande als Vektoren
Was nun folgt ist wesentlich, um die Arbeitsweise des Quantencomputers zu verstehen. Den Zustand eines Quantenbits werden wir ab jetzt als Vektor in einem zweidimensionalen Vektorraum u ¨ber den komplexen Zahlen betrachten; Vektorr¨aume sind immer dann n¨ utzlich, wenn eine Beschreibung von mehreren unabh¨angigen Komponenten abh¨angt. Auf die folgenden ¨ Uberlegungen geht auch Abschnitt A.2 im Anhang u ¨ber Vektorr¨aume ein. In unserem Fall sind die Komponenten die Amplituden, und die Superposition α|0 + β|1 wird zu dem Vektor aus Abbildung 2.11. Der zugeh¨orige Zustandsvektor ist α . β Diesen Vektor k¨ onnen wir als Linearkombination der zweidimensionalen Standardbasisvektoren angeben: α 1 0 =α +β = α|0 + β|1. β 0 1 Die Basis unseres Vektorraumes besteht damit aus den beiden nicht ¨uberlagerten Zust¨anden { |0, |1}. Die Superposition α|0 + β|1 wird zu einer Linearkombination dieser Basiselemente. Nat¨ urlich sind nicht alle Vektoren unseres zweidimensionalen Vektorraums m¨ogliche Zust¨ande eines Quantenbits. Wegen der Bedingung |α|2 + |β|2 = 1 sind es gerade diejenigen der L¨ange 1. Aus Abbildung 2.11 kann man nicht ersehen, dass α und β komplexe Zahlen sind. Wir stellen uns den Vektorraum einfach so vor, als w¨are er u ¨ber den reellen Zahlen definiert, und rechnen gem¨aß den Regeln f¨ ur komplexe Zahlen.
Realisierung
Wie kann man ein Quantenbit bauen, um damit konkret zu rechnen? Dazu muss ein Teilchen von seiner Umwelt strikt abgeschottet werden. Wir erinnern uns an die Kiste, in der Schr¨odingers Katze steckte. Ohne diese Abschottung w¨ urde die Umwelt mit dem Teilchen wechselwirken, und die Superposition w¨ urde zerst¨ ort werden; ¨ahnlich wie durch eine Messung. Das Stichwort hierzu lautet Dekoh¨arenz, siehe Abschnitt 9.2. Nun nimmt man eine messbare und beeinflussbare Eigenschaft des abgeschotteten Teilchens her, zum Beispiel die Drehrichtung um eine festgelegte Achse oder zwei Energieniveaus. Wir w¨ahlen zwei Zust¨ande dieser Eigenschaft, die sich in der klassischen Welt ausschließen: diese bezeichnen wir
2.3 Rechenschritte auf einem Quantenbit
23
|1 1 β
α|0 + β|1
α 1
-1
|0
-1 Abbildung 2.11: Die Superposition als Vektor
mit |0 und |1. Fertig. Dieser Zugang ist aus praktischer Sicht unverantwortlich hemds¨armelig. Wir sollten uns jedoch auf genau diesen Standpunkt stellen. Quantenbits sind realisierbar; das haben Experimentalphysiker bewiesen. Wir stellen uns im weiteren die Frage, was sich damit anfangen l¨asst. Unsere aktuelle Frage lautet: Wie k¨ onnen wir mit Quantenbits rechnen? Oder anders ausgedr¨ uckt, was f¨ ur Rechenschritte k¨onnen wir ausf¨ uhren, wie gehen zwei Zust¨ande eines Quantenbits ineinander u ¨ber?
2.3 Rechenschritte auf einem Quantenbit Wir wissen bereits, was ein Quantenbit ist, aber noch nicht, was man damit machen kann. In Abschnitt 2.1 haben wir festgestellt, dass eine Berechnung eine Folge von Zust¨anden des Rechners ist. Ein Rechenschritt u uhrt da¨berf¨ bei den aktuellen Zustand in den Folgezustand. Bei klassischen Rechnern gibt es keine weiteren Einschr¨ankungen. Hat das Bit etwa den Wert 0, kann es im n¨achsten Rechenschritt 1 gesetzt werden oder den Wert 0 behalten. Ein Quantenbit hingegen kann unendlich viele verschiedene Zust¨ande anneh¨ men. Der Ubergang zwischen den Zust¨anden unterliegt dabei besonderen Bedingungen. Die m¨ oglichen Rechenschritte auf einem Quantenbit werden durch quadratische Matrizen beschrieben, genauer durch 2 × 2-Matrizen, die unit¨ar sind. Unit¨are Matrizen beschreiben mathematisch, wie sich ein abgeschottetes Quantensystem ¨andert. Matrizen beschreiben Abbildungen, siehe dazu den Anhang. Aus einer unit¨aren Matrix l¨asst sich besonders einfach die inverse Matrix beziehungsweise die Umkehrabbildung ableiten.
24
2 Vom Bit zum Quantenregister Dazu ben¨ otigen wir folgenden Begriff: Hat eine Matrix A = (ai j ) komplexe Eintr¨age, kommen wir zu A∗ , der komplex konjugierten von A, indem wir ai j durch a∗i j ersetzen (zu komplexen Zahlen siehe Abschnitt A.1 und zu Matrizen und der verwendeten Notation Abschnitt A.3 im Anhang). Mit A† bezeichnen wir die komplex konjugierte und transponierte Matrix (A∗ ) T . A† heißt zu A adjungierte Matrix und entsteht aus A, indem ai j durch a∗ji ersetzt wird. Leider gibt es keine einheitliche Notation: in der deutschsprachigen Literatur wird die komplex konjugierte Matrix meistens mit A bezeichnet und die adjungierte mit A∗ . Unsere Schreibweise hat den Vorteil, den Einstieg in die Originalliteratur zu erleichtern. Definition unit¨are Matrix
Sei A eine n × n-Matrix, deren Eintr¨age komplexe Zahlen sind. A heißt unit¨ar, falls A† zu A invers ist: A† = A−1 . Eine unit¨are Matrix beschreibt eine unit¨are Transformation.
Eine Matrix A mit rellen Eintr¨agen ist genau dann unit¨ar, wenn wir durch Transposition zur Inversen gelangen: A−1 = AT . Die beiden folgenden Matrizen sind unit¨ar: Beispiel 2.2: Die zweidimensionale Einheitsmatrix 1 0 I2 = 0 1 ist unit¨ar. Denn es gilt I2† = I2 = I2−1 . HadamardMatrix
Die Matrix H=
√1 2 √1 2
√1 2 − √12
1 =√ 2
1 1 1 −1
ist unit¨ar. Sie heißt Hadamard-Matrix und wird eine wichtige Rolle f¨ ur uns spielen.
Benannt ist die Matrix H nach dem franz¨osischen Mathematiker Jacques Hadamard (1865-1963). Aufgabe 2.4: Beweisen Sie, dass die Matrix H unit¨ar ist. Entwicklung eines Qubits
Nun beschreiben wir, wie eine solche Matrix eine Zustandsver¨anderung eines Quantenbits bewirkt. Auf einem Quantenbit im Zustand α|0 + β|1 soll ein Rechenschritt ausgef¨ uhrt werden, der durch eine zweidimensionale
2.3 Rechenschritte auf einem Quantenbit (unit¨are) Matrix A=
a c
b d
25
beschrieben wird. Wir erhalten den Folgezustand α′ |0 + β′ |1, indem wir den Zustandsvektor mit der Matrix multiplizieren. ′ α a·α+b·β α = A· = . β′ β c·α+d·β Man nennt die zu einer unit¨aren Matrix geh¨ orende Abbildung zwischen Vektoren eine unit¨are Transformation. In der Folge unterscheiden wir jedoch nicht allzu streng zwischen diesen Begriffen. Beispiel 2.3: Wir wenden die Matrix H aus Beispiel 2.2 auf die Basiszust¨ande an: H
|0 −→ H
|1 −→
√1 |0 + √1 |1 = √1 (|0 + |1). 2 2 2 √1 (|0 − |1). 2
Wenden wir H nun noch einmal an, ergibt sich: H √1 (|0 + |1) −→ 2 H √1 (|0 − |1) −→ 2
|0 und |1.
H ist zu sich selbst invers: H −1 = H oder HH = I. Da sogar H † = H gilt, folgt daraus, dass H unit¨ar ist, siehe Aufgabe 2.4. Aufgabe 2.5: Konstruieren Sie√alle unit¨aren Transformationen eines Bits, die den Zustand |0 auf 21 |0 + 23 |1 abbilden. Seit Ende des letzten Abschnitts stellen wir uns ein Quantenbit als von seiner Umwelt abgeschottetes Teilchen vor. Der Zustand gewisser Teilchenarten l¨asst sich mit Hilfe von Laserstrahlen oder Magnetfeldern ¨andern. Mit diesen oder ¨ahnlichen Verfahren k¨ onnte man beispielsweise eine Superposition zweier Energieniveaus in eine andere Superposition u ¨bergehen lassen und so eine unit¨are Transformation auf dem Quantenbit realisieren. Eine wichtige M¨ oglichkeit, Quantenbits zu konstruieren, stellen polarisierte Photonen oder Lichtquanten dar. Der Zustand so konstruierter Quantenbits l¨asst sich mit optischen Ger¨aten wie lichtbrechenden Kristallen manipulieren – mehr dazu findet sich in Kapitel 9.3. Zusammenfassung Der Zustand eines Quantenbits wird durch einen Vektor der L¨ange 1 in einem zweidimensionalen komplexen Vektorraum beschrieben. Wir f¨ uhren einen Rechenschritt aus, ¨andern den Zustand des Quantenbits, indem wir eine
Realisierung
26
2 Vom Bit zum Quantenregister unit¨are Transformation anwenden beziehungsweise den Zustandsvektor mit einer unit¨aren Matrix multiplizieren. Messen wir ein Quantenbit im Zustand α|0 + β|1, beobachten wir |0 mit Wahrscheinlichkeit |α|2 und |1 mit Wahrscheinlichkeit 1 − |α|2 = |β|2 . Nach der Messung ist die vorhergehende Superposition zerst¨ ort. Insbesondere kann man nie feststellen, welchen Wert die Amplituden α und β haben.
2.4 Der erste Algorithmus: Ein Zufallsgenerator Bisher stehen uns nur sehr bescheidene Mittel zur Verf¨ ugung. Wir k¨onnen ein Quantenbit manipulieren und messen. Dies gen¨ ugt jedoch, um einen Quantenalgorithmus f¨ ur ein Problem zu beschreiben, das f¨ ur einen klassischen Rechner unm¨ oglich ist: das Erzeugen von Zufallszahlen. Zufallszahlen sind f¨ ur viele Anwendungen n¨otig, wovon zwei in diesem Buch behandelt werden. In Abschnitt 4.2 geht es um randomisierte Algorithmen, ein sehr m¨achtiges Werkzeug. Eine Anwendung aus der Kryptographie lernen wir in Abschnitt 7.1 kennen. Weiter spielen Zufallszahlen f¨ ur die Vorhersage von B¨ orsenkursen oder anderen wirtschaftlichen Indizes eine große Rolle. Auch f¨ ur Simulationen, etwa der Klimaentwicklung oder anderer Naturprozesse, werden Zufallszahlen ben¨ otigt. Solche Prozesse sind so komplex, dass sie nicht absolut korrekt berechnet werden k¨onnen. Man kann die Prozesse aber ann¨ahern, sie approximieren; dabei kommt der Zufall ins Spiel. Klassische Computer erzeugen f¨ ur jede Eingabe eine exakt festgelegte Ausgabe. Mehr noch, jeder Rechenschritt ist durch den aktuellen Zustand determiniert, wie wir an den Berechnungsmodellen in Abschnitt 2.1 gesehen haben. Das Beste, was solche Rechner herstellen k¨onnen, sind sogenannte Pseudozufallszahlen. Das sind Folgen von Zahlen, die mit Mitteln der Statistik nicht von tats¨achlichen Zufallszahlen zu unterscheiden sind. Aber der Statistik sind bei solchen Fragen Grenzen gesetzt. Es sind keine echten Zufallszahlen und f¨ ur Anwendungen ¨außerst problematisch. Der folgende Algorithmus erzeugt ein zuf¨alliges Bit. Da die m¨oglichen Ergebnisse beide mit derselben Wahrscheinlichkeit erzeugt werden, verh¨alt er sich wie ein M¨ unzwurf. Die Notation wird in der anschließenden Analyse erkl¨art. Algorithmus M¨ unzwurf Spezifikation: Wir verwenden ein Quantenbit |x. Nach Ablauf des Algorithmus ist es mit Wahrscheinlichkeit 1/2 auf |0 gesetzt und mit Wahrscheinlichkeit 1/2 auf |1.
2.4 Der erste Algorithmus: Ein Zufallsgenerator
|0
H
27
M
Abbildung 2.12: Schaltkreis f¨ ur den Algorithmus M¨ unzwurf
1. |x ← |0 2. |x ← H |x 3. Miss |x
Die verwendete Notation wird durch die Analyse erkl¨art. Analyse: In Schritt 1 wird das Quantenbit |x in den Anfangszustand |0 versetzt. In Schritt 2 wird die Hadamard-Transformation auf dieses Bit angewendet, danach ist es also im Zustand √12 (|0 + |1). Messen wir es, so erhalten wir das in der Spezifikation beschriebene Ergebnis. Aufgabe 2.6: Was ist das Ergebnis des Algorithmus, wenn wir im ersten Schritt das Bit |x auf |1 setzen? Aufgabe 2.7: Was ist das Ergebnis des Algorithmus, wenn wir |x im ersten Schritt in einen beliebigen Ausgangszustand α|0 + β|1, |α|2 + |β|2 = 1, versetzen? Alle unsere Algorithmen werden von ungef¨ahr dieser Form sein. Man versetzt zun¨achst einige Quantenbits in einen Ausgangszustand. Dann wendet man eine Reihe von unit¨aren Transformationen an und misst am Ende. Wie angek¨ undigt, ist das grundlegende Berechnungsmodell dieses Buches der Quantenschaltkreis. Ein Gatter eines solchen Schaltkreises f¨ uhrt eine unit¨are Transformation aus. Im Abschnitt 3.3 werden wir Quantenschaltkreise n¨aher untersuchen. Der Begriff ist aber so anschaulich, dass wir in Abbildung 2.12 den Schaltkreis angeben, der unserem Algorithmus f¨ ur den M¨ unzwurf entspricht. Wir haben bereits eine gewisse Vorstellung davon, was eine Quantenberechnung ist. Folgendermaßen ließe sich der Zufallsgenerator realisieren: man isoliert ein Teilchen, ¨ uberf¨ uhrt dieses bez¨ uglich seiner Drehrichtung in die Superposition √12 (|0 + |1) und misst anschließend die Drehrichtung. Das ist alles. Zuf¨alligkeit ist schließlich eines der Charakteristika der Quantenmechanik. Quantenzufallsgeneratoren sind seit einiger Zeit k¨auflich zu erwerben, etwa bei der Schweizer Firma id quantique.
Realisierung
28
2 Vom Bit zum Quantenregister
2.5 Quantenregister
Quantenregister aus zwei Bits
Nun setzen wir mehrere Quantenbits zusammen: F¨ ur uns ist ein Register nichts anderes als eine Folge von Bits. Ein klassisches Bit kann die Werte 0 und 1 annehmen, die m¨ oglichen Zust¨ande eines klassischen Registers mit zum Beispiel drei Bits sind gerade 000, 001, 010 und so weiter bis 111. Mit Hilfe der Bin¨ardarstellung ganzer Zahlen kann ein Register aus n Bits die Zahlen 0, . . . , 2n − 1 darstellen. Wie nicht anders zu erwarten, ist der Zustand eines Quantenregisters aus n Quantenbits eine Superposition der 2n klassischen Zust¨ande. Bevor wir Quantenregister formal definieren und eine handliche Notation einf¨ uhren, untersuchen wir am Beispiel eines Registers aus zwei Quantenbits die folgende Frage: Wie h¨angt der Zustand eines Quantenregisters mit dem Zustand der einzelnen Bits zusammen? Unser Register besteht aus den Quantenbits |x0 und |x1 : R = |x1 |x0 . Diese Schreibweise erinnert nicht ohne Grund an ein Produkt. Sei das erste Quantenbit im Zustand |x0 = γ0 |0 + γ1|1 und das zweite im Zustand |x1 = β0 |0 + β1|1. Dann erhalten wir den Zustand des Quantenregisters durch Ausmultiplizieren; im Abschnitt 2.7 werden wir dieses Vorgehen mathematisch fundieren. R = |x1 |x0 = (β0 |0 + β1|1) · (γ0 |0 + γ1|1)
= β0 γ0 |0|0 + β0γ1 |0|1 + β1γ0 |1|0 + β1γ1 |1|1.
Das ist un¨ ubersichtlich: Wir bezeichnen die Amplituden der Zust¨ande des Quantenregisters mit αi j = βi γ j und erhalten: R = α00 |0|0 + α01 |0|1 + α10 |1|0 + α11 |1|1. Aus |γ0 |2 + |γ1 |2 = 1 und |β0 |2 + |β1 |2 = 1 folgt |α00 |2 + |α01 |2 + |α10 |2 + |α11 |2 = 1. Der Einfachheit halber werden wir statt R = |x1 |x0 meistens R = |x1 x0 schreiben. Danach sieht der Zustand des Registers folgendermaßen aus: R = α00 |00 + α01 |01 + α10 |10 + α11|11. Außerdem ist es oft u ¨bersichtlicher, anstelle der einzelnen Bits, die in der Bin¨ardarstellung repr¨asentierten Zahlen anzugeben. Wir erhalten: R = α0 |0 + α1|1 + α2 |2 + α3 |3.
2.5 Quantenregister
29
Es sei noch einmal darauf hingewiesen: die Amplituden α0 , . . . , α3 ergaben sich aus den Amplituden der beiden Bits. Aufgabe 2.8: Wir betrachten ein Zwei-Bit-Register. Bit |x1 ist im Zustand √ √ 3 3 1 1 |0+ |1 und Bit |x im Zustand |0− |1. Welche Amplitude haben 0 2 2 2 2 die Zwei-Bit-Zust¨ande |00, . . . , |11? Nun die formale Definition: Ein Quantenregister R = |xn−1 ...|x1 |x0 = |xn−1 ... x1 x0 kann sich in Zust¨anden der folgenden Form befinden: R=
Definition Quantenregister
2n −1
∑ αi |i.
i=0
Dabei bedeutet |i f¨ ur i = 0, . . . , 2n − 1: Die Bits sind entsprechend der Bin¨ardarstellung der nat¨ urlichen Zahl i gesetzt. Es gilt: 2n −1
∑ |αi |2 = 1.
i=0
Misst man dieses Quantenregister, so beobachtet man mit Wahrscheinlichkeit |αi |2 den Zustand |i. Zust¨ande eines Quantenregisters mit n Bits sind Vektoren in einem 2n dimensionalen komplexen Vektorraum. Die Basis bilden die einzelnen Komponenten der Superposition, die m¨ oglichen Zust¨ande eines klassischen Registers also: |0 . . . 0, |0 . . . 01, . . . , |1 . . . 1 oder kompakter geschrieben |0, |1, . . . , |2n − 1 Beispiel 2.4: Im Fall von zwei Bits ist die Basis |00, |01, |10, |11 mit der Zuordnung, ⎛
⎞ ⎛ 1 ⎜ 0 ⎟ ⎜ ⎟ ⎜ |00 = ⎜ ⎝ 0 ⎠ , |01 = ⎝ 0
⎞ ⎛ 0 ⎜ 1 ⎟ ⎟ , |10 = ⎜ ⎝ 0 ⎠ 0
⎞ ⎛ 0 ⎜ 0 ⎟ ⎟ , |11 = ⎜ ⎝ 1 ⎠ 0
⎞ 0 0 ⎟ ⎟ 0 ⎠ 1
Zustandsvektoren
30
2 Vom Bit zum Quantenregister
Entwicklung eines Quantenregisters
Die Zustandsvektoren eines n-Bit Quantenregisters haben 2n Komponenten. Entsprechend sind die Rechenschritte unit¨are Transformationen, die durch 2n × 2n-Matrizen darstellbar sind. Beispiel 2.5: Sei n = 2. Die folgende Operation namens CNOT ist die unit¨are Variante des exklusiven Oder. CNOT : |x, y → |x, x ⊕ y Die Bezeichnung CNOT ist die Abk¨ urzung f¨ ur controlled not: ist das erste Bit 1, so wird das zweite Bit negiert. Anderenfalls bleibt das zweite Bit unver¨andert. ⎛ ⎞ 1 0 0 0 ⎜ 0 1 0 0 ⎟ ⎜ ⎟ ⎝ 0 0 0 1 ⎠ 0 0 1 0 ist die zugeh¨ orige Matrix. Abbildung 2.13 zeigt das Symbol eines CNOTGatters. ⋄
x
x
y
x⊕y
Abbildung 2.13: CNOT-Gatter
Tipp zu Matrizen
Mit unserer Definition eines Zustandsvektors und der einer unit¨aren Transformation als Multiplikation dieses Vektors mit einer Matrix ist eigentlich alles gesagt. Anschaulich verbirgt sich dahinter das Folgende: Betrachten wir eine Matrix, die einer Transformation auf n Bits entspricht. Wir stellen uns vor, die Zeilen seien von oben nach unten mit den Zust¨anden beschriftet, |0, . . . , |2n − 1, und die Spalten von links nach rechts. Die mit |i bezeichnete Spalte beschreibt das Bild des Basisvektors |i. Lautet diese a0i . . . a2n −1,i , so wird |i auf
a0i |0 + a1i|1 + . . . + a2n −1,i |2n − 1
abgebildet. Wir demonstrieren die Nummerierung von Zeilen und Spalten an der Operation CNOT.
|00 |01 |10 |11
|00|01|10|11 ⎞ 1 0 0 0 ⎜ 0 1 0 0 ⎟ ⎜ ⎟ ⎝ 0 0 0 1 ⎠ 0 0 1 0 ⎛
2.5 Quantenregister
31
So sieht man sofort, dass diese Operation die Amplituden von |10 und |11 tauscht: ⎛ ⎞ ⎞ ⎛ α0 α0 ⎜ α1 ⎟ ⎜ α1 ⎟ ⎟ ⎟ ⎜ CNOT ⎜ ⎝ α2 ⎠ = ⎝ α3 ⎠ . α2 α3 Es handelt sich um eine Permutationsmatrix. Beispiel 2.6: Wir betrachten Matrizen von der folgenden Form. In jeder Spalte und in jeder Zeile gibt es genau eine 1, alle anderen Eintr¨age sind 0. Diese Matrizen heißen Permutationsmatrizen. Angewandt auf einen Vektor, ver¨andert eine solche Matrix die Reihenfolge der Komponenten, ¨andert aber ihren Wert nicht. Auf einen Zustandsvektor angewandt, wird die Zuordnung von Amplituden zu Basiszust¨anden ge¨andert. Aufgabe 2.9: Zeigen Sie, dass Permutationsmatrizen unit¨ar sind. Die folgende Definition ist wesentlich: Zwar wissen wir, wie sich ein Quantenregister entwickelt. Aber wir haben noch nicht gesagt, was ein einfacher Rechenschritt ist. Einfache Rechenschritte auf einem Quantenregister sind lokale unit¨are Transformationen. Lokal sind Transformationen, an denen h¨ochstens drei Bits beteiligt sind.
Wenn wir also eine unit¨are Transformation verwenden, die auf dem ganzen Register operiert, interessiert uns die Zerlegung in lokale Transformationen. Der Grund daf¨ ur ist leicht einzusehen: Eine Registeroperation, die von einer 2n × 2n-Matrix beschrieben wird, kann sehr kompliziert und nur mit großem Aufwand ausf¨ uhrbar sein. Dagegen kann eine Drei-Bit-Transformation (zumindest theoretisch) von einfachen physikalischen Systemen realisiert werden. Die Zahl drei haben wir nach praktischen Gesichtspunkten festgelegt. Im Prinzip ist jede unit¨are Operation lokal, an der konstant viele Bits beteiligt sind; diese Anzahl w¨achst also nicht mit der Registergr¨oße. Grunds¨atzlich k¨ame man mit Transformationen zweier Bits aus. Um klassische Rechenverfahren in Quantenalgorithmen zu u uhren, ist jedoch ein Drei-Bit-Gatter ¨berf¨ n¨ otig (siehe Abschnitt 3.5). Derartige Zerlegungen von Transformationen sind das Thema des Ab¨ schnitts 2.7. Wir untersuchen dort, was dem Ubergang vom Bit zum Register mathematisch entspricht; was also der Zusammenhang zwischen der Entwicklung eines Registers und der Entwicklung seiner einzelnen Bits ist. Das Stichwort dazu lautet Tensorprodukt. Zuvor besprechen wir wichtige Eigenschaften unit¨arer Transformationen:
Lokalit¨at
32
2 Vom Bit zum Quantenregister Eine Matrix A ist unit¨ar, wenn A−1 = A† gilt. Das ist eine sehr starke Forderung, woraus sich einige wichtige Eigenschaften der zugeh¨origen unit¨aren Transformation ergeben.
Eigenschaften unit¨arer Transformationen
F¨ ur unit¨are Transformationen gilt: 1. Jeder zul¨assige Zustand eines Quantenbits wird wieder auf einen zul¨assigen Zustand abgebildet; unit¨are Transformationen sind l¨angenerhaltend. 2. Unit¨are Transformationen ver¨andern das Skalarprodukt zweier Zustandsvektoren nicht: unit¨are Transformationen sind winkelerhaltend. Geometrisch betrachtet, dreht eine unit¨are Transformation Zustandsvektoren um den 0-Punkt oder spiegelt sie an einer Achse durch den Ursprung. 3. Unit¨are Transformationen sind umkehrbar. Daraus folgt eine wichtige Beschr¨ankung f¨ ur Berechnungen eines Quantencomputers: jeder Schritt muss umkehrbar sein. 4. Unit¨are Transformationen sind linear, da sie durch Matrizen beschrieben werden k¨ onnen, siehe A.3.
Skalarprodukt
F¨ ur das Skalarprodukt zweier Zustandsvektoren |u, |v verwenden wir die Notation u | v. Das ist die Braket-Notation (von engl. bracket). F¨ ur Vektoren mit n komplexen Komponenten |u = (α0 , . . . , αn−1 )T und |v = (β0 , . . . , βn−1 )T gilt u | v = α∗0 β0 + . . . + α∗n−1 βn−1 . Die L¨ange eines Vektors |u, seine Norm, ist als
u = u | u
definiert und ihr Quadrat ist gleich dem uns gel¨aufigen Wert |α0 |2 + |α1 |2 + . . . + |αn−1 |2 . Abschnitt A.2.3 des Anhangs behandelt diesen Zusammenhang und beschreibt, wie das Skalarprodukt den Winkel zwischen zwei Vektoren bestimmt. Die ersten beiden in obiger Box genannten Eigenschaften lauten formal: 1. F¨ ur einen Vektor |φ und eine unit¨are Transformation U gilt
U|φ = |φ .
2.6 Der zweite Algorithmus: Das Problem von Deutsch
33
2. F¨ ur zwei Vektoren |φ, |ψ und eine unit¨are Transformation U gilt Uφ |Uψ = φ | ψ. Da der Abstand mit Hilfe des Skalarproduktes definiert ist, folgt die erste Aussage aus der zweiten.
2.6 Der zweite Algorithmus: Das Problem von Deutsch In der Quantenwelt kann man zwei Seiten einer M¨ unze gleichzeitig betrachten. Das wundert uns gar nicht mehr. Nun werden wir sehen, wie man daraus einen Vorteil ziehen kann. Nehmen wir einmal an, wir haben eine Superposition der beiden M¨ unzseiten erzeugt. Wir messen diese Superposition, um etwas ¨ uber die Seiten zu erfahren. Dann erhalten wir doch nur ¨uber eine M¨ unzseite Informationen. Geht man geschickt vor, l¨asst sich dennoch etwas u ¨ber beide Seiten erfahren. Das folgende Problem ist nach David Deutsch benannt, einem der V¨ater des Quantencomputers; der 1953 in Israel geborene wuchs in England auf und lebt in Oxford. Wir sollen herausbekommen, ob eine M¨ unze echt oder eine plumpe F¨alschung ist. Die Vorderseite der echten M¨ unze zeigt eine Zahl, die R¨ uckseite das Brandenburger Tor. Bei der falschen M¨ unze sind beide Seiten gleich. Wie oft m¨ ussen wir uns die M¨ unze ansehen, um eine echte M¨ unze von einer F¨alschung zu unterscheiden? Zweimal, da wir beide Seiten betrachten m¨ ussen. Ein Quantencomputer kann in einer ¨ahnlichen Situation echte Vorteile bringen. Wir sollen etwas ¨ uber eine Funktion f herausfinden, die ein Bit als Eingabe bekommt und ein Bit ausgibt, f : {0, 1} → {0, 1}. Uns wird ein Bauteil zur Verf¨ ugung gestellt, das uns zu einem Bit b den Wert f (b) liefert; andere Informationen u ¨ber f haben wir nicht. Man sagt, f ist uns als Black Box gegeben. Wir bevorzugen in der Folge das deutsche Wort Orakel. Aufgabe 2.10: Geben Sie alle Funktionen f : {0, 1} → {0, 1} an. F¨ ur eine solche Funktion gilt, sie ist entweder konstant, dann gilt f (0) = f (1) oder sie ist balanciert: f (0) = f (1). Wir sollen folgende Frage beantworten: Ist die uns als Orakel vorliegende Funktion konstant oder balanciert?
Ein klassischer Computer muss die Funktion an zwei Stellen abfragen. Angenommen, wir beginnen damit, nach f (0) zu fragen. Dann hilft uns die Antwort nichts, wenn wir nicht auch f (1) kennen, so wie wir beide Seiten der M¨ unze betrachten m¨ ussen. Wir betrachten nun einen Quantenalgorithmus, der dieses Problem mit nur einem Orakelaufruf l¨ ost.
Ist die M¨ unze echt?
34
2 Vom Bit zum Quantenregister Reversibles Orakel
Der Quantenalgorithmus wird ein Quantenbit in eine Superposition u ¨ber beide m¨ oglichen Eingaben von f versetzen, dann auf dieses Quantenbit das Orakel anwenden und eine Superposition ¨uber beide Funktionswerte bekommen. Da aber alle Rechenschritte umkehrbar sein m¨ ussen, brauchen wir die Funktion f in einer reversiblen Version. f ist nicht umkehrbar, falls sie konstant ist. Darum verwenden wir zwei Bits |x und |y und folgende unit¨are Form des Funktionsaufrufes U f : |x, y → |x, y ⊕ f (x). Die Operation ⊕ ist die dem exklusiven Oder entsprechende Addition von Bits, siehe Seite 16. Es gilt U f−1 = U f , also ist U f reversibel. Aufgabe 2.11: Zeigen Sie, dass U f unit¨ar ist. Nun k¨ onnen wir den Algorithmus angeben. Er verwendet ein Register aus zwei Quantenbits. Dem Algorithmus entspricht der Schaltkreis aus Abbildung 2.14. Der Algorithmus f¨ ur das Problem von Deutsch
1. |x|y ← |0|1 2. Wende die Hadamard-Transformation H auf beide Bits an: |x|y ← H|xH|y 3. Werte f aus: |x|y ← U f |x|y 4. Wende die Hadamard-Transformation H auf beide Bits an: |x|y ← H|xH|y 5. Miss das Register: Hat |x|y den Wert |0|1: Ausgabe konstant, hat |x|y den Wert |1|1: Ausgabe balanciert.
Dem Algorithmus ist nicht auf den ersten Blick anzusehen, warum er unser Problem l¨ ost. Darum werden wir sein Vorgehen detailliert betrachten. uhrt! Vielleicht ist noch die Festzuhalten ist: U f wurde nur einmal ausgef¨ folgende Bemerkung zu Schritt 5 angebracht. Der Test, ob das Register einen bestimmten Wert hat, und auch die Ausgabe des Ergebnisses kann von einem klassischen Rechner u ¨bernommen werden. Dies erscheint als das praktikabelste Vorgehen. Wir werden jedoch in Kapitel 3.2 sehen, dass ein Quantencomputer theoretisch all das kann, wozu ein klassischer Rechner f¨ahig ist.
2.6 Der zweite Algorithmus: Das Problem von Deutsch
|0
H
35
H
M |1
H
f
H
Abbildung 2.14: Schaltkreis f¨ ur das Problem von Deutsch
Analyse In Schritt 2 wird unser Zwei-Bit Quantenregister |x|y durch die HadamardTransformation von dem Zustand |0|1 in den Zustand
Schritt 2
1 1 |φ2 = √ (|0 + |1) · √ (|0 − |1) 2 2 u uhrt. Der erste Faktor entspricht dem Zustand von Bit |x, der zweite ¨berf¨ dem von Bit |y. Ausmultiplizieren ergibt |φ2 =
1 |0|0 − |0|1 + |1|0 − |1|1 . 2
Nun haben wir eine Superposition ¨ uber alle Basiszust¨ande unseres Registers, wobei die Vorzeichen eine wichtige Rolle spielen. Schritt 3 wendet U f an. Der Inhalt des ersten Registers dient als Eingabe der Funktion f , der Funktionswert wird auf das zweite Register addiert. |φ2
1 |0|0 − |0|1 + |1|0 − |1|1 2 Uf 1 |0|0 ⊕ f (0) − |0|1 ⊕ f (0) + |1|0 ⊕ f (1) − |1|1 ⊕ f (1) −→ 2 1 |0 · | f (0) − |1 ⊕ f (0) + |1 · | f (1) − |1 ⊕ f (1) = 2 = |φ3 . =
Wir haben unseren urspr¨ unglichen Plan ausgef¨ uhrt und eine Superposition u urden wir nun messen, bek¨amen wir mit ¨ber die Funktionswerte erhalten. W¨ einer Wahrscheinlichkeit von jeweils 1/4 einen der Werte |0|0, |0|1, |1|0 oder |1|1 geliefert, was uns keine Informationen f¨ ur unser Problem liefert. Darum wenden wir die Hadamard-Transformation ein zweites Mal an. Zuvor stellen wir fest, dass f¨ ur die beiden Bitwerte x gleich 0, 1 | f (x) − |1 ⊕ f (x) = (−1) f (x) (|0 − |1) gilt. Wir k¨ onnen den Registerzustand umformen in 1 (−1) f (0) |0 · |0 − |1 + (−1) f (1)|1 · |0 − |1 |φ3 = 2 1 = (−1) f (0) |0 + (−1) f (1)|1 · |0 − |1 . 2
Schritt 3
36
2 Vom Bit zum Quantenregister Der Funktionswert ist in das Vorzeichen der Amplitude verlagert worden. Das erste Bit in |φ3 befindet sich im Zustand
Schritt 4 Fall: konstant
1 √ (−1) f (0) |0 + (−1) f (1)|1 . 2
Nun betrachten wir den vierten Schritt f¨ ur beide der m¨oglichen Eigenschaften der Funktion separat. Wir nehmen zun¨achst an, f sei konstant. In diesem √ Fall gilt (−1) f (0) = f (1) (−1)√ , und der Zustand von Bit |x ist entweder 1/ 2 · (|0 √ + |1) oder −1/ 2 · (|0 + |1). Die Hadamard-Transformation bildet 1/ 2 · (|0 + |1) √ auf |0 und −1/ 2 · (|0 + |1) auf −|0 ab. Denn unit¨are Transformationen sind linear, siehe Abschnitt A.3. √ |y befindet sich vor Schritt 4 im Zustand 1/ 2 · (|0 − |1) und wird auf |1 abgebildet. Schritt 4 u uhrt das ganze Register somit in den Zustand ¨berf¨ |φk4 = ±|0|1.
Fall: balanciert
Schritt 5
Dabei bedeutet a = ±b, dass einer der F¨alle a = b oder a = −b zutrifft. √ Ist f balanciert, √ ist |x vor Schritt 4 im Zustand 1/ 2 · (|0 − |1) oder √ im Zustand −1/ 2 · (|0 − |1). Die Hadamard-Transformation bildet 1/ 2 · (|0 − |1) auf |1 ab, und analog zum anderen Fall bekommen wir als Folge von Schritt 4 |φb4 = ±|1|1. Messen liefert also f¨ ur eine balancierte Funktion |1|1 und f¨ ur eine konstante Funktion |0|1. ⋄ Der erste Quantenalgorithmus f¨ ur dieses Problem wurde 1985 von Deutsch ver¨ offentlicht. Aufgabe 2.12: Wenden Sie die Hadamard-Transformation auf −(|0 + |1) an. Beispielrechnung Falls noch Unklarheiten bestehen, ist das folgende Beispiel vielleicht hilfreich. Danach sollte man dann die Analyse noch einmal durchgehen. Uns sei die Funktion f mit f (0) = 1 und f (1) = 0 gegeben, f ist also die Negation. Die Schritte 1 und 2 sind von der Funktion unabh¨angig, und wir verweisen auf die Analyse. Schritt 3 u uhrt unser Register aus zwei Bits dann aus dem ¨berf¨ Zustand 1 |φ2 = |0|0 − |0|1 + |1|0 − |1|1 2 in 1 |φ3 = |0|0 ⊕ f (0) − |0|1 ⊕ f (0) + |1|0 ⊕ f (1) − |1|1 ⊕ f (1) 2 1 |0|1 − |0|0 + |1|0 − |1|1 . = 2
2.7 Die Rolle des Tensorprodukts
37
Um die Wirkung von H auf das erste Bit zu untersuchen, klammern wir es aus: 1 − |0 · |0 − |1 + |1 · |0 − |1 2 1 = |1 − |0 · |0 − |1 . 2 √ √ H bildet |1−|0 auf − 2 |1 ab und |0−|1 auf 2 |1. Schritt 4 erzeugt also den Registerzustand |φ3 =
|φ4 =
√ 1 √ − 2 |1 · 2 |1 = −|1|1. 2
Messen liefert |1|1 mit Wahrscheinlichkeit (−1)2 = 1. Der Algorithmus gibt balanciert aus. Aufgabe 2.13: Rechnen Sie den Algorithmus f¨ ur die 1-Funktion mit f (0) = f (1) = 1 durch. Betrachten Sie alle f¨ unf Schritte. Die meisten Quantenalgorithmen nutzen ein Ph¨anomen namens Interferenz: Amplituden k¨ onnen sich zu einem gr¨ oßeren Wert addieren, das nennt man konstruktive Interferenz, aber auch gegenseitig ausl¨oschen; man spricht von destruktiver Interferenz. Wir untersuchen dahingehend unseren Algorithmus f¨ ur das Problem von Deutsch. In der Analyse ist erw¨ahnt, dass wir aus einer Messung nach Schritt 3 nicht erfahren, ob die Funktion f konstant oder balanciert ist. Wie gelingt es nun, mit der zweiten Hadamardtransformation diese Information aus der Superposition |φ3 zu extrahieren? Dazu betrachten wir die Wirkung auf das erste Bit im Fall, dass f konstant ist: 1 1 1 1 H ± √ (|0 + |1) −→ ± √ ( √ (|0 + |1) + √ (|0 − |1)). 2 2 2 2 Im Resultat dieser Transformation addieren sich f¨ ur |0 und |1 je zwei Amplituden. Die von |0 ist 1/2 + 1/2 = 1, die von |1 ist 1/2 − 1/2 = 0. Ist f hingegen balanciert, l¨asst die Anwendung von H die Amplitude von |0 durch destruktive Interferenz verschwinden und vergr¨oßert die von |1. Wir kommen in den Abschnitten 4.4 und 9.3 darauf zur¨ uck. Die Analyse des Algorithmus hat gezeigt, dass er das gestellte Problem l¨ ost. Vielleicht ist beim Leser noch kein intuitives Verst¨andnis seines Vorgehens entstanden. Darum werden wir noch einmal auf das Problem von Deutsch zur¨ uckkommen, und zwar in Abschnitt 2.9.
2.7 Die Rolle des Tensorprodukts Im vorletzten Abschnitt haben wir mehrere Bits zusammengesteckt und sind so zum Register gelangt. Nun tun wir das gleiche mit den Rechenschritten.
Interferenz
38
2 Vom Bit zum Quantenregister
Produkt von R¨aumen
Wir werden sehen, wie sich die Operationen auf den Bits zu Operationen auf dem ganzen Register verhalten. Der Zustand eines Quantenregisters aus n Bits wird durch einen Vektor eines 2n -dimensionalen Vektorraums beschrieben; das haben wir bereits gesehen. Es gibt ein mathematisches Instrument, mit dem Vektorr¨aume f¨ ur Register aus solchen f¨ ur einzelne Bits zusammengesetzt werden k¨onnen: das Tensorprodukt. Damit k¨ onnen außerdem Rechnungen auf einem Register aus solchen auf den einzelnen Bits konstruiert werden. Seien V1 und V2 zwei Vektorr¨aume. Sei e0 , . . . , em−1 eine Basis von V1 und f0 , . . . , fn−1 eine Basis von V2 . Das Tensorprodukt V1 ⊗ V2 dieser R¨aume ist ein (m · n)-dimensionaler Vektorraum. Seine Basisvektoren bezeichnen wir mit e0 ⊗ f 0 , e1 ⊗ f 0 , .. .
e0 ⊗ f 1 , e1 ⊗ f 1 , .. .
..., ...,
e0 ⊗ fn−1 , e1 ⊗ fn−1 , .. .
em−1 ⊗ f0 , em−1 ⊗ f1 , . . . , em−1 ⊗ fn−1 . Produkt von Vektoren
Die Rolle dieser Basisvektoren wird durch die folgende Definition deutlich: wir betrachten das Tensorprodukt zweier Vektoren der Ausgangsr¨aume. Sei ⎛ ⎞ α0 ⎟ ⎜ v1 = α0 e0 + . . . + αm−1 em−1 = ⎝ ... ⎠ αm−1
ein Vektor aus V1 und
⎛
⎞ β0 ⎜ ⎟ v2 = β0 f0 + . . . + βn−1 fn−1 = ⎝ ... ⎠ βn−1
aus V2 . Ihr Tensorprodukt ist m−1
n−1
m−1 n−1
i=0
j=0
i=0 j=0
v1 ⊗ v2 = ( ∑ αi ei ) ⊗ ( ∑ β j f j ) =
∑ ∑ αi β j (ei ⊗ f j ).
Beispiel 2.7: Im Fall n = m = 2 gilt
α0 α1
⊗
β0 β1
⎞ α0 β0 ⎜ α0 β1 ⎟ ⎟ =⎜ ⎝ α1 β0 ⎠ . α1 β1 ⎛
2.7 Die Rolle des Tensorprodukts Beispiel 2.8: F¨ ur unsere Zwecke ist das Tensorprodukt einfach und anschaulich zu handhaben. Aus den R¨aumen f¨ ur zwei Quantenbits |x und |y mit Basen {|0, |1} erhalten wir durch das Tensorprodukt einen Raum f¨ ur das Register aus diesen beiden Bits. Die Basis ist
39 Produkt von Qubits
{|0 ⊗ |0, |0 ⊗ |1, |1 ⊗ |0, |1 ⊗ |1}
={|0|0, |0|1, |1|0, |1|1} ={|00, |01, |10, |11}.
Zur Verdeutlichung dienen die Koordinatenvektoren aus Beispiel 2.4: Beispielsweise entspricht |1 ⊗ |0 = |10 gerade ⎛ ⎞ 0 ⎜ 0 ⎟ 0 1 ⎟ ⊗ =⎜ ⎝ 1 ⎠. 1 0 0 Nun betrachten wir zwei Zust¨ande, die nicht zur Basis geh¨oren: |φ = α0 |0 + α1|1, |ψ = β0 |0 + β1|1. Gem¨aß Beispiel 2.7 gilt: |φ ⊗ |ψ = α0 β0 |00 + α0β1 |01 + α1 β0 |10 + α1β1 |11. Dieses Resultat ergibt sich auch durch Ausmultiplizieren von (α0 |0 + α1 |1) · (β0|0 + β1|1). Aufgabe 2.14: Berechnen Sie
√1 (|0 + |1) ⊗ √1 (|0 − |1). 2 2
Die Beschreibung eines Registers aus m Bits l¨asst sich aus dem m-fachen Tensorprodukt der Beschreibung eines Bits erzeugen. Sind die Bits |x1 , . . . , |xm in den Zust¨anden |φ1 , . . . , |φm , so befindet sich das Register |x1 , . . . , xm im Zustand |φ1 ⊗ . . . ⊗ |φm . Wir k¨ onnen die Amplituden des neuen Zustands wie gewohnt durch Ausmultiplizieren errechnen. Darum verwenden wir statt ⊗ meistens die gew¨ ohnliche Produktschreibweise.
Produkt von Zust¨anden
40
2 Vom Bit zum Quantenregister
Produkt von Matrizen
Genauso erh¨alt man aus einer 2m -dimensionalen Beschreibung eines mBit-Registers und einer 2n -dimensionalen eines n-Bit-Registers eine Beschreibung f¨ ur das gemeinsame m + n-Bit-Register in einem 2m+n -dimensionalen Vektorraum. Wie angek¨ undigt, l¨asst sich das Tensorprodukt auch f¨ ur Transformationen definieren. Seien A und B Matrizen mit ⎞ ⎛ a11 · · · a1n ⎜ .. ⎟ . A = ⎝ ... . ⎠ am1
Das Tensorprodukt der Matrizen ist ⎛ a11 · B ⎜ a21 · B ⎜ A⊗B = ⎜ .. ⎝ .
···
amn
··· ... .. .
a1n · B a2n · B .. .
am1 · B · · ·
amn · B
⎞
⎟ ⎟ ⎟. ⎠
Damit k¨ onnen wir die Matrizen aus Beispiel 2.2 auf zwei Bits erweitern. Beispiel 2.9: Das Tensorprodukt der Einheitsmatrix I2 mit sich selbst ergibt ⎛ ⎞ 1 0 0 0 ⎜ 0 1 0 0 ⎟ 1 0 I2 0 ⎟ =⎜ I2 ⊗ I2 = ⊗ I2 = ⎝ 0 0 1 0 ⎠ = I4 . 0 1 0 I2 0 0 0 1
In der mittleren Matrix k¨ urzt 0 eine 0-Matrix chend ist ⎛ ⎜ I4 0 I2 ⊗ I2 ⊗ I2 = = I8 = ⎜ ⎝ 0 I4
der Gr¨oße 2 × 2 ab. Entspre-
⎞ I2 0 0 0 0 I2 0 0 ⎟ ⎟. 0 0 I2 0 ⎠ 0 0 0 I2
Die 2n -dimensionale Hadamard-Transformation Hn ist als Hn =
n
H
i=1
definiert. Damit ist
1 H2 = H ⊗ H = √ 2
H H
H −H
⎛
⎞ 1 1 1 1 1 ⎜ 1 −1 1 −1 ⎟ ⎟. = ⎜ 1 −1 −1 ⎠ 2⎝ 1 1 −1 −1 1
Wendet man Hn auf ein n-Bit Quantenregister an, so entspricht dies der Anwendung von H auf jedes einzelne Quantenbit.
2.7 Die Rolle des Tensorprodukts
41
Die Bedeutung des Tensorproduktes f¨ ur Berechnungen beschreibt die folgende Definition. Die beiden folgenden Aktionen haben dasselbe Resultat: • Wir wenden auf die Bits |x1 , . . . , |xm Transformationen an, die durch die Matrizen A1 , . . . , Am , beschrieben sind (jeweils Ai auf |xi ),
• wir wenden auf das Register |x1 , . . . , xm die Transformation A1 ⊗ . . . ⊗ Am an.
Damit haben wir beschrieben, wie Rechenschritte auf einzelnen Bits mit solchen auf dem ganzen Register zusammenh¨angen. Betrachten wir zwei Bits |x|y. • H ⊗ H = H2 beschreibt auf Registerebene die Anwendung von H auf |x und auf |y. • H ⊗ I2 beschreibt die Anwendung von H auf |x und • I2 ⊗ H die Anwendung von H auf |y. Aufgabe 2.15: Berechnen Sie die 4 × 4-Matrizen H ⊗ I2 und I2 ⊗ H. Allgemein gilt f¨ ur Vektorr¨aume: Agiert die Matrix A auf dem Vektorraum V1 und die Matrix B auf V2 , so ist die Matrix A ⊗ B eine Abbildung von V1 ⊗ V2 auf sich selbst. F¨ ur Vektoren v1 aus dem Raum V1 und v2 aus V2 gilt: (Av1 ) ⊗ (Bv2 ) = (A ⊗ B)(v1 ⊗ v2 ).
Produkt von Operationen
42
2 Vom Bit zum Quantenregister Rechnung mit H2
Beispiel 2.10: Wir rechnen mit dem Zwei-Bit-Register aus Beispiel 2.8 im Zustand |x|y = |0|1 = |01. Wenden wir H auf das erste Bit an, erhalten wir 1 1 1 √ (|0 + |1)|1 = √ |01 + √ |11. 2 2 2 Wir wenden H erneut an, und zwar auf das zweite Bit und bekommen 1 1 1 1 √ |0 √ (|0 − |1) + √ |1 √ (|0 − |1) 2 2 2 2 1 (|00 − |01 + |10 − |11) = 2 = H2 |01. Die Reihenfolge, in der wir die Hadamardtransformationen auf die Quantenbits anwenden, spielt f¨ ur das Endresultat keine Rolle. Aufgabe 2.16: Beginnen Sie mit zwei Bits im Zustand |10 und wenden Sie H auf das erste Bit an, dann auf das zweite, dann noch einmal auf das erste und zuletzt erneut auf das zweite. Anwendung: ein n-Bit Zufallsgenerator
Zufallszahlen
Unser Algorithmus aus Abschnitt 2.4 erzeugte ein zuf¨alliges Bit. Wir k¨onnen ihn wie folgt verallgemeinern: Der Schaltkreis aus Abbildung 2.15 erzeugt Zufallszahlen zwischen 0 und 2n − 1. Jede Zahl wird mit der gleichen Wahrscheinlichkeit 1/2n erzeugt, die Zahlen werden unter Gleichverteilung gezogen.
1. R = |xn−1 , . . . , x0 ← |0 . . . 0 2. R ← Hn R 3. Miss R
Analyse Analyse
Unser Register hat n Bits, alle haben den Anfangswert |0 (Schritt 1). Schritt 2 wendet auf jedes einzelne die Hadamard-Transformation H an, was der Anwendung von Hn auf das Gesamtregister entspricht: 1 1 |0 . . . |0 → √ (|0 + |1) · . . . · √ (|0 + |1) 2 2
2.7 Die Rolle des Tensorprodukts
|0
H
|0
H
|0
H
43
M
Abbildung 2.15: Der Schaltkreis des Zufallsgenerators
F¨ ur die ersten beiden Bits gilt 1 1 1 √ (|0 + |1) · √ (|0 + |1) = (|00 + |01 + |10 + |11). 2 2 2 Multipliziert man weiter aus, erkennt man, dass sich R nach Schritt 2 im Zustand 1 √ (|0 . . . 0 + |0 . . .01 + . . . + |1 . . .1) 2n n
=
1 2 −1 √ ∑ |i 2n i=0
befindet. Beim Messen wird jeder Basiszustand des Quantenregisters mit Wahrscheinlichkeit 1/2n beobachtet. ⋄ Man nennt Hn |0 . . . 0 = H|0 . . . H|0 die gleichgewichtete Superposition, da jeder m¨ oglichen Bitbelegung die gleiche Amplitude zugeordnet wird. Allerdings h¨atte man auch nacheinander die einzelnen Bits messen k¨onnen und h¨atte nach und nach die Bin¨ardarstellung der Zufallszahl erzeugt. Das Messen einzelner Bits ist eines der Themen des n¨achsten Abschnitts. Zum Abschluss kommen wir noch einmal auf das Skalarprodukt zu sprechen. Eine wichtige Eigenschaft des Tensorproduktes ist, dass es mit dem Skalarprodukt vertr¨aglich ist. F¨ ur Vektoren |φ, |φ′ derselben L¨ange m und Vektoren |ψ, |ψ′ derselben L¨ange n gilt: φ ⊗ ψ | φ′ ⊗ ψ′ = φ | φ′ · ψ | ψ′ .
Tensor- und Skalarprodukt
44
2 Vom Bit zum Quantenregister
2.8 Das Messen von Quantenregistern Ein Quantenzustand ist nur abgeschottet stabil. Wollen wir als Mitglieder der Außenwelt eines Quantenbits etwas u ¨ber dessen Zustand herausfinden, m¨ ussen wir es messen. Eine Messung ist ein Prozess, der uns Zugang zu einem Quantenbit verschafft, wenn wir auch nicht den genauen Zustand ermitteln k¨ onnen. Bisher haben wir nur einen Spezialfall solcher Prozesse kennen gelernt: eine Messung resultierte f¨ ur uns stets in einem klassischen Zustand. Aber das ist nicht die ganze Wahrheit, man kann auch bez¨ uglich bestimmter u ¨berlagerter Zust¨ande messen. Außerdem muss keineswegs immer das ganze Register gemessen werden, wir k¨onnen auch einzelne Bits abfragen. Messbasis
Kurzgefasst lautet unsere bisherige Auffassung: ein Zugriff auf ein Quantenregister zerst¨ ort die Superposition, und ein klassischer Zustand wird angenommen und beobachtet. Dies ist nur eine M¨oglichkeit unter vielen, man kann bez¨ uglich verschiedener Basen messen. Eine Voraussetzung muss so eine Basis erf¨ ullen: sie muss orthogonal sein, alle Elemente stehen senkrecht aufeinander. Und da alle unsere Zustandsvektoren die L¨ange 1 haben, betrachten wir letztlich Orthonormalbasen. Beschr¨anken wir uns zun¨achst auf ein Bit. In Abbildung 2.16 sehen wir den Zustandsvektor eines Quantenbits, die Koordinatenachsen sind mit |0 und |1 beschriftet. α, der |0-Anteil oder – mathematisch ausgedr¨ uckt – die L¨ange der Projektion des Zustandsvektors auf die |0-Achse, bestimmt die Wahrscheinlichkeit, dass wir |0 beobachten. Ebenso verh¨alt es sich mit dem |1-Anteil. Wir k¨ onnen jedoch ein anderes Koordinatensystem zu Grunde legen. In Abbildung 2.17 sind die neuen Koordinatenachsen Richtung
|1 1
β
α|0 + β|1 α1
-1
|0
-1 Abbildung 2.16: Zustandsvektor in der Standardbasis |0, |1
2.8 Das Messen von Quantenregistern
45
|+ 1 ′ α
-1
α′|+ + β′|−
′
β
-1 1 |− Abbildung 2.17: Basiswechsel
|+ = √12 (|0 + |1) und |− = √12 (|0 − |1) ausgerichtet. Der Zustandsvektor ¨andert sich nicht, aber die Projektionen auf die Koordinatenachsen haben sich ge¨andert. Aufgabe 2.17: Zeigen Sie, dass die Basis |+, |− orthogonal ist. Messen wir nun bez¨ uglich der neuen Basis, bestimmen die Projektionen α′ , β′ auf die neuen Koordinatenachsen das Ergebnis. Messen wir bez¨ uglich der Basis 1 1 |+ = √ (|0 + |1), |− = √ (|0 − |1), 2 2 so beobachten wir √1 (|0 − |1) 2
√1 (|0 2
+ |1) mit Wahrscheinlichkeit |α′ |2 und
mit Wahrscheinlichkeit |β′ |2 , siehe Abbildung 2.17.
Weiterhin k¨ onnen wir nicht die Superposition als ganze ermitteln; beim Messen wird diese zerst¨ ort, und einer der beiden Werte der zu Grunde gelegten Basis wird angenommen. Man kann die Werte α′ , β′ durch eine einfache Umrechnung in das neue Bezugssystem bestimmen; durch Basistransformation. Dazu l¨ osen wir folgende Gleichung: 1 1 α|0 + β|1 = α′ √ (|0 + |1) + β′ √ (|0 − |1). 2 2 Aufgabe 2.18: Zeigen Sie, dass α′ =
√1 (α + β) 2
und β′ =
√1 (α − β) 2
gilt.
Basiswechsel
46
2 Vom Bit zum Quantenregister ¨ Man kann diese Basistransformation auch durch folgende Ubergangsmatrix beschreiben: in der j-ten Spalte steht der Koordinatenvektor des alten ¨ Basisvektors | j bez¨ uglich der neuen Basis. In unserem Fall ist die Ubergangsmatrix gerade die Hadamard-Matrix H. Denn es gilt 1 1 |0 = √ (|+ + |−) und |1 = √ (|+ − |−). 2 2 Das alles gilt genauso f¨ ur Register mit beliebig vielen Bits. Wir fassen ¨ unsere Uberlegungen in folgender Definition zusammmen: Definition Messen
Register R bestehe aus n Quantenbits und befinde sich im Zustand |φ =
2n −1
∑ αi |i.
i=0
Wir messen bez¨ uglich einer Basis |0′ , |1′ , . . . , |(2n − 1)′ aus zueinander orthogonalen Vektoren der L¨ange 1. Dabei wird die Superposition von |φ zerst¨ ort. Hat |φ bez¨ uglich der Messbasis die Darstellung 2n −1
∑ α′i |i′ ,
i=0
so finden wir das Register nach der Messung mit Wahrscheinlichkeit |α′i |2 im Zustand |i′ vor. S¨amtliche anderen Informationen gehen dabei verloren.
Messen eines einzelnen Bits eines Registers Es ist auch m¨ oglich, nur eines der Bits eines Quantenregisters zu messen. Wie leitet man aus dem Zustand des Registers das Ergebnis dieser teilweisen Messung ab und wie ¨andert sich der Zustand des Registers? Um diese Fragen zu beantworten, konzentrieren wir uns erneut auf zwei Bits |xy, diese sind im Zustand |φ = α00 |00 + α01 |01 + α10 |10 + α11|11. Wir messen das erste Bit: das Ergebnis ist |0 oder |1. Im ersten Fall, |x = |0, geht das Register in eine Superposition von |00 und |01 u ¨ber. Die Wahrscheinlichkeit f¨ ur dieses Ergebnis berechnet sich aus den beteiligten Amplituden: sie betr¨agt |α00 |2 + |α01 |2 . Wie genau sieht der Folgezustand aus? In ihm bleibt das Verh¨altnis der Amplituden α00 und α01 gleich. Um einen zul¨assigen Quantenzustand zu erreichen, in dem die Summe der Quadrate des Amplitudenbetrags gleich 1 ist, normalisieren wir den Zustand.
2.8 Das Messen von Quantenregistern Messen wir im obigen Zustand |φ das erste Bit, so geht das Register mit Wahrscheinlichkeit |α00 |2 + |α01 |2 in den Zustand
α00 |00 + α01 |01 |φ′ = |α00 |2 + |α01 |2
u ¨ber und mit Wahrscheinlichkeit
|α10 |2 + |α11 |2 in den Zustand
α10 |10 + α11|11 |φ′ = . |α10 |2 + |α11 |2
Wir erfahren bei der Messung nur den Wert des gemessenen Bits, nicht die Amplituden des Folgezustandes.
Messen als Projektion Der Rest dieses Abschnitts ist etwas abstrakter. Er enth¨alt allerdings eine umfassende Beschreibung dessen, was beim Messen geschieht, und kann unser intuitives Verst¨andnis von Messungen und Zustandsvektoren wachsen lassen. Die unseren Messungen zu Grunde liegende Mathematik ist Projektion auf einen Unterraum, siehe dazu Abschnitt A.2.4 im Anhang. Dort wird auch der von Vektoren b1 , . . . , bm aufgespannte Vektorraum Span{b1 , . . . , bm } eingef¨ uhrt. Betrachten wir dazu noch einmal die Abbildungen 2.16 und 2.17. Der Zustandsvektor wird in der ersten Abbildung auf die Unterr¨aume Span{|0} und Span{|1} projiziert und in der anderen auf die Unterr¨aume Span{|+} und Span{|−}. Das Ergebnis dieser Projektionen sind die Vektoren α|0, β|1, α′ |+ und β′ |−. Messen wir in einem Zwei-Bit-Register beide Bits, bestimmen die Projektionen auf die eindimensionalen Unterr¨aume Span{|00}, Span{|01}, Span{|10} und Span{|11} das Ergebnis. Messen wir in dem Zwei-Bit-Zustand |φ das erste Bit, so sind die Projektionen auf Span{|00, |01} und Span{|10, |11} maßgeblich. Das sind gerade α00 |00 + α01 |01 und α10 |10 + α11 |11. Messen wir das zweite Bit, projizieren wir auf Span{|00, |10} und Span{|01, |11}.
47 Messen eines Bits
48
2 Vom Bit zum Quantenregister Definition Observable
Nun folgt eine Definition, die unser bisheriges Konzept einer Messung verallgemeinert. Wollen wir etwas u ¨ber einen Quantenzustand herausbekommen, m¨ ussen wir ihn messen. Eine Observable beschreibt die Art, wie gemessen wird. Sei e0 , . . . , en−1 eine Orthonormalbasis des Zustandsraums eines Quantenregisters. Sei E1 , . . . , Ek eine disjunkte Zerlegung dieser Basis, das heißt, jeder Basisvektor kommt in genau einer der Mengen E1 , . . . , Ek vor. Dann heißt die Folge von Unterr¨aumen SpanE1 , . . . , SpanEk eine Observable. Mit |φ1 , . . . , |φk bezeichnen wir die Projektionen von |φ in die Unterr¨aume der Observablen. Es gilt |φ = |φ1 + . . . + |φk . Messen wir den Zustandsvektor φ bez¨ uglich dieser Observablen, • geht das Register mit Wahrscheinlichkeit
|φi 2 in den Zustand
|φi
|φi
uber, und wir k¨ onnen mit diesem Zustand weiterrechnen, ¨ • wir erfahren den Index i.
|φ bezeichnet dabei die L¨ange oder Norm des Zustandsvektors |φ, siehe Anhang. F¨ ur |φ = (α0 . . . αn−1 )T ist |φ = |α0 |2 + . . . + |αn−1 |2 .
Aufgabe 2.19: Man kann unsere bisherige Art zu messen leicht mit dem Begriff der Observablen in Einklang bringen. Tun Sie das! Und zwar f¨ ur die normale Messung eines Registers bez¨ uglich der Standardbasis und f¨ ur die Messung eines Bits eines Zwei-Bit-Registers.
Veranschaulichung
Zugegeben, die Observable ist ein ziemlich abstrakter Begriff. Aber er beschreibt exakt, welche M¨ oglichkeiten das Messen eines Quantenregisters bietet. Man kann sich eine Observable als mathematisches Modell f¨ ur einen Versuchsaufbau vorstellen. Ergebnis der Messung Nun ist es an der Zeit, unser urspr¨ ungliches Bild von der Messung etwas zu korrigieren. Um nicht zu viel auf einmal verstehen zu m¨ ussen, war unsere Ausgangsdefinition des Messens: Messen wir ein Quantenbit im Zustand α|0 + β|1, wird die Superposition zerst¨ort und wir beobachten |0 oder |1. An dieser Auffassung nehmen wir nun folgende Korrekturen vor.
2.8 Das Messen von Quantenregistern
49
1. Die Superposition wird in gewissem Sinne tats¨achlich zerst¨ort, weil eine Messung nicht r¨ uckg¨angig gemacht werden kann. Aber das Ergebnis kann durchaus wieder eine Superposition in unserem bisherigen Sinne sein; etwa wenn wir bez¨ uglich der Basis { √12 (|0+ |1), √12 (|0− |1)} messen. 2. Damit hat eine Messung im Grunde zwei Ergebnisse. Einen QuantenFolgezustand mit dem wir weiterrechnen k¨onnen, der aber ebenso gef¨ahrdet und unber¨ uhrbar ist wie alle anderen Quantenzust¨ande. Und klassische Informationen ¨ uber das Ergebnis der Messung: Nummerieren wir die Unterr¨aume durch, zeigt uns die Messapparatur die Nummer des angenommen Unterraumes an. uglich der Standardbasis Ergab bisher eine Messung von √12 (|0 + |1) bez¨ etwa das Ergebnis |0, bedeutet dies im Grunde zweierlei: Das Quantenbit ist in den Quantenzustand |0 ¨ ubergegangen, und wir werden dar¨ uber informiert. Das mag sehr subtil erscheinen, hat aber folgenden Grund. Messen wir einen unbekannten Zustand bez¨ uglich einer Observablen, erfahren wir, in welchen Unterraum der Zustand projiziert wurde, der genaue Folgezustand aber bleibt uns weiterhin verborgen. Den genauen Zustand eines Quantensystems k¨onnen wir jedoch nicht ermitteln. Stellen wir uns vor, wir ¨ offnen eine Kiste und finden eine tote ¨ Katze. Das Tier kann sich vor dem Offnen in jeder Superposition |φKatze = α|tot + β|lebendig, α = 0 befunden haben. Vielleicht war sie bereits ausschließlich tot (α = 1, β = 0), vielleicht auch nicht. Messen wir bez¨ uglich einer anderen Basis, erfahren wir nichts dar¨ uber Hinausgehendes. Wir messen eine tote Katze |φKatze = | tot bez¨ uglich der Basis B = {|b1 , |b2 } mit 1 1 |b1 = √ (| tot + | lebendig), |b2 = √ (| tot − | lebendig). 2 2 Dann wird unsere Messung die Katze in einen Zombie verwandeln. Denn 1 |tot = √ (|b1 + |b2). 2 Die Katze ist nach der Messung im Zustand |b1 oder |b2 .
Einschr¨ankungen
50
2 Vom Bit zum Quantenregister
2.9 Noch einmal das Problem von Deutsch Unsere neue Auffassung des Messens soll gleich erprobt werden, und zwar an einer neuen Version des Algorithmus f¨ ur das Problem von Deutsch. Die Berechnung aus Abschnitt 2.6 wird abgewandelt, die verk¨ urzte Analyse blickt aus einem anderen Winkel auf den Algorithmus. Problemstellung
ur eine Funktion f : {0, 1} → {0, 1} zur Uns steht ein Quantenorakel U f f¨ Verf¨ ugung. Das heißt, wir k¨ onnen die Funktion auf ein Quantenbit anwenden. Dieses Orakel hat die Form |x, y ⊕ f (x). U f : |x, y → Wir sollen herausfinden, ob diese Funktion konstant ist – dann gilt f (0) = f (1) – oder ob sie balanciert ist: f (0) = f (1). Der neue Algorithmus f¨ ur das Problem von Deutsch
1. R = |x, y ← |01 2. Wende die Hadamard-Transformation H2 = H ⊗ H an: R ← H2 R 3. Werte f aus: R ← Uf R 4. Miss das erste Bit |x bez¨ uglich der Basis { √12 (|0 + |1), √12 (|0 − |1)}: Ist das Ergebnis √12 (|0 + |1): Ausgabe konstant, Ist das Ergebnis
√1 (|0 − |1): 2
Ausgabe balanciert.
Diesem Algorithmus entspricht der Schaltkreis in Abbildung 2.18. Das mit M′ markierte Gatter ist eine Messung in der Hadamard-Basis.
|0
H
|1
H
M’ f
Abbildung 2.18: Schaltkreis f¨ ur das Problem von Deutsch: M′ ist eine Messung in der Hadamard-Basis
2.10 Bestandsaufnahme: Die drei Prinzipien des Quantum Computing Analyse Wie in dem Algorithmus aus Abschnitt 2.6 versetzen die ersten beiden Schritte das Register |x|y in den Zustand 1 1 |φ2 = √ (|0 + |1) · √ (|0 − |1). 2 2 Um die Wirkung von U f zu untersuchen, lassen wir |x zun¨achst einmal unbestimmt. Uf 1 1 |x √ (|0 − |1) −→ |x √ (| f (x) − |1 ⊕ f (x)) 2 2 1 = |x(−1) f (x) √ (|0 − |1). 2
Das ist der Kern dieses Schrittes: f (x) wird in das Vorzeichen verlagert. Nun ist |x allerdings im Zustand √12 (|0 + |1), und das Ergebnis von Schritt 2 ist |φ3 = =
1 1 √ ((−1) f (0) |0 + (−1) f (1)|1) · √ (|0 − |1) 2 2 ± √12 (|0 + |1) · |y f¨ ur f (0) = f (1), ur f (0) = f (1). ± √12 (|0 − |1) · |y f¨
Bemerkung: 1. Das Ergebnis ist dasselbe, ob wir bez¨ uglich der Hadamard-Basis √1 (|0+|1), √1 (|0−|1) messen oder die Hadamard-Transformation 2 2 ausf¨ uhren und bez¨ uglich der Standardbasis |0, |1 messen. 2. Messen wir bez¨ uglich der falschen Basis (oder transformieren nicht in die passende Basis), liefert uns die Messung nicht die gew¨ unschten Informationen. Ob ein Quantenbit im Zustand √12 (|0 + |1) oder √1 (|0 − |1) 2
ist, macht f¨ ur eine Messung in der Standardbasis keinen
Unterschied.
2.10 Bestandsaufnahme: Die drei Prinzipien des Quantum Computing Mit den zur¨ uckliegenden neun Abschnitten sind die Grundlagen f¨ ur das Verst¨andnis von Quantenberechnungen gelegt. Wir wissen, welche Zust¨ande ein Quantenregister annehmen kann, was f¨ ur Rechenschritte ausgef¨ uhrt werden k¨ onnen, und wir haben die zentrale Rolle des Messens verstanden. Nun k¨onnen wir von der Pflicht zur K¨ ur ¨ ubergehen. Zuvor fassen wir alles zusammen, in den drei Prinzipien des Quantum Computing.
51
52
2 Vom Bit zum Quantenregister
Registerzust¨ande
Prinzip 1. Ein Quantenregister aus n Quantenbits R = |xn−1 ... x1 x0 wird durch einen 2n -dimensionalen Vektorraum u ¨ber den komplexen Zahlen beschrieben. Die Standardbasis bildet die Menge der durch n klassische Bits darstellbaren Zahlen |0, |1, . . . , |2n − 1 oder die entsprechenden Bin¨ardarstellungen
{|0 . . . 00, |0 . . . 01, . . . , |1 . . . 11} = {|i ; i ∈ {0, 1} n}. Ein Zustand eines Quantenregisters R ist ein Vektor ⎞ ⎛ α0 ⎟ ⎜ .. ⎠ ⎝ . α2n −1
¨ der L¨ange 1. Diesem Vektor entspricht die Superposition oder Uberlagerung von Basiszust¨anden R=
2n −1
∑ αi |i
i=0
mit der Eigenschaft:
2n −1
∑ |αi |2 = 1.
i=0
Rechenschritte
Messen
Prinzip 2. M¨ ogliche Ver¨anderungen an Quantenregistern werden durch unit¨are Transformationen beschrieben. Dadurch ist jeder Rechenschritt auf einem Quantencomputer umkehrbar. Die m¨oglichen Rechenschritte sind lokal: sie lassen sich in einfache unit¨are Operationen zerlegen, an denen nur eines oder zwei der Bits beteiligt sind. Die Zerlegung geschieht gem¨aß dem Tensorprodukt. Prinzip 3. Misst man ein Quantenregister im Zustand R=
2n −1
∑ αi |i
i=0
bez¨ uglich der Standardbasis |0, |1, . . . , |2n − 1, erh¨alt man mit Wahrscheinlichkeit |αi |2 das Ergebnis |i. Misst man bez¨ uglich einer Orthonormalbasis |b0 , |b1 , . . . , |b2n −1 und hat der Registerzustand gem¨aß dieser Basis die Form R=
2n −1
∑ α′i |bi ,
i=0
2.11 Verschr¨ankung
53
so erh¨alt man mit Wahrscheinlichkeit |α′i |2 das Ergebnis |bi . Messen bez¨ uglich einer Observablen wird am Ende von Abschnitt 2.8 beschrieben. Dieses Konzept beschreibt, wie bez¨ uglich einzelner Bits und nach noch allgemeineren Zerlegungen gemessen werden kann. Eine Messung hat zwei Resultate: 1. wir erhalten das Ergebnis der Messung in Form klassischer Information; 2. die gemessenen Quantenbits nehmen einen Folgezustand an, mit dem wir weiterrechnen k¨ onnen. Im n¨achsten Abschnitt werden wir eine weitere Eigenschaft von Quantensystemen kennen lernen, die f¨ ur unsere Berechnungen sehr wichtig sind. Das Stichwort lautet Verschr¨ankung. Wir brauchen die Liste dieses Abschnitts jedoch nicht zu erweitern: die Verschr¨ankung folgt aus den drei Prinzipien.
2.11 Verschr¨ ankung Eine der merkw¨ urdigsten Eigenschaften von Quantenregistern ist, dass einzelne Bits verschr¨ankt sein k¨ onnen. Manipulationen eines Bits k¨onnen den Ausgang der Messung eines anderen Bits beeinflussen; darauf beruht zum Beispiel die Quantenteleportation, wie wir in einem sp¨ateren Kapitel sehen werden. Verschr¨ankung, der Begriff wurde erstmals 1937 von Schr¨odinger verwendet, gilt als das eigentliche Charakteristikum der Quantenwelt, und in der Anfangszeit der Quantenmechanik war sie Gegenstand erregter Debatten. Es handelt sich dabei um ein Ph¨anomen, das schwer mit unserer ¨ allt¨aglichen Auffassung von Realit¨at in Ubereinstimmung zu bringen ist, aber mathematisch sehr leicht aus dem uns schon Bekannten folgt. Darum verschieben wir die Diskussion u ¨ber das Wesen der Verschr¨ankung (engl. entanglement) auf das Ende des Abschnitts. Wir betrachten ein Zwei-Bit-Register |b1 b2 im Zustand |00, wenden auf das erste Bit die Hadamard-Transformation an und anschließend auf beide Bits die Operation CNOT aus Beispiel 2.5 (siehe Abbildung 2.19):
Erzeugung eines verschr¨ankten Zustands
CNOT : |x, y → |x, y ⊕ x. Das ergibt:
|00
H⊗I2
−→
CNOT
−→
1 1 √ (|0 + |1) |0 = √ (|00 + |10) 2 2 1 √ (|00 + |11). 2
Messen wir nun das erste Bit, ist das Ergebnis dieser Messung |0 oder |1, und zwar jeweils mit Wahrscheinlichkeit 1/2. Im ersten Fall ist der Folgezustand |00. Haben wir f¨ ur das erste Bit |1 beobachtet, geht das
Gekoppelte Bits
54
2 Vom Bit zum Quantenregister
|0
H
|0 Abbildung 2.19: Schaltkreis zur Verschr¨ankung zweier Bits
Zwei-Bit-Quantenregister in den Zustand |11 ¨uber. Messen wir danach das zweite Bit, erhalten wir dasselbe Ergebnis wie f¨ ur das erste Bit: entweder sind am Ende beide Bits 0 oder beide 1. Bevor |b1 gemessen wurde, war der Ausgang einer Messung an |b2 offen: beide Ergebnisse waren gleich wahrscheinlich. Ist |b1 hingegen bereits gemessen worden, steht das Ergebnis der Messung an |b2 fest. Das gleiche Ph¨anomen tritt auf, wenn wir zuerst |b2 messen. Fernwirkung
Dass sich der Zustand √12 (|00 + |11) verh¨alt wie eben beschrieben, folgt aus unseren Voraussetzungen; es l¨asst sich dem Zustand direkt ansehen. Um noch deutlicher heraus zu arbeiten, wie erstaunlich das Verhalten verschr¨ankter Quantenbits ist, trennen wir die Bits und geben sie zwei verschiedenen Personen. Wie in der Literatur zum Thema u ¨blich, nennen wir die beiden fiktiven Personen Alice und Bob. Gemeinsam erzeugen sie wie oben beschrieben zwei verschr¨ankte Quantenbits. Alice erh¨alt das erste und Bob das zweite Bit. Dieser geht damit ins Nebenzimmer; wenn sein Quantenbit gut von der Außenwelt abgeschirmt ist – so wie Schr¨odingers Katze durch die Kiste – ¨andert sich der Zustand beider Bits nicht; er ist weiterhin 1 √ (|00 + |11). 2 Alice und Bob messen die mittlerweile r¨aumlich getrennten Bits. F¨ ur beide gilt: mit Wahrscheinlichkeit 1/2 ist das Ergebnis |0 und mit der gleichen Wahrscheinlichkeit |1. Keiner kann feststellen, ob der andere sein Bit bereits gemessen hat. Egal ob Bob zuerst misst, oder ob Alice zuerst misst: jeder f¨ ur sich beobachtet |0 oder |1 mit gleicher Wahrscheinlichkeit. F¨ ur jede der beiden Messungen ist das Ergebnis unbestimmt. Wenn Alice und Bob sich jedoch anschließend treffen und u ¨ber ihre Messungen sprechen, werden sie feststellen: ihre Ergebnisse sind identisch. Die Bits sind vollst¨andig aneinander gekoppelt, trotz r¨aumlicher Distanz; dazu gibt es in der klassischen Welt kein Analogon. Es spielt dabei auch keine Rolle, wer zuerst misst oder ob beide gleichzeitig messen (wobei diese Begriffe durch die Relativit¨atstheorie ohnehin an Absolutheit verloren haben).
2.11 Verschr¨ankung
55
Alice und Bob haben einen Bell-Zustand erzeugt, benannt nach dem in Belfast geborenen Physiker John Bell (1928-1990). Insgesamt gibt es vier solche Bell-Zust¨ande:
Bell-Zust¨ande
1 Φ+ = √ (|00 + |11), 2 1 Φ− = √ (|00 − |11), 2 1 + Ψ = √ (|01 + |10), 2 1 Ψ− = √ (|01 − |10). 2 Diese bilden zusammen eine Orthonormalbasis des Zustandsraumes der zwei Bits. Man sieht leicht, dass in Φ− , Ψ+ und Ψ− die beiden Bits auf dieselbe Weise gekoppelt sind wie in Φ+ . Der einzige Unterschied: Bei Ψ+ und Ψ− erhalten sie grunds¨atzlich entgegengesetzte Ergebnisse. Man bezeichnet zwei Bits im Zustand Φ+ oder Ψ+ auch als EPR-Paar, benannt nach Einstein, Podolsky und Rosen, siehe unten. In der obigen Situation teilen sich Alice und Bob ein EPR-Paar. Wie l¨asst sich diese Kopplung mathematisch beschreiben? Dazu unterscheiden wir verschr¨ankte Zust¨ande von unverschr¨ankten. 1 √ (|00 + |10) 2 und
1 H2 |11 = (|00 − |01 − |10 + |11) 2
sind Beispiele f¨ ur Superpositionen, in denen die Bits nicht gekoppelt sind. Das wird aus Messungen an den einzelnen Bits ersichtlich. Wir definieren: Sei |φ der Zustand eines Quantenregisters aus n Bits. Der Zustand |φ heißt unverschr¨ankt, wenn er das Produkt von Zust¨anden der einzelnen Bits ist: |φ = |φn−1 ⊗ |φn−2 ⊗ . . . ⊗ |φ0 . Ein Zustand heißt verschr¨ankt, wenn es keine solche Zerlegung gibt.
Beispiel 2.11: Wir zerlegen die beiden vor der Definition erw¨ahnten unverschr¨ankten Zust¨ande. Es gilt 1 1 √ (|00 + |10) = √ (|0 + |1) ⊗ |0, 2 2
Definition Verschr¨ankung
56
2 Vom Bit zum Quantenregister (bisher haben wir der schwerf¨alligen Notation ⊗ meistens das gew¨ohnliche Produktzeichen · vorgezogen). F¨ ur den zweiten der oben genannten Zust¨ande gilt: 1 (|00 − |01 − |10 + |11) = 2 =
1 (|0 ⊗ (|0 − |1) − |1 ⊗ (|0 − |1)) 2 1 1 √ (|0 − |1) ⊗ √ (|0 − |1). 2 2
Aufgabe 2.20: Zeigen Sie, dass Φ+ nicht in das Produkt zweier Zust¨ande jeweils eines Bits zerlegt werden kann. Verschr¨ankung von mehr als zwei Bits
Um Φ+ zu erzeugen, haben wir CNOT auf den unverschr¨ankten Zustand √ 1/ 2(|00+ |10) angewendet und so einen verschr¨ankten Zustand erhalten. Nun stimmt CNOT gerade mit der Ein-Bit-Operation U f zum Orakel f (0) = ¨ 0, f (1) = 1 u lassen sich verschr¨ankte Zust¨ande mehrerer Bits ¨berein. Ahnlich erzeugen. Beispiel 2.12: Wir rechnen mit zwei Registern |x und |y aus jeweils n Quantenbits. Wir initialisieren alle Bits mit dem Zustand |0. Wenden wir auf das erste die Hadamard-Transformation an, geht es in den Zustand 1 2n −1 √ ∑ |i |0 . . . 0 2n i=0 u ¨ber. Wir wenden die Operation U f : {0, 1}2n → {0, 1}2n , |x, y → |x, y ⊕ f (x) f¨ ur eine beliebige Funktion f : {0, 1}n → {0, 1}n an (⊕ meint hier die komponentenweise Addition in {0, 1}n; es ist (xn−1 , . . . , x0 )T ⊕ (yn−1 , . . . , y0 )T = (xn−1 ⊕ yn−1 , . . . , x0 ⊕ y0 )T ). Das Register befindet sich anschließend im Zustand n 1 2 −1 √ |i| f (i) . ∑ 2n i=0
Messen wir nun das erste Register, beobachten wir irgendeinen Wert |i. Gleichzeitig nimmt das zweite Register den Wert | f (i) an. ⋄
Unverschr¨ankte Zust¨ande lassen sich in Produkte von Zust¨anden von je ei¨ nem Bit zerlegen. Folgende Ubung behandelt die Zerlegung eines verschr¨ankten Zustands in Anteile von je zwei Bits: Aufgabe 2.21: Zerlegen Sie 1/2(|0 + |3 + |12 + |15) in ein Produkt von verschr¨ankten Zwei-Bit-Zust¨anden.
2.11 Verschr¨ankung Bisher haben wir verschr¨ankte und unverschr¨ankte Zust¨ande kennengelernt. Es gibt auch solche, die nach unserer Definition verschr¨ankt sind, deren Bits aber weniger stark gekoppelt sind als in den Bell-Zust¨anden. Messungen an einem Zwei-Bit-Register im Zustand √ 3 1 |11 |φ = |00 + 2 2
57 Grad der Verschr¨ankung
liefern f¨ ur beide Bits stets dasselbe Ergebnis, aber mit unterschiedlichen Wahrscheinlichkeiten. Mit Wahrscheinlichkeit 1/4 erhalten wir |00 und mit Wahrscheinlichkeit 3/4 das Ergebnis |11. Der Einfluss der ersten Messung ist geringer: der Ausgang der zweiten Messung ist von vornherein weniger unsicher. Wir betrachten zur Verdeutlichung ein Zwei-Bit-Register im Zustand |11. Auch hier liefern getrennte Messungen stets dasselbe Ergebnis. Aber f¨ ur beide Messungen steht das Ergebnis von vornherein fest, |11 ist ein unverschr¨ankter Zustand. Und da f¨ ur |φ der Ausgang der Messungen weniger unsicher ist als f¨ ur Φ+ = √12 (|00 + |11), ist |φ weniger verschr¨ankt als Φ+ . Die Bell-Zust¨ande sind maximal verschr¨ankt. Wir verzichten darauf, das Maß an Verschr¨ankung formal zu definieren. Wir begn¨ ugen uns mit der Feststellung, dass ein Zustand der Form √ 1 k−1 √ |00 + √ |11, k ≥ 2 k k f¨ ur wachsendes k immer weniger verschr¨ankt ist. Welche Konsequenzen hat das Ph¨anomen Verschr¨ankung“ f¨ ur unser ” Weltbild? Eine knappgehaltene Diskussion dieser Frage soll diesen Abschnitt beschließen. Dazu begeben wir uns in das Jahr 1935, als eine ber¨ uhmte Arbeit von Albert Einstein, Boris Podolsky und Nathan Rosen erschien [35]. Die Bezeichnung EPR-Paar geht auf diese drei damals am Institute for Advanced Studies in Princeton arbeitenden Forscher zur¨ uck. Der Grund: sie schlugen ein Gedankenexperiment vor, das der oben beschriebenen Situation ¨ahnelt, in der Alice und Bob ihre Bits in verschiedenen R¨aumen messen. Die Kopplung der beiden Bits, diese im Originalton spukhafte Fernwirkung oder spooky action at a distance, hielten sie f¨ ur eine absurde Folge der Quantenmechanik. Das sp¨ater so benannte Einstein-Podolsky-Rosen-Paradoxon sollte zeigen, dass die Quantenmechanik keine vollst¨andige Beschreibung der Wirklichkeit liefert. Denn das Verhalten von r¨aumlich getrennten verschr¨ankten Bits scheint dem Lokalit¨atsprinzip zu widersprechen. Nicht nur die drei Autoren waren Anh¨anger dieses Prinzips, es scheint ein Grundsatz des gesunden Menschenverstandes zu sein. Wirken zwei Objekte aufeinander, m¨ ussen sie nach klassischer Auffassung in Verbindung stehen; das fordert das Lokalit¨atsprinzip. Eine rollende Billardkugel kann eine ruhende Billardkugel durch direkten Kontakt in Bewegung setzen. Die Wirkung zwischen zwei Objekten kann aber auch u ¨ber ein
Philosophisches
Lokalit¨at
58
2 Vom Bit zum Quantenregister
Realismus
Verborgene Variablen
Bells Theorem
Medium vermittelt werden, zum Beispiel u ¨ber ein elektromagnetisches Feld. Auch die Anziehungskraft zwischen zwei entfernten K¨orpern l¨asst sich so erkl¨aren. Die Schwerkraft wird u ¨ber Gravitonen vermittelt, die im Einklang mit der Relativit¨atstheorie nicht schneller als das Licht sind. Sind hingegen zwei Objekte auf eine Art getrennt, die keinen Informationsaustausch zwischen ihnen zul¨asst, so sind diese Objekte unabh¨angig und k¨ onnen sich nicht beeinflussen. Diese plausibel wirkenden Annahmen bilden das Fundament des Lokalit¨atsprinzips: jede Wirkung beruht auf direktem Kontakt oder wird durch ein Medium weitergeleitet, und zwar h¨ochstens so schnell wie das Licht. Wie verh¨alt es sich nun mit den Messungen, die Alice und Bob an ihren verschr¨ankten Quantenbits vorgenommen haben? Die erste Messung wird ausgef¨ uhrt, und sofort steht das Ergebnis der zweiten Messung fest. Es kann kein Medium geben, u ¨ber das Information ausgetauscht wird, denn keine lokale Wirkung ist schneller als das Licht. Auch der klassische Begriff Kausalit¨at ist fehl am Platze. Man kann nur sagen: bei den Messungen ¨außert sich die Kopplung der Bits in identischen Ergebnissen; verschr¨ankte Bits bilden r¨aumlicher Trennung zum Trotz eine Einheit. Einstein, Podolsky und Rosen st¨orte an der Quantenmechanik noch etwas anderes. Sie gingen davon aus, dass physikalische Eigenschaften von ihrer Beobachtung unabh¨angig seien. Diese Auffassung bezeichnet man in diesem Zusammenhang als Realismus. Der Zustand eines Quantensystems ist jedoch in der Regel vor der Messung unbestimmt und der Zufall spielt eine f¨ ur einen Realisten ungeb¨ uhrliche Rolle. Die drei Autoren folgerten: Da die Quantenmechanik keine lokalrealistische Theorie ist, und zum Beispiel die Existenz von nicht-lokalen Wirkungen nahe legt, kann mit ihr etwas nicht stimmen. Die quantenmechanische Beschreibung der Natur ist nicht vollst¨andig, sie zeichnet nicht das ganze Bild. In der erw¨ahnten Ver¨offentlichung schlugen sie die Existenz verborgener Variablen vor, die die Ergebnisse der beiden Messungen festlegt, bevor Alice und Bob die Bits trennen. Die Herleitung von korrelierten Messergebnissen aus verborgenen Variablen k¨onnte man mit der Erkl¨arung ¨ der Ahnlichkeit von Zwillingen aus dem gemeinsamen Erbgut vergleichen. Mit dem Unterschied, dass sich besagte Variablen nicht beobachten lassen, sie sind nunmal verborgen. L¨asst sich mit Hilfe verborgener Variablen ein lokal-realistisches Weltbild aufrechterhalten oder sollten wir davon Abschied nehmen? Das scheint zun¨achst eine weltanschauliche oder sogar eine Geschmacksfrage zu sein, die experimentell nicht entscheidbar ist. ¨ Uberraschenderweise stimmt das nicht. John Bell (siehe oben) war Mitarbeiter des europ¨aischen Kernforschungszentrums CERN in Genf und besch¨aftigte sich unter anderem mit der Frage, wie eine im Sinne von Einstein, Podolsky und Rosen vollst¨andige Beschreibung der Wirklichkeit aussehen k¨ onne. Eine solche Beschreibung sollte lokal realistisch sein und zugleich quantenmechanische Ph¨anomene erkl¨aren k¨onnen. Im Jahr 1964 bewies Bell rein theoretisch: die Kopplung verschr¨ankter Teilchen ist st¨arker, als durch jede lokal-realistische Theorie erkl¨arbar w¨are, auch wenn diese auf verborgene Variablen zur¨ uckgreift. Dieses Ergebnis, Bells Theorem, resultiert damit
2.12 Die Hadamard-Transformation und mehrere Bits
59
in einem kniffligen Entweder – Oder: Entweder die Quantenmechanik ist falsch oder der lokale Realismus. Bell betrachtete verschiedene Messungen an verschr¨ankten Bits. Er konnte zeigen, dass die Ergebnisse in jeder m¨ oglichen lokal-realistischen Theorie, auch in solchen mit verborgenen Variablen, eine gewisse Ungleichung erf¨ ullen. Stimmen hingegen die Voraussagen der Quantenmechanik, wird die Ungleichung verletzt. Also ist experimentell entscheidbar, welche Alternative zutrifft. Die Ergebnisse vieler Experimente (das erste stammt aus dem Jahr 1972) haben gezeigt, dass Bells Ungleichung nicht gilt und wir uns gegen den lokalen Realismus entscheiden sollten. Gezeigt ist damit, dass nicht Realismus und Lokalit¨at zutreffen k¨ onnen. Wir m¨ ussen uns also von einem der beiden Prinzipien oder auch von beiden verabschieden.
Bells Ungleichung
Neuere Experimente sprechen f¨ ur die Lokalit¨at und damit gegen den Realismus [47]. Anton Zeiliniger und seine Wiener Kollegen griffen dabei auf eine theoretische Arbeit von Anthony Legget zur¨ uck. Legget untersucht in [61] nichtlokale realistische Theorien mit verborgenen Parametern, in denen es Wechselwirkungen u oßere Entfernungen gibt, ohne dass dabei Infor¨ber gr¨ ¨ mation u ¨bertragen wird. Er bewies ein Resultat, dass strukturelle Ahnlichkeit mit Bells Ergebnissen hat: in jeder derartigen Theorie ist eine Ungleichung erf¨ ullt, die von der Quantenmechanik verletzt wird. In 2006 gelang es an verschr¨ankten Photonenpaaren nachzuweisen, dass diese Ungleichung – wie von der Quantenmechanik vorhergesagt – tats¨achlich verletzt wird, siehe dazu [47].
Eine nicht-realistische Welt?
Verschr¨ankung ist eine der wesentlichen Eigenschaften von Quantensystemen. Formal folgt es aus den drei Prinzipien des letzten Abschnitts. Teleportation und Quantenkryptographie werden durch den Einsatz verschr¨ankter Quantenbits m¨ oglich, und auch f¨ ur andere Verfahren spielen diese eine Rolle. Die Diskussion dieses Themas wird in Abschnitt 5.3 fortgesetzt.
Zusammenfassung und Ausblick
2.12 Die Hadamard-Transformation und mehrere Bits In Beispiel 2.9 haben wir die Hadamard-Transformation auf mehreren Bits kennen gelernt. Die meisten bekannten Algorithmen verwenden diese Operation oder eine Verallgemeinerung (die Quanten-Fouriertransformation, siehe Kapitel 8). Ziel des Abschnitts ist, etwas Fingerfertigkeit im Umgang mit dieser Transformation zu gewinnen. Beginnen wir damit, die Definition zu wiederholen. Die HadamardTransformation auf einem Bit wird durch die Matrix 1 1 1 H=√ 2 1 −1 beschrieben. Man kann die Hadamard-Transformation auf n Bits anwenden, indem f¨ ur jedes der Bits H ausgef¨ uhrt wird. Mit Hilfe des Tensorproduktes
60
2 Vom Bit zum Quantenregister ausgedr¨ uckt erhalten wir Hn =
n
H.
i=1
Wir untersuchen die Wirkung der n-Bit-Version. Sei |x ein Register aus n Quantenbits |xn−1 ...x0 . Belegungen des Registers dr¨ ucken wir auf zwei verschiedene Weisen aus: Entweder als n-Tupel von 0en und 1en (x ∈ {0, 1} n) oder als bin¨ar kodierte Zahl aus dem Bereich 0, . . . , 2n − 1. Wir wechseln je nach Bequemlichkeit zwischen diesen beiden Schreibweisen. Wirkung auf zwei Bits
Ist ein Register aus zwei Bits im Zustand |x1 , x0 mit (x1 , x0 ) ∈ {0, 1}2 , so hat die Hadamard-Transformation H2 die folgende Wirkung:
H
2 |x1 , x0 −→
1 (|0 + (−1)x1 |1) · (|0 + (−1)x0 |1) 2
Da (−1)x0 · (−1)x1 = (−1)x0 ⊕x1 ist, ergibt Ausmultiplizieren
=
1 (|00 + (−1)x0 |01 + (−1)x1 |10 + (−1)x0⊕x1 |11) 2 1 (−1)(0,0)·x |00 + (−1)(0,1)·x|01 2 +(−1)(1,0)·x |10 + (−1)(1,1)·x|11 ,
mit x = (x1 , x0 )T . F¨ ur zwei Vektoren x, y ∈ {0, 1}n bezeichnet x · y das Skan uhrte Addition in {0, 1}. larprodukt i=1 xi yi . ⊕ ist die auf Seite 16 eingef¨ Wirkung auf n Bits
Auf ein n-Bit-Register im Zustand x ∈ {0, 1}n hat die HadamardTransformation folgende Wirkung: 1 Hn |x = √ ∑ (−1)x·y |y. 2n y∈{0,1}n Es entsteht eine Superposition u ¨ber alle klassischen Zust¨ande des Registers, die Information u ¨ber |x wird in das Vorzeichen verlagert.
Beispiel 2.13: Wir kennen bereits die Wirkung auf ein Register, dessen Bits alle den Wert 0 haben: n
n
1 2 −1 1 2 −1 Hn |00...0 = √ ∑ (−1)0 |y = √ ∑ |y. 2n y=0 2n y=0 Das Ergebnis wird als gleichgewichtete Superposition bezeichnet.
2.12 Die Hadamard-Transformation und mehrere Bits
61
Gehen wir von einem Register aus, in dem nur das Bit mit dem kleinsten Index den Wert 1 hat, erhalten wir n
1 2 −1 √ ∑ (−1)y0 |y 2n y=0
Hn |0...01 =
f¨ ur y = (yn−1 , . . . , y0 ). Das ist die alternierende Superposition 1 √ |0...00 − |0...01 + |0...010 − |0...011 ± ... + |1...10 − |1...11 . 2n
⋄
Die Hadamard-Transformation l¨asst sich auch als Basistransformation auffassen, wie in Abschnitt 2.8 beschrieben. Der von uns zuerst betrachtete Algorithmus f¨ ur das Problem von Deutsch geht wie folgt vor: er f¨ uhrt auf einem Ausgangszustand des Zwei-Bit-Registers H2 aus, ruft dann das Orakel U f auf, um vor dem Messen erneut die Transformation H2 anzuwenden. U f wird also bez¨ uglich der durch H2 beschriebenen Basis berechnet; danach wird zur¨ ucktransformiert. Diese doppelte Ausf¨ uhrung der Hadamard-Transformation wird uns noch h¨aufiger begegnen. Zur Vorbereitung des n¨achsten Abschnitts f¨ uhren wir jetzt Hn auf einem Register beliebigen Inhalts zweimal hintereinander aus. Uns interessiert dabei, wie aus der in das Vorzeichen verlagerten Information der Ausgangszustand wiederhergestellt wird. Die Hadamard-Transformation zweimal ausgef¨ uhrt Unser Quantenregister aus n Bits sei anfangs im Zustand |x: n
|x
1 2 −1 √ ∑ (−1)x·z · |z = |φ1 . 2n z=0
Hn
−→
Der Ausgangszustand x ist im Vorzeichen aufgehoben. Da die HadamardTransformation unit¨ar ist, k¨ onnen wir diesen Schritt r¨ uckg¨angig machen, und zwar durch erneute Anwendung von Hn . Dabei geht jedes Element |z der Superposition in n
1 2 −1 Hn |z = √ ∑ (−1)z·w |w 2n w=0 u ¨ber. Wir erhalten also H
n |φ1 −→
n n 1 2 −1 1 2 −1 √ ∑ (−1)x·z √ ∑ (−1)z·w |w 2n z=0 2n w=0 n
n
=
1 2 −1 2 −1 ∑ ∑ (−1)x·z (−1)z·w |w 2n z=0 w=0
=
|φ2 .
62
2 Vom Bit zum Quantenregister Wir vertauschen die Reihenfolge der Summation und nutzen die Linearit¨at des Skalarproduktes: u · (v ⊕ w) = u · v ⊕ u · w. n
|φ2 =
n
1 2 −1 2 −1 ∑ ∑ (−1)z·(x⊕w) |w. 2n w=0 z=0
F¨ ur w = x ist z · (x ⊕ w) = 0; wir zerlegen die Summe u ¨ber w: |φ2 =
1 2n
2n −1 ∑ (−1)0 · |x
+
∑ ∑ (−1)
w=0 w=x
z=0
Wir untersuchen
2n −1 2n −1
z·(x⊕w)
z=0
|w .
2n −1
∑ (−1)z·(x⊕w)
z=0
f¨ ur den Fall x = w und alle m¨ oglichen Werte von z. Dann ist x ⊕ w nicht der Nullvektor. Wir nehmen an, in x ⊕ w seien gerade die Bits b1 , . . . , bm gleich 1. Es gilt: ⎧ ⎨ 0 wenn in z eine gerade Anzahl der Bits b1 , . . . , bm den Wert 1 hat z · (x ⊕ w) = ⎩ 1 sonst.
Wir betrachten alle m¨ oglichen Werte von z: f¨ ur die H¨alfte ist die Anzahl der ur die andere H¨alfte ungerade. Damit Bits b1 , . . . , bm mit Wert 1 gerade, f¨ gilt f¨ ur alle w, die ungleich x sind: 2n −1
∑ (−1)z·(x⊕w) = 0,
z=0
und der Zustand nach der zweiten Hadamard-Transformation ist 2n −1 1 n |φ2 = n 2 · |x + ∑ 0 · |w = |x. 2 w=0 w=x
Wir fassen zusammen: n
1 2 −1 Hn |x −→ √ ∑ (−1)x·z · |z −→ |x. n 2 z=0 Hn
2.13 Der Algorithmus von Deutsch-Jozsa
Aufgabenstellung
Im vorherigen Abschnitt wurde die Wirkungsweise der HadamardTransformation auf ein Register untersucht. Das hilft uns, eine Verallgemeinerung des Problems von Deutsch zu l¨osen. Uns liegt ein Bauteil vor, das eine mathematische Funktion berechnet. Es bildet Eingaben aus n Bits auf ein Ausgabebit ab, das heißt eine Funktion f : {0, 1}n → {0, 1} wird berechnet.
2.13 Der Algorithmus von Deutsch-Jozsa
63
Wir wissen u ¨ber die berechnete Funktion f folgendes: • Entweder ist f konstant und alle Eingaben werden auf die gleiche Ausgabe abgebildet, • oder f ist balanciert: die H¨alfte der Eingaben wird auf 1 abgebildet, die andere H¨alfte auf 0. Dann gilt f¨ ur die Anzahl der Urbilder | f −1 (0)| = | f −1 (1)| = 2n−1 . Unsere Aufgabe: Wir sollen entscheiden, welche der Alternativen zutrifft. Wir u ur wie viele Eingaben ein klassischer Computer ¨berlegen zun¨achst, f¨ die Funktion auswerten muss. Auch wenn er geschickt vorgeht, kann folgende Situation eintreten: er hat bereits f¨ ur ν = 2n−1 verschiedene Eingaben n b1 , . . . bν ∈ {0, 1} den Funktionswert bestimmt und herausbekommen, dass f (b1 ) = . . . = f (bν ) gilt. Er weiß dann allerdings noch immer nicht, ob die Funktion balanciert oder konstant ist. Der klassische Rechner muss also im schlechtesten Fall f¨ ur 2n−1 + 1 Eingaben den Funktionswert bestimmen. Die Anzahl der Aufrufe ist im schlechtesten Fall exponentiell in der Eingabegr¨oße n. Liegt uns die Funktion hingegen als Quantenbauteil U f : |xn−1 . . . x0 , y → |xn−1 . . . x0 , y ⊕ f (x) vor, kommt ein Quantencomputer mit nur einem Aufruf aus. Der folgende Algorithmus stammt von David Deutsch und Richard Jozsa von der Universit¨at Bristol (siehe [30]). Der Algorithmus von Deutsch-Jozsa Wir verwenden ein Register mit n + 1 Quantenbits |xn−1 . . . x0 |y, siehe auch Abbildung 2.20.
1. |xn−1 . . . x0 |y ← |0 . . . 0|1 2. Wende die Hadamard-Transformation Hn+1 an: |x|y ← Hn+1 |x|y 3. Werte f aus: |x|y ← U f |x|y 4. Wende die Hadamard-Transformation auf |x an: |x|y ← (Hn |x)|y 5. Miss das Register: Ist |x = |0 . . . 0: Ausgabe konstant, Sonst: Ausgabe balanciert.
Aufwand im klassischen Fall
64
2 Vom Bit zum Quantenregister
|0
H
H
M |0
H
|1
H
H f
Abbildung 2.20: Schaltkreis f¨ ur den Algorithmus von Deutsch-Jozsa
Schritt 2
Analyse Wir beginnen mit Schritt 2, der Anwendung von Hn+1 auf |0 . . . 0|1. Dies entspricht der Anwendung von Hn auf |0 . . . 0 zusammen mit H auf |1: 1 2n −1 1 Hn+1 |0 . . . 0|1 −→ √ ∑ |x · √ (|0 − |1) = |φ2 . 2n x=0 2
Schritt 3
ur ein Zun¨achst betrachten wir, wie die Anwendung von U f im Schritt 3 f¨ fixiertes x wirkt: Uf 1 1 |x √ (|0 − |1) −→ |x √ (| f (x) − |1 ⊕ f (x)) 2 2 1 = (−1) f (x) · |x · √ (|0 − |1). 2
Also hat U f auf die Superposition |φ2 die Wirkung: n Uf 1 1 2 −1 f (x) √ ∑ (−1) |x · √ (|0 − |1) = |φ3 . |φ2 −→ n 2 x=0 2 Schritt 4
Im vierten Schritt wird die Hadamard-Transformation auf den |x-Teil angewendet, f¨ ur Zwischenschritte verweisen wir auf den vorhergehenden Abschnitt. n n 1 2 −1 2 −1 1 Hn ⊗I2 f (x) x·z (−1) (−1) |z · √ (|0 − |1) = |φ4 . |φ3 −→ ∑ ∑ n 2 z=0 x=0 2
Schritt 5
Um die Auswirkung der Messung zu untersuchen, betrachten wir ur ein festes |z, also die (nicht normierte) Summe |xn−1 . . . x0 f¨ n
|φ′4
1 2 −1 = n ∑ (−1) f (x) (−1)x·z |z. 2 x=0
2.13 Der Algorithmus von Deutsch-Jozsa Nehmen wir zun¨achst an, f sei konstant. Dann ist f (x) f¨ ur alle x gleich. Im Fall z = 0 gilt außerdem x · z = 0 und wir erhalten in diesem Fall:
65 Fall: konstant
n
|φ′4 =
1 2 −1 ∑ ±|0 = ±|0. 2n x=0
Messen von |xn−1 . . . x0 liefert also das Ergebnis |0. Da |φ′4 ein zul¨assiger Zustand von |xn−1 , . . . , x0 ist, verschwindet die Amplitude von jedem |z mit z = 0. Es ist instruktiv, das nachzurechnen: Aufgabe 2.22: Zeigen Sie, dass |z f¨ ur z = 0 die Amplitude 0 hat. Wenn f balanciert ist, mit welcher Wahrscheinlichkeit beobachten wir dann |0? F¨ ur z = 0 ist
Fall: balanciert
n
|φ′4 =
1 2 −1 ∑ (−1) f (x) |0. 2n x=0
F¨ ur die eine H¨alfte der x ist f (x) = 0, f¨ ur die andere ist f (x) = 1. Also ist die Amplitude von |0 gleich 0. ⋄ Das folgende Problem l¨asst sich auf ganz ¨ahnliche Weise l¨osen: wieder m¨ ussen wir etwas u ¨ber eine Funktion f : {0, 1}n → {0, 1} herausfinden, die uns als Black Box gegeben ist. Wir wissen, dass es sich um eine der 2n Funktionen fa (x) = a · x = a0 x0 ⊕ . . . ⊕ an−1 xn−1 f¨ ur a ∈ {0, 1}n
handelt. Die Funktion ist also u ¨ber einen Vektor a ∈ {0, 1}n definiert und bildet jede Eingabe auf das Skalarprodukt mit a ab. Der Algorithmus von Bernstein-Vazirani Wir verwenden ein Register mit n + 1 Quantenbits |xn−1 . . . x0 |y 1. |xn−1 . . . x0 |y ← |0 . . . 0|1 2. Wende die Hadamard-Transformation Hn+1 an: |x|y ← Hn+1 |x|y 3. Werte f aus: |x|y ← U f |x|y 4. Wende die Hadamard-Transformation auf |x an: |x|y ← (Hn |x)|y 5. Miss das Register: Ist |x = |a: Ausgabe Das Bauteil berechnet die Funktion fa (x) = a · x.
BernsteinVazirani
66
2 Vom Bit zum Quantenregister ¨ Die Ahnlichkeit mit dem Algorithmus von Deutsch-Jozsa ist so groß, dass die Analyse dem Leser u ¨berlassen wird. Aufgabe 2.23: Analysieren Sie den Algorithmus von Bernstein-Vazirani und zeigen Sie, dass er korrekt arbeitet. Die Idee stammt von Ethan Bernstein und Umesh Vazirani (1993).
67
3 Vom Quantenregister zum Quantenschaltkreis Information is physical. Rolf Landauer
Dieses Kapitel legt notwendige Grundlagen f¨ ur Verst¨andnis und Entwicklung von Quantenverfahren; es enth¨alt aber auch einige u ¨beraschende Ergebnisse. Wir beginnen mit einem Schnellkurs Laufzeitanalyse von Algorith” men“. Daran schließt sich eine genauere Betrachtung von Quantenschaltkreisen an, die unser grundlegendes Berechnungsmodell bilden. In Abschnitt 3.5 werden wir sehen, wie sich jeder effiziente klassische Algorithmus in einen Quantenschaltkreis u uhren l¨asst, der seinerseits effizient rechnet. Dieses ¨berf¨ Ergebnis werden wir regelm¨aßig anwenden und Aufgaben, die klassisch realisierbar sind, in Quantenalgorithmen integrieren. Der Rest dieses Kapitels besch¨aftigt sich mit einigen Unterschieden zwischen Quantenbits und klassischen Bits. Abschnitt 3.4 zeigt, dass sich Quantenbits nicht kopieren lassen. Das ist eine Einschr¨ankung, die bei dem Entwurf von Quantenalgorithmen beachtet werden muss. Diese spielt auch eine entscheidende Rolle f¨ ur die Sicherheit von Quantenverschl¨ usselungsverfahren. Desweiteren lassen sich die Zust¨ande von Quantenbits nur unter bestimmten Voraussetzungen unterscheiden (Abschnitt 3.6). Im letzten Abschnitt dieses Kapitels untersuchen wir, wie st¨oranf¨allig Quantenberechnungen sind. Diese Frage stellt sich dringlicher als bei klassischen Berechnungen, da verschiedene Zust¨ande eines Quantenbits beliebig nah beieinanderliegen k¨ onnen. Wie beeinflussen geringe Ver¨anderungen eines solchen Zustandes das Ergebnis einer Berechnung? Wir werden erfahren: Quantenberechnungen sind recht robust. Dies ist eine wichtige Voraussetzung f¨ ur den Bau praktisch einsetzbarer Quantenrechner.
68
3 Vom Quantenregister zum Quantenschaltkreis
3.1 Laufzeit Eine unserer Grundfragen lautet: Was k¨onnen wir mit einem Quantencomputer tun? Daraus ergibt sich eine weitere Frage: Welche Aufgaben k¨onnen wir mit einem Quantencomputer besser erledigen, als mit einem herk¨ommlichen Rechner? Den Ausdruck besser interpretieren wir dabei als effizienter. Darum interessiert uns der Speicherverbrauch und insbesondere die Laufzeit eines Rechenverfahrens, sei es nun f¨ ur einen klassischen oder f¨ ur einen Quantencomputer konzipiert. Starten wir ein Rechenverfahren auf einem konkreten Computer, k¨onnten wir die Rechenzeit mit einer Stoppuhr bestimmen. Problematisch ist dabei, dass die gestoppte Zeit von dem verwendeten Rechner abh¨angt. Sie ist nicht geeignet, um verschiedene Rechenverfahren zu vergleichen. Außerdem ben¨ otigen wir eine Methode zur Bewertung der Laufzeit von Quantenverfahren, die ohne einen konkreten Quantenrechner auskommt. Definition Laufzeit
Wir definieren die Laufzeit einer Berechnung als die Anzahl ihrer Schritte. Damit ist die Laufzeit eines Algorithmus f¨ ur eine Eingabe x die Anzahl der Schritte, die bei der Berechnung auf x ausgef¨ uhrt werden. Sofort entstehen zwei Fragen: Wie sieht so ein Schritt aus? Was f¨ ur einen Rechner legen wir zu Grunde? Wir werden in diesem Abschnitt sehen, dass diese Fragen f¨ ur uns keine Rolle spielen werden. Es ist m¨oglich, die Laufzeit hardwareunabh¨angig zu betrachten. Dann k¨ onnen wir uns vorstellen, dass unsere Algorithmen von einem gew¨ ohnlichen PC ausgef¨ uhrt werden (das theoretische Modell dazu nennt man Registermaschine). Als Schritt betrachten wir dabei Befehle einer h¨ oheren Programmiersprache, deren Zeitaufwand nicht von der Eingabegr¨ oße abh¨angt. Ein gleichwertiger Zugang k¨onnte auch die Schritte einer Turingmaschine z¨ahlen. Wir kommen am Ende des Abschnitts darauf zur¨ uck.
Eingabegr¨ oße
Die Laufzeit eines Algorithmus ist von der Eingabegr¨oße abh¨angig: Zwei 8-Bitzahlen lassen sich schneller addieren als zwei 100-Bitzahlen. Wie die Eingabegr¨oße definiert ist, h¨angt von dem Problem ab. Sollen wir ein Feld sortieren oder aus einer Menge von Zahlen die kleinste herausfinden, ist die Anzahl der Elemente die Eingabegr¨oße. F¨ ur andere Probleme verwenden wir die Anzahl der Bits, die n¨ otig ist, um die Eingabe zu speichern. Sind zwei Zahlen m und n zu addieren oder zu multiplizieren, ist die Eingabegr¨oße damit logm + logn. Im konkreten Fall liegt die nat¨ urlichste Definition meist auf der Hand. Ab jetzt betrachten wir die Laufzeit eines Algorithmus als Funktion T (n), die uns zu der Eingabegr¨ oße die Anzahl der Schritte liefert. Das folgende Beispiel verdeutlicht, welche Unterschiede im Laufzeitverhalten relevant sind und welche wir vernachl¨assigen k¨onnen. Beispiel 3.1: Wir betrachten zwei fiktive Verfahren, die zwei m-Bit-Zahlen auf irgendeine Art addieren. Die Eingabeg¨oße ist n = 2 · m. Der erste Algorithmus addiert mit t1 (n) = 10 · n + 1000
3.1 Laufzeit
69
einfachen Operationen. Es scheint kein sehr gutes Verfahren zu sein, da selbst f¨ ur sehr kleine Zahlen mehr als tausend Schritte ausgef¨ uhrt werden m¨ ussen. Ein zweites Verfahren addiert m-Bitzahlen mit t2 (n) = n2 derartiger Operationen; f¨ ur kleine Eingaben ist das zweite Verfahren sicherlich besser. Das erste Verfahren ben¨ otigt f¨ ur 4-Bitzahlen t1 (8) = 1080 Operationen, das zweite t2 (8) = 64 und ist damit deutlich schneller. Ist die Eingabe jedoch 50 Bits lang, ist das erste Verfahren besser. Werte f¨ ur verschiedene Eingabegr¨ oßen finden sich in der folgenden Tabelle. n 8 50 100 1000
t1 (n) 1080 1500 2000 11000
t2 (n) 64 2500 10000 10 6
F¨ ur große Eingaben ist das erste Verfahren das bei weitem bessere. Der hier auftretende Unterschied ist von viel gr¨ oßerer Bedeutung, als der bei kleinen Eingaben, wie ein Blick auf die Tabelle zeigt. Die Funktion t2 w¨achst quadratisch in der Eingabegr¨ oße, t1 hingegen linear. Betrachten wir statt t1 und t2 beispielsweise die Funktionen s1 (n) = 20 · n + 100 und s2 (n) = 3 · n2 + n + 50,
ergibt sich ein sehr ¨ahnliches Resultat. Außerdem l¨asst sich erkennen, dass sich t1 und s1 sehr ¨ahnlich verhalten, ebenso gleichen sich t2 und s2 . Zwischen diesen Paaren von Funktion besteht jedoch eine große Differenz. ur n = 8, 50, 100, 1000. Aufgabe 3.1: Ermitteln Sie die Werte von s1 und s2 f¨ Das Wachstum der Laufzeit in der Eingabegr¨ oße scheint der entscheidende Faktor zu sein. Die Funktion n2 w¨achst so viel schneller als n, dass die konstanten Faktoren, beispielsweise bei den Funktionen 3n2 und 20n, nicht ins Gewicht fallen. Die Funktionen t1 und s1 sind von der Form a · n + b, t2 und s2 haben die Gestalt c · n2 + d · n + e. Die Konstanten a, b, c, d, e spielen nur f¨ ur sehr kleine Eingaben eine Rolle. Entscheidender ist der Unterschied in der Gr¨oßenordnung: t1 und s1 besitzen keinen quadratischen Anteil n2 .
70
3 Vom Quantenregister zum Quantenschaltkreis Folgende Tabelle enth¨alt wichtige Funktionen, wobei nur zwei von gleicher Gr¨ oßenordnung sind; diesen Begriff werden wir im Anschluss formal definieren (die Werte sind gerundet).
n 8 30 100 200 1000 10000 106 109
Interpretation der Tabelle
logn 3 5 7 8 10 14 20 30
√ n 3 6 10 15 32 100 1000 31623
n 8 30 100 200 1000 10000 10 6 10 9
n2 64 900 10000 40000 10 6 10 8 1012 1018
2n2 + 3n − 5 147 1885 20295 80595 3 ) · 106 (2+ 1000 3 ) · 108 (2+ 10000 3 (2+ 6 ) · 1012 10 1018
n3 512 27000 10 6 8 · 10 6 109 1012 1018 1027
2n 256 10 9 1030 1060 10301 103010 1030100 8 103·10
Was k¨ onnen wir dieser Tabelle entnehmen? Die sechs Funktionen log n,
√ n, n, n2 , n3 und 2n
unterscheiden sich deutlich in ihrem Wachstum. Der Unterschied zwischen n2 und 2n2 + 3n − 5 tritt mit wachsendem n immer mehr in den Hintergrund. Dagegen wird die Differenz zwischen n2 und n, und genauso die zwischen n2 und n3 , mit wachsendem n immer relevanter. Wir stellen weiter fest: logn ist eine sehr langsam wachsende Funktion. √ Auch ein Ressourcenverbrauch von der Gr¨oßenordnung n oder n ist als eher gering einzustufen. Die Funktionen n2 und n3 wachsen deutlich schneller: Algorithmen mit quadratischer oder kubischer Laufzeit wirken nicht gerade flink, scheinen aber noch ausf¨ uhrbar zu sein. W¨achst der Ressourcenverbrauch eines Verfahrens jedoch wie die Funktion 2n exponentiell, ist es nur f¨ ur sehr kleine Eingaben anwendbar. O-Notation
Nun folgt die exakte Definition des Begriffes Gr¨oßenordnung, wir verwenden ihn synonym mit asymptotisches Wachstum. Die sogenannte GroßO-Notation beschreibt eine obere Grenze des Verhaltens von Funktionen. Dabei betrachten wir Funktionen, die die Eingabegr¨oße eines Berechnungsproblems auf die Zahl der Schritte abbildet, das heißt Funktionen f : N → N. Wir sagen, f (n) ist O (g(n)) , oder f (n) = O (g(n)) wenn f (n) asymptotisch nicht schneller w¨achst als g(n). Das ist der Fall, wenn die Funktion f (n) ab einer bestimmten Stelle n0 kleiner als g(n) ist oder sich nur um einen konstanten Faktor von g(n) unterscheidet. Abbildung 3.1 illustriert die formale Definition.
3.1 Laufzeit
71
c · g(n) f (n)
n0 Abbildung 3.1: Zwei Funktionen: es gilt f = O (g(n)) .
F¨ ur zwei Funktionen f , g gilt, dass f asymptotisch nicht st¨arker w¨achst als g, f = O (g(n)) , wenn es eine nat¨ urliche Zahl n0 gibt und eine Konstante c, so dass f (n) ≤ c · g(n) f¨ ur alle n ≥ n0 .
Beispiel 3.2: 1. Die Funktion f (n) = 6n w¨achst schneller als g(n) = 3n. Sie unterscheiden sich jedoch nur um einen konstanten Faktor: F¨ ur alle n gilt f (n) ≤ 2 · g(n), also gilt f (n) = O (g(n)). Ebenso gilt g(n) = O ( f (n)). Beide Funktionen sind von der linearen Gr¨ oßenordnung O (n). 2. Die lineare Funktion f (n) = 6n + 100 hat f¨ ur kleine n gr¨oßere Funktionswerte als g(n) = n2 − 12. Ab der Stelle n0 = 17 – hier schneidet die Parabel g(n) die Gerade f (n) – ist jedoch g(n) gr¨oßer. Also gilt f (n) = O (g(n)) . Die umgekehrte Aussage gilt nicht: g(n) = O ( f (n)), da sich f (n) und g(n) nicht durch einen konstanten Faktor, sondern um einen Faktor der Gr¨ oßenordnung n unterscheiden. Die Relation f = O (g(n)) bedeutet f kleiner oder gleich g in Bezug auf die Gr¨ oßenordnung. Das Verh¨altnis gr¨oßer oder gleich dr¨ ucken wir mit dem
72
3 Vom Quantenregister zum Quantenschaltkreis Symbol Ω aus. Θ findet Verwendung, wenn zwei Funktionen von gleicher Gr¨ oßenordnung sind. F¨ ur zwei Funktionen f , g gilt, dass f asymptotisch mindestens so stark w¨achst wie g, f = Ω (g(n)) , wenn g = O ( f (n)) gilt. f und g sind von der gleichen Gr¨oßenordnung, f = Θ(g(n)), wenn f = O (g(n)) , und f = Ω (g(n)) gilt.
Wir verwenden diese Schreibweise stets in Aussagen der Form Algorithmus ” A hat Laufzeit O (n logn)“. Das heißt, die Laufzeit des Algorithmus w¨achst asymptotisch betrachtet wie n logn. Aufgabe 3.2: Zeigen Sie die folgenden Aussagen. • n = O n2 , n2 = O (n) • 3n2 + 1000n + 12 logn = O n2 • n logn = O (n), aber n(logn) k = O n2 f¨ ur alle k. Einheitskostenmaß Wir betrachten die Laufzeit nur der Gr¨oßenordnung nach. Dabei werden Konstanten eliminiert, und darum vernachl¨assigen wir, ob eine Operation einen einfachen Schritt, zwei, f¨ unf oder hundert einfache Schritte ben¨otigt, sofern diese Zahl von der Eingabegr¨oße unabh¨angig ist. Einfache Schritte mit Laufzeit O (1) sind etwa Zuweisungen, Vergleiche, Feldzugriffe und arithmetische Operationen wie Additionen oder Multiplikationen. Wir sprechen vom Einheitskostenmaß. Abh¨angig von der Eingabegr¨oße sind in der Regel Schleifen und Rekursionen. Allerdings ist das Einheitskostenmaß eine Vereinfachung, die in einigen F¨allen nicht zul¨assig ist. So k¨onnen wir den arithmetischen Operationen nur dann konstanten Aufwand zuordnen, wenn die Zahlen klein sind – genaugenommen kleiner einer zuvor festgesetzten Konstanten. Addieren oder multiplizieren wir m-Bitzahlen, sind daf¨ ur T (m) Schritte notwendig. Diese Zahl h¨angt von der L¨ange der Zahlen ab. Kommen wir mit einer festen L¨ange aus – der Java-Typ int zum Beispiel verwendet 32 Bit – ist diese Laufzeit eine Konstante. T (32) ist eine konkrete ganze Zahl, und wir ordnen einer Addition zweier Zahlen den Aufwand O (1) zu. Addieren wir zehn Zahlen, ist der Aufwand weiterhin O (1); erst wenn die Anzahl der arithmetischen Operationen von der Eingabegr¨ oße abh¨angt, ¨andert sich die Gr¨oßenordnung. Betrachten wir Algorithmen, die mit beliebig großen Zahlen rechnen, muss die L¨ange der Bin¨ardarstellung der Zahlen in die Laufzeitanalyse eingehen.
3.1 Laufzeit Man spricht von dem logarithmischen Kostenmaß. Zum Beispiel ist es f¨ ur viele moderne Verschl¨ usselungsverfahren wichtig, große Zahlen darauf zu testen, ob sie Primzahlen sind. Ist n die Eingabe eines Primzahltests, so ist die Eingabegr¨ oße logn. F¨ ur arithmetische Operationen mit so großen Zahlen k¨onnen wir nicht Kosten O (1) veranschlagen. Wir m¨ ussen die Anzahl der Bitoperationen z¨ahlen; f¨ ur Additionen ergibt sich Gr¨ o ßenordnung O (log n) und Multiplikationen kommen mit O (logn)2 Bitoperationen aus.
Beispiel 3.3: Wir bestimmen den Mittelwert von n Zahlen, die in einem Feld F[0, . . . , n − 1] gespeichert sind. Die Zahlen sind klein, und wir legen das Einheitskostenmaß zu Grunde. Die Eingabegr¨oße ist damit die Anzahl n. 1. R ← 0, i←0 2. Solange i < n gilt: 2.1. R ← R + F[i] 2.2. i ← i + 1 3. R ← R/n
Schritt 1 ist f¨ ur alle Eingaben gleich, also von deren Gr¨oße unabh¨angig: die Laufzeit ist konstant beziehungsweise O (1). In Schritt 2 durchl¨auft eine Schleife die n Feldelemente. F¨ ur jedes Feldelement wird dieses auf das Register addiert, wird der Schleifenz¨ahler inkrementiert und ein Vergleich ausgef¨ uhrt, von dem abh¨angt, ob die Schleife abgebrochen wird. Jeder Durchlauf der Schleife hat im Einheitskostenmaß Laufzeit O (1) und Schritt 2 insgesamt O (n). Schritt 3 hat im Einheitskostenmaß Laufzeit O (1) und die Gesamtlaufzeit ist O (1) + O (n) + O (1) = O (n). Bemerkung: Dem aufmerksamen Leser ist vielleicht Folgendes aufgefallen: wenn wir auch die Feldelemente als klein voraussetzen k¨onnen, so sind doch Schritt 3 und der Vergleich i < n in Schritt 2 nicht von der Eingabegr¨oße unabh¨angig. Hier ist es dennoch sinnvoll das Einheitskostenmaß zu Grunde zu legen, da man einen Vergleich oder die Division zweier Zahlen, die zum Beispiel aus 32 Bits bestehen, als feste Folge von Operationen ansehen kann, wohingegen die Laufzeit der Schleife unmittelbar von der L¨ange des Feldes abh¨angt. ⋄ Erwartete Laufzeit und Laufzeit im schlechtesten Fall Formal haben wir die Laufzeit eines Algorithmus bisher auf einer Eingabe betrachtet. Interessant ist das Laufzeitverhalten bez¨ uglich aller Eingaben. Die Analyse in Beispiel 3.3 ist zwar von konkreten Eingaben unabh¨angig, trotzdem m¨ ussen wir ber¨ ucksichtigen, dass ein Verfahren f¨ ur verschiedene Eingaben Laufzeiten unterschiedlicher Gr¨ oßenordnung haben kann.
73
Mittelwertbestimmung
74
3 Vom Quantenregister zum Quantenschaltkreis worst-case
average-case
Zun¨achst nehmen wir einen etwas pessimistischen Standpunkt ein: Was hilft es uns, wenn unser Algorithmus f¨ ur viele Eingaben recht gut ist, zum Beispiel linear, f¨ ur einige aber sehr lange braucht, etwa Laufzeit Ω n3 hat? In konkreten Anwendungen ist es m¨oglich, dass wir ausschließlich ung¨ unstige Eingaben zu bew¨altigen haben. Um eine Aussage zu treffen, auf die wir uns stets verlassen k¨ onnen, betrachten wir die Laufzeit im schlechtesten Fall. Wir verwenden die Eingabe, auf der der Algorithmus am l¨angsten rechnet; in unserem Fall ergibt sich Ω n3 .
Polynomiale Laufzeit
Eine Funktion f : N → N ist polynomial, wenn
Oft gibt es gute Gr¨ unde, etwas großz¨ ugiger zu sein. Beispielsweise wenn ein Algorithmus f¨ ur fast alle Eingaben sehr schnell und nur f¨ ur sehr wenige langsam ist. Um das zu ber¨ ucksichtigen, stellen wir uns vor, wir w¨ahlten die Eingaben zuf¨allig, und zwar jede mit derselben Wahrscheinlichkeit; die Eingaben werden gem¨aß der Gleichverteilung gezogen. Die erwartete Laufzeit ist der Mittelwert der Laufzeiten der Eingaben. Die erwartete Laufzeit ist immer dann aussagekr¨aftig, wenn ein Algorithmus auf sehr verschiedenen Eingaben ausgef¨ uhrt wird. Ein Beispiel wird zu Beginn von Abschnitt 6.1 betrachtet. Dort werden eine worst-case und eine average-case Analyse aller m¨oglichen Algorithmen, die ein Suchproblem l¨ osen, durchgef¨ uhrt. Damit haben wir den Begriff Laufzeit (als Funktion der Eingabegr¨oße) auf Algorithmen u ¨bertragen und formal definiert. Es ist die Laufzeit als Funktion der Eingabegr¨ oße. Schlechtester und mittlerer Fall sind alternative Betrachtungsweisen. Nun k¨ onnen wir zwei wichtige mit einander zusammenh¨angende Begriffe definieren:
f = O(nk ) f¨ ur konstantes k gilt. Wir nennen einen Algorithmus effizient, wenn seine Laufzeit als Funktion der Eingabegr¨ oße polynomial ist.
Teilprobleme
Allerdings ist es m¨ oglich, dass f¨ ur ein bestimmtes Problem kein Algorithmus existiert, der f¨ ur alle Eingaben effizient eine L¨osung findet, aber f¨ ur viele sehr wichtige. F¨ ur Praktiker ist es von großer Bedeutung, wenn ein Teilproblem effizient l¨ osbar ist. In diesem Zusammenhang werden manchmal die Begriffe Problemklasse und Probleminstanz statt Problem und Eingabe verwendet. Zusammenfassung: Um die Qualit¨at verschiedener Rechenverfahren zu vergleichen, betrachten wir deren Laufzeit. Genauer betrachten wir das asymptotische Wachstum der Laufzeit in der Eingabegr¨oße oder die Gr¨oßenordnung. Dieser Wert ist von konkreten Rechnern unabh¨angig. Der Schl¨ ussel zur Laufzeitanalyse ist folgende Methode: kommt ein bestimmter Vorgang mit einer konstanten Anzahl an Schritten aus (wobei jeder Schritt selbst von der Eingabegr¨oße unabh¨angig sein muss), ordnen wir ihm
3.2 Klassische Schaltkreise und Komplexit¨at
75
konstante Laufzeit O (1) zu. Ein solcher Vorgang wird im weiteren wie ein Schritt behandelt. Die Diskussion dieses Themas wird in Kapitel 4 fortgesetzt. Eine interessante (nicht beweisbare) Aussage ist die quantitative Variante der ChurchTuring-These. Vereinfacht lautet sie: der Begriff Effizienz ist im klassischen Fall f¨ ur alle sinnvollen Rechnermodelle ¨aquivalent. Es sind genau dieselben Probleme, die sich in polynomialer Laufzeit mit Turingmaschinen, Registermaschinen und jedem anderen physikalisch realisierbaren klassischen Computer berechnen lassen.
3.2 Klassische Schaltkreise und Komplexit¨ at Es gibt viele M¨ oglichkeiten, Algorithmen zu beschreiben; dies geschieht mit verschiedenen Berechnungsmodellen. Bisher haben wir Turingmaschinen kennen gelernt (Abschnitt 2.1.1), Registermaschinen im letzten Abschnitt kurz erw¨ahnt und im Abschnitt 2.1.2 Schaltkreise definiert. Dieser kurze theoretische Abschnitt beschreibt den Zusammenhang zwischen ebendiesen Schaltkreisen und dem Begriff Laufzeit. Dazu beschr¨anken wir uns auf klassische Schaltkreise, deren Gatter h¨ochstens zwei Eingabebits haben. Unser Interesse gilt der Anzahl solcher Gatter. Die Gr¨oße eines Schaltkreises ist die Anzahl seiner Gatter.
Es liegt auf der Hand, dass die so definierte Gr¨ oße eines Schaltkreises etwas mit dem Aufwand des beschriebenen Algorithmus zu tun hat. Schaltkreise unterscheiden sich von anderen Berechnungsmodellen in einem wichtigen Punkt. Eine Turingmaschine muss f¨ ur Eingaben jeder Gr¨oße die korrekte L¨osung berechnen. Ein Schaltkreis ist hingegen f¨ ur Eingaben einer festen Gr¨oße konzipiert. Zum Beispiel rechnet ein 32-Bit-Addierer mit bin¨aren Eingaben der L¨ange 32. F¨ ur l¨angere Zahlen muss ein neuer Schaltkreis konstruiert werden. Aus diesem Grund betrachtet man Folgen von Schaltkreisen (Cn ). Der Index n durchl¨auft dabei die nat¨ urlichen Zahlen gr¨ oßer gleich 1. Ci – der i-te Schaltkreis der Folge – rechnet mit Eingaben der Gr¨oße i. Eine Folge von Additionsschaltkreisen (Cn ) besteht zum Beispiel aus Addierern von je zwei Zahlen der L¨ange n. Die von uns betrachteten Schaltkreise m¨ ussen eine entscheidende Bedingung erf¨ ullen: sie m¨ ussen effizient berechenbar sein. Wir definieren: Eine Folge (Cn ) von Schaltkreisen heißt uniform, wenn es einen effizienten Algorithmus A gibt, der aus dem Wert i ≥ 1 die Gestalt des Schaltkreises Ci berechnet. A berechnet aus der Eingabegr¨ oße, welche Gatter verwendet werden und wie sie durch Leitungen verbunden sind. Wir m¨ ussen uns um den Algorithmus A nicht viele Gedanken machen, da wir nur Schaltkreisfolgen (Cn ) mit den folgende Eigenschaften betrachten:
Uniforme Schaltkreise
76
3 Vom Quantenregister zum Quantenschaltkreis • Sie sind polynomial, das heißt, es gibt ein konstantes k, so dass die Gr¨ oße jedes Schaltkreises Ci von der Ordnung O ik ist.
• Der Aufbau ist regelm¨aßig: aus der Gestalt des Schaltkreises f¨ ur Eingaben der Gr¨ oße i ist die Gestalt f¨ ur alle anderen Eingabegr¨oßen ablesbar. Also kann Algorithmus A nicht kompliziert sein.
Damit haben wir das Ziel dieses Abschnitts erreicht. Wir k¨onnen den Zusammenhang zwischen Schaltkreisgr¨oße und Laufzeit formulieren. Ein Berechnungsproblem l¨asst sich dann und nur dann in polynomialer Zeit l¨ osen, wenn es von uniformen Schaltkreisen polynomialer Gr¨oße berechnet werden kann.
Wir betrachten die Beweisidee der f¨ ur uns interessanten Richtung dieser Aussage: wenn wir f¨ ur ein Problem polynomiale (uniforme) Schaltkreise angeben k¨ onnen, ist es effizient – sprich: in Polynomialzeit – l¨osbar. Die Idee lautet: wir nehmen die Schaltkreisfolge her und simulieren deren Berechnung mit einer Turingmaschine. Wir sprechen von simulieren, wenn die Turingmaschine die Berechnung des Schaltkreises direkt nach¨afft, ohne dass weitere Ideen oder F¨ahigkeiten eingebracht werden. Besagte Turingmaschine arbeitet wie folgt: Wird ihr eine Eingabe vorgelegt, bestimmt sie deren Gr¨ oße. Daraus berechnet sie effizient die Gestalt des passenden Schaltkreises C; das ist effizient m¨ oglich, da wir uniforme Schaltkreise betrachten. Die Gestalt von C befindet sich auf dem Band. Sie beginnt an den Eingabebits und durchl¨auft den Schaltkreis gatterweise. Auf diese Weise kann sie die Ausgaben jedes einzelnen Gatters und schließlich die des gesamten Schaltkreises C bestimmen. Dieses Ergebnis gilt auch f¨ ur Quantenschaltkreise, die wir im folgenden Abschnitt einf¨ uhren. Ein Quantenalgorithmus ist effizient, wenn er durch einen Quantenschaltkreis polynomialer Gr¨oße beschrieben wird.
3.3 Quantengatter und Quantenschaltkreise Klassische Schaltkreise bestehen aus Leitungen und Gattern. Ganz analog bestehen Quantenschaltkreise aus Quantenleitungen und Quantengattern. Jede Quantenleitung entspricht einem Quantenbit und ein Quantengatter f¨ uhrt eine unit¨are Transformation aus, siehe Abbildung 3.2.
|ψ
T
T |ψ
Abbildung 3.2: Quantengatter f¨ ur die unit¨are Transformation T
3.3 Quantengatter und Quantenschaltkreise
|x
|z
|x′
U
|y
77
W V
|y′ |z′
Abbildung 3.3: Quantenschaltkreis mit drei Gattern
Einer Berechnung mit mehreren parallelen Leitungen wie in Abbildung 3.3 ergibt sich aus dem Tensorprodukt der einzelnen Gatter. Der Endzustand |x′ , y′ , z′ des Drei-Bit-Registers ist gerade (I2 ⊗ W ⊗ I2)(U ⊗ V )|x, y, z. Damit ist der Aufbau von Quantenschaltkreisen im Wesentlichen gekl¨art, wir k¨ onnen auf eine formale Definition verzichten. Im Laufe des Abschnitts wird sich unser Bild vom Quantenschaltkreis nach und nach vervollst¨andigen. Auf zwei Dinge sei schon an dieser Stelle hingewiesen: 1. Da Quantenschaltkreise umkehrbare Berechnungen ausf¨ uhren, haben sie stets ebenso viele Ausgabebits wie Eingabebits. 2. Wir werden in Abschnitt 3.4 sehen, dass sich Quantenbits nicht kopieren lassen. Darum d¨ urfen sich die Leitungen unserer Quantenschaltkreise nicht verzweigen. Ebensowenig darf das Ergebnis eines Gatters mehrfach verwendet werden. Ein Quantengatter f¨ uhrt eine unit¨are Transformation auf den beteiligten Bits aus. Es ist nicht m¨ oglich, die Anzahl der Bits zu erh¨ ohen. Quantenschaltkreise stellen Quantenalgorithmen sehr u ¨bersichtlich dar. Mit einem Blick l¨asst sich die Folge der Transformationen erkennen, an denen ein bestimmtes Bit beteiligt ist. Zudem erleichtern sie es, Aufwand oder Ressourcenverbrauch von Quantenalgorithmen zu ermitteln. Wie im klassischen Fall ist die Gr¨ oße eines Schaltkreises die Anzahl seiner Gatter. Dabei setzen wir voraus, dass jedes Gatter h¨ochstens drei Bits in seine Berechnung einbezieht: ein Schritt einer Quantenberechnung ist lokal. Wieso gerade drei? Klarerweise darf die Anzahl der beteiligten Bits nicht mit der Anzahl der Eingabebits eines Schaltkreises wachsen. Sonst k¨onnte man einzelne Gatter von gewaltiger Komplexit¨at erdenken, die nicht praktisch realisierbar sind. Konkret konnte gezeigt werden, dass Quantengatter mit zwei Bits gen¨ ugen (um alles zu berechnen, was mit Quantengatter mit konstant vielen Bits erreichbar ist). In Abschnitt 3.5 verwenden wir allerdings
Lokale Transformationen
78
3 Vom Quantenregister zum Quantenschaltkreis das sogenannte Toffoli-Gatter, um Gatter klassischer Schaltkreise durch umkehrbare Gatter zu ersetzen. Dieses verwendet drei Bits. Der Zusammenhang zwischen Quantenschaltkreisen und Laufzeit ist der gleiche wie im klassischen Fall. Ein Berechnungsproblem l¨asst sich dann und nur dann von einem Quantenalgorithmus in polynomialer Zeit l¨osen, wenn es von uniformen Quantenschaltkreisen polynomialer Gr¨oße berechnet werden kann.
In Abschnitt 3.5 werden wir zeigen, wie sich ein effizienter klassischer Algorithmus (≈ ein Schaltkreis polynomialer Gr¨oße) in einen effizienten Quantenalgorithmus (≈ ein Quantenschaltkreis polynomialer Gr¨oße) u uhren ¨berf¨ l¨asst. Nun werden wir die Grundbausteine aller Quantenalgorithmen studieren: Messungen und unit¨are Transformationen. Messungen Inwieweit geh¨ oren Messungen zu einer Berechnung? Bei den Algorithmen aus dem einf¨ uhrenden Kapitel 2 wird am Ende gemessen. Aus der Messung ergibt sich das Ergebnis der Berechnung. Es hindert uns jedoch nichts daran, auf das Ergebnis einer solchen Messung weitere unit¨are Transformationen anzuwenden. Zudem ist es m¨oglich, nur einzelne Quantenbits zu messen (siehe Abschnitt 2.8). In diesem Fall enth¨alt der Folgezustand des Quantenregisters Informationen, die einer weiteren Messung zug¨anglich sind. Ein Verfahren, das davon Gebrauch macht, ist die Quantenteleportation in Kapitel 5. Es wird zweimal gemessen, und zwischen den Messungen werden unit¨are Transformationen angewendet, die von dem Ergebnis der ersten Messung abh¨angen. Das legt folgende Sichtweise nahe: Eine Messung ist kein Rechenschritt ¨ im Sinne eines festen und planbaren Uberganges von einem Zustand des Quantenregisters zu einem anderen. Eine Messung ist keine unit¨are Transformation und auch nicht umkehrbar. Trotzdem sind Messungen Teil der Berechnung. Darum dr¨ ucken wir Messungen durch ein Symbol aus, das den Quantengattern ¨ ahnlich sieht, siehe Abbildung 3.4. Um die Skizzen von Schaltkreisen nicht mit Information zu u ¨berfrachten, geben wir die Basis, bez¨ uglich der gemessen wird, nicht an.
M Abbildung 3.4: Symbol f¨ ur die Messung eines Bits
3.3 Quantengatter und Quantenschaltkreise
79
Mathematisch korrekt formuliert ist der Folgezustand einer Messung eine Wahrscheinlichkeitsverteilung u ¨ber Quantenzust¨ande, ein so genannter gemischter Zustand. F¨ ur unsere Zwecke ist auch ohne formale Definition klar, wie nach einer Messung vorgegangen werden kann. Grundlegende unit¨ are Transformationen Eine wichtige unit¨are Transformation haben wir schon oft verwendet: die Hadamard-Transformation. Die Variante, die auf ein Bit wirkt, bezeichnen wir mit H. Sie wird durch die Matrix 1 1 1 √ 2 1 −1
HadamardTransformation
beschrieben. Die Version auf n Bits ist als n-faches Tensorprodukt Hn = H ⊗ . . . ⊗ H definiert und bildet einen Zustand |x auf 1 √ ∑ (−1)x·y|y 2n y∈{0,1}n ab. Die Herleitung befindet sich in Abschnitt 2.12. Eine wichtige Verallgemeinerung der Hadamard-Transformation lernen wir im Zusammenhang mit Shors Algorithmus zur Faktorisierung ganzer Zahlen kennen: Abschnitt 8.4 ist der Quanten-Fouriertransformation gewidmet. Eine wichtige klassische Operation ist die Negation. NOT ¨uberf¨ uhrt wahre Aussagen in falsche und bildet ein Bit b auf das Komplement b⊕ 1 ab. Schon der Name sagt es: wir k¨ onnen im Quantenfall die kontrollierte Negation
CNOT
CNOT : |a|b → |a|a ⊕ b verwenden (siehe Abschnitt 2.3). Das zweite Bit wird negiert, wenn das erste im Zustand |1 ist. In einer allgemeinen Superposition werden die Amplituden von |10 und |11 getauscht. CNOT
−→
α00 |00 + α01 |01 + α10 |10 + α11 |11 α00 |00 + α01 |01 + α11 |10 + α10 |11.
Dieser Zustand ist im Allgemeinen verschr¨ankt, siehe Abschnitt 2.11. F¨ ur das Gatter verwenden wir das Symbol aus Abbildung 3.5, das deutlich macht, wie ein Bit auf das andere addiert wird. Die Negation l¨asst sich auch mit einer unit¨aren Transformation auf einem Bit ausf¨ uhren. Um die Amplituden von |0 und |1 zu tauschen, k¨onnen wir die Matrix 0 1 X= 1 0
Pauli-Matrizen
80
3 Vom Quantenregister zum Quantenschaltkreis
|x
|x
|y
|y ⊕ x
Abbildung 3.5: Symbol des CNOT-Gatters
verwenden. Die Bezeichnung X hat historische Gr¨ unde. Es ist eine von drei Pauli-Matrizen. Neben der genannten Negation X sind das gerade Y=
0 −i i 0
und Z =
1 0 0 −1
.
Benannt sind die Operationen nach dem ¨osterreichischen Physiker Wolfgang Pauli (1900-1958; 1945 Nobelpreis f¨ ur Physik). Abbildung 3.6 stellt ihre Wirkung auf drei Bits im Zustand α|0 + β|1 dar.
α|0 + β|1
X
β|0 + α|1
α|0 + β|1
Y
−i β|0 + i α|1
α|0 + β|1
Z
α|0 − β|1
Abbildung 3.6: Schaltkreis mit Pauli-Transformationen
Aufgabe 3.3: Zeigen Sie, dass die Transformationen X,Y und Z unit¨ar sind. Kontrollierte Operationen Wir betrachten noch einmal die Operation CNOT aus Abbildung 3.5. Sind |a und |b klassische Zust¨ande, wird das zweite Bit gerade dann negiert, wenn das erste Bit |1 ist. F¨ ur Superpositionen bedeutet das: die Amplituden von |10 und |01 werden getauscht. Anders ausgedr¨ uckt wird die Negation X gerade auf die Zust¨ande angewendet, f¨ ur die das erste Bit |1 ist. Diese Idee l¨asst sich verallgemeinern: Abbildung 3.7 zeigt das Symbol eines Gatters, das gerade dann die unit¨are Transformation U auf das Bit |b anwendet, wenn |a = |1 gilt.
3.4 Quantenbits kopieren: Das No-Cloning-Theorem
|a |b
U
Abbildung 3.7: Anwendung von U in Abh¨angigkeit vom ersten Bit
Diese Operation wird durch die Matrix ⎛ ⎜ ⎜ ⎝
1 0 0 0
⎞ 0 0 0 0 ⎟ ⎟ ⎠ U
0 1 0 0
beschrieben. F¨ ur U = X erhalten wir gerade CNOT. Damit k¨onnten wir diese Operation alternativ gem¨aß Abbildung 3.8 schreiben. Die kontrollierte Hadamard-Transformation – das entspricht U = H – wird durch die Matrix ⎞ ⎛ 1 0 0 0 ⎜ 0 1 0 0 ⎟ ⎟ ⎜ ⎟ ⎜ 0 0 √1 √1 ⎝ 2 2 ⎠ 0 0 √12 − √12 beschrieben.
X Abbildung 3.8: Eine alternative Schreibweise des CNOT-Gatters
Bemerkung: Die kontrollierten Operationen lassen sich im Allgemeinen nicht als Tensorprodukt zweier 1-Bit-Transformationen darstellen. Denken Sie daran, dass wir in Abschnitt 2.11 mit Hilfe von CNOT einen unverschr¨ankten Zustand in einen verschr¨ankten u uhrt haben. ¨berf¨
3.4 Quantenbits kopieren: Das No-Cloning-Theorem In diesem Abschnitt betrachten wir eine vermeintlich einfache Aufgabe: wir bekommen ein Quantenbit in einem Zustand α|0 + β|1 und sollen dieses
81
82
3 Vom Quantenregister zum Quantenschaltkreis kopieren. Dazu steht uns ein zweites Qubit als Ziel zur Verf¨ ugung. Wir nehmen an, es sei im Zustand |0. Wir beginnen mit dem Zustand (α|0 + β|1) · |0
(3.1)
und wir sollen den Zustand (α|0 + β|1) · (α|0 + β|1)
(3.2)
¨ herstellen. Der Ubergang zwischen (3.1) und (3.2) muss nach den Gesetzen der Quantenmechanik unit¨ar sein. In einem klassischen Schaltkreis ist es kein Problem, ein Bit zu kopieren. Wollen wir ein klassisches Bit umkehrbar kopieren, k¨onnen wir die kontrollierte Negation verwenden: CNOT : |x|y → |x|y ⊕ x. So wird |00 auf |00 und |10 auf |11 abgebildet: das erste Bit wird auf das zweite kopiert. CNOT ist unit¨ar, also ein Kandidat auch f¨ ur das Kopieren eines Quantenbits. Wir wenden diese Operation probeweise auf den Ausgangszustand α|00 + β|10 an. Das Ergebnis ist α|00 + β|11.
(3.3)
Das ist allerdings nicht der gew¨ unschte Zustand (3.2), der ausmultipliziert wie folgt lautet: α2 |00 + αβ|01 + αβ|10 + β2|11.
(3.4)
Wir sehen: es wurde nur korrekt kopiert, wenn αβ = 0 gilt. Das ist f¨ ur klassische Bits oder die entsprechenden Basiszust¨ande der Fall. Der Zustand (3.3) - das Ergebnis der CNOT-Operation - entstand hingegen nach der Art ¨ des Quantenparallelismus; wie in dem Ubergang
∑ αx |x|0 → ∑ αx |x| f (x) x
x
ist ein verschr¨ankter Zustand entstanden (falls α und β ungleich 0 sind). CNOT eignet sich offenbar nicht zum Kopieren von Quantenbits. Es gilt sogar, dass kopieren u ¨berhaupt nicht m¨oglich ist. Man nennt dieses Ergebnis das No-Cloning-Theorem, illustriert in Abbildung 3.9. No-CloningTheorem
Wir betrachten ein Quantensystem im Zustand |ψ ⊗ |s, wobei |ψ beliebig und |s beliebig aber fest gew¨ahlt ist. Es gibt keine unit¨are Transformation, die dieses System f¨ ur jedes |ψ in den Zustand |ψ ⊗ |ψ versetzt.
3.4 Quantenbits kopieren: Das No-Cloning-Theorem
Abbildung 3.9: Quantenbits k¨ onnen nicht korrekt kopiert werden.
Warum gibt es kein Verfahren, dass zwei verschiedene Zust¨ande |φ und |ψ auf ein Zielbit im Zustand |s kopiert? Zun¨achst stellen wir fest, dass diese Aufgabe nur von einer unit¨aren Transformation ¨ubernommen werden kann. Wir nehmen an, es g¨abe eine unit¨are Transformation U, die |ψ ⊗ |s auf |ψ ⊗ |ψ und |φ ⊗ |s auf |φ ⊗ |φ abbildet. Dann m¨ ussen das Skalarprodukt der Urbilder und das der Bilder u ¨bereinstimmen (denn unit¨are Transformationen sind winkelerhaltend: Uu |Uv = u | v, siehe Abschnitt 2.3). Es gilt ψ ⊗ s | φ ⊗ s = ψ ⊗ ψ | φ ⊗ φ. Da Skalarprodukt und Tensorprodukt vertr¨aglich sind (siehe Seite 43) folgt: ψ | φ s | s = ψ | φ ψ | φ F¨ ur jeden Einheitsvektor |s gilt s | s = 1 und damit ψ | φ = ( ψ | φ)2 . Diese Gleichung hat die L¨ osungen 0 und 1. Das heißt, U kann φ und ψ nur dann kopieren, wenn φ = ψ gilt oder φ und ψ orthogonal sind. Zwei verschiedene Zust¨ande k¨ onnen von einem Quantenschaltkreis nur dann kopiert werden, wenn sie orthogonal sind.
83
84
3 Vom Quantenregister zum Quantenschaltkreis Angenommen, wir wollen ein Quantenbit kopieren. Wir wissen genau, welche Zust¨ande es annehmen kann, es sind dies |φ und |ψ. Auch mit diesem Wissen k¨ onnen wir einen auf |φ und |ψ spezialisierten Quantenkopierer nur dann bauen, wenn |φ und |ψ orthogonal sind. Damit ist auch erkl¨art, wie das Klonverbot mit der Erfahrung vertr¨aglich ist, dass wir klassische Zust¨ande sehr wohl kopieren k¨onnen: solche sind bez¨ uglich jeder beliebigen Basis orthogonal. Nun stellt sich die Frage: kann ich zwei nicht orthogonale Zust¨ande vielleicht ann¨ahernd kopieren? Vielleicht gen¨ ugt f¨ ur Anwendungen eine Kopie, die nahe am Original liegt. Diese Fragestellung ist intensiv untersucht worden. Die Ergebnisse lauten dem Geiste nach: Quantenbits lassen sich nicht zufriedenstellend kopieren. Leser mit fortgeschrittener mathematischer Intuition sp¨ uren vielleicht schon, dass leichte Zugest¨andnisse an die Exaktheit der Kopie nur leichte Zugest¨andnisse an die Orthogonalit¨at der kopierbaren Vektoren erlauben.
3.5 Umkehrbare Berechnungen Quantencomputer haben F¨ahigkeiten, die klassische Rechner nicht besitzen. Zwei Stichworte sind Parallelit¨at und Verschr¨ankung. Nun gilt es, eine wichtige Eigenschaft von Quantenberechnungen zu untersuchen, die eine Einschr¨ankung bedeuten k¨ onnte: die Rechenschritte entsprechen unit¨aren Transformationen, und diese sind umkehrbar. Aus dem Ergebnis einer Berechnung l¨asst sich die Eingabe eindeutig berechnen, jeder Rechenschritt l¨asst sich r¨ uckg¨angig machen. F¨ ur klassische Rechner gilt diese Einschr¨ankung nicht. Zum Beispiel ist das logische Und (AND) zweier Bits (b1 , b2 ) eine nicht umkehrbare Operation. Die drei Eingaben (0, 0), (0, 1) und (1, 0) werden allesamt auf 0 abgebildet. Ist das Ergebnis einer Verundung 0, k¨onnen wir daraus nicht erschließen, welche der drei Situationen vorlag und wie also die Eingabe aussieht. Das k¨ onnte ein ernstes Problem sein: wom¨oglich gibt es Aufgaben, die sich mit klassischen Rechnern effizient l¨osen lassen, mit einem Quantencomputer hingegen nicht. Es w¨are m¨ oglich, dass umkehrbar rechnen in vielen F¨allen zu viel Speicherplatz und Rechenzeit ben¨otigt. Jede (klassische) Operation l¨asst sich umkehren, wenn wir uns die Eingabe merken. Eine umkehrbare Version von AND k¨onnte die beiden Eingabebits (b1 , b2 ) auf drei Ausgabebits abbilden, n¨amlich auf (b1 ∧b2 , b1 , b2 ). Die Frage lautet: Wie wirkt sich eine solche Umformung in einem komplexen Schaltkreis aus? Falls wir uns alle Zwischenergebnisse merken m¨ ussen, wird dann der Schaltkreis nicht zu groß? Dieser Abschnitt zeigt, dass jede effiziente Berechnung in eine effiziente umkehrbare Berechnung umgeformt werden kann. Daraus werden wir folgern, dass Quantenrechner trotz der Unitarit¨at der Rechenschritte klassische Rechner effizient simulieren k¨onnen (siehe Abschnitt 3.2 zu diesem Begriff). Das sagt nat¨ urlich nichts u ¨ber die F¨alle, in denen Quantenrechner klassischen Computern echt ¨ uberlegen sind!
3.5 Umkehrbare Berechnungen
85
Ein Problem, das mit einem klassischen Schaltkreis der Gr¨oße m berechnenbar ist, l¨asst sich von einem Quantenschaltkreis der Gr¨oße O (m) berechnen.
Ziel
Wir erreichen unser Ziel in zwei Schritten. Schritt 1: Wir zeigen: Jeder klassische Schaltkreis mit umkehrbaren Gattern kann als Quantenschaltkreis aufgefasst werden. Schritt 2: Danach formen wir einen beliebigen klassischen Schaltkreis so um, dass jeder Rechenschritt umkehrbar wird und die Gr¨oße h¨ochstens linear w¨achst. Bemerkung: Wir betrachten im gesamten Kapitel 3 nur deterministische Berechnungen. Im Abschnitt 4.2 werden wir Berechnungen untersuchen, in denen Zufallsschritte verwendet werden. Dort werden wir das Ergebnis dieses Abschnittes verallgemeinern: auch jede randomisierte klassische Berechnung kann in eine Quantenrechnung ¨ uberf¨ uhrt werden. Umkehrbar heißt unit¨ ar Wie genau sieht eine umkehrbare – oder anglophon reversible – klassische Berechnung aus? Jeder Rechenschritt f¨ uhrt in Abh¨angigkeit von dem aktuellen Zustand zu einem Folgezustand. Umkehrbar bedeutet, ein Folgezustand darf nicht von zwei verschiedenen Zust¨anden aus erreicht werden. In Abbil¨ dung 3.10 sind einige Uberg¨ ange zwischen den Zust¨anden eines einzelnen Bits dargestellt. Der letzte Schritt, in dem 0 und 1 den gleichen Nachfolgezustand 0 haben, ist nicht umkehrbar. Da Rechenschritte Abbildungen auf der Menge der m¨ oglichen Zust¨ande sind, k¨ onnen wir im Folgenden den Begriff bijektive Abbildung nutzen.
0
0
0
0
1
1
1
1
Schritt 1
Abbildung 3.10: Der letzte Schritt der Berechnung ist nicht umkehrbar
ogliche Zust¨ande. Wir verwenden Rechnen wir mit n Bits, so gibt es 2n m¨ die Quantenschreibweise |0, . . . , |2n −1: nicht u ¨berlagerte Quantenzust¨ande (in der Standardbasis) entsprechen gerade den klassischen Zust¨anden. Ein Rechenschritt ist umkehrbar, wenn er eine bijektive Abbildung der Menge uckt, wenn diese {|0, . . . , |2n − 1} auf sich selbst ist. Oder anders ausgedr¨ Abbildung eine Permutation ist, siehe Abschnitt 2.5. Beispiel 3.4: Wir erzeugen eine reversible Variante des exklusiven Oder, indem wir uns eines der Eingabebits merken: (b1 , b2 ) → (b1 , b1 ⊕ b2 ).
Klassische Schritte und Quantenregister
86
3 Vom Quantenregister zum Quantenschaltkreis Wenn beide Bits 0 sind, ¨andert sich nichts. Wenn das erste Bit 1 ist, ergibt sich der Folgezustand mit unver¨andertem ersten und gekipptem zweiten Bit. Die einzelnen Zustands¨ uberg¨ange lauten 00 → 00 01 → 01
10 → 11 11 → 10
Jedes Urbild kommt genau einmal als Bild vor. Wir k¨onnen erkennen, falls wir uns im Zustand 11 befinden, war der Zustand vor der Operation 10. Es handelt sich um eine Permutation der vier Zust¨ande der beiden (klassischen) Bits; diese Transformation ist eine alte Bekannte namens CNOT. ⋄ In unserem Schaltkreismodell entspricht ein Rechenschritt einem Gatter, an dem nur konstant viele Bits beteiligt sind. Damit gilt: Ein Schaltkreis f¨ uhrt genau dann eine umkehrbare Rechnung aus, wenn jedes Gatter eine Permutation der Zust¨ande der beteiligten Bits ist.
Wir haben bereits gesehen, dass eine Permutation auf einem Vektorraum als unit¨are Transformation wirkt (siehe Aufgabe 2.9). Wir folgern: Eine klassische Berechnung, in der jeder Schritt umkehrbar ist, taugt auch f¨ ur Quantenberechnungen. Umkehrbare klassische Schritte sind in der Quantenwelt unit¨are Transformationen. Jede klassische (deterministische) umkehrbare Berechnung l¨asst sich als Quantenrechnung ausf¨ uhren.
Klassische Berechnungen umkehrbar gestalten Schritt 2
Im zweiten Schritt formen wir einen beliebigen klassischen Schaltkreis in einen umkehrbaren um. An dem entstehenden Schaltkreis interessieren uns zwei Aspekte: 1. Jeder Rechenschritt – jedes Gatter also – ist umkehrbar, und f¨ ur eine klassische Eingabe ergibt sich das gleiche Resultat wie im Falle des Ausgangsschaltkreises. 2. In Schritt 1 haben wir gesehen, dass umkehrbare klassische Berechnungen unit¨aren Transformationen entsprechen. Somit sind sie im Prinzip als Quantenberechnungen ausf¨ uhrbar. Da wir auf theoretischer Ebene
3.5 Umkehrbare Berechnungen
87
argumentieren, sind umkehrbare klassische Schaltkreise f¨ ur uns Quantenschaltkreise. F¨ ur klassische – nicht¨ uberlagerte – Eingaben ergibt sich das Ergebnis des klassischen Falls. Zu welchem Ergebnis eine Superposition als Eingabe f¨ uhrt, sehen wir sp¨ater. Wir beginnen mit einer Definition. Ein Gatter G heißt universell, wenn jede Funktion {0, 1}n → {0, 1}m mit einem Schaltkreis berechenbar ist, der nur Gatter G verwendet.
Mit einem universellen Gatter lassen sich also alle anderen Gatter ersetzen. Kann es so etwas geben? Ja; und um das einzusehen, u ¨berlegen wir uns: Jede Funktion mit Werten aus {0, 1} l¨asst sich als Formel ausdr¨ ucken, die nur ∧, ∨ und die Negation verwendet. Beispiel 3.5: Wir betrachten die Funktion f : {0, 1}3 → {0, 1}, die die Eingaben x = 0, y = 1, z = 0 und x = 1, y = 1, z = 1 auf 1 abbildet und alle anderen Eingaben auf 0. Dann gilt: f (x, y, z) = (x ∧ y ∧ z) ∨ (x ∧ y ∧ z). Jede Funktion l¨asst sich nach dem Prinzip von Beispiel 3.5 ausdr¨ ucken, man spricht von der disjunktiven Normalform. Aus dieser Darstellung ergibt sich sofort ein Schaltkreis f¨ ur f , der die Gatter AND, OR, NOT verwendet. Aufgabe 3.4: Geben Sie einen Schaltkreis f¨ ur die Funktion aus Beispiel 3.5 an. Das Toffoli-Gatter Wir geben ein umkehrbares Gatter an, das universell ist: wir k¨onnen die Operationen AND, OR, NOT damit ersetzen. Es hat drei Eing¨ange a, b, c und drei Ausg¨ange, die mit a, b und c ⊕ (a ∧ b) belegt sind, wie in Abbildung 3.11. Dieses Gatter heißt Toffoli-Gatter, benannt nach Tommaso Toffoli, der es 1981 ver¨ offentlicht hat. Eine Anekdote dazu: Die Grundidee wurde bereits
a
a
b
b
c
c ⊕ (a ∧ b)
Abbildung 3.11: Das Toffoli-Gatter
88
3 Vom Quantenregister zum Quantenschaltkreis 1967 von Carl Adam Petri ver¨offentlicht, allerdings in deutscher Sprache und in einem wenig verbreiteten Tagungsband. So konnte sie mehr als ein Jahrzehnt sp¨ater von Toffoli neu entdeckt werden. Das Toffoli-Gatter ist universell: Wir k¨onnen mit dem Toffoli-Gatter ein Bit negieren, wenn wir zwei andere Bits konstant setzen: Gilt b = 1 und c = 1 ist das dritte Ausgabebit 1 ⊕ (a ∧ 1) = a. F¨ ur c = 0 ist dieses Bit 0 ⊕ (a ∧ b) = a ∧ b. Abbildung 3.12 zeigt diese Konstruktion. Die Disjunktion ergibt sich nicht ganz so leicht. Um ein OR-Gatter zu ersetzen, ben¨otigen wir drei ToffoliGatter.
a
a
a
a
1
1
b
b
1
a¯
0
a∧b
Abbildung 3.12: Negation und Konjunktion klassischer Bits mit einem Toffoli-Gatter
Aufgabe 3.5: Wie l¨asst sich mit dem Toffoli-Gatter die Disjunktion a ∨ b berechnen? So wie wir AND und NOT mit einem und OR mit drei Toffoli-Gattern berechnen k¨ onnen, l¨asst sich jedes klassische Gatter ersetzen. Sehr direkt ist dies bei XOR m¨ oglich: c ⊕ (a ∧ 1) = a ⊕ c. Es gilt allgemein: Wir k¨ onnen jedes Gatter f¨ ur eine klassische logische Operation mit zwei Eingabebits und einem Ausgabebit durch konstant viele Toffoli-Gatter ersetzen.
Das Toffoli-Gatter ist umkehrbar: es bildet die Eingabe (a, b, c) = (1, 1, 0) auf (1, 1, 1) ab und umgekehrt, (1, 1, 1) auf (1, 1, 0). Alle anderen Eingaben bleiben unver¨andert. Somit ist aus dem Ergebnis die Eingabe immer rekonstruierbar. In Abbildung 3.11 ist auch direkt erkennbar, dass zweifache Anwendung des Gatters die Identit¨at ergibt. Damit f¨ uhrt das Toffoli-Gatter
3.5 Umkehrbare Berechnungen
89
wie jede umkehrbare klassische Berechnung auf dem Raum der Zustandsvektoren eine unit¨are Transformation aus. Das Toffoli-Gatter kann als eine Verallgemeinerung der Operation CNOT betrachtet werden. Das spiegeln die Symbole f¨ ur die Gatter wieder, siehe Abbildung 3.5. Eine Alternative zu dem Toffoli-Gatter stammt von Edward Fredkin: Aufgabe 3.6: Untersuchen Sie das Fredkin-Gatter. Es hat drei Eing¨ange a, b, c und drei Ausg¨ange a′ , b′ , c′ . Es gilt 1. a′ = b und b′ = a, falls c = 1, 2. a′ = a und b′ = b, falls c = 0, 3. c′ = c f¨ ur alle Eingaben. ¨ Uberlegen Sie, warum dieses Gatter f¨ ur reversible Berechnungen ebenso gut geeignet ist wie das Toffoli-Gatter. ⋄
Schaltkreise aus Toffoli-Gattern Nun k¨ onnen wir Schritt 2 abschließen, indem wir in einem Schaltkreis alle Gatter durch das umkehrbare Toffoli-Gatter ersetzen. Beachten m¨ ussen wir allerdings eines: Gatter klassischer Schaltkreise haben im Allgemeinen mehrere Ausg¨ange und jede Leitung kann sich verzweigen. Das entspricht dem Kopieren eines Bits. Auch das m¨ ussen wir als unit¨are Transformation realisieren. M¨ oglich ist dies wiederum mit dem Toffoli-Gatter: Setzen wir etwa b = 1 und c = 0, wird das erste Bit auf das dritte kopiert, Abbildung 3.13 (dazu ist auch das CNOT-Gatter geeignet, siehe Abbildung 3.5).
a
a
1
1
0
a
Abbildung 3.13: Ein klassisches Bit mit dem Toffoli-Gatter kopieren
In Abschnitt 3.4 haben wir festgestellt: Quantenbits lassen sich nicht kopieren. Aber unser Ziel ist zun¨achst ein umkehrbarer klassischer Schaltkreis. Was geschieht, wenn wir einen solchen als Quantenschaltkreis auffassen, betrachten wir am Ende des Abschnitts.
Verzweigungen
90
3 Vom Quantenregister zum Quantenschaltkreis
a b
1
1
XOR
s
a
a
AND
c
b
s
0
c
Abbildung 3.14: Halbaddierer und reversibler Halbaddierer aus zwei ToffoliGattern
Schaltkreise umkehrbar machen
Abbildung 3.14 zeigt rechts eine reversible Variante des Halbaddierers links (siehe Abschnitt 2.1). Es werden zwei Toffoli-Gatter verwendet, und es sind zwei Hilfsbits n¨ otig (die reversible Variante hat vier Ausg¨ange). Die Verzweigungen m¨ ussen nicht wie in Abbildung 3.13 umgesetzt werden, da das Ergebnis des ersten Gatters auf ein Hilfsbit kopiert wird und die Bits a und b vom ersten Gatter nicht ver¨andert werden. Um einzusehen, dass jeder beliebige Schaltkreis auf diese Weise umkehrbar gemacht werden kann, u ¨berlegen wir uns ein Vorgehen, der diese Aufgabe nach Kochrezept ausf¨ uhrt. Durchlaufe, an den Eing¨angen beginnend, den Schaltkreis. Ersetze jedes Gatter und jede Verzweigung wie oben beschrieben durch Toffoli-Gatter.
Ergebnis
Im Falle des Halbaddierers (Abbildung 3.14) ist das Ergebnis der Schaltkreis in Abbildung 3.15. Zun¨achst werden die beiden Verzweigungen durch je ein Toffoli-Gatter und je zwei Hilfsbits ersetzt. Das XOR-Gatter wird folgendermaßen ersetzt: da wir die Gatter lokal ersetzen, u ufen wir nicht, ¨berpr¨ ob die Bits a und b u urfen. Wir verwenden ein zus¨atz¨berschrieben werden d¨ liches Ausgabebit, auf das wir zun¨achst b kopieren. Zuletzt ersetzen wir die Konjunktion. Das eben beschriebene Verfahren ¨uberf¨ uhrt jeden Schaltkreis in einen umkehrbaren. Berechnet der Ausgangsschaltkreis die Funktion x → f (x), so gibt es eine L¨ osung, die drei Register verwendet und |x|h|0 auf |x|hx | f (x) abbildet. |x ist die Eingabe, |h enth¨alt konstant gesetzte Hilfsbits, und das dritte Register enth¨alt am Schluss die L¨osung. Entscheidend ist, dass die Anzahl der Gatter nur linear w¨achst; und ebenso die Anzahl der Bits.
3.5 Umkehrbare Berechnungen
91
a
a
b
b
1
1
0
a
1
1
0
b
1
1
1
1
0
a⊕b
0
a∧b
Abbildung 3.15: Reversibler Halbaddierer, schrittweise erzeugt
Das ergibt sich daraus, dass wir jedes Gatter genau einmal durch konstant viele Toffoli-Gatter ersetzen. Dieses Ersetzen ist lokal; die Gesamtstruktur des Schaltkreises wird nicht ber¨ uhrt. Neu eingef¨ uhrte Hilfsbits spielen f¨ ur die anderen Gatter keine Rolle. Aufgabe 3.7: Betrachten Sie die Berechnung des Schaltkreises in Abbildung 3.15, wenn a und b (beziehungsweise |a und |b) jeweils mit √12 (|0 + |1) belegt sind. Einige der Hilfsbits des Schaltkreises in Abbildung 3.15 werden in Abh¨angigkeit von der Eingabe x (dort a,b) ver¨andert, das ist durch den oberen Index in |hx angedeutet. Das kann in konkreten Anwendungen unangenehme Auswirkungen haben. Es gibt eine M¨ oglichkeit, das zu verhindern. Grob gesagt wird nach Beendigung der Berechnung das Ergebnis mit Hilfe von CNOT-Gattern auf Ausgabebits kopiert, die an der Berechnung bis dahin nicht beteiligt waren. Anschließend wird jeder der Rechenschritte r¨ uckg¨angig gemacht. Alle Bits außer den Ergebnisbits befinden sich dann im gleichen Zustand wie zu Beginn der Berechnung. Zusammenfassung: Wir gehen den Weg zur¨ uck: 1. Wir k¨ onnen in einem klassischen Schaltkreis jedes Gatter durch konstant viele Toffoli-Gatter ersetzen. 2. Das Toffoli-Gatter ist umkehrbar. 3. Jede umkehrbare Operation ist eine Permutation der Eingabebits und damit unit¨ar.
L¨oschen von Zwischenergebnissen
92
3 Vom Quantenregister zum Quantenschaltkreis So k¨ onnen wir jeden Schaltkreis in einen Quantenschaltkreis u uhren, ¨berf¨ wobei die Anzahl der Gatter h¨ ochstens um einen konstanten Faktor w¨achst. Auf diese Weise l¨asst sich feststellen: • Sind wir aus Gr¨ unden der Miniaturisierung dazu gezwungen, bei unseren Berechnungen die Gesetze der Quantenmechanik zu beachten, entstehen daraus keine theoretischen Probleme: Eine klassische Berechnung kann mit geringem Aufwand in eine Folge umkehrbarer Schritte uberf¨ uhrt werden. ¨ • Wir wollen einen Quantenschaltkreis konstruieren, der eine Funktion f verwendet. f ist mit einem effizienten klassischen Schaltkreis berechenbar. Daraus folgt mit dem Ergebnis dieses Abschnitts: f ist mit einem Quantenschaltkreis effizient berechenbar, der eine Eingabe |x|0 auf |x| f (x) abbildet (und eventuell weitere Hilfsbits verwendet). Eine Superposition ∑ αx |x|0 x
wird auf den verschr¨ankten Zustand
∑ αx |x| f (x) x
abgebildet. Aufgabe 3.8: Wir belegen die Eingabebits des Schaltkreises in Abbildung 3.14 mit |a = √12 (|0 + |1) und |b = √12 (|0 + |1). Was ist das Ergebnis der Berechnung? Reversible Berechnungen wurden zu einem Zeitpunkt untersucht, als man noch nicht an Quantenrechner dachte. Warum? Wir stellen uns vor, wir bef¨anden uns gerade auf einem Spaziergang. Den bisher zur¨ uckgelegten Weg k¨ onnen wir in umgekehrter Richtung im Prinzip zur¨ uckgehen (wir lassen Spitzfindigkeiten wie Tore, die nur in eine Richtung ge¨offnet werden k¨ onnen, beiseite). Wenn wir jedoch mit dem Kopf vor einen Ast laufen und einen pl¨ otzlichen Ged¨achtnisverlust erleiden, finden wir eventuell nicht mehr nach Hause. So k¨ onnen wir uns viele Situationen denken, in denen das Vernichten von Information die Wiederherstellung eines fr¨ uheren Zustandes unm¨ oglich macht. Der amerikanische Physiker Rolf Landauer hat sich mit diesem Thema intensiv auseinander gesetzt. Information is physical ist eine f¨ ur uns interessante Pr¨amisse seiner Arbeit. Es scheint auf der Hand zu liegen, dass wir Information nur in physikalischer Form speichern oder kommunizieren k¨ onnen. Daraus entsteht die Frage: Was sind die physikalischen Konsequenzen einer Informationsvernichtung? Vereinfacht gesagt: Es wird Energie frei, in der Regel W¨arme! Landauers Prinzip (1961) gibt an, welche Energiemenge beim L¨ oschen eines Bits mindestens abgegeben wird, oder
3.6 Unterscheidbare Zust¨ande thermodynamisch ausgedr¨ uckt: auf welche Weise sich die der Umgebung mindestens erh¨ oht, wenn ein Bit Information vernichtet wird. Der Umkehrschluss dazu lautet: ein Computer, der nie ein Bit l¨oscht, erw¨armt sich (im Prinzip) nicht. Die freigesetzte W¨arme war im Rechnerbau immer ein Problem, gerade angesichts der permanenten Miniaturisierung. Darum wurde schon sehr fr¨ uh dar¨ uber nachgedacht, ob sich jede Berechnung im Prinzip umkehrbar gestalten l¨asst. Das Ergebnis dieses Abschnitts ist nicht selbstverst¨andlich. Es gibt Berechnungsmodelle, f¨ ur die die Quantenversion nicht alles klassisch m¨ogliche bew¨altigen kann. Wir haben lediglich gezeigt: klassische Schaltkreise k¨onnen in Quantenschaltkreise umgewandelt werden, die unwesentlich (linear) gr¨ oßer sind. QOBDDs (quantum ordered binary decision diagrams) beschreiben Quantenalgorithmen, die jedes Bit der Eingabe h¨ ochstens einmal lesen. Außerdem ist die Reihenfolge vorgegeben, in der die Bits abgefragt werden, und neben der Eingabe der Gr¨ oße n d¨ urfen nur logn Hilfsbits verwendet werden. Diese Einschr¨ankungen m¨ ogen willk¨ urlich wirken: klassische OBDDs spielen eine zentrale Rolle im Schaltkreisentwurf und verwandten Anwendungen. Man kann zeigen: Es gibt Aufgaben, die mit klassischen OBDDs effizient l¨osbar sind, von Quanten-OBDDs jedoch exponentiellen Aufwand erfordern ¨ (siehe [83]). Ahnliches gilt f¨ ur Versionen von endlichen Quantenautomaten (siehe [58]).
93
Eingeschr¨ankte Berechnungen
3.6 Unterscheidbare Zust¨ ande Den Zustand eines klassischen Bits k¨ onnen wir jederzeit problemlos feststellen. Bei Quantenbits geht das nicht: ist ein solches etwa im Zustand α|0 + β|1, k¨ onnen wir die genauen Werte von α und β nicht exakt bestimmen (siehe Abschnitt 2.8). Es gilt sogar: Nur unter bestimmten Voraussetzungen k¨ onnen wir feststellen, ob zwei Quantenbits in demselben Zustand sind oder sich unterscheiden. Ein Quantenbit kann unendlich viele verschiedene Zust¨ande annehmen. So fein wir ein Messinstrument bauen, man kann immer zwei Zustandsvektoren angeben, die zu nahe beieinanderliegen, als dass unser Instrument sie unterscheiden k¨ onnte. Aber es ist auch aus theoretischen Gr¨ unden nicht m¨ oglich! In diesem Abschnitt sehen wir, dass wir zwei Quantenzust¨ande durch Messungen nur dann unterscheiden k¨ onnen, wenn die Zustandsvektoren orthogonal sind. Von den unendlich vielen Zust¨anden eines Quantenregisters lassen sich demnach nur endlich viele unterscheiden. Haben wir ein Register aus n Quantenbits, sind dies 2n verschiedene Zust¨ande; wie bei einem klassischen Register. Welche Rolle spielt die Unterscheidbarkeit von Quantenzust¨anden? Angenommen, eine Berechnung hat f¨ unf m¨ ogliche Ergebnisse (ein Beispiel: f¨ unf Personen spielen ein kompliziertes Gesellschaftsspiel, und ein Quantenrechner ermittelt den Spieler mit den meisten Punkten). Jedem der Ergebnisse ist
Rolle der Unterscheidbarkeit
94
Aufgabenstellung
3 Vom Quantenregister zum Quantenschaltkreis ein Zustand |φi , i = 1, . . . , 5 eines Quantenregisters zugeordnet. Damit wir den Gewinner erfahren, m¨ ussen wir das Register messen. Wie wir oben erfahren haben, m¨ ussen die Zust¨ande |φ1 , . . . , |φ5 paarweise orthogonal sein. F¨ ur das Ergebnisregister ben¨ otigen wir also mindestens drei Quantenbits: die Zust¨ande eines Quantenregisters aus zwei Bits sind Vektoren eines lediglich vierdimensionalen Vektorraums. Wir sind im Besitz zweier Quantenbits und sollen entscheiden, ob sie in demselben Zustand sind. Betrachten wir zum Beispiel die beiden Zust¨ande 1 |φ1 = √ (|0 + |1) und |ψ1 = |0. 2 Wir messen beide Bits bez¨ uglich der Standardbasis. |ψ1 liefert das Ergebnis |0. Bei der Messung von |φ1 erhalten wir mit Wahrscheinlichkeit 1/2 das Resultat |1; damit wissen wir: die Zust¨ande waren verschieden (bevor unsere Messungen sie zerst¨ ort haben). Aber mit der gleichen Wahrscheinlichkeit liefert uns die Messung von |φ1 das gleiche Ergebnis wie die an |ψ1 . Dann sind wir so schlau wie zuvor. Sollen wir die gleiche Aufgabe f¨ ur 1 1 |φ2 = √ (|0 + |1) und |ψ2 = − √ (|0 + |1) 2 2 erledigen, k¨ onnen wir mit Messungen bez¨ uglich der Standardbasis gar keinen Aufschluss dar¨ uber erlangen, ob die Zust¨ande verschieden sind. Aber vielleicht mit Hilfe der Messung bez¨ uglich einer anderen Basis? Wir werden sehen, dass sich nicht feststellen l¨asst, ob |φ2 und |ψ2 identisch oder verschieden sind. Aufgabe 3.9: : Geben Sie ein Verfahren an, das die Zust¨ande 1 1 |φ3 = √ (|0 + |1) und |ψ3 = √ (|0 − |1) 2 2 unterscheidet. Nun formulieren und veranschaulichen wir das Resultat dieses Abschnitts:
Unterscheidbare Zust¨ande
Zwei Zust¨ande lassen sich nur dann zweifelsfrei unterscheiden, wenn sie zueinander orthogonal sind.
Wir beweisen die Feststellung nicht formal, sondern veranschaulichen sie geometrisch. Wenn wir zwei Zust¨ande |φ und |ψ unterscheiden k¨onnen, stellt auch folgende Aufgabe kein Problem dar: Uns wird ein Qubit |x ¨ubergeben. Es befindet sich im Zustand |φ oder im Zustand |ψ, |φ = |ψ. Wir sollen entscheiden, welches der tats¨achliche Zustand von |x ist. Wir beginnen damit, eine aussichtsreiche Orthonormalbasis zu konstruieren. Wir w¨ahlen einen auf |ψ senkrecht stehenden Einheitsvektor |ψ⊥ und
3.7 Gest¨ orte Berechnungen
|ψ⊥
95
|φ
|ψ β
α
Abbildung 3.16: Geometrische Veranschaulichung von |φ = α|ψ + β|ψ⊥. erhalten eine Orthonormalbasis {|ψ, |ψ⊥ }. Wir k¨ onnen |φ als Linearkombination dieser Vektoren darstellen, siehe Abbildung 3.16: |φ = α|ψ + β|ψ⊥. Sind |φ und |ψ orthogonal, k¨ onnen wir unsere Aufgabe mit einer Messung bez¨ uglich dieser Basis l¨ osen: Ist |x = |ψ beobachten wir |ψ, ist |x = |φ beobachten wir |ψ⊥ . Wenn |φ und |ψ nicht orthogonal sind, hat |φ stets einen nicht verschwindenden |ψ-Anteil α = 0. Messen wir bez¨ uglich der Basis {|ψ, |ψ⊥ } liefert f¨ ur |x = |ψ stets das Ergebnis |ψ und f¨ ur |φ erhalten wir mit der positiven Wahrscheinlichkeit |α|2 dasselbe Ergebnis. Wir k¨onnen |φ und |ψ also nicht mit Sicherheit unterscheiden. Sind sie fast orthogonal, ist die Unsicherheit eher gering; wenn sie weit davon entfernt sind orthogonal zu sein, ist die Unsicherheit sehr groß. Der von uns ausgelassene formale Beweis zeigt: Dieses Problem l¨asst sich nicht durch die Wahl einer anderen Basis beseitigen (siehe etwa [69]). Anschaulich gilt, dass der Wechsel zu einer anderen Orthonormalbasis als {|ψ, |ψ⊥ } die Unterscheidungskraft verringert. Wir haben somit gesehen, dass nicht-orthogonale Zust¨ande prinzipiell nicht unterscheidbar sind. Egal wie fein unsere Messinstrumente sind, es ist theoretisch unm¨ oglich, nicht-orthogonale Zust¨ande auseinanderzuhalten.
3.7 Gest¨ orte Berechnungen Ein Vorteil von klassischen Bin¨arrechnern ist: sie sind ziemlich st¨orungsresistent. Ein Bit hat nur zwei m¨ ogliche Zust¨ande. Wir repr¨asentieren zum
96
3 Vom Quantenregister zum Quantenschaltkreis
0
1
Abbildung 3.17: Ein klassisches Bit ist st¨orungsresistent
Beispiel 1 durch eine Spannung von +5V und 0 durch keine Spannung. Liegt nun in einem physikalisch realisierten Schaltkreis eine Abweichung von diesem Ideal vor, angenommen wir haben eine Spannung von +4, 3V , k¨ onnen wir diese Abweichung leicht korrigieren, siehe Abbildung 3.17. Das liegt daran, dass +4, 3V nach unserer Festlegung kein g¨ ultiger Zustand ist. Wir k¨ onnen folgende fehlerrobuste Vereinbarung treffen: Der Bereich kleiner 2.5V entspricht dem Bitzustand 0 und der gr¨oßer gleich 2.5V der 1. Quantenrechner sind analog
Ziel
Ein Quantenrechner ist kein Bin¨arrechner in diesem Sinne. Ein Quantenbit kann nicht nur die Zust¨ande |0 und |1 annehmen, sondern auch ¨ unendlich viele m¨ ogliche Uberlagerungen davon. Ist nun ein Gatter eines Quantenschaltkreises gest¨ ort und wir erhalten statt des Folgezustands |φ den Zustand |φ′ – siehe Abbildung 3.18 – gibt es keine so einfache Methode, diese Abweichung auszugleichen. Jeder Vektor der L¨ange 1 ist ein zul¨assiger Zustand. Wenn wir uns also ¨uber die Realisierung von Quantenrechnern Gedanken machen, m¨ ussen wir die Frage nach dem Umgang mit Fehlern besonders ber¨ ucksichtigen. Dieser Abschnitt liefert dazu ein befriedigendes Resultat: In einer Folge von gest¨ orten Quantengattern addiert sich der Fehler. Die Abweichung, die ein fehlerhaftes Gatter verursacht, wird in der weiteren Berechnung nicht verst¨arkt.
|φ |φ′
Abbildung 3.18: Der Zustand eines Quantenbits ist st¨oranf¨allig
3.7 Gest¨ orte Berechnungen
97
Wir stellen uns vor, wir h¨atten einen wichtigen Quantenalgorithmus zu realisieren. Wir haben diesen Algorithmus bereits in eine Folge von einfachen unit¨aren Transformationen zerlegt, die wir mit unseren Mitteln ausf¨ uhren k¨onnen. Unser Algorithmus beginnt im Startzustand |φ0 . Dann soll er die uhren. Tats¨achlich berechnen unsere GatTransformationen U1 , . . . ,UT ausf¨ ter Transformationen, die von den im Entwurf des Algorithmus verwendeten abweichen. Die Abweichung jedes einzelnen Gatters ist gering. Aber wie verhalten sie sich hintereinandergeschaltet, wie in Abbildung 3.19?
|φ0
U1′
U2′
UT′ −1
UT′
Abbildung 3.19: Der physikalisch realisierte Algorithmus Es w¨are m¨ oglich, dass sich der Fehler multipliziert, wie im folgenden Beispiel. Beispiel 3.6: Wir betrachten die Operation N, die eine ganze Zahl negiert: N(z) = −z. Wir wenden N mehrmals auf 1 an. N(1) = −1, N 2 (1) = N(N(1)) = 1 und so weiter. Die physikalische Ausf¨ uhrung N ′ weicht von N allerdings um 10 Prozent ab. 1 wird auf −1, 1 und allgemein z auf −(z + z/10) abgebildet. Wie w¨achst der Fehler bei mehrfacher Anwendung? Bei zweifacher erhalten wir N ′ (N ′ (1)) = N ′ (−1, 1) = 1, 1 · 1, 1 = 1, 21. H¨atten sich die Fehler der beiden Rechnungen addiert, w¨are das Ergebnis 1 + 0, 1 + 0, 1 = 1, 2. Auch wenn der Unterschied klein erscheint: der additive Fehler w¨achst linear in der Anzahl der Anwendungen, der multiplikative exponentiell. Wenden wir N ′ zehnmal an, ist das Ergebnis 1, 110 ≈ 2, 59, w¨ahrend das Ergebnis mit additivem Fehler 2 w¨are. F¨ uhren wir N ′ hundertmal aus, 100 erhalten wir 1, 1 ≈ 13780, wogegen eine Rechnung mit additivem Fehler das Ergebnis 11 erbr¨achte. ⋄ Unsere Berechnung beginnt im Startzustand |φ0 . Im ersten Schritt soll U1 |φ0 realisiert werden. Das tats¨achliche Ergebnis ist allerdings U1′ |φ0 . Die Abweichung bestimmen wir als den Abstand der beiden Vektoren:
U1 |φ0 − U1′ |φ0 = (U1 − U1′ )|φ0 . Wir definieren |φi = Ui . . .U1 |φ0 ,
das Zwischenergebnis nach i ungest¨ orten Schritten. Wenn nur das i-te Gatter gest¨ ort ist, betr¨agt die dort entstehende Abweichung damit
(Ui − Ui′ )|φi−1 .
98
3 Vom Quantenregister zum Quantenschaltkreis Nun untersuchen wir den Gesamtfehler: den Abstand zwischen den Berechnungen UT . . .U1 |φ0 und UT′ . . .U1′ |φ0 . Dazu betrachten wir die Berechnungen |ψi , bei der die ersten i Schritte korrekt ausgef¨ uhrt werden und alle danach gest¨ort sind: |ψT = UT UT −1 |ψT −1 = UT′ UT −1 .. .. . . |ψ2 = UT′ UT′ −1 |ψ1 = UT′ UT′ −1 |ψ0 = UT′ UT′ −1
. . . U3U2U1 |φ0 . . . U3U2U1 |φ0 .. . . . . U3′ U2U1 |φ0 . . . U3′ U2′ U1 |φ0 . . . U3′ U2′ U1′ |φ0
Damit ist der Gesamtfehler gerade
|ψT − |ψ0 . Zur Analyse betrachten wir den Abstand zwischen zwei Berechnungen, die sich in genau einem Schritt unterscheiden:
|ψi+1 − |ψi
= = =
′ ′
UT′ . . .Ui+2 (Ui+1 − Ui+1 )Ui . . .U1 |φ0
′
(Ui+1 − Ui+1 )Ui . . .U1 |φ0 ′
(Ui+1 − Ui+1)|φi .
′ sind Das ist der entscheidende Schritt! Die Transformationen UT′ . . .Ui+1 unit¨ar und damit normerhaltend! Der Fehler im (i + 1)-ten Gatter – die ′ ) also – wird durch die weiteren fehlerhaften Gatter Differenz (Ui+1 − Ui+1 nicht vergr¨ oßert! Der Rest ist jetzt eine einfache Rechnung. F¨ ur den Gesamtfehler gilt
|ψT − |ψ0 = ≤
|ψT − |ψT −1 + |ψT −1 ± . . . − |ψ1 + |ψ1 − |ψ0
|ψT − |ψT −1 + . . . + |ψ1 − |ψ0 .
Das sieht man mit der Dreiecksungleichung (Abschnitt A.2.3); der Gesamtfehler ist somit kleiner gleich der Summe der Einzelfehler:
|ψT − |ψ0 ≤ (U1 − U1′ )|φ0 + . . . + (UT − UT′ )|φT −1 . Praktisch bedeutet das: Wenn wir an irgendeiner Stelle einer Rechnung mit einem gest¨ orten Gatter konfrontiert werden, k¨onnen wir m¨ogliche Abweichungen in der bisherigen Rechnung ignorieren. Die neue Abweichung vom Ideal addiert sich zu den bisherigen. Dieses Ergebnis l¨asst sich auch veranschaulichen. Unit¨are Transformationen wirken auf einen Zustandsvektor als Drehungen. Drehen wir nun in einem Rechenschritt um einen vom Ideal abweichenden Winkel, wirkt sich diese Abweichung auf die n¨achste Drehung nicht aus.
3.7 Gest¨ orte Berechnungen Am Anfang dieses Abschnitts haben wir argumentiert, dass sich Rechnungen eines klassischen Rechners Fehlern gegen¨ uber ziemlich robust verhalten. Aber trotzdem kann es auch hier zu St¨ orungen kommen. Besonders anschaulich, wenn Daten u ¨ber eine Leitung verschickt werden, die defekt ist oder Einfl¨ ussen wie etwa Magnetfeldern ausgesetzt ist. Um mit solchen Situationen fertigzuwerden, verwendet man fehlerkorrigierende Codes. Man verl¨angert die Nachricht um einige Bits. Diese enthalten Zusatzinformationen, mit denen im Falle einer St¨ orung die urspr¨ ungliche Nachricht wiederhergestellt werden kann. Die Frage, wie mit Fehlern umzugehen sei, stellt sich bei Quantenrechnern noch dringlicher als bei klassischen. Quantenrechner sind im Grunde Analogrechner. Dazu kommt das Problem der Dekoh¨arenz, siehe Abschnitt 9.2. Zudem stellt uns das No-Cloning-Theorem vor gewisse Schwierigkeiten. Die Grundidee der Fehlerkorrektur lautet: schicke jedes Bit mehrmals, um zu pr¨ ufen, ob am Zielort Abweichungen auftreten. Um ein Quantenbit mehrfach zu schicken, m¨ ussten wir es kopieren. Und das ist nicht m¨oglich! Peter Shor war der erste, der 1995 einen fehlerkorrigierenden Quantencode ver¨ offentlicht hat. Mit der Existenz solcher Codes ist eine notwendige Bedingung f¨ ur den Bau praktisch verwendbarer Quantenrechner erf¨ ullt.
99 Fehlerkorrigierende Codes
101
4 Hilfsmittel aus der Theoretischen Informatik Nicht zu sagen Hypothese, noch weniger Theorie, sondern VORSTELLUNGS ART. Georg Christoph Lichtenberg
Bei welchen Aufgaben sind Quantencomputer klassischen Rechnern u ¨berlegen? Gibt es Probleme, die f¨ ur letztere schwer, f¨ ur erstere aber einfach sind? Dieses Kapitel f¨ uhrt in aller K¨ urze in die Komplexit¨atstheorie ein, die danach fragt, welche Probleme effizient l¨ osbar sind. Diese Theorie hilft uns auch dabei, u ¨ber die Grenzen des Quantencomputers nachzudenken. Die Betrachtung schließt direkt an die Abschnitte 3.1 und 3.2 an. Abschnitt 4.2 besch¨aftigt sich mit randomisierten Algorithmen. Diese nutzen Zufallsprozesse und d¨ urfen sich in einem gewissen Rahmen irren. F¨ ur unsere Zwecke ist es wichtig, den Nutzen solcher Verfahren zu verstehen und die Rolle des Fehlers einsch¨atzen zu k¨ onnen. Denn auch Quantenalgorithmen enthalten ein randomisiertes Element: die Messung.
4.1 Komplexit¨ atsklassen In Kapitel 2 haben wir den Begriff Berechnung anhand der ganzzahligen Addition erl¨autert. Wie jedes Berechnungsproblem ist es durch die Eingabe und die Ausgabe definiert. Erstere besteht in diesem Fall aus zwei ganzen Zahlen a, b und die Ausgabe ist deren Summe a + b. Wie aufw¨andig ist es, zwei Zahlen zu addieren? Wieviele Rechenschritte ben¨ otigt ein Algorithmus, der diese Aufgabe f¨ ur alle m¨oglichen Eingaben l¨ost? Das ist die Frage nach der dem Problem innewohnenden Schwierigkeit oder nach der inh¨arenten Komplexit¨at. Wir bestimmen zun¨achst die Eingabegr¨ oße des Problems Addition. Wir gehen davon aus, dass die Zahlen a und b in Bin¨ardarstellung vorliegen.
Addition
102
4 Hilfsmittel aus der Theoretischen Informatik Dazu sind etwa log a + logb Bits n¨otig. Die Eingabegr¨oße m ist damit von der Gr¨ oßenordnung O (loga) , wenn a die gr¨oßere Zahl ist. In Kapitel 2 haben wir das Additionsverfahren betrachtet, das Sch¨ uler in der Grundschule gelehrt wird. Beide Ziffernfolgen werden von rechts nach links durchlaufen, und je zwei Stellen werden unter Ber¨ ucksichtigung des ¨ Ubertrags addiert. Wir k¨ onnen uns leicht u ¨berlegen, dass dieses Verfahren f¨ ur jede Stelle konstant viele Schritte ausf¨ uhren muss. Die Laufzeit ist linear; von der Gr¨ oßenordnung O (m). Zudem kann es kein Verfahren geben, das der Gr¨oßenordnung nach schneller ist. F¨ ur die Summe spielt jede Ziffer der beiden Zahlen a und b eine Rolle, und alle m¨ ussen einmal angesehen werden. Die Laufzeit ist also mindestens Ω(m). Damit haben wir die Laufzeit-Komplexit¨at der Addition hinreichend genau beschrieben: sie betr¨agt Θ(m). Nicht immer l¨asst sich die Komplexit¨at so einfach bestimmen; gerade bei Problemen, f¨ ur die kein schneller Algorithmus bekannt ist, ist diese Aufgabe schwierig. L¨asst sich f¨ ur ein Problem trotz aller Bem¨ uhungen kein schneller Algorithmus finden, gibt es vielleicht keinen, da die inh¨arente Komplexit¨at sehr groß ist. Um eine solche Vermutung eventuell beweisen zu k¨onnen, m¨ ussen wir unsere Betrachtungsweise vergr¨obern. Wir teilen die Berechnungsprobleme anhand ihrer Schwierigkeit in verschiedene Mengen ein, in Komplexit¨atsklassen.
Polynomialzeit
Die Klasse P enth¨alt alle Berechnungsprobleme, die in unserem Sinne effizient berechenbar sind. Das sind all die Probleme, f¨ ur die es Polynomialzeitalgorithmen gibt.
Damit ist ein Problem mit Eingabegr¨oße n dann ein Element der Menge P, wenn es einen Algorithmus A gibt, der es in Zeit O nk l¨ost. Dabei muss k eine Konstante sein und A f¨ ur alle Eingaben das korrekte Ergebnis mit O nk Schritten liefern. Mit der Definition der Klasse P haben wir eine Festlegung formalisiert, die wir schon im letzten Kapitel getroffen haben. P enth¨alt alle Berechnungsprobleme, die im Sinne von Abschnitt 3.1 effizient l¨osbar sind. Nun ist P eine sehr große Klasse: sie enth¨alt Probleme mit linearer Laufzeit und gleichermaßen solche mit Aufwand von zum Beispiel n10 , deren Laufzeit also ein starkes Wachstum aufweisen. Die Beschr¨ankung auf die Frage, ob ein Problem in P liegt oder nicht, hat sich jedoch aus verschiedenen Gr¨ unden bew¨ahrt: 1. Die Klasse P ist sehr robust. Rufen sich zwei Polynomialzeitalgorithmen gegenseitig auf oder wird ein solches Verfahren polynomial oft aufgerufen, ist die Gesamtlaufzeit wiederum polynomial: das Produkt zweier Polynome ist wieder ein Polynom (nk · nl = nk+l ). Durch diese Robustheit ist P maschinenunabh¨angig. 2. Die Erfahrung zeigt, dass praktisch bedeutsame Probleme aus P keinen sehr großen Exponenten haben. L¨asst sich von einem solchen praktisch
4.1 Komplexit¨atsklassen
103
relevanten Problem erstmals zeigen, dass es u ¨berhaupt in P liegt, findet sich meistens auch ein Verfahren mit kleinen Exponenten. 3. Ist ein Problem nicht in Polynomialzeit berechenbar, kann man es in der Praxis nur f¨ ur kleine Eingaben l¨ osen. Außerdem hat sich um die Definition der Klasse P eine umfangreiche Theorie entwickelt. Viele tiefe Einsichten blieben verborgen, h¨atte man sich vor der Vergr¨ oberung gescheut, die Klasse P mit den effizient l¨osbaren Problemen zu identifizieren. Um die Klassifizierung von Berechnungsproblemen fortsetzen zu k¨onnen, beschr¨anken wir uns auf Entscheidungsprobleme. Das sind Berechnungsprobleme, deren Ergebnis entweder 0 oder 1 ist. Beispiel 4.1: Die folgenden Berechungsprobleme sind Entscheidungsprobleme: 1. Eingabe: Eine ganze Zahl n Ausgabe: PRIMES(n) = 1, falls n eine Primzahl ist, PRIMES(n) = 0, sonst. 2. Eingabe: Drei ganze Zahlen a, b, n Ausgabe: MULT(a, b, n) = 1, falls n = a · b, MULT(a, b, n) = 0, sonst. 3. Eingabe: Ein Feld von ganzen Zahlen a1 , . . . , an , eine Schranke k Ausgabe: MINIMUM(a1, . . . , an , k) = 1, falls das Feld ein Element kleiner gleich k enth¨alt MINIMUM(a1, . . . , an , k) = 0, sonst. Zum Beispiel gilt PRIMES(7) = 1, PRIMES(9) = 0. Wir k¨onnten auch die entgegengesetzte Eigenschaft testen, n¨amlich ob eine ganze Zahl zusammengesetzt ist; dann gilt COMPOSITES(7) = 0, COMPOSITES(9) = 1. MULT und MINIMUM sind Entscheidungsvarianten von Problemen, deren Ausgabe eigentlich nicht mit einer 0, 1 Alternative auskommt. So ist im Falle von MINIMUM nicht das tats¨achliche Minimum zu bestimmen, sondern die Frage zu beantworten, ob es kleiner einer bestimmten Schranke ist. Unser Ziel ist es, die Komplexit¨at oder Schwierigkeit von Problemen zu untersuchen. K¨ onnen wir zeigen, dass die Entscheidungsvariante aufw¨andig ist, ist die urspr¨ ungliche Variante auch schwierig: denn ein Algorithmus f¨ ur die urspr¨ ungliche Variante kann auch zur L¨ osung der Entscheidungsvariante eingesetzt werden. In der komplexit¨atstheoretischen Literatur wird meistens die Schreibweise der formalen Sprachen verwendet. Eine zu einem Berechnungsproblem E geh¨orende formale Sprache enth¨alt dann alle Eingaben x mit E(x) = 1, ist also die Menge {x; x ist eine Eingabe von E mit E(x) = 1}.
Entscheidungsprobleme
104
4 Hilfsmittel aus der Theoretischen Informatik NP
Die Komplexit¨atsklasse P enth¨alt alle Berechnungsprobleme eines bestimmten Schwierigkeitsgrades: alle die nach unserer Definition effizient l¨ osbar sind. Nun definieren wir eine andere wichtige Komplexit¨atsklasse: NP enth¨alt Probleme, die sich effizient verifizieren lassen. Wir betrachten das Entscheidungsproblem COMPOSITES. Wie sich das f¨ ur eine Eingabe – die Zahl n = 1309 zum Beispiel – effizient ausrechnen l¨asst, ob sie zusammengesetzt ist, ist zun¨achst unklar. Nun nehmen wir an, ein Freund von uns behauptet: Die Zahl 1309 ist zusammengesetzt.“ Es ” handelt sich zwar um einen guten Freund, allerdings haben wir die Erfahrung gemacht, dass ihm die Wahrheit manchmal weniger wichtig ist, als selbst gut dazustehen. Darum fordern wir ihn auf: Beweis es!“ ” Er setzt sich triumphierend in Pose und sagt: 1309 ist das Produkt ” der Zahlen 119 und 11.“ Das l¨asst sich allerdings leicht nachpr¨ ufen. Wir multiplizieren 119 mit 11 und vergleichen dieses Produkt mit 1309. Die Werte stimmen ¨ uberein, und damit ist bewiesen: 1309 ist keine Primzahl, COMPOSITES(1309) = 1. Diesen Beweis zu f¨ uhren – wenn wir die Zusatzinformation 119, 11 besitzen – ist offenbar einfacher, als ohne dieses Hilfsmittel die Frage zu beantworten. ¨ Ahnlich verh¨alt es sich bei dem Problem MINIMUM aus Beispiel 4.1. Am Tag nach dem Betriebskegeln liegt uns eine Liste der Ergebnisse der tausend-dreihundert Kollegen vor. Der Generaldirektor tr¨agt uns auf, folgendes herauszubekommen: Gibt es einen darunter, der weniger als einmal alle neun Kegel umwerfen konnte? Unser Freund hilft uns: Ja“, sagt er ” zun¨achst nur, wohl um uns zu ¨argern. Dann f¨ ugt er hinzu: Schulz, Sigis” mund. Zeile 768“. Wir brauchen nur in der betreffenden Zeile nachschlagen, um uns zu u ¨berzeugen. Wir verifizieren die Aussage mit einem Hilfsmittel. Wir verwenden in der folgenden formalen Definition der Klasse NP f¨ ur dieses Hilfsmittel den Begriff Zertifikat. Ein Entscheidungsproblem E ist in NP, wenn eine Funktion f (x, y) existiert, so dass: ur Eingaben x mit E(x) = 1 gibt es ein Zertifikat y polynomialer • f¨ Gr¨ oße mit f (x, y) = 1, ur Eingaben x mit E(x) = 0 gibt es kein solches Zertifikat • f¨ ( f (x, y) = 0 f¨ ur alle m¨ oglichen Zertifikate), • f ist in polynomialer Zeit berechenbar.
Wir brauchen uns um die formalen Details nicht zu viele Gedanken machen. Unsere Art zu verifizieren, dass eine Zahl zusammengesetzt ist, stimmt mit der Definition ¨uberein. Da 1309 zusammengesetzt ist (COMPOSITES(1309) = 1) gibt es das Zertifikat y = (119, 11). f (n, (a, b)) ist der Test, ob n = a · b gilt. Ist n eine Primzahl, gibt es kein Zertifikat, das diesen Test erf¨ ullt.
4.1 Komplexit¨atsklassen
105
Aber was ist mit dem entgegengesetzten Test? Nach Definition gen¨ ugt es, f¨ ur alle x mit E(x) = 1 nachzuweisen, dass diese Aussage zutrifft. F¨ ur Eingaben x mit E(x) = 0 ist nichts zu zeigen. So ist es zun¨achst unklar, wie sich verifizieren l¨asst, dass eine Zahl nicht zusammengesetzt ist. K¨onnen wir auch ein Zertifikat angeben, das uns ¨ uberzeugt, dass eine Zahl eine Primzahl ist, keinen echten Teiler besitzt? Liegt PRIMES in NP? Denken Sie dar¨ uber eine Weile nach. Offenbar ist in diesem Fall das Verifizieren schwieriger. Das ist ein Unterschied zur Klasse P: k¨ onnen wir berechnen, dass eine Aussage zutrifft, haben wir damit auch berechnet, dass die verneinte Aussage nicht zutrifft. K¨ onnen wir rechnerisch bestimmen, ob eine Zahl eine Primzahl ist, k¨ onnen wir mit dem gleichen Verfahren nachweisen, ob sie zusammengesetzt ist. Das ist beim Verifizieren nicht der Fall: Hilft ein Zertifikat bei dem Beweis, dass etwas zutrifft, folgt nicht, dass es ein Zertifikat gibt, das die gegenteilige Aussage beweisen l¨asst. Betrachten wir dazu Problem MINIMUM aus Beispiel 4.1. Mit dem Index i als Zertifikat eines Elementes ai < k l¨asst sich MINIMUM(a1 , . . . , ak , k) leicht u ufen. Das ist eine lokale Eigenschaft. Ist hingegen gefragt, ob ¨berpr¨ es kein Element kleiner k gibt – ob also alle Elemente gr¨oßer gleich k sind – ist dies eine globale Eigenschaft, und im schlechtesten Fall m¨ ussen wir alle Elemente ai mit k vergleichen. Wenn wir auf der anderen Seite ein Problem effizient berechnen k¨onnen, k¨onnen wir es erst recht effizient verifizieren:
Asymmetrie von NP
P ⊆ NP
Anschaulich ist das klar. Um die Aussage auch formal zu beweisen, u ¨berlegen wir uns, dass ein P-Algorithmus kein Zertifikat ben¨otigt. Er berechnet eine Funktion f mit f (x) = E(x) f¨ ur alle x, ohne dass Zusatzinformationen n¨ otig sind. Man kann auch argumentieren: der Rechengang auf der Eingabe x ist das Zertifikat, das uns von der Korrektheit der Aussage u ¨berzeugt. Klassische Algorithmen wie in Abschnitt 2.1 beschrieben, die der Definition der Klasse P zu Grunde liegen, nennt man deterministisch. Der aktuelle Zustand legt den Folgezustand eindeutig fest, determiniert diesen. P enth¨alt demnach die durch deterministische Polynomialzeitalgorithmen berechenbaren Probleme. Der Name NP bedeutet nichtdeterministische Polynomialzeit, da das passende Zertifikat nicht deterministisch ermittelt wird, sondern dessen bloße Existenz gen¨ ugt. Man stellt sich vor, dieses wird stets korrekt geraten oder der Algorithmus rechnet auf allen m¨oglichen Zertifikaten gleichzeitig, ¨ ahnlich einem nichtdeterministischen endlichen Automaten. NP-Algorithmen sind damit ein Denkmodell und k¨onnen nicht auf realen Computern ausgef¨ uhrt werden. Die Klasse NP spielt in der Komplexit¨atstheorie eine entscheidende Rolle, weil sie eine gewaltige Zahl von in der Praxis wichtigen Problemen enth¨alt, f¨ ur die man keinen effizienten Algorithmus kennt. Enth¨alt die Klasse NP
Deterministische Berechnungen
Wichtigkeit von NP
106
4 Hilfsmittel aus der Theoretischen Informatik Probleme, die nicht in P enthalten sind? K¨onnen Quantenrechner alle Probleme in NP berechnen? Wir kommen in Abschnitt 4.3 auf diese Fragen zur¨ uck.
4.2 Randomisierte Algorithmen In diesem Abschnitt lernen wir klassische Algorithmen kennen, die eine besondere F¨ahigkeit haben: sie k¨onnen Zufallszahlen erzeugen und den n¨achsten Schritt einer Berechnung von einer solchen Zahl abh¨angig machen. Solche Algorithmen sind nicht deterministisch im Sinne des vorhergehenden Abschnittes. Wir diskutieren zun¨achst, warum das eine sinnvolle F¨ahigkeit ist und betrachten Beispiele, in denen Zufallsschritte n¨ utzlich sind.
4.2.1 Mit dem Zufall rechnen Wir beginnen mit einem bekannten Sortierverfahren. Randomisiertes Quicksort
Spieltheorie
Beispiel 4.2: Quicksort ist ein sehr wichtiges Sortierverfahren, es hat nur einen Haken: im schlechtesten Fall ist die Laufzeit Θ(n2 ), w¨ahrend andere Algorithmen in Zeit O (n logn) sortieren k¨onnen. Immerhin ist Quicksort nur f¨ ur wenige Eingaben schlecht. Quicksort teilt das zu sortierende Feld in zwei Teilfelder. An welcher Stelle geteilt wird, bestimmt der sogenannte Pivot-Index. Wenn der Pivot-Index nicht zu der Eingabe passt, erhalten wir eine schlechte Laufzeit. Zwar gibt es f¨ ur jeden m¨ oglichen Pivot-Index nur wenige Eingaben, die ung¨ unstig zerlegt werden und dann quadratische Laufzeit ben¨otigen, lassen wir den Algorithmus jedoch in jedem Durchlauf mit demselben Pivot-Index rechnen, kann es sein, dass wir immer wieder Daten sortieren m¨ ussen, die nicht zu dem Index passen. Stellen wir uns vor, wir spielen gegen das Schicksal. Das Schicksal ist m¨achtig und meint es schlecht mit uns. Zu einem festen Pivot-Index liefert es uns immer Daten, die quadratische Laufzeit ben¨otigen. Es kann sogar unsere Gedanken erraten und weiß, wann wir den Pivot-Index ¨andern. Wie l¨asst sich mit dieser vertrackten Situation umgehen? Wenn uns die Daten vorliegen, w¨ahlen wir den Pivot-Index zuf¨allig! Dieses Vorgehen nennt sich randomisiertes Quicksort. Das Schicksal kann uns kein Schn¨appchen schlagen, da es den Ausgang zuk¨ unftiger Zufallsexperimente nicht vorhersehen kann. Auf reale Daten angewandt heißt das: ob der schlechteste Fall eintritt oder nicht, h¨angt nicht l¨anger von der Eingabe ab, sondern von den Zufallsbits. Die Idee der Randomisierung ist auch in der Spieltheorie n¨ utzlich. Bei einem Spiel wie Schere-Stein-Papier k¨onnen wir den Vorteil eines psychologisch u ¨berlegenen Gegners ausgleichen, wenn wir unseren Spielzug ausw¨ urfeln. Kann dieser sonst aus dem Verlauf der vorhergehenden Spiele und unserem Gesichtsausdruck unsere n¨achste Aktion ziemlich genau vorhersehen, n¨ utzen ihm diese F¨ahigkeiten nichts mehr. Egal wie er vorgeht,
4.2 Randomisierte Algorithmen
107
die Gewinnwahrscheinlichkeit ist exakt 1/2. Auch bei komplexeren Spielen, wie sie f¨ ur wirtschaftswissenschaftliche und milit¨arische Fragestellungen eine Rolle spielen, ist die zuf¨allig gew¨ahlte Strategie oft die optimale. ⋄ Wir vermeiden es, ein neues abstraktes Berechnungsmodell einzuf¨ uhren, sondern legen einfach fest: Ein Algorithmus heißt randomisiert, wenn er eine Reihe von Zufallsbits r0 , . . . , rk−1 zu Hilfe nimmt.
Randomisierter Algorithmus
Wir setzen hier voraus, dass jedes Bit ri mit Wahrscheinlichkeit 1/2 den Wert 0 bekommt und mit derselben Wahrscheinlichkeit 1. Es handelt sich um einen fairen M¨ unzwurf. Interpretieren wir die Zufallsbits als Bin¨arzahl ∑ ri 2i , ergibt sich damit die Gleichverteilung u ¨ber 0, . . . , 2k − 1 (siehe Abschnitt A.4 im Anhang). Bei randomisierten Algorithmen h¨angt die Laufzeit T wie im Beispiel 4.2 nicht nur von der Eingabe x ab, sondern auch von der Wahl der Zufallsbits. Wir schreiben T (x, R), wobei R = (r0 , . . . , rk−1 ) die Folge der zuf¨alligen Bits ist. Wir nehmen an, A ist ein randomisierter Algorithmus. F¨ ur eine Eingabe x ist die erwartete Laufzeit der Erwartungswert 1/2k
∑
T (x, R).
R∈{0,1}k
Die erwartete Laufzeit von A ist das Maximum dieser Werte unter allen Eingaben x.
Die erwartete Laufzeit ist also etwas anderes als die Laufzeit im mittleren Fall. F¨ ur jede feste Eingabe wird zugesichert, dass der Erwartungswert der Laufzeit dem angegebenen Wert entspricht. Beispiel 4.3: Man kann beweisen: W¨ahlen wir im Fall Quicksort den PivotIndex zuf¨allig, ist die erwartete Laufzeit O (n logn). Ob der Algorithmus schnell ist oder nicht, h¨angt damit nicht mehr von der Eingabe ab, sondern von den Zufallsbits. Wenden wir den Algorithmus oft an – zum Beispiel kmal – k¨ onnen wir damit rechnen, dass die Gesamtlaufzeit k · O (n logn) ist, komme an Daten, was da wolle.
4.2.2 Ein Primzahltest Bei der randomisierten Version von Quicksort h¨angt die Laufzeit von der Wahl der Zufallsbits ab. Das Ergebnis ist jedoch immer dasselbe und korrekt. Ihr ganzes K¨ onnen entfalten randomisierte Algorithmen aber erst dann, wenn
Erwartete Laufzeit
108
4 Hilfsmittel aus der Theoretischen Informatik wir die Anforderungen an die Korrektheit des Ergebnisses abschw¨achen. Wir lassen einen gewissen Fehler zu; nat¨ urlich darf dieser nicht beliebig groß werden. Welche Anforderungen an den Fehler sinnvoll sind, diskutieren wir im n¨achsten Unterabschnitt. Zun¨achst untersuchen wir, welchen Vorteil es hat, Fehler zuzulassen. Haben wir rechnerisch nachgewiesen, dass eine Zahl n nur von 1 und n selbst geteilt wird, wissen wir: n ist eine Primzahl. Nun haben wir keine Idee, wie das effizient berechnet werden kann. Alle m¨oglichen Teiler auszuprobieren, ist nicht effizient. Deren Anzahl ist nicht polynomial in der Eingabegr¨ oße logn. Vielleicht finden wir eine Eigenschaft E f¨ ur die gilt: Die meisten Zahlen mit der Eigenschaft E sind Primzahlen. Wenn wir f¨ ur eine Zahl n die Eigenschaft E effizient nachweisen k¨ onnen, haben wir immerhin einen Anhaltspunkt f¨ ur die Antwort auf unsere Frage. Wie kann so eine Eigenschaft aussehen? In Abschnitt A.5 des Anhangs findet sich der Satz von Fermat: Wenn p eine Primzahl ist, dann gilt mit jeder Zahl a aus 1, . . . , p − 1: a p−1 ≡ 1 mod p.
In erw¨ahntem Abschnitt ist auch die verwendete Terminologie eingef¨ uhrt. Leser, denen Berechnungen modulo p nicht vertraut sind, k¨onnen sich f¨ ur das Weitere auf die logische Struktur der wenn-dann Aussage beschr¨anken. Vorstufe eines Primzahltests Eingabe ist eine ganze Zahl n.
1. W¨ahle zuf¨allig eine Zahl a aus 1, . . . , n − 1. 2. Falls an−1 ≡ 1 mod n : Ausgabe Primzahl Falls an−1 ≡ 1 mod n : Ausgabe keine Primzahl
Wir analysieren das Ergebnis dieses einfachen Algorithmus (die Laufzeit ist polynomial: auf Seite 198 wird besprochen, wie sich an−1 mod n effizient berechnen l¨asst). Entscheidend ist, dass eine Zahl zuf¨allig gew¨ahlt wurde; den Test f¨ ur alle Zahlen durchzuf¨ uhren, verbraucht exponentiell viel Zeit. Kehren wir die wenn-dann Aussage von Fermats Satz um, erhalten wir: Wenn a p−1 ≡ 1 mod p gilt, dann ist p keine Primzahl. Daraus folgt f¨ ur unseren Algorithmus: Erhalten wir f¨ ur eine Eingabe x die Ausgabe keine Primzahl, so k¨ onnen wir sicher sein: x ist eine zusammengesetzte Zahl.
4.2 Randomisierte Algorithmen
109
Und wenn die Ausgabe Primzahl lautet? Dann wissen wir u ¨ber die Eingabe n, dass f¨ ur irgendein a die Gleichung an−1 ≡ 1 mod n gilt. Nehmen wir einmal an, wir k¨ onnten folgendes beweisen: F¨ur jede zusammengesetzte Zahl n gilt f¨ ur den u ¨berwiegenden Teil der Zahlen a aus 1, . . . , n − 1, dass an−1 ≡ 1 mod n. Dann w¨are die Ausgabe Primzahl mit hoher Wahrscheinlichkeit korrekt. Leider ist es nicht so einfach. Es gibt zusammengesetzte Zahlen n, f¨ ur die obiger Test immer scheitert. Diese Zahlen heißen Carmichael-Zahlen. Von diesen Zahlen gibt es zwar nur sehr wenige, aber wir fordern von einem randomisierten Algorithmus folgendes: Ein randomisierter Algorithmus liefert f¨ ur jede Eingabe das korrekte Ergebnis mit h¨ oherer Wahrscheinlichkeit als das falsche.
Ein randomisierter Algorithmus darf also nicht f¨ ur einige Eingaben korrekt und f¨ ur andere falsch arbeiten. Aussagen u ¨ber die Fehlerwahrscheinlichkeit oder die erwartete Laufzeit eines randomisierten Algorithmus beziehen sich nur auf die Zufallsbits und nicht auf die Eingaben. Obige Vorstufe des Primzahltests versagt bei den Carmichael-Zahlen ganz. Um einen praktikablen Algorithmus zu konstruieren, ist ein zweites Kriterium n¨otig. Der Algorithmus von Miller-Rabin baut darauf auf, dass eine Zahl n zusammengesetzt ist, wenn die Gleichung x2 ≡ 1 mod n eine L¨ osung hat, die von ±1 mod n verschieden ist. Die Details f¨ uhren u ¨ber die f¨ ur uns wichtigen Aspekte hinaus. Wir fassen zusammen: Es gibt einen Algorithmus, der als Eingabe eine ganze Zahl n erwartet. Antwortet der Algorithmus keine Primzahl, so stimmt dies auch, antwortet der Algorithmus Primzahl, so ist dies in mehr als der H¨alfte aller F¨alle korrekt. In gewisser Weise ist es weniger ein Primzahltest, als ein Test auf Zusammengesetztheit. M¨ ussen wir uns darauf verlassen k¨onnen, dass eine Zahl zusammengesetzt ist, ist das Verfahren bestens geeignet. Zusammengesetzte Zahlen werden hin und wieder f¨alschlich abgelehnt, aber nie wird eine Primzahl diesen Test bestehen. Viele Berechnungsprobleme lassen sich viel schneller l¨osen, wenn wir einen gewissen Fehler zulassen. Ein solches Beispiel ist der Test, ob eine ganze Zahl eine Primzahl ist. Aber wie groß darf der Fehler sein, damit der Algorithmus praktisch einsetzbar ist? Im n¨achsten Abschnitt werden wir sehen, dass der Fehler von randomisierten Algorithmen mit bestimmten Eigenschaften beliebig gesenkt werden kann.
Zusammenfassung
110
4 Hilfsmittel aus der Theoretischen Informatik
4.2.3 Probabilistische Komplexit¨ atsklassen Wir beginnen mit folgender abstrakter Definition, die wir im Anschluss auf den Primzahltest anwenden. Einseitiger Fehler
Ein Entscheidungsproblem E liegt in der Klasse RP, wenn es einen randomisierten Algorithmus A gibt, mit • falls E(x) = 0, so ist A(x) = 0, • falls E(x) = 1, so ist A(x) = 1 mit Wahrscheinlichkeit gr¨oßer gleich 1/2, und • die Laufzeit von A ist polynomial. RP k¨ urzt randomized polynomial time ab.
Damit ist der Algorithmus von Miller-Rabin aus dem letzten Abschnitt ein RP-Algorithmus f¨ ur COMPOSITES, es gilt also COMPOSITES ist in RP. Aber welchen Sinn hat die Definition der Klasse RP? Ein RP-Algorithmus irrt sich eventuell in der H¨alfte der F¨alle. Dass solche Algorithmen trotzdem n¨ utzlich sind, zeigt folgende Aussage: Probability amplification
Der Fehler eines RP-Algorithmus l¨asst sich mit k Wiederholungen unter den Wert 1/2k dr¨ ucken.
Diese Technik zur Verringerung des Fehlers bezeichnet man englisch als probability amplification. RP-Algorithmen kommen mit polynomialer Zeit aus, und somit verbraucht f¨ ur jede Konstante k auch die k-fache Ausf¨ uhrung nur polynomiale Zeit. Die Verringerung des Fehlers erl¨autern wir an einem Beispiel. Wir testen einmal mehr, ob eine Zahl n zusammengesetzt ist. Wir verwenden einen RP-Algorithmus A – Miller-Rabin zum Beispiel – und k¨ onnen uns auf zwei Dinge verlassen: • Sagt der Algorithmus, n sei zusammengesetzt (A(n) = 1), ist das korrekt. • Sagt der Algorithmus, n sei eine Primzahl (A(n) = 0), k¨onnen wir uns nicht sicher sein und f¨ uhren den Algorithmus noch einmal aus. Dieser erzeugt neue Zufallsbits, und das Ergebnis des zweiten Durchlaufs ist von dem ersten unabh¨angig. Behauptet der zweite Durchlauf, n sei zusammengesetzt (A(n) = 1), so wissen wir: diese Behauptung ist korrekt. Der Algorithmus hat sich im ersten Durchlauf get¨auscht, aber der zweite Satz Zufallsbit hat das korrekte Ergebnis erbracht. Nun betrachten wir die Fehlerwahrscheinlichkeit f¨ ur den Fall, dass n zusammengesetzt ist, wir aber beide Male die Aussage Primzahl erhalten (zweimal A(n) = 0, obwohl E(n) = 1). Daf¨ ur muss sich der
4.2 Randomisierte Algorithmen
A(n) = 0 P(Fehler) ≤ 21 A(n) = 0
111
A(n) = 1
Ausgabe: zusammengesetzt A(n) = 1
P(Fehler) ≤ 41
Ausgabe: Primzahl
Ausgabe: zusammengesetzt
Abbildung 4.1: Zweifache Ausf¨ uhrung eines RP-Algorithmus f¨ ur zusammengesetzte Zahlen im Fall n zusammengesetzt. Die Fehlerwahrscheinlichkeit verringert sich auf 1/4. Im Fall n prim ist das Ergebnis stets korrekt.
Algorithmus im ersten Durchgang irren und im zweiten noch einmal. Die Wahrscheinlichkeit daf¨ ur ist kleiner gleich 1/2 · 1/2 = 1/4, siehe Abbildung 4.1. Diesen Fortgang kann man fortsetzen und erh¨alt das folgende Verfahren mit einseitigem Fehler kleiner gleich 1/2k :
F¨ uhre A bis zu k-mal aus: • Liefert er einmal das Ergebnis 1, gib 1 zur¨ uck. • Ist das Ergebnis k-mal 0, gib 0 zur¨ uck.
Mit der gleichen Idee k¨ onnen wir in der Definition von RP die Wahrscheinlichkeit 1/2 durch jede positive Konstante c < 1 ersetzen. Haben wir zum Beispiel einen Algorithmus mit dem Fehler 3/4, kann man den Fehler durch drei Wiederholungen auf (3/4)3 ≈ 0, 42 senken und erh¨alt so einen RP-Algorithmus. Randomisierte Algorithmen mit einseitigem Fehler sind offenbar uneingeschr¨ankt n¨ utzlich: sie entsprechen Polynomialzeitalgorithmen, deren Fehler wir beliebig senken k¨ onnen. Auch Algorithmen mit zweiseitigem Fehler k¨onnen n¨ utzlich sein. Voraussetzung ist, dass der Fehler durch eine Konstante beschr¨ankt ist.
112
4 Hilfsmittel aus der Theoretischen Informatik Beschr¨ankter Fehler
Ein Entscheidungsproblem E liegt in der Klasse BPP, wenn es einen randomisierten Algorithmus A gibt, mit • falls E(x) = 1, so A(x) = 1 mit Wahrscheinlichkeit gr¨oßer gleich 3/4, • falls E(x) = 0, so A(x) = 0 mit Wahrscheinlichkeit gr¨oßer gleich 3/4, und • A’s Laufzeit ist polynomial. BPP k¨ urzt bounded error probabilistic polynomial time ab.
Bemerkung: Statt 3/4 kann jede Konstante echt gr¨oßer 1/2 eingesetzt werden. Der Fehler eines BPP-Algorithmus A l¨asst sich durch ein Mehrheitsvotum uhrt f¨ ur verringern. Dazu betrachten wir den folgenden Algorithmus A′ . Er f¨ eine Eingabe x f¨ unfmal A(x) aus. Er merkt sich die f¨ unf Ergebnisse; die Ausgabe ist jenes, das am h¨aufigsten ermittelt wurde. A hat die Fehlerschranken wie in der obigen Definition. Wie groß ist die Wahrscheinlichkeit, dass sich A′ irrt? Wir nehmen an, A′ (x) antwortet 0, obwohl E(x) = 1 (die andere Art zu irren – A′ (x) = 1 und E(x) = 0 – kann genauso betrachtet werden). Das unfmal 0 Ergebnis A′ (x) = 0 ergibt sich, wenn A dreimal, viermal oder f¨ ergibt. Wegen E(x) = 1, tritt A(x) = 0 mit Wahrscheinlichkeit kleiner gleich 1/4 ein. Also irrt A′ mit Wahrscheinlichkeit kleiner gleich (1/4)3 + (1/4)4 + (1/4)5 = 1/64 + 1/256 + 1/1024 ≈ 1/50. Dieses Beispiel gibt uns ausreichend Aufschluss u ¨ber den Wert von BPPAlgorithmen. Allgemein kann man zeigen (man verwendet dazu ein Ergebnis aus der Wahrscheinlichkeitstheorie, die Chernoff-Schranke): Der Fehler eines BPP-Algorithmus l¨asst sich durch wiederholte Ausf¨ uhrungen verringern; er sinkt exponentiell in der Zahl der Wiederholungen.
Ein exponentiell sinkender Fehler bedeutet, dass wir in Polynomialzeit einen verschwindend geringen Fehler erreichen k¨onnen. Darum werden wir in der Praxis mit Problemen in der Klasse BPP fertig. Wir haben P als die Menge der effizient berechenbaren Aufgaben definiert. Die eigentliche Grenze des f¨ ur klassische Rechner machbaren – englisch the frontier of feasibility – wird jedoch von der Klasse BPP markiert. Liegt ein Problem in BPP, k¨ onnen wir es mit klassischen Rechnern zufriedenstellend l¨osen, da wir in Polynomialzeit mit hoher Wahrscheinlichkeit eine korrekte L¨osung erhalten. Was außerhalb von BPP liegt, ist mit klassischen Rechnern nicht machbar.
4.2 Randomisierte Algorithmen
113
Komplexit¨atstheoretiker interessieren sich f¨ ur den Zusammenhang der Komplexit¨atsklassen. Wir beginnen mit den einfachen Relationen. So gilt
P ⊆ RP ⊆ BPP. Der Unterschied zwischen RP und BPP liegt in der Fehlerbeschr¨ankung. Diese ist f¨ ur BPP laxer, da der Fehler zweiseitig ist. Also besteht jedes Problem in RP den Test auf Mitgliedschaft in der Klasse BPP. Ebenso l¨asst sich ein P-Algorithmus als ein RP-Algorithmus auffassen, der von seinen Zufallsbits keinen Gebrauch macht und sich somit auch nicht irrt. Allerdings ist nicht bekannt, ob die Subsumptionen echt sind, ob zum Beispiel P=RP oder P=RP gilt. Weiterhin gilt RP ⊆ NP. Beim Beweis der Aussage P ⊆ NP haben wir argumentiert, dass der Rechengang eines deterministischen Algorithmus als Zertifikat im Sinne der Klasse NP aufgefasst werden kann. Wie verh¨alt es sich bei randomisierten Algorithmen? Die Berechnung h¨angt von der Eingabe und der Wahl der Zufallsbits r1 , . . . , rk ab. Es gibt also 2k (deterministische) Recheng¨ange. Die Definition der Klasse RP besagt: ist E(x) = 0, muss jeder dieser Recheng¨ange das Ergebnis 0 liefern. Ist E(x) = 1 muss mindestens die H¨alfte dieser Recheng¨ange das Ergebnis 1 liefern. Fassen wir die (deterministischen) Recheng¨ange als Zertifikate auf, ist die Anforderung der Klasse NP schw¨acher: hier m¨ ussen nicht die H¨alfte der m¨oglichen Recheng¨ange 1 liefern, sondern nur einer. ⋄ Diese Zusammenh¨ange sind in Abbildung 4.2 zusammengefasst. W¨ahrend wir die Probleme in BPP als machbar oder feasible ansehen, ist das f¨ ur die Klasse NP nicht bekannt. Dieser Problematik widmet sich der folgende Abschnitt.
BPP P
RP NP Grenze der Machbarkeit
Abbildung 4.2: Das Verh¨altnis wichtiger Komplexit¨atsklassen
114
4 Hilfsmittel aus der Theoretischen Informatik
4.3 Unl¨ osbare Probleme? NP-Vollst¨ andigkeit Wenn ein Problem E in der Klasse NP enthalten ist, gilt f¨ ur E: Ist x eine Eingabe mit E(x) = 1, so k¨ onnen wir das effizient verifizieren; vorausgesetzt uns steht ein Zertifikat y zur Verf¨ ugung (siehe Seite 104). Nun hilft uns das wenig, wenn uns kein Zertifikat zur Verf¨ ugung steht. Sind die Probleme in NP automatisch effizient berechenbar? Gilt P = NP? Man weiß es nicht. Es ist klar, dass P⊆NP gilt, aber die Frage ob P=NP oder P=NP geh¨ ort zu den wichtigen offenen Fragen der mathematischen Wissenschaften. So ist es eines der sieben mathematischen Probleme, f¨ ur deren Kl¨arung das Clay Mathematics Institute (CMI) of Cambridge, Massachusetts eine Million Dollar ausgelobt hat (siehe [27]). Allerdings gibt es Probleme, von denen man vermutet, dass sie nicht in P liegen. Dazu geh¨ ort das Problem des Handlungsreisenden oder englisch traveling salesman problem, TSP. TSP
Ein Handlungsreisender sitzt in seinem B¨ uro und befasst sich mit folgender Aufgabe: er muss eine Reihe von St¨adten besuchen und anschließend in sein B¨ uro zur¨ uckkehren. Abbildung 4.3 zeigt eine m¨ogliche Eingabe f¨ ur das Problem des Handlungsreisenden. Hier hat er einige St¨adte im nord¨ deutschen Raum und die Hauptstadt von Osterreich zu bereisen. Der Handlungsreisende interessiert sich nun f¨ ur eine m¨oglichst kurze Rundreise. Der Handlungsreisende k¨ onnte sich zwei Fragen stellen: 1. Welches ist die k¨ urzeste Rundreise? 2. Gibt es eine Rundreise die nicht l¨anger als 2200 km ist? Allgemein, die nicht l¨anger als ein vorgegebener fester Schwellenwert k ist? Diese beiden Auspr¨agungen nennt man Optimierungsvariante und Entscheidungsvariante. Man weiß nicht, ob das Problem des Handlungsreisenden in der Klasse P liegt, man kennt keinen Polynomialzeitalgorithmus, der es in einer der Varianten f¨ ur alle Eingaben l¨ost. Die Entscheidungsvariante hat jedoch folgende Eigenschaft: wenn wir irgendwoher eine L¨ osung erhalten – sprich eine Rundreise, die nicht l¨anger als 2200 km ist – k¨ onnen wir das in Polynomialzeit nachpr¨ ufen. Die Rundreise besteht in der Reihenfolge, in der die St¨adte besucht werden. Wir addieren die zur¨ uckzulegenden Entfernungen. Nun folgt ein Begriff, der bei der Untersuchung des Verh¨altnisses der Klassen P und NP helfen k¨ onnte. Und zwar kennzeichnen wir die schwersten Probleme in NP. Dazu u ¨berlegen wir zun¨achst, welche Probleme leicht sind: das sind gerade die in P; denn alles in P l¨asst sich effizient berechnen. Darum definieren wir in Bezug auf P, wann ein Problem E1 mindestens so schwer wie ein Problem E2 ist.
4.3 Unl¨ osbare Probleme? NP-Vollst¨andigkeit
115
Abbildung 4.3: Eine Eingabe f¨ ur das Problem des Handlungsreisenden
Wir definieren f¨ ur E1 und E2 aus NP: E1 ≤ P E2 , wenn es einen Algorithmus A in P gibt mit • A berechnet eine Funktion f die Eingaben x von E1 auf Eingaben von E2 abbildet, • aus E1 (x) = 1 folgt E2 ( f (x)) = 1, aus E1 (x) = 0 folgt E2 ( f (x)) = 0. Der Algorithmus A heißt Polynomialzeitreduktion von E1 auf E2 .
Diese abstrakte Definition hat einen anschaulichen Kern. Angenommen, wir haben f¨ ur ein Entscheidungsproblem E bewiesen, dass es schwerer als TSP ist: TSP ≤P E. Dann folgt: Liegt E in P, so ist auch TSP effizient berechenbar. Ist n¨amlich E mit einem Polynomialzeitalgorithmus AE berechenbar, k¨ onnen wir diesen auch auf TSP anwenden. Aus TSP ≤P E folgt: es gibt einen Algorithmus, der eine Eingabe von TSP – Entfernungen zwischen St¨adten und Schranke k – in eine Eingabe x f¨ ur E umrechnet. E(x) = 1 gilt genau dann, wenn es eine Rundreise k¨ urzer k gibt. Also gibt es unter den erw¨ahnten Voraussetzungen einen Polynomialzeitalgorithmus f¨ ur TSP. Bevor wir in Beispiel 4.4 eine konkrete Polynomialzeitreduktion angeben, definieren wir die schwersten Probleme in NP.
Polynomialzeitreduktion
116
4 Hilfsmittel aus der Theoretischen Informatik
Abbildung 4.4: Zwei Graphen: der linke enth¨alt einen Hamilton-Kreis, der rechte nicht.
NP-vollst¨andig
Ein Problem E heißt NP-vollst¨andig, wenn • E in NP liegt, und • es kein schwereres Problem in NP gibt: E ≥P E ′ f¨ ur alle Probleme E ′ in NP.
Wir demonstrieren eine Polynomialzeitreduktion am Beispiel eines weiteren Entscheidungsproblems. Hamilton-Kreis
Beispiel 4.4: Abbildung 4.4 zeigt zwei Graphen. Ein Graph besteht zum einen aus Knoten, zum anderen aus Kanten: zwischen je zwei Knoten kann es eine Kante geben oder auch nicht. Die beiden Graphen aus der Abbildung besitzen gerade f¨ unf Knoten. Formal besteht ein Graph aus zwei Mengen: den Knoten V und den Kanten E. Eine Kante e wird als Paar von Knoten {u, v} beschrieben. Zwischen zwei beliebigen Knoten u und v gibt es einen Weg, wenn man entlang der Kanten von u nach v gelangt. Der linke Graph in Abbildung 4.4 hat eine besondere Eigenschaft. Es gibt einen Weg, der jeden Knoten genau einmal besucht und am Ausgangspunkt endet. Der Graph besitzt einen Hamilton-Kreis. Entfernt man irgendeine Kante, existiert kein solcher Kreis mehr; f¨ ugt man Kanten hinzu, existiert nat¨ urlich weiterhin ein Kreis. Formal ist ein Hamiltonkreis in einem Graph mit k Knoten eine Folge von ur i = j. Kanten {u1 , u2 }, {u2, u3 }, . . . , {uk−1 , uk }, {uk , u1 } mit ui = u j f¨ In dem Graphen auf der rechten Seite von Abbildung 4.4 gibt es keinen Hamilton-Kreis. Der Knoten ganz rechts ist n¨amlich nur u ¨ber eine einzige Kante zu erreichen. An dieser Stelle endet jeder Kreis. Nun k¨onnen wir das Entscheidungsproblem HC definieren. Eingabe ist ein Graph G. Besitzt der Graph G einen Hamilton-Kreis gilt HC(G) = 1, sonst HC(G) = 0. Aufgabe 4.1: Zeigen Sie, dass HC in NP liegt. HC ist sogar NP-vollst¨andig, geh¨ort zu den schwersten Problemen in NP. Den Beweis findet man zum Beispiel in [28]. Hier wollen wir zeigen, dass es
4.3 Unl¨ osbare Probleme? NP-Vollst¨andigkeit
117
leichter als das Problem des Handlungsreisenden ist: HC ≤P TSP. Dazu geben wir ein Verfahren an, das zu jeder Eingabe G von HC eine Eingabe xG f¨ ur TSP konstruiert, so dass gilt: HC(G) = 1 genau dann, wenn TSP(xG ) = 1. Dieses Verfahren arbeitet wie folgt: F¨ ur jeden Knoten v aus G erzeugen wir eine Stadt s(v). Die Entfernungen zwischen den St¨adten richtet sich danach, ob es zwischen den zugeh¨ origen Knoten in G eine Kante gibt. Gibt es in G zwischen v und w eine Kante, setzen wir die Distanz zwischen s(v) und s(w) auf 1, gibt es keine Kante, setzen wir sie auf 2. Die Schranke k legen wir als die Anzahl der Knoten V fest. Dieses Verfahren ist offensichtlich in Polyomialzeit ausf¨ uhrbar. Ein Hamilton-Kreis in G entspricht einer Rundreise der L¨ange V in der Eingabe ur TSP und umgekehrt. Damit haben wir HC≤P TSP bewiesen. ⋄ xG f¨ Da, wie erw¨ahnt, HC NP-vollst¨andig ist, ist damit bewiesen, dass auch TSP NP-vollst¨andig ist. TSP geh¨ ort zu den schwersten Problemen in NP. NP-Vollst¨andigkeit, die Eigenschaft, in NP zu den schwersten Problemen zu geh¨ oren, ist mit Hilfe der Polynomialzeitreduktion definiert. Somit sind alle NP-vollst¨andigen Probleme durch Polynomialzeit-Algorithmen miteinander verbunden. Das heißt: wenn wir auch nur ein einziges NP-vollst¨andiges Problem effizient l¨ osen k¨ onnen, k¨ onnen wir alle Probleme in NP effizient l¨osen. Ist E NP-vollst¨andig, so w¨ urde aus E ∈ P folgen, dass P=NP.
Es sind so viele NP-vollst¨andige Probleme bekannt, dass damit schon vor Jahrzehnten ganze B¨ ucher gef¨ ullt wurden, siehe [44]. Gerade viele Entscheidungsvarianten von Optimierungsproblemen geh¨ oren dazu. Aber f¨ ur kein NP-vollst¨andiges Problem wurde bisher ein effizienter Algorithmus gefunden. Die Fachwelt geht im Gegenteil davon aus, dass P = NP gilt (ohne Beweis sind jedoch beide Optionen gleich denkbar). Abbildung 4.5 stellt diese Situation dar. P und die Menge der NP-vollst¨andigen Probleme sind Teilmengen von NP. Im Falle P = NP sind die drei Mengen identisch, im Fall P = NP sind es drei verschiedene Mengen. Probleme vom Typ TSP begegnen uns im Zusammenhang mit der Quantensuche (Kapitel 6) erneut. Ein anderes wichtiges Berechnungsproblem ist die Faktorisierung oder Primfaktorzerlegung ganzer Zahlen. Es geht darum, eine Zahl n als Produkt nicht weiter zerlegbarer Zahlen darzustellen, siehe Abschnitt 8.1. Man vermutet, dass dieses Problem schwerer als seine Entscheidungsvariante ist. Kennen wir jedoch die Primfaktorzerlegung einer Zahl – zum Beipiel 28644 = 2 · 2 · 3 · 7 · 11 · 31 – k¨onnen wir diese effizient verifizieren. Darum haben wir dieses Problem in Abbildung 4.5 integriert, obwohl zu NP nur Entscheidungsprobleme geh¨ oren. Die Faktorisierung ist f¨ ur uns deshalb interessant, weil vermutet wird, dass sie nicht in P liegt, es aber einen effizienten Quantenalgorithmus gibt, siehe Kapitel 8.
Die Bedeutung der NP-Vollst¨andigkeit
118
4 Hilfsmittel aus der Theoretischen Informatik
TSP NP-vollst¨andige Probleme
Faktorisierung
NP
P effizient berechenbare Probleme Abbildung 4.5: Die Klasse P ist in NP enthalten, ebenso die Menge der NP-vollst¨andigen Probleme
Es wird allgemein vermutet, dass das Faktorisierungsproblem weder in P liegt, noch dass es so schwer wie NP-vollst¨andige Probleme ist. Mit Shors Algorithmus ist es in Polynomialzeit l¨osbar: auf einem Quantenrechner (Kapitel 8). Damit k¨ onnen Quantenrechner ein Problem mit polynomialem Aufwand l¨ osen, f¨ ur das kein klassischer effizienter Algorithmus bekannt ist. Es stellt sich die Frage, ob Quantenrechner auch NP-vollst¨andige Probleme l¨ osen k¨ onnen. Kann der Quantenparallelismus genutzt werden, um den Verifikationsalgorithmus auf alle m¨oglichen Zertifikate gleichzeitig anzuwenden? Diese Frage diskutieren wir in Zusammenhang mit Grovers Algorithmus in Abschnitt 6.7. Im n¨achsten Abschnitt ordnen wir die Klasse der mit Quantenrechnern l¨ osbaren Probleme in die klassischen Komplexit¨atsklassen ein.
4.4 Quantenkomplexit¨ atstheorie Wir beginnen damit, die Klasse der durch Quantenalgorithmen effizient berechenbaren Probleme zu definieren. In Abschnitt 4.2 haben wir gesehen, wie randomisierte Berechnungen mit beschr¨anktem Fehler n¨ utzliche Ergebnisse liefern: der Fehler l¨asst sich verringern, indem wir die Berechnungen mehrfach ausf¨ uhren; er sinkt exponentiell in der Anzahl der Wiederholungen. Wir gestehen Quantenalgorithmen einen beschr¨ankten Fehler zu und definieren die von Quantenalgorithmen effizient berechenbaren Probleme analog zu BPP.
4.4 Quantenkomplexit¨atstheorie Ein Entscheidungsproblem E liegt in der Klasse BQP, wenn es einen Quantenalgorithmus A gibt, mit • falls E(x) = 1, so A(x) = 1 mit Wahrscheinlichkeit gr¨oßer gleich 3/4, • falls E(x) = 0, so A(x) = 0 mit Wahrscheinlichkeit gr¨oßer gleich 3/4, und • A ist durch Quantenschaltkreise polynomialer Gr¨oße berechenbar. BQP k¨ urzt bounded error quantum polynomial time ab.
In Abschnitt 3.5 haben wir effiziente deterministische Berechnungen in effiziente Quantenberechnungen u uhrt. In unserer komplexit¨atstheoreti¨berf¨ schen Terminologie heißt das
P ⊆ BQP.
Mittlerweile haben wir erkannt, dass klassische Berechnungen durch Zufall angereichert werden k¨ onnen. Im Grunde enth¨alt die Klasse BPP das, was wir mit klassischen Rechnern realisieren k¨ onnen. Wie verhalten sich Quantenalgorithmen zu randomisierten Algorithmen? Die einzelnen Rechenschritte auf einem Quantenregister mittels unit¨arer Transformationen sind im Sinne unserer Definition deterministisch. Allerdings kommt kein Quantenalgorithmus ohne Messungen aus. Deren Ausgang ist nicht determiniert und Messungen bilden in der Regel ein randomisiertes Element. Das k¨ onnen wir nutzen, um eine randomisierte Berechnung in eine Quantenrechnung umzuformen: Dazu passen wir den Beweis aus Abschnitt 3.5 an. Was kann ein randomisierter Algorithmus, was ein deterministischer nicht kann? M¨ unzen werfen; vornehmer ausgedr¨ uckt: Zufallsbits erzeugen. Also gerade das, was wir mit unserem ersten Quantenalgorithmus erledigt haben (siehe Abschnitt 2.4). Unsere Aufgabe ist es, einen randomisierten Algorithmus zu simulieren. Immer wenn dieser ein Zufallsbit erzeugt, versetzt unser Quantenalgorithmus ein Hilfsbit in den Zustand 1 √ (|0 + |1) = H|0 2 und misst dieses Quantenbit. Mit dieser einfachen Idee l¨asst sich beweisen:
BPP ⊆ BQP.
119 Effiziente Quantenberechnungen
120
4 Hilfsmittel aus der Theoretischen Informatik
1 2
Ja“ ” 1 4
1 2
1 2
1 2
1 2
Nein“ ” 1 4
Nein“ ” 1 4
1 2
α
Ja“ ” 1 4
Ja“ ” α2
α
α
α
−α
Nein“ ” α2
Nein“ ” −α2
Abbildung 4.6: Eine randomisierte und eine Quantenberechnung (α =
α
Ja“ ” α2
√1 ). 2
Was aber ist der Unterschied zwischen Quantenberechungen und randomisierten Berechnungen? Es gibt deutliche Parallelen zwischen einer Wahrscheinlichkeitsverteilung und einer Superposition. W¨ urfele ich eine Zahl x zwischen 0 und 64 aus und berechne dann den Funktionswert f (x), ist das Ergebnis dasselbe wie das der Quantenberechnung
|0|0 →
64
64
x=0
x=0
∑ |x|0 → ∑ |x| f (x)
mit einer abschließenden Messung. Sehen wir davon ab, dass klassische Berechnungen nur Pseudozufallszahlen erzeugen, gibt es in der klassischen Welt nichts, was dem Quantenph¨anomen Verschr¨ankung ¨ahnelt. Ein anderer von uns schon genutzter Unterschied ergibt sich aus der Interferenz. Wahrscheinlichkeiten addieren sich nur konstruktiv, w¨ahrend Amplituden auch negative Werte annehmen k¨ onnen. Das verdeutlicht Abbildung 4.6. Der Baum auf der linken Seite stellt eine einfache randomisierte Berechnung dar. Es werden M¨ unzen geworfen; bei Kopf gehen wir nach links und bei Zahl nach rechts. Es gibt vier m¨ ogliche Ausg¨ange der beiden Zufallsexperimente, jedes hat Wahrscheinlichkeit 1/4. Zweien ordnen wir das Ergebnis Ja zu und zweien Nein. Beide Antworten erhalten wir mit Wahrscheinlichkeit 1/4 + 1/4 = 1/2. Im Quantenfall sind Wahrscheinlichkeiten durch Amplituden ersetzt. α ur Nein die Amplitude α2 − α2 = 0 (destruktive steht f¨ ur √12 . Hier ergibt sich f¨
Interferenz) und f¨ ur Ja die Amplitude α2 + α2 = 1/2 + 1/2 = 1 (konstruktive Interferenz). Wie Interferenz f¨ ur Quantenberechnungen genutzt wird, l¨asst sich am direktesten am Algorithmus von Deutsch studieren (siehe Abschnitt 2.6).
PSPACE
An dieser Stelle definieren wir eine weitere deterministische Komplexit¨atsklasse. Bisher haben wir Probleme nach ihrer Laufzeit klassifiziert. Eine interessante weitere Ressource ist der Speicherverbrauch. Diesen definieren wir als Funktion in der Eingabegr¨oße. Er z¨ahlt die Anzahl der Speicherzellen, die von einer Turingmaschine oder einem anderen Computer irgendwann w¨ahrend einer Berechnung verwendet wurden. Wir k¨onnen diese Definition so vage halten, da uns wiederum nur die Gr¨oßenordnung interessiert.
4.5 Die Churchsche These
121
Die Klasse PSPACE enth¨alt alle Probleme, die sich mit deterministischen Algorithmen berechnen lassen, die mit polynomial viel Platz auskommen.
PSPACE ist eine sehr große Klasse. Sie enth¨alt nat¨ urlich die Klasse P: man kann in einem Rechenschritt nur eine Speicherzelle verwenden. Sie enth¨alt sogar alle Probleme in NP: Ein PSPACE-Algorithmus kann ein Problem aus NP l¨ osen, wenn er nacheinander alle m¨ oglichen Zertifikate ausprobiert. Der Zeitverbrauch ist zwar exponentiell; auf dem Band steht jedoch immer nur ein Zertifikat polynomialer Gr¨ oße, und auch der Test kommt mit polynomialem Platz aus. Es gilt also:
NP ⊆ PSPACE.
Dass ein Problem in der Klasse PSPACE enthalten ist, bedeutet nicht, dass es auf einem klassischen Rechner praktisch ausf¨ uhrbar ist. Wie wir gesehen haben, kann der Zeitverbrauch exponentiell wachsen. Dieses Ergebnis ist von eher theoretischem Interesse. Aufschlussreich ist, dass sich die St¨arke von Quantenverfahren in die von deterministischen und randomisierten Algorithmen auf diese Weise einordnen l¨asst. Die Aussage BQP ⊆ PSPACE wird bewiesen, indem man die Berechnung eines Quantenschaltkreises mit einem deterministischen Berechnungsmodell (zum Beispiel einer Turingmaschine) simuliert. Wir fassen die Ergebnisse zusammen: BPP ⊆ BQP ⊆ PSPACE.
Die interessante offene Frage ist die Entscheidung, ob BPP = BQP gilt oder ob randomisierte Algorithmen Quantenalgorithmen effizient simulieren k¨ onnen, worauf zur Zeit nichts hinweist.
4.5 Die Churchsche These Es gibt verschiedene M¨ oglichkeiten, den Begriff Algorithmus zu pr¨azisieren. In Abschnitt 2.1.1 haben wir die Turingmaschinen als Berechnungsmodell kennengelernt. Aus dem gleichen Jahrzehnt – den 30er Jahren des 20. Jahrhunderts – stammt ein anderes Berechnungsmodell, der Lambda-Kalk¨ ul des amerikanischen Logikers Alonzo Church. Es stellte sich heraus, dass beide Berechnungsmodelle ¨ aquivalent sind: es sind jeweils dieselben Probleme berechenbar. 1936 formulierte Church die nach ihm benannte These, die wir hier in folgender Form wiedergeben: Jede im intuitiven Sinne berechenbare Funktion
Zusammenfassung
122
4 Hilfsmittel aus der Theoretischen Informatik ist mit einer Turingmaschine berechenbar. Anschaulich l¨asst sich danach zu jeder hinreichend exakt formulierten Rechenvorschrift eine Turingmaschine angeben, die diese Rechnung ausf¨ uhrt. F¨ ur die Informatik spielt die Churchsche These (oder Church-Turing-These) eine wesentliche Rolle: ihr zufolge kann man sich bei der Untersuchung von Berechnungen auf ein Modell beschr¨anken. Beweisbar ist die Churchsche These in dieser Formulierung nicht, sie ist auch gar kein mathematischer Satz. Der Begriff intuitiv berechenbar beruft sich auf den gesunden Menschenverstand oder auf die Einigung der Experten. Mittlerweile wird eine Formulierung bevorzugt, die den Begriff intuitiv berechenbar eliminiert und statt dessen von physikalisch realisierbaren Berechnungsmodellen spricht. Damit kann die Churchsche These als physikalische Aussage gedeutet werden und m¨ usste dann auch so behandelt werden. Keine der bisher genannten Versionen der Churchschen These verliert durch die M¨ oglichkeit, Quantenrechner zu bauen, ihre G¨ ultigkeit. Die Quantenmechanik l¨asst sich mit klassischen mathematischen Begriffen beschreiben und kann auf einem klassischen Rechner simuliert werden (allerdings mit großem Aufwand). Auf diese Weise wird auch die Aussage BQP ⊆ PSPACE aus dem letzten Abschnitt bewiesen.
Quantencomputer und Berechenbarkeit Quantitative Version
Mit Quantenrechnern lassen sich dieselben Funktionen berechnen wie mit klassischen Rechnern.
F¨ ur die Praxis spielt nun die Unterscheidung berechenbar - nicht berechenbar eine geringere Rolle als die Unterscheidung effizient berechenbar - nicht effizient berechenbar. Als effizient haben wir PolynomialzeitBerechnungen angesehen. In diesem Kapitel haben wir unser Blickfeld etwas erweitert und gesehen, dass randomisierte Polynomialzeit-Algorithmen mit beschr¨anktem Fehler die Grenze der Machbarkeit markieren. Daraus ergibt sich die moderne oder quantitative Church-Turing-These: Jede Berechnung l¨asst sich effizient durch eine probabilistische Turingmaschine simulieren. Eine physikalischere Variante k¨onnte lauten: Jedes physikalisch realisierbare Rechenger¨at l¨asst sich durch eine randomisierte Turingmaschine effizient simulieren, das heißt die Anzahl der Schritte der Simulation ist polynomial mit dem Ressourcenverbrauch des Rechenger¨ates verbunden. Diese Aussage wird durch die neuen Quantenrechner allerdings herausgefordert. Einiges deutet darauf hin, dass klassische randomisierte Turingmaschinen Quantenrechner nicht effizient simulieren k¨onnen. So l¨ost der Algorithmus von Shor, siehe Kapitel 8, ein Problem, f¨ ur das kein effizienter klassischer Algorithmus bekannt ist. In diesem Fall w¨are es nicht nur sinnvoll, sondern sogar notwendig, die Churchsche These in Bezug auf QuantenTuringmaschinen umzuformulieren. 1985 hat David Deutsch eine universelle Quanten-Turingmaschine eingef¨ uhrt [31]. In diesem Buch wird dieses Rechenmodell nicht behandelt, da es einigen technischen Aufwand bedeutet. Die Grundidee ist allerdings so, wie man es sich vorstellt: Die Schritte sind unit¨are Transformationen, und die
4.5 Die Churchsche These Zust¨ande sind Superpositionen klassischer Zust¨ande. Komplikationen entstehen daraus, dass der Schreib-Lese-Kopf in beide Richtungen bewegt werden kann. Solche Quanten-Turingmaschinen k¨ onnen (nach der Formulierung von Deutsch) jedes endliche physikalische System simulieren und sind in diesem Sinne universell. Diese Aussage ist jedoch durchaus umstritten. So ist schon allein der Begriff physikalisches System problematisch. Physiker sehen den Inhalt ihrer Wissenschaft in der Regel als Modelle an, die danach bewertet werden, wie gut die beobachtbaren Ph¨anomene beschrieben werden. Diese Modelle ver¨andern sich st¨andig, und es ist problematisch, der heutigen Beschreibung quantenphysikalischer Systeme – nur darauf kann sich die Simulation der Quanten-Turingmaschine beziehen – einen so abgeschlossenen Status zuzuordnen.
123
125
5 Teleportation und dichte Kodierung Take me apart, take me apart, You must be off your head, And if you try to take me apart to get me there, I’ll stay right here in bed. I teleported home one night, With Ron and Sid and Meg, Ron stole Meggie’s heart away, And I got Sidney’s leg. Douglas Adams
¨ Unter Teleportation versteht man die Uberwindung des Raumes, ohne dass Zeit vergeht oder ein Weg zur¨ uckgelegt wird. Ein Teleportationsverfahren ist durch die Serie Raumschiff Enterprise popul¨ar geworden. Scotty, beam me up, there is no intelligent life on this planet! ist unter Science Fiction Fans zu einem gefl¨ ugelten Wort geworden. Auf dieses Kommando hin wird eine exakte Beschreibung Captain Kirks ermittelt. Mit diesen Informationen wird die Person an Bord des Raumschiffs wieder zusammengesetzt, w¨ahrend sie zeitgleich von dem trostlosen Planeten verschwindet (eine ¨ahnliche Situation illustriert Abbildung 5.1). Verschiedene Argumente legen nahe, dass derartige Teleportationen außerhalb der Science Fiction ausgeschlossen sind. Nur eines davon: Teleportation verst¨ oßt gegen eine ber¨ uhmte Folgerung der Relativit¨atstheorie: Nichts kann sich schneller bewegen als das Licht! In der Quantenwelt sind Teleportationen jedoch m¨ oglich, und wir werden sehen, inwiefern sie mit der Relativit¨atstheorie vertr¨aglich sind. Quantenteleportation kann ein Quantenbit von einem Ort direkt zu einem anderen bef¨ ordern, ohne dass der Zustand des Quantenbits bekannt sein muss. Dazu wird die starke Kopplung zwischen verschr¨ankten Quan-
126
5 Teleportation und dichte Kodierung
Abbildung 5.1: Teleportation eines Weltraumreisenden; technisch m¨oglich ist die Teleportation einzelner Quantenbits.
tenbits genutzt, zus¨atzlich ist allerdings eine klassische Informations¨ ubertragung n¨ otig. Durch diese wird ein Konflikt mit der Relativit¨atstheorie vermieden, auf klassische Weise allein kann der Zustand eines Quantenbits jedoch nicht kommuniziert werden. Die im folgenden Abschnitt vorgestellte Technik ist nicht nur sehr ¨uberraschend, sondern bietet viele praktische Anwendungen: so etwa zur Informations¨ ubertragung zwischen zwei Quantenrechnern oder innerhalb eines solchen. Ein zentraler Begriff der Theorie der Informations¨ ubertragungen ist der Kanal. Quantenkanal
Ein Quantenkanal kann ein Quantenbit von einem Ort an einen anderen transportieren; vom Beginn des Quantenkanals an sein Ende.
Ein Quantenkanal k¨ onnte eine Glasfaserleitung sein, die Photonen transportiert. Entscheidend ist, dass die Superposition der f¨ ur |0 und |1 gew¨ahlten Zust¨ande (im Idealfall) nicht beeinflusst wird. Allgemein sind Quantenkan¨ale so abstrakt wie m¨ oglich aufzufassen. Ist es etwa m¨oglich, ein Quantenbit auf einem Rollwagen von einem Labor ins andere zu fahren, so existiert zwischen Ausgangs- und Zielpunkt ein Quantenkanal. Ein klassischer Kanal kann klassische Bits transportieren. Klassische Kommunikationsverfahren gibt es in großer Zahl. Telefon oder Postkarten k¨onnen ¨ hier genauso wie reitende Boten oder DFU-Verbindungen genannt werden.
5.1 Quantenteleportation
127
Ein Kanal heißt verrauscht, wenn die Bits w¨ahrend des Transports St¨orungen ausgesetzt sind. Ein verrauschter Quantenkanal liefert ein Quantenbit α|0 + β|1 in der Form α′ |0 + β′ |1 beim Adressaten ab, wobei zu hoffen ist, dass α′ und β′ von α und β nicht zu sehr abweichen.
5.1 Quantenteleportation Alice ist im Besitz eines Quantenbits und m¨ ochte dieses Bob mitteilen. Leider gibt es zu diesem Zeitpunkt keinen Quantenkanal zwischen den beiden. Alice und Bob k¨ onnen lediglich telefonieren. Damit sind sie u ¨ber einen klassischen Kanal verbunden; der Versuch, das Quantenbit damit zu u ¨bertragen muss allerdings scheitern. Um etwas ¨ uber das Quantenbit herauszubekommen, muss Alice es messen. Dabei wird der Zustand des Quantenbits eventuell zerst¨ ort. In Abschnitt 2.8 haben wir gesehen, dass es prinzipiell unm¨oglich ist, den genauen Zustand eines Qubits zu ermitteln. Besitzen Alice und Bob jedoch jeweils ein Bit eines verschr¨ankten Paares von Quantenbits – die H¨alfte eines EPR-Paares – so ist folgendes m¨oglich: Alice verschr¨ankt das zu u ¨bermittelnde Quantenbit mit ihrer H¨alfte des EPRPaares. Sie misst ihre Bits, und ohne zeitlichen Abstand ¨andert sich das Quantenbit in Bobs Besitz. Dieses Verhalten haben wir bereits in Abschnitt 2.11 u ¨ber Verschr¨ankung studiert. Um die Teleportation zu vollenden, muss Alice ihr Messergebnis an Bob schicken; dazu gen¨ ugt jedoch ein klassisches Kommunikationsmedium, zum Beispiel ein Telefon. Der Algorithmus zur Quantenteleportation Aufgabenstellung: Alice besitzt ein Quantenbit |x im Zustand |ψ. Dieses Qubit soll Bob u ¨bermittelt werden. Voraussetzung: Alice besitzt ein Quantenbit |a und Bob ein Quantenbit |b, die sich in dem verschr¨ankten Zustand |ab = √12 (|00 + |11) befinden. Alice kann Bob zwei klassische Bits senden. Ergebnis: Nach Ausf¨ uhrung der folgenden Schritte befindet sich Bobs Bit im Zustand |ψ. X ist die Vertauschung
und Z die Transformation
siehe Abschnitt 3.3.
0 1 1 0
1 0 0 −1
,
128
5 Teleportation und dichte Kodierung
|ψ |a
H
M M
|b
X
Z
|ψ
Abbildung 5.2: Schaltkreis zur Teleportation. Die gebrochene Linie stellt einen klassischen Kanal dar
1. Alice wendet ein CNOT-Gatter an: |x|a ← |x|a ⊕ x 2. Alice wendet auf das zu u ¨bermittelnde Bit die HadamardTransformation an: |x ← H|x 3. Alice misst ihre Bits und u ¨bermittelt die Ergebnisse x und a u ¨ber einen klassischen Kanal an Bob. 4. Ist a = 1, wendet Bob die Transformation X auf sein Bit an: |b ← X|b 5. Ist x = 1, wendet Bob die Transformation Z auf sein Bit an: |b ← Z|b
Dem Algorithmus entspricht der Schaltkreis aus Abbildung 5.2. Die linke H¨alfte ist der Anteil von Alice, die rechte ist Bobs Berechnung. Die gebro¨ chene Linie entspricht der klassischen Ubermittlung der Messergebnisse an Bob. An dem Schaltkreis wird außerdem deutlich, dass das Bit |b zu Bob gelangen muss. Dazu bedarf es im Prinzip eines Quantenkanals; allerdings kann dieses Bit schon lange Zeit vor der Teleportation transportiert worden sein. Wir stellen uns vor, Bob hat es beim Abschied von Alice mitgenommen. Es ist auch m¨ oglich, dass Alice und Bob nie u ¨ber einen Quantenkanal verbunden waren, wenn eine dritte Person namens Charlotte Quantenbits an Alice und Bob schicken kann. Charlotte hat irgendwann ein EPR-Paar erzeugt und die H¨alften Alice und Bob ¨ubermittelt. Eine weitere interessante M¨oglichkeit diskutieren wir am Ende des Abschnitts: Wenn zwischen Alice und Bob ein verrauschter Quantenkanal und ein klassischer Kanal existieren, kann mit Hilfe der Teleportation ein Quantenkanal ohne Rauschen erzeugt werden.
5.1 Quantenteleportation
129
Analyse Bei verschr¨ankten Quantenbits spielt die r¨aumliche Distanz keine Rolle. Wir betrachten bei der Analyse stets den Zustand des Registers“ |x|a|b. Es ” gelte |ψ = α|0 + β|1. Dann befindet sich das Register |x|a|b anfangs im Zustand 1 |φ0 = (α|0 + β|1) · √ (|00 + |11) 2 β α = √ (|000 + |011) + √ (|100 + |111). 2 2 Im ersten Schritt wendet Alice CNOT mit dem Folgezustand β α |φ1 = √ (|000 + |011) + √ (|110 + |101) 2 2 an. Die Hadamard-Transformation u uhrt |φ1 in ¨berf¨ 1 α √ (|0 + |1) (|00 + |11) |φ2 = √ 2 2 1 β √ (|0 − |1) (|10 + |01) +√ 2 2 α (|000 + |011 + |100 + |111) = 2 β + (|010 + |001 − |110 − |101). 2 Wir stellen den Term so um, dass wir das Ergebnis der Messung der ersten beiden Bits erkennen: 1 |φ2 = |00(α|0 + β|1) + |01(β|0 + α|1) 2 +|10(α|0 − β|1) − |11(β|0 − α|1) .
Alice’ Messung im dritten Schritt ergibt jeweils mit Wahrscheinlichkeit 1/4 eines der Ergebnisse |00, |10, |01 oder |11. Gleichzeitig geht das dritte Bit – im Besitz von Bob – in einen an Alice’ Ergebnis gekoppelten Zustand u ¨ber. Alice’ Ergebnis
Zustand von Bobs Bit
|00
α|0 + β|1
|01
α|1 + β|0
|10
α|0 − β|1
|11
α|1 − β|0
Alice’ Schritte
130
5 Teleportation und dichte Kodierung
Bobs Schritte
Erh¨alt Alice das Ergebnis |00, ist Bobs Bit durch die Messung in den Zustand |ψ u ¨bergegangen, und die Teleportation ist vollzogen. In den anderen F¨allen kann Bob den Zustand |ψ leicht herstellen, vorausgesetzt er kennt das Ergebnis der Messung. Das trifft zu: es wurde ihm u ¨ber einen klassischen Kanal mitgeteilt. Ist Alice’ Ergebnis |01, muss er die Amplituden von |0 und |1 tauschen. Das gelingt ihm mit der Transformation X. Im Fall |10, negiert er mit Z das Vorzeichen der Amplitude von |1, und im Fall |11 f¨ uhrt er X und Z aus. ⋄ Alice muss Bob f¨ ur den Vollzug der Teleportation etwas mitteilen. Das hat etwas Beruhigendes. Denn nach Einsteins Relativit¨atstheorie kann sich nichts schneller bewegen als das Licht. Ein Transport von Information ohne Zeitverzug w¨ urde diesem Grundprinzip widersprechen: information is physical, siehe Abschnitt 3.5. Bei unserem Verfahren kann Bob auf die unmittelbar u ¨bermittelten Informationen erst zugreifen, wenn er das langsamer als das Licht u ¨bermittelte Messergebnis kennt. Alice kann nach ihrer Messung den Zustand |ψ nicht mehr rekonstruieren. Ein anderes Ergebnis st¨ unde auch im Widerspruch zu dem Ergebnis des Kapitels 3.4: Quantenbits lassen sich nicht kopieren.
Realisierung
Das Verfahren zur Quantenteleportation stammt von der international zusammengesetzten Forschergruppe Bennett, Brassard, Cr´epeau, Jozsa, Peres und Wooters und ist aus dem Jahr 1993. Die erste praktische Umsetzung gelang 1997 in Innsbruck. Bouwmeester, Pan, Mattle, Eibl, Weinfurter und Zeilinger teleportierten ein Quantenbit etwa einen Meter weit. Die Zust¨ande |0 und |1 wurden als Polarisationen eines Photons verwirklicht, siehe Abschnitt 9.3. Eine der großen Herausforderungen war dabei die gemeinsame Messung zweier Bits in der Bell-Basis. Im Sommer 2004 wurde ein Quantenbit 600 Meter weit ¨ uber die Donau teleportiert. Heutzutage wird Quantenteleportation als Standardverfahren angesehen, dessen einzige Grenze durch die Distanz der verschr¨ankten Bits gegeben ist. Bei Teleportationen u ¨ber gr¨oßere Entfernungen und außerhalb des Labors wird die Verschr¨ankung der Bits |a und |b zum Problem. Theoretisch ist das Verhalten verschr¨ankter Quantenbits von ihrer Entfernung v¨ollig unabh¨angig. In der Praxis entstehen Probleme beim Transport und durch Wechselwirkung mit der Umgebung: reale Quantenkan¨ale sind immer verrauscht.
Verschr¨ankungsreinigung
Abhilfe schafft ein Verfahren namens entanglement purification oder Verschr¨ankungsreinigung. Wir nehmen an, Alice stellt ein verschr¨anktes Paar von Quantenbits her und schickt eines davon an Bob. Ihr steht ein verrauschter Kanal zur Verf¨ ugung: das Quantenbit ist St¨orungen ausgesetzt und kommt ver¨andert bei Bob an. Dadurch sind die beiden Bits eventuell nicht mehr maximal verschr¨ankt. Zur Verschr¨ankungsreinigung wiederholt Alice dieses Verfahren. Aus zwei nicht maximal verschr¨ankten Paaren stellt sie eines her, dessen Grad an Verschr¨ankung deutlich h¨oher ist.
5.2 Dichte Kodierung
131
Theoretisch l¨asst sich so aus einem verrauschten Quantenkanal und einem klassischen Kanal ein Quantenkanal ohne Rauschen konstruieren. Dazu werden u ¨ber den verrauschten Kanal soviele H¨alften von EPR-Paaren geschickt, dass sich daraus mit Hilfe der Quantenreinigung ein sehr stark verschr¨anktes Paar von Quantenbits erzeugen l¨asst. Die beiden H¨alften dieses Paares befinden sich an den beiden Enden des verrauschten Kanals. Das eben beschriebene Verfahren zur Quantenteleportation ist anwendbar: wir k¨onnen ein Quantenbit fehlerfrei ¨ ubertragen, und ein Kanal ohne Rauschen ist entstanden. Bei Druckelegung des Buches lag der aktuelle Rekord bei 144 Kilometern. Die Forschergruppen von Harald Weinfurther und Anton Zeilinger konnten Mitte 2007 die Verschr¨ankung zweier Photonen u ¨ber diese Distanz nachweisen [95].
5.2 Dichte Kodierung Das in diesem Abschnitt vorgestellte Verfahren hat mit der Teleportation ¨ große Ahnlichkeit. Die Aufgabe ist allerdings eine andere. • Eine Teleportation u ¨bertr¨agt ein Quantenbit und nutzt dazu einen klassischen Kanal (Voraussetzung ist, dass die Kommunikationspartner ein verschr¨anktes Bitpaar teilen). • Dichte Kodierung macht es m¨ oglich, mit Hilfe eines Quantenkanals und eines Quantenbits zwei klassische Bits zu u ¨bertragen. Bei dieser Art von Kodierung geht es um Komprimierung“: von zwei klas” sischen Bits auf ein Quantenbit. Uns interessieren weniger m¨ogliche Anwendungen, sondern die Erkenntnis: mit einem Quantenbit l¨asst sich unter bestimmten Umst¨anden die doppelte Informationsmenge u ¨bermitteln, wie mit einem klassischen Bit. Der Algorithmus zur dichten Kodierung Alice m¨ ochte eine der vier Botschaften 00, 01, 10 und 11 an Bob ¨ubermitteln. Alice besitzt ein Quantenbit |a und Bob ein Quantenbit |b, die sich in dem verschr¨ankten Zustand |ab = √12 (|00 + |11) befinden. Die Transformation iY entspricht der Matrix
0 1 −1 0
.
132
5 Teleportation und dichte Kodierung
1. Kodierung: Alice wendet je nach zu ¨ubermittelnder Nachricht N eine der folgenden Operationen auf ihr Bit an: Ist Ist Ist Ist
N = 01: N = 10: N = 11: N = 00:
|a ← Z|a |a ← X|a |a ← iY |a sie tut nichts.
2. Alice schickt ihr Bit |a an Bob. 3. Bob misst die beiden Bits |a|b bez¨ uglich der Bell-Basis (Abschnitt 2.11). 4. Dekodierung: Bob erschließt Alice’ Nachricht wie folgt aus dem Messergebnis: 1 √ (|00 − |11) bedeutet N = 01, 2 1 √ (|01 + |10) bedeutet N = 10, 2 1 √ (|01 − |10) bedeutet N = 11, 2 1 √ (|00 + |11) bedeutet N = 00. 2
Aufgabe 5.1: Analysieren Sie den Algorithmus und u ufen Sie so des¨berpr¨ sen Korrektheit.
Beispiel 5.1: Alice befindet sich auf einer Wetterstation und muss Bob mitteilen, woher der Wind weht. Es gen¨ ugt, wenn sie Bob eine der vier Nachrichten Norden, S¨ uden, Osten, Westen schickt. Genauer braucht die Richtung nicht angegeben zu werden. Wie zu erwarten war, verf¨ ugt Alice u ¨ber keine klassische Kommunikationsm¨oglichkeit. Aber Sie ist in der Lage, ein einzelnes Quantenbit an Bob zu schicken. Und vor einigen Monaten haben sie gemeinsam ein EPR-Paar |ab mit Zustand √12 (|00 + |11) erzeugt, aufgeteilt, und beide tragen ihre H¨alfte immer bei sich. Zudem gibt es zwischen beiden folgende Vereinbarung: In ihren Kommunikationen steht 00 f¨ ur Norden, 01 f¨ ur S¨ uden, 10 f¨ ur Osten, und 11 f¨ ur Westen. Es ist Ostwind. Daf¨ ur stehen die beiden klassischen Bits 10. Wie im Algorithmus beschrieben, wendet sie auf ihr Bit die Transformation X an. Der
5.3 Verschr¨ankte Bits
133
gemeinsame Zustand des Paares |ab wechselt zu 1 √ (|01 + |10). 2 Alice schickt |a an Bob. Der misst beide Bits in der Bell-Basis und erh¨alt das Ergebnis √12 (|01 + |10). Gem¨aß Schritt 4 schließt er: der Wind weht aus Osten. ⋄ Zu diesem Verfahren gibt es kein klassisches Gegenst¨ uck. Die Aufgabenstellung, mehr als ein Bit an klassischer Information mit einem klassischen Bit zu u uchlich und damit sinnlos. Denn der ¨bermitteln, ist in sich widerspr¨ Begriff Bit“ hat eine doppelte Bedeutung. Es ist u ¨blich, damit einen ele” mentaren – nicht weiter zerlegbaren – Informationstr¨ager zu bezeichnen. Den gleichen Namen tr¨agt die Einheit, mit der man die Informationsmenge angibt. Diese wollen wir bit“ schreiben. Ein bit ist die maximale Infor” mationsmenge, die mit zwei Zust¨anden eines (klassischen) physikalischen Systems gespeichert, ausgedr¨ uckt oder u ¨bermittelt werden kann. Das wollen wir an einem Beispiel verdeutlichen. Beispiel 5.2: Mit einem Bit lassen sich zwei Zust¨ande kodieren und mit ugen f¨ ur die vier Himmelsrichtungen aus n Bits gerade 2n viele. So gen¨ Beispiel 5.1 zwei Bits. Wir nehmen an, Alice und Bob verwenden aus uns nicht bekannten Gr¨ unden drei Bits und folgende Kodierung 000 f¨ ur Norden, 010 f¨ ur S¨ uden, 101 f¨ ur Osten, und 110 f¨ ur Westen. In diesem Fall werden mit einer Nachricht trotzdem nur zwei bit an Information u ¨bertragen. Genauer gesagt: maximal zwei bit. Dieses Maximum wird angenommen, wenn alle vier Windrichtungen gleich wahrscheinlich sind. Wenn Bob vor der Nachricht in v¨ olliger Unwissenheit ¨ uber die Windrichtung ist. Angenommen Alice’ Wetterstation befindet sich in einer Schlucht, durch die der Wind nur aus Norden oder aus S¨ uden hindurchwehen kann. In diesem Fall ist der Informationsgehalt von Alice Nachricht nur ein bit, egal was f¨ ur eine Kodierung sie w¨ahlt. ⋄ Das in vorstehendem Beispiel erw¨ahnte Informationsmaß ist Gegenstand der von dem amerikanischen Mathematiker Claude Shannon (1916-2001) begr¨ undeten Informationstheorie. W¨ahrend man zur Kodierung von vier Nachrichten zwei klassische Bits ben¨ otigt, kommt man mit einem Quantenbit aus; allerdings nur, wenn sich die Kommunikationspartner ein EPR-Paar teilen. Das Verfahren der dichten Kodierung stammt von Charles Bennett und Stephen Wiesner [13].
5.3 Verschr¨ ankte Bits Teleportation und dichte Kodierung sind aus klassischer Sicht sehr erstaunliche Verfahren. Beide beruhen auf der Verwendung verschr¨ankter Bits. In
Klassische Informationsu ¨bermittlung
134
5 Teleportation und dichte Kodierung diesem Abschnitt werden wir folgende Eigenschaft verschr¨ankter Bits untersuchen: Versteckte Information
In einem Paar maximal verschr¨ankter Quantenbits ist keines allein Tr¨ager der Information. Diese besteht in der Korrelation beider Bits.
Angenommen, Alice besitzt zwei Quantenbits |x|y und weiß, dass diese in einem der Basiszust¨ande |00, |01, |10, |11 sind. Dann erf¨ahrt sie aus einer Messung in dieser Basis den exakten Zustand. Allgemein gilt f¨ ur jede Basis: weiß Alice, dass sich zwei Quantenbits in einem Basiszustand befinden, kann sie den genauen Zustand mit einer Messung in dieser Basis ermitteln. Nun kommen Bob und Charlotte ins Spiel. Charlotte erzeugt Zwei-Bit-Zust¨ande in der Basis |00, |01, |10, |11 oder in einer anderen Orthonormalbasis aus unverschr¨ankten Zust¨anden. Eines erh¨alt Alice, das andere Bob. Jeder misst sein Bit in der Basis |0, |1; auf diese Weise k¨onnen sie genau ermitteln, welchen der vier Werte das Bitpaar hat, wenn sie ihre Ergebnisse zum Beispiel ¨ uber einen klassischen Kanal austauschen. Die Bits sind unabh¨angig voneinander. Die Messungen enth¨ ullen die kodierte Information. Als n¨achstes erzeugt Charlotte Bitpaare in einem der verschr¨ankten Zust¨ande der Bell-Basis: 1 1 Φ+ = √ (|00 + |11), Φ− = √ (|00 − |11), 2 2 1 1 + − Ψ = √ (|01 + |10), Ψ = √ (|01 − |10). 2 2 Das erste Bit schickt sie an Alice, das zweite an Bob. Wenn Alice und Bob ihre Bits zusammensetzen und gemeinsam in der Bell-Basis messen, k¨ onnen sie problemlos den genauen Zustand ermitteln. Das geht aber nicht mehr, wenn sie sich an unterschiedlichen Orten befinden und jeder nur eine Messung an seinem Bit vornehmen kann. Wir nehmen an, Charlotte hat die beiden Bits in den Zustand Ψ+ = √1 (|01 + |10) versetzt und verteilt. Alice und Bob wissen, dass Charlotte 2 einen Zustand aus der Bell-Basis verteilt hat, und sollen herausfinden, welchen. Alice misst in der Standardbasis |0, |1: die Ergebnisse |0 und |1 sind gleich wahrscheinlich. Bob misst sein Bit ebenso und erh¨alt gerade das zu Alice’ Ergebnis entgegengesetzte Resultat. Sie telefonieren und schließen: der Zustand ist Ψ+ oder Ψ− . Welcher der beiden Zust¨ande es ist, muss ihnen verborgen bleiben. Wie sie auch die Messungen vornehmen und egal, welche Informationen sie austauschen, sie k¨onnen nur festellen, ob die Bits korreliert (Φ+ und Φ− ) oder antikorreliert (Ψ+ und Ψ− ) sind. Und welche Information enth¨alt ein einzelnes Quantenbit eines maximal verschr¨ankten Paares? Keine! Wenn Charlotte einen der Zust¨ande der BellBasis verteilt hat und Alice ihr Quantenbit misst, ist das Ergebnis ein Zu-
5.3 Verschr¨ankte Bits
135
fallsbit. Sie erh¨alt keinen Hinweis darauf, in welchem Zustand sich die beiden Quantenbits befinden! Wir formulieren das letzte Ergebnis als: Eine H¨alfte eines maximal verschr¨ankten Quantenbitpaares enth¨alt keinerlei Information.
Aus einer Messung an nur einem der Bits erf¨ahrt man in diesem Fall nichts. Die Information befindet sich bildlich gesprochen zwischen den Bits, sie besteht in der Korrelation. Einem Satz der Quanteninformationstheorie zufolge l¨asst sich mit einem Quantenbit nur ein bit Information u ¨bertragen: dieses Ergebnis aus dem Jahr 1973 tr¨agt den Namen Holevoschranke, benannt nach Alexander Holevo vom Moskauer Steklov Institut. Wie vertr¨agt sich diese Aussage mit der dichten Kodierung, bei der zwei Bits mit nur einem Quantenbit u onnen? ¨bermittelt werden k¨ Die Holevoschranke beschreibt die Kapazit¨at eines Quantenkanals, u ¨ber den ein einzelnes Quantenbit verschickt wird, und macht eine Aussage u ¨ber die auf diese Weise ¨ ubermittelbare Information. F¨ ur die dichte Kodierung ist es wesentlich, dass sich Alice und Bob bereits ein verschr¨anktes Bitpaar teilen. Dieses muss zuvor ausgetauscht worden sein, und damit werden bei der dichten Kodierung zwei Quantenbits ausgetauscht. Aus klassischer Sicht ist es trotzdem erstaunlich, dass es verschr¨ankte Zust¨ande erlauben, einen Teil des Informationsaustauschs auf diese Weise vorzuverlegen. Das erste Bit kann zu einem Zeitpunkt verschickt werden, zu dem die zu verschickende Nachricht noch nicht bekannt ist.
Holevoschranke
137
6 Suchen Suchen und finden schließen einander solange im Moment der Entt¨ auschung aus, bis sie sich im Moment der (Er-)Findung einschließen. Olaf Kuschniok
Suchen ist eine menschlichen Grundt¨atigkeit. Zerstreute Menschen suchen ihren Zimmerschl¨ ussel, alle Menschen suchen (zumindest insgeheim) das Gl¨ uck. Der Kommissar sucht den M¨ order, und in dem 4000 Jahre alten babylonischen Gilgamesch-Epos macht sich die Titelfigur auf die Suche nach der Unsterblichkeit. F¨ ur Informatiker stellt sich diese Aufgabe prosaischer dar. Dort muss meist aus einer Menge von Datens¨atzen derjenige mit einer bestimmten Eigenschaft gesucht werden. Suchvorg¨ange dieser Art verbrauchen in heutigen EDV-Systemen sehr viel Rechenzeit. Die F¨ahigkeiten klassischer Rechner sind unter anderem dadurch begrenzt, dass diese nicht schneller suchen k¨ onnen. Denn viele Berechnungsprobleme stellen sich letzten Endes als Suchprobleme heraus. So ist der Versuch, in ein fremdes Sicherheitssystem einzubrechen, meistens die Suche nach dem Schl¨ ussel. Ein anderes Beispiel sind Optimierungsprobleme, die f¨ ur ¨okonomische und technische Anwendungen eine sehr große Rolle spielen, wie etwa das Problem des Handlungsreisenden: Gegeben ist eine Menge von St¨adten. Gesucht ist die k¨ urzeste Route, die alle St¨adte genau einmal besucht. Allgemein ist ein Optimierungsproblem die Suche nach der optimalen L¨osung. In diesem Kapitel werden wir untersuchen, wie sich mit Quantencomputern suchen l¨asst. Im Zentrum steht ein ber¨ uhmtes Resultat, das mit dem Namen Lov Grover verbunden ist. Er hat gezeigt, dass Quantencomputer viel schneller suchen k¨ onnen als klassische Rechner. Gleichzeitig ist sein Suchalgorithmus aus dem Jahr 1996 ein besonders anschauliches Beispiel f¨ ur die M¨ oglichkeiten von Quantenrechnern. Heute gibt es eine Vielzahl an Ergebnissen zum Thema Quantensuche, die Grovers Grundidee variieren; einige davon werden in diesem Kapitel dargestellt. Wir erw¨ahnten, dass Quantencomputer viel schneller suchen k¨onnen als klassische. Aber sie suchen andererseits nicht so viel schneller, dass der
138
6 Suchen
¨ Ubersicht
Quantencomputer dadurch zum Allheilmittel wird. Mit Suchalgorithmen kann man n¨amlich eine sehr wichtige Klasse von Problemen angehen, f¨ ur die keine effizienten Verfahren f¨ ur klassische Rechner bekannt sind. F¨ ur alle, die sich mit Komplexit¨atstheorie auskennen oder Kapitel 4 gelesen haben: es handelt sich um NP-vollst¨andige Probleme. K¨onnten Quantencomputer diese Probleme effizient l¨ osen, h¨atte das sehr weitreichende Konsequenzen! Leider deutet einiges darauf hin, dass das nicht m¨oglich ist. Das ist das Thema der beiden letzten Abschnitte dieses Kapitels. Wir beginnen in Abschnitt 6.1 mit einer Analyse der Aufgabenstellung. Die Abschnitte 6.2 und 6.3 stellen Grovers Algorithmus detailliert dar und Abschnitt 6.4 besch¨aftigt sich mit Verallgemeinerungen der Grundidee.
6.1 Die Nadel im Heuhaufen
Optimierungsprobleme
Aufgabenstellung
Wir wollen herausfinden, wem eine bestimmte Telefonnummer geh¨ort. Wir haben nur die Nummer und ein Telefonbuch zur Verf¨ ugung. Wir haben bereits mehrmals die Nummer gew¨ahlt, aber es hat sich nie jemand gemeldet. Uns bleibt nichts anderes u ur Anschluss ¨brig, als im Telefonbuch Anschluss f¨ durchzugehen. Man bezeichnet diese Aufgabenstellung als unstrukturierte Datenbanksuche. Die Eintr¨age der Datenbank sind nach einem Kriterium sortiert, das f¨ ur uns unbrauchbar ist. So wie es uns in der beschriebenen Situation nichts n¨ utzt, dass die Eintr¨age im Telefonbuch nach den Namen sortiert sind. Einen Eintrag der Datenbank darauf zu pr¨ ufen, ob es der gesuchte ist, bezeichnen wir als Anfrage an die Datenbank. Suchalgorithmen dieser Art haben viele Anwendungen; in der Einleitung wurde bereits die Kryptographie erw¨ahnt. Einige Verschl¨ usselungssysteme lassen sich knacken, indem man alle m¨oglichen Schl¨ ussel ausprobiert. Dieses Ausprobieren fassen wir als Datenbankanfrage auf: passt der Schl¨ ussel, ist es der gesuchte Eintrag. Das Ausprobieren des Schl¨ ussels entspricht dem ¨ Uberpr¨ ufen der Nummer hinter einem Namen im Telefonbuch. Auch Optimierungsprobleme sind im Grunde Suchprobleme. In der Menge aller m¨ oglichen Wege, eine Aufgabe zu l¨osen, suchen wir die optimale. In der Einleitung wurde bereits das Problem des Handlungsreisenden erw¨ahnt und in Abschnitt 4.3 genauer betrachtet. Wir m¨ ussen eine Reihe von St¨adten besuchen und am Ende wieder am Ausgangspunkt ankommen. Darum interessieren wir uns f¨ ur die k¨ urzeste derartige Rundreise. Nun wandeln wir das Problem etwas ab: wir hoffen, dass es f¨ ur unser Ensemble von St¨adten eine Rundreise gibt, die k¨ urzer als 100 Kilometer ist. Eine solche suchen wir! F¨ ur jeden m¨ oglichen Reiseplan k¨ onnen wir leicht die Entfernung ausrechnen und somit ermitteln, ob diese Route k¨ urzer 100 Kilometer ist: das entspricht der Datenbankanfrage. ur diese Art der Datenbanksuche beschreiben Um leichter Algorithmen f¨ zu k¨ onnen, formalisieren wir die Aufgabenstellung: Wir gehen davon aus, dass die Datenbank N Elemente {0, . . . , N −1} enth¨alt, wobei die Anzahl eine Zweierpotenz N = 2n ist. Den Datens¨atzen ordnen wir die Elemente in {0, 1}n
6.1 Die Nadel im Heuhaufen
139
zu, das gesuchte Element bezeichnen wir als x. ˆ Die Datenbank modellieren wir als eine Funktion f : {0, 1}n → {0, 1} mit folgender Eigenschaft: es gibt genau ein Element x, ˆ f¨ ur das die Funktion 1 ist, f¨ ur alle x ∈ {0, 1}n mit x ungleich xˆ gilt f (x) = 0. Die Funktion – und damit die Datenbank – ist uns |x, y⊕ f (x) gegeben. Wir sollen xˆ bestimmen, als Quantenorakel U f : |x, y → eine Datenbankanfrage entspricht dem Auswerten von f . Wie die hier diskutierten Arten von Suchalgorithmen zusammenh¨angen, verdeutlicht die folgende Tabelle.
W¨ahle ein Datenbankelement.
Frage an, ob es das gesuchte ist.
W¨ahle einen Telefonbucheintrag.
Ist es die gesuchte Nummer?
W¨ahle eine Rundreise.
Rechne nach, ob sie kurz genug ist.
W¨ahle ein x aus {0, 1}n.
Ist f (x) = 1?
Wie aufw¨andig ist dieses Problem f¨ ur klassische Computer? Als Aufwand legen wir die Anzahl der Anfragen an die Datenbank fest; f¨ ur die von uns betrachteten Algorithmen wird diese Anzahl die Laufzeit dominieren. Da wir ¨ uber f nur wissen, dass genau ein Element den Funktionswert 1 hat, m¨ ussen wir blind nach diesem Element suchen und im schlechtesten Fall N − 1 Elemente betrachten. Mathematisch korrekt ¨uberlegen wir uns das folgendermaßen: Wir stellen uns einen klassischen Algorithmus A vor, der nach N − 2 Aufrufen des Datenbankorakels f schon das gesuchte Element kennt. Wie kann er das herausgefunden haben? Allein dadurch, dass sich xˆ unter den N − 2 schon betrachteten Elementen befindet. Da A die Elemente f¨ ur jede Eingabe in der gleichen Reihenfolge testet – wir haben keine Informationen, die uns eine bestimmte Vorgehensweise ans Herz legen – k¨onnen wir ein f angeben, f¨ ur das dieser fiktive Algorithmus scheitert: xˆ mit f (x) ˆ =1 ist eines der Elemente, die der Algorithmus f¨ ur die ersten N − 2 Anfragen nicht w¨ahlt. Damit muss er mindestens N − 1 Elemente ausprobieren. Diese Situation, der schlechteste Fall, ist allerdings unwahrscheinlich. In der Regel werden wir nicht so viel Pech haben, dass wir das gesuchte Element als letztes in die H¨ande bekommen. Wie viele Aufrufe braucht ein klassischer Algorithmus also im Mittel? Die Wahrscheinlichkeit, im ersten Versuch das gesuchte Element zu erwischen, ist 1/N: wir haben keine Informationen, und jedes Element ist mit der gleichen Wahrscheinlichkeit das gesuchte. Die Wahrscheinlichkeit daf¨ ur, dass der zweite Versuch erfolgreich ist, ist (1− 1/N)·1/(N − 1): der erste Versuch war erfolglos und von den verbleibenden N − 1 M¨ oglichkeiten raten wir die richtige. Diese Situation ist in der Wahrscheinlichkeitstheorie unter dem Namen Ziehen ohne Zur¨ucklegen
Aufwand im schlechtesten Fall
Durchschnittlicher Aufwand
140
6 Suchen
Abbildung 6.1: Unstrukturierte Suche: die Nadel im Heuhaufen
modelliert, siehe zum Beispiel [59]. Im Schnitt ben¨otigt man (N + 1)/2 Versuche, asymptotisch (gr¨ oßenordnungsm¨aßig) ausgedr¨ uckt also Ω (N). Nun sieht man leicht, dass die Anzahl der Orakelaufrufe die Laufzeit dominiert. Bemerkung: Wir werden an anderer Stelle diskutieren, dass Quantenalgorithmen f¨ ur die tats¨achliche Suche in Datenbanken nur bedingt geeignet sind. Die in diesem Kapitel dargestellten Suchalgorithmen scheinen f¨ ur andere Aufgaben besser geeignet zu sein. Dennoch hat sich der Begriff unstrukturierte Datenbanksuche f¨ ur die oben beschriebene Aufgabe durchgesetzt, da er die Ausgangssituation auf den Punkt bringt (Abbildung 6.1).
6.2 Die Grover-Iteration Amplitudenverst¨arkung
Grundidee
Ein allgemeiner Ansatz, mit Quantenalgorithmen ein bestimmtes Problem zu berechnen, lautet: Beginne mit einer Superposition m¨oglicher L¨osungen f¨ ur die konkrete Eingabe. Vergr¨oßere nach und nach die Amplitude der tats¨achlichen L¨ osung (genauer: den Betrag der Amplitude) und verkleinere gleichzeitig alle anderen Amplituden. Man nennt diesen Ansatz Amplitudenverst¨arkung, engl. amplitude amplification. Der Suchalgorithmus von Grover setzt diesen Ansatz musterg¨ ultig um: Schritt f¨ ur Schritt wird die Amplitude des gesuchten Elementes xˆ gr¨oßer. Beginnen wir mit der gleichverteilten Superposition u ¨ber alle Datenbankelemente: 1 N−1 |s = √ ∑ |x. N x=0
6.2 Die Grover-Iteration
141
Uf xˆ
xˆ
Abbildung 6.2: Das Datenbankorakel kippt die Amplitude von xˆ
Alle verf¨ ugbaren Informationen u ¨ber die Datenbank und das fragliche Element |x ˆ stecken in dem Quantenorakel U f , unserer Eingabe. Um es auf |s anzuwenden ben¨ otigen wir ein weiteres Bit |y, das wir wie bei den Algorithmen von Deutsch und von Deutsch-Jozsa in den Zustand √12 (|0 − |1) = H|1 versetzen. Dann wirkt das Orakel wie folgt (siehe auch Seite 51):
Bedingter Vorzeichenwechsel
Uf 1 1 |x √ (|0 − |1) −→ |x √ (| f (x) − |1 ⊕ f (x)) 2 2 1 = |x(−1) f (x) √ (|0 − |1). 2
Da nur xˆ den Funktionswert 1 hat, erh¨alt die Amplitude dieses Elements ein negatives Vorzeichen; die anderen Amplituden ¨andern sich nicht. Abbildung 6.2 illustriert das Ergebnis f¨ ur den Fall N = 4. Die Ausgangssuperposition ist |s = 21 ∑3x=0 |x. Die Amplitude von xˆ wechselt von 1/2 zu −1/2. Damit ist der Superposition das gesuchte Element anzusehen. Eine Messung w¨ urde uns jedoch wie in der Ausgangssituation |s jedes der Elemente mit der gleichen Wahrscheinlichkeit liefern. Es gibt eine M¨ oglichkeit, die eben beschriebene Situation auszunutzen. Dazu berechnen wir den Mittelwert der Amplituden und spiegeln jede einzel-
1 3 4
1 4
0 − 21
− 41
Abbildung 6.3: Spiegeln der Werte 1 und −1/4 am Wert 1/4
Spiegelung am Mittelwert
142
6 Suchen
xˆ
1 4
Spiegeln an 41
xˆ
Abbildung 6.4: Anwendung der Spiegelung am Mittelwert im Fall N = 4 auf den Zustand 1/2, −1/2, 1/2, 1/2 ne Amplitude daran, was Abbildung 6.3 illustriert. Spiegeln einer Amplitude a an dem Wert m entspricht der Abbildung a → 2 · m − a.
(6.1)
Die Abbildung a → −a entspricht der Spiegelung an der dem Wert 0 entsprechenden Achse, die Addition von 2 · m ist die Korrektur aufgrund der verschobenen Spiegelachse. Im Beispiel aus Abbildung 6.2 ist der Mittelwert gerade 1/4 · (1/2 − 1/2 + 1/2 + 1/2) = 1/4. Spiegelung an diesem Mittelwert bildet 1/2 auf 0 ab und −1/2 auf 1. Abbildung 6.4 zeigt das Ergebnis f¨ ur den Fall N = 4, allerdings nicht ganz maßstabsgerecht. Die Amplitude des gesuchten Elements |x ˆ ist gleich 1, und alle anderen sind verschwunden. Messen der Superposition liefert das erw¨ unschte Resultat. Bevor wir die Umsetzung der Spiegelung am Mittelwert als unit¨are Transformation untersuchen, wenden wir dieses Vorgehen auf den Fall N = 8 an. Die Ausgangssuperposition √18 ∑7x=0 |x wird durch einen Orakelaufruf U f zu 7 1 √ (−|x ˆ + ∑ |x). 8 x=0 x=xˆ
Der Mittelwert der Amplituden ist gerade 81 ( √78 − √18 ) = die Amplituden daran, bekommt |x ˆ die Amplitude
anderen Elemente (−1 + 64 ) √18 =
6 √ . Spiegeln wir 8 8 6 √1 (1 + 4 ) 8 = 2√5 8 und alle
1 √ . 2 8
Wir beobachten zweierlei: • Spiegeln an einem positiven Mittelwert bevorzugt negative Amplituden • in unserem Fall sind anschließend alle Amplituden wieder positiv Das ist in Abbildung 6.5 angedeutet. Es bietet sich also an, den Vorgang zu wiederholen, um die Amplitude von |x ˆ nochmals zu erh¨ohen. Erneut kippen wir zun¨achst das Vorzeichen von |x ˆ und spiegeln dann am Mittelwert. Aufgabe 6.1: Wir f¨ uhren im eben beschriebenen Fall N = 8 beide Schritte zweimal aus. Zeigen Sie, dass eine Messung danach das gesuchte Element |x ˆ mit Wahrscheinlichkeit 121/128 liefert.
6.2 Die Grover-Iteration
143
Spiegeln xˆ
xˆ
Abbildung 6.5: Spiegelung am Mittelwert der Amplituden
Die Grundidee des Verfahrens l¨asst sich also wie folgt formulieren:
1. Beginne mit der gleichverteilten Superposition 1 N−1 |s = √ ∑ |x. N x=0 2. F¨ uhre solange aus, bis die Amplitude von |x ˆ groß ist: 2.1. Negiere die Amplitude des gesuchten Elementes |x ˆ 2.2. Spiegele jede Amplitude der aktuellen Superposition am Mittelwert aller Amplituden. 3. Miss |x und gib das Ergebnis aus.
Schritt 2 des obigen Algorithmus bezeichnet man als Grover-Iteration. Daraus entstehen verschiedene Fragen. Zun¨achst ist zu kl¨aren, wie sich Schritt 2 dieses Verfahrens auf einem Quantenregister ausf¨ uhren l¨asst: Wir m¨ ussen dazu Schritt 2 des obigen Algorithmus mit Hilfe einfacher unit¨arer Transformationen realisieren. Danach ist zu kl¨aren, wie oft genau dieser Schritt ausgef¨ uhrt werden muss, bevor die Amplitude groß genug ist, um bei der Messung mit hoher Wahrscheinlichkeit das gesuchte Element zu erhalten. Wenn der korrekte Abbruchzeitpunkt verpasst und Schritt 2 zu oft ausgef¨ uhrt wird, verkleinert sich die Amplitude von |x ˆ n¨amlich wieder. Betrachten wir dazu wieder den Fall N = 4. Nach einer Anwendung sind wir von der gleichverteilten Superposition in den Zustand |x ˆ u uhren ¨bergegangen. F¨ wir die Grover-Iteration noch einmal aus, f¨ uhrt 2.1 zu dem Zustand −|x. ˆ Der Mittelwert der Amplituden ist dann −1/4. Die Amplitude von −|x ˆ wird durch Schritt 2.2 zu 1/2, alle anderen Elemente bekommen die Amplitude −1/2. Also haben wir das Ergebnis zerst¨ ort. Misst man nun, erf¨ahrt man nichts u ¨ber das gesuchte Element. Der Physiker John Preskill vergleicht Grovers Algorithmus mit einem Souffl´e, das w¨ahrend des Backens langsam aufgeht. L¨asst man es jedoch zu lange im Ofen, f¨allt es in sich zusammen.
Grundidee der Quantensuche
144
6 Suchen Die Realisierung der Grover-Iteration Zun¨achst u uhrbar ist. ¨berlegen wir, wie die Spiegelung am Mittelwert ausf¨ Auf den ersten Blick scheint es eine eher komplexe Operation zu sein. Auf eine Superposition von N Zust¨anden wirkt sie wie folgt: N−1
N−1
∑ αi |i → ∑
i=0
i=0
αj ) − αi |i. N
N−1
2·( ∑
j=0
α
j Das folgt aus Gleichung (6.1), denn ∑N−1 j=0 N ist der Mittelwert der Amplituden. Diese Operation entspricht der Matrix ⎛ ⎞ 2 2 −1 + N2 ... N N 2 2 ⎜ ⎟ −1 + N2 . . . N N ⎜ ⎟ DN = ⎜ ⎟. . .. .. .. .. ⎝ ⎠ . . . 2 2 2 . . . −1 + N N N
Das sieht man durch Anwendung auf einen Zustandsvektor: ⎛ ⎞ ⎛ ⎞ α′0 α0 ⎜ α′ ⎟ ⎜ α1 ⎟ 1 ⎟ ⎜ ⎜ ⎟ ⎜ .. ⎟ = Dn · ⎜ .. ⎟ . ⎝ . ⎠ ⎝ . ⎠ α′N−1 αN−1
F¨ ur die i-te Komponente des Bildes gilt
α′i = −αi + 2 ·
N−1
∑ 0
αi . N
Wir haben die Spiegelung am Mittelwert als N × N-Matrix dargestellt. Was noch fehlt, ist eine Zerlegung in einfache unit¨are Matrizen gem¨aß dem Lokalit¨atsprinzip, siehe Seite 31. DN ist das folgende Produkt aus einfacheren Matrizen: ⎛
−1
⎜ ⎜ 0 DN = −Hn · RN · Hn mit RN = ⎜ ⎜ .. ⎝ . 0
0 1 .. . ...
... .. . .. . 0
⎞ 0 .. ⎟ . ⎟ ⎟. ⎟ 0 ⎠ 1
Aufgabe 6.2: Beweisen Sie, dass DN = −Hn · RN · Hn gilt. Hn ist die Hadamard-Transformation auf n Bits, N = 2n . RN ¨andert das Vorzeichen von |0 . . . 0 (genauer: das Vorzeichen der Amplitude), und es stellt sich die Frage, wie sich diese Operation durch lokale Operationen auf konstant vielen Bits bewerkstelligen l¨asst. Man kann sich zum Beispiel leicht u ¨berlegen, dass R4 nicht als Tensorprodukt von 2 × 2-Matrizen geschrieben werden kann.
6.2 Die Grover-Iteration
145
Wir nutzen, dass RN ein Spezialfall des bedingten Vorzeichenwechsels ist, den wir oben betrachtet haben. Wir definieren dazu die Funktion 1 f¨ ur xn−1 = . . . = x0 = 0 g(xn−1 , . . . , x0 ) = 0 sonst. Bringen wir ein Hilfsbit |y in den Zustand √12 (|0 − |1) und wenden wir das Orakel Ug : |x|y → |x|y ⊕ g(x) an, haben wir auf |x die Transformation RN ausgef¨ uhrt. Aufgabe 6.3: Zeigen Sie, dass Ug tats¨achlich RN ausf¨ uhrt, verwendet man das Orakel wie eben beschrieben. Das Orakel Ug l¨asst sich leicht mit einem klassischen Schaltkreis der Gr¨oße O (n) berechnen. In Abschnitt 3.5 wird beschrieben, wie sich dieser in einen Quantenschaltkreis umwandeln l¨asst, der eventuell weitere Hilfsbits verwendet, aber ebenfalls Gr¨ oße O (n) hat. F¨ ur den Fall N = 4 k¨onnen wir die Konstruktion in Abbildung 6.6 verwenden.
X X
X H
H
X
Abbildung 6.6: Schaltkreis, der das Vorzeichen von |0|0 negiert.
Aufgabe 6.4: Zeigen Sie, dass der Schaltkreis in Abbildung 6.6 die Transformation R4 berechnet. Ab jetzt erw¨ahnen wir die Hilfsbits nicht mehr explizit. F¨ ur den bedingten Vorzeichenwechsel f¨ uhren wir die neue Bezeichnung V f ein. Sei f eine Funktion {0, 1}n → {0, 1}. Der bedingte Vorzeichenwechsel ist definiert als V f : |x → (−1) f (x) |x.
Bedingter Vorzeichenwechsel
V f l¨asst sich mit einem Hilfsbit und der Operation U f realisieren.
Damit ist genau genug beschrieben, wie sich die Grundidee der Quantensuche durch unit¨are Transformationen realisieren l¨asst, und wir k¨onnen den Algorithmus exakt formulieren. Nur eine L¨ ucke besteht noch: wir wissen nicht, wie oft wir die Grover-Iteration ausf¨ uhren m¨ ussen. In der nun folgenden Formulierung wird diese noch zu bestimmende Anzahl als G(N) bezeichnet.
G(N)
146
6 Suchen Grovers Suchalgorithmus Spezifikation: Gegeben sind eine Menge {0, . . . , N − 1} mit N = 2n und das Orakel U f einer Funktion f ; f bildet genau ein Element xˆ auf 1 ab und alle anderen Elemente auf 0. xˆ ist zu bestimmen. Wir verwenden ein n-Bit-Register R und linear viele Hilfsbits.
1. Beginne mit der gleichverteilten Superposition: R ← Hn |0 . . . 0 2. Wende G(N)-mal die Grover-Iteration auf R an: R ← −Hn RN HnV f |x 3. Miss R und gib das Ergebnis aus.
Der Schaltkreis in Abbildung 6.7 f¨ uhrt diesen Algorithmus mit einer Iteration aus. Grovers Suchalgorithmus wurde erstmals in [48] vorgestellt. Die geometrische Veranschaulichung im n¨achsten Abschnitt geht auf Richard Jozsa zur¨ uck [55].
|0
H
H −RN
Vf |0
H
H
H
H
Abbildung 6.7: Schaltkreis, der den Anfangszustand herstellt und einmal die Grover-Iteration (umrahmt) ausf¨ uhrt. Ohne Hilfsbits.
6.3 Eine geometrische Veranschaulichung In diesem Abschnitt bestimmen wir, wie oft wir die Grover-Iteration ausf¨ uhren m¨ ussen, um das gesuchte Element mit hoher Wahrscheinlichkeit zu finden: wir berechnen G(N). Die Anzahl G(N) ben¨otigen wir außerdem, um die Laufzeit der Quantensuche zu bestimmen und diese mit der klassischen Datenbanksuche zu vergleichen. Um diese Anzahl zu bestimmen, interpretieren wir die beiden Schritte der Grover-Iteration geometrisch. Nebenher entwickeln wir dabei ein alternatives Verst¨andnis von Grovers Algorithmus und den M¨ oglichkeiten von Quantenalgorithmen.
6.3 Eine geometrische Veranschaulichung
147
Die Spiegelung am Mittelwert der Amplituden ist implizit schon eine geometrische Operation. Allerdings haben wir sie bisher bez¨ uglich der einzelnen Amplituden betrachtet. Die Operation DN kann auch als eine Spiegelung im Raum der Zustandsvektoren angesehen werden. An der Matrix ⎞ ⎛ 2 2 −1 + N2 ... N N 2 2 ⎟ ⎜ −1 + N2 . . . N N ⎟ ⎜ DN = ⎜ ⎟ . .. .. . . . ⎠ ⎝ . . . . 2 2 2 . . . −1 + N N N
sehen wir:
⎛
1 N
...
1 N
...
⎜ DN = −IN + 2 · ⎝ ...
1 N
⎞
.. ⎟ . . ⎠
1 N
Das verdeutlicht nochmals, dass es sich um die Spiegelung am Mittelwert N−1 αi |i wird auf m handelt. Ein Vektor |v = ∑i=0 N−1
−|v + 2 ·
∑
i=0
αi (1, . . . , 1)T = −|v + (2m, . . ., 2m)T N
abgebildet, wobei m=
1 N−1 ∑ αi N i=0
der Mittelwert der Amplituden von |v ist. Wir interpretieren den Operator DN auf andere Weise. Zun¨achst betrachten wir das Skalarprodukt von |v mit der gleichverteilten Superposition 1 N−1 |s = √ ∑ |x. N x=0 Es gilt N−1
s | v =
∑
i=0
√ 1 √ αi = N · m. N
Wir gelangen also zum Mittelwert der Amplituden, indem wir s | v mit √1N multiplizieren. Multiplizieren wir statt dessen mit dem Vektor |s, ist das Ergebnis gerade N−1
|s s | v = m ·
∑ |x,
x=0
der Zustandsvektor dessen Komponenten s¨amtlich den Wert m haben. Wir betrachten s | als Abbildung eines Vektors |v auf das Skalarprodukt s | v und k¨ onnen die Spiegelung am Mittelwert wie folgt ausdr¨ ucken: Es gilt DN = −IN + 2|s s |.
148
6 Suchen
|s s | v
|v 2 · s | v |v − 2 · s | v · |s
Abbildung 6.8: Spiegelung von |v an der Hyperebene, auf der |s senkrecht steht
Rechnerisch ist das klar. Was aber bedeutet der Operator −IN + 2|s s | anschaulich? Wir betrachten zun¨achst die Negation −DN = IN − 2|s s |. Wir erinnern uns daran, dass |s s | x gerade die Projektion von |x auf den Unterraum ist, der von |s aufgespannt wird.1 Anschaulich ist n¨amlich s | x die L¨ange des |s-Anteils von |x; das ist sofort klar, wenn |s nicht die gleichverteilte Superposition, sondern ein Basisvektor ist. Damit zieht der Operator IN − 2|s s | – wie in Abbildung 6.8 – von einem Vektor |x zweimal die Projektion auf den von |s aufgespannten Raum ab! Die |sKomponente wird negiert, alles andere bleibt beim Alten, oder: |x wird an der Hyperebene gespiegelt, auf der |s senkrecht steht. Aufgabe 6.5: Untersuchen Sie IN − 2|s s | im zweidimensionalen Fall. Einmal f¨ ur die gleichverteilte Superposition und auch f¨ ur 0 |s = . 1 ˆ Interessant ist nun, dass V f im Falle des auf 1 abgebildeten Elements |x ebenfalls als Spiegelung im Raum der Zustandsvektoren aufgefasst werden kann. Gerade die Amplitude von |x ˆ wird negiert. Also gilt mit unseren Voraussetzungen ˆ xˆ |. V f = IN − 2|x V f spiegelt an der zu |x ˆ orthogonalen Hyperebene: die Komponente von |x ˆ wird negiert, der Rest bleibt erhalten. Wir bezeichnen mit Sv die Spiegelung an der Hyperebene Span{|v} ˆ ⊥ , die aus allen Vektoren besteht, die auf orthogonal zu |v sind. 1 Siehe
dazu Abschnitt A.2.4 im Anhang.
6.3 Eine geometrische Veranschaulichung
149
A2
α A1
Abbildung 6.9: Zwei Spiegelungen in der Ebene ergeben eine Drehung
Wir k¨ onnen die Negation der Grover-Iteration als Folge zweier Spiegelungen Ss und Sxˆ auffassen.
Zwei Spiegelungen sind eine Drehung −DN V f , die Negation der Grover-Iteration, ist eine Spiegelung an der Hyperebene Span{|x} ˆ ⊥ gefolgt von einer Spiegelung an Span{|s}⊥ . Der Algorithmus beginnt mit der Superposition |s. Bei der ersten Spiegelung wird die |x-Komponente ˆ negiert. Alle anderen Amplituden bleiben unver¨andert: das Ergebnis ist ein Vektor, der sich in der Ebene befindet, die von |s und |x ˆ aufgespannt wird. Wenn wir danach an Span{|s}⊥ spiegeln und die Spiegelungen wiederholen, verlassen wir diese Ebene nicht!
Wenden wir die Spiegelungen Ss Sxˆ wiederholt auf |s an, befindet sich jedes Zwischenergebnis in der Ebene, die von |s und |x ˆ aufgespannt wird, also in Span{|s, |x}. ˆ
Damit findet die gesamte Berechnung in einem zweidimensionalen Unterraum des Raumes der Zustandsvektoren statt. F¨ ur uns hat das die erfreuliche Konsequenz, dass wir Ergebnisse der ebenen Geometrie anwenden k¨onnen. Wie wirken zwei Spiegelungen in der Ebene? In Abbildung 6.9 wird ein Vektor an zwei Achsen A1 und A2 gespiegelt. α ist der Winkel zwischen den beiden Achsen; die beiden Spiegelungen entsprechen einer Drehung um den Winkel 2α. Das wenden wir auf die Spiegelungen Ss und Sxˆ und ihre Wirkung in der Ebene Span{|s, |x} ˆ an.
150
6 Suchen
|s
SsSxˆ|v
|v |x ˆ
Abbildung 6.10: Die Spiegelungen Ss Sxˆ wirken zusammen als Drehung in der von |s und |x ˆ aufgespannten Ebene Der Winkel zwischen den Spiegelachsen entlang |s⊥ und |xˆ⊥ ist gleich dem Winkel α zwischen den Vektoren |s und |x. ˆ F¨ ur diesen gilt2 1 cos α = s | x ˆ =√ . N Das bedeutet, dass der Winkel von dem gesuchten Element unabh¨angig ist. Grovers Algorithmus verf¨ahrt demnach dem Geiste nach wie folgt (siehe Abbildung 6.10): Wir beginnen mit der gleichverteilten Superposition ¨uber alle Datenbankelemente |s und drehen diesen Vektor in Richtung |x. ˆ Sind wir dem gesuchten Element nah genug, messen wir.
Aber einen Unterschied gibt es! Wir haben bisher Ss Sxˆ betrachtet. Grovers Algorithmus verwendet jedoch −Ss Sxˆ . Das hat folgenden Grund: F¨ ur großes N wird √1N sehr klein, folglich ist dann α nahe π beziehungsweise 180◦ . Eine Drehung um 2α ist sehr unbeholfen. Um −Ss zu verstehen, hilft uns erneut, dass unsere Spiegelungen in einem zweidimensionalen Unterraum wirken. Und dort gilt folgendes: Sei v ein beliebiger Vektor und v⊥ ein Einheitsvektor, der auf v senkrecht steht (es gibt genau zwei davon). Dann kann jeder Vektor u in Komponenten bez¨ uglich v und v⊥ zerlegt werden. Die Darstellung u = a · v + b · v⊥, wie in Abbildung 6.11 illustriert, ist eindeutig. An dieser Darstellung l¨asst sich die Wirkung von Sv gut erkennen: Sv ( a · v + b · v⊥) = −a · v + b · v⊥. 2 Siehe
Abschnitt A.2.3 im Anhang.
6.3 Eine geometrische Veranschaulichung
151
|u b · |v⊥
a · |v |v⊥
|v
Abbildung 6.11: Zerlegung des Vektors u
Das heißt oder
−Sv ( a · v + b · v⊥) = a · v − b · v⊥ −Sv = Sv⊥ .
−Ss Sxˆ entspricht demnach den Spiegelungen Ss Sxˆ⊥ und die Ebene, Span{|s, |x} ˆ wird ebensowenig verlassen, wie bei Ss Sxˆ . F¨ ur den neuen Drehwinkel β folgt cos β = s | xˆ⊥
oder
1 sin β = s | x ˆ =√ . N
Beispiel 6.1: Im Falle einer Datenbank mit N = 4 Elementen gilt sin β = 1/2. Der Winkel zwischen |s und |xˆ⊥ betr¨agt damit β = π6 oder 30◦ wie in Abbildung 6.12.
|x ˆ −SsSxˆ
π 3 π 6 ⊥
|xˆ
|s
Abbildung 6.12: Die Grover-Iteration in der Ebene im Fall N = 4. Eine Grover-Iteration dreht den Ausgangsvektor |s um den Winkel π3 . Danach ist der Zielvektor auch schon erreicht: der Winkel zwischen |xˆ⊥ und dem Bild von |s betr¨agt π6 + π3 = π2 .
152
6 Suchen Das Ergebnis einer Grover-Iteration steht also auf |xˆ⊥ senkrecht. Messen ergibt das gesuchte Element, und f¨ ur die Anzahl der Iterationen folgt G(4) = 1. ⋄ Bemerkung: Bei diesen Betrachtungen k¨onnte Verwirrung stiften, dass es zwei Vektoren gibt, die in der Ebene Span{|s, |x} ˆ auf |x ˆ senkrecht stehen. Das ¨andert allerdings zum einen nichts an der Spiegelachse; außerdem kann man sich ¨ uberlegen, dass der Ausgangsvektor tats¨achlich auf |x ˆ und nicht auf −|x ˆ gedreht wird. Außerdem liefern Messungen an |x ˆ und −|x ˆ identische Ergebnisse. ⋄ Allgemeine Analyse
Wie in Beispiel 6.1 l¨asst sich f¨ ur jedes N die Zahl G(N) genau bestim¨ men. Wirksam wird die Uberlegenheit eines Quantencomputers gegen¨ uber klassischen Rechnern bei Datenbanken mit vielen Elementen. Mit arcsin bezeichnen wir die Umkehrfunktion des Sinus, die mathematisch lax auch als ur großes N ist arcsin √1N fast gleich √1N , wie Absin−1 bezeichnet wird. F¨ bildung 6.13 verdeutlicht.
sin α
α
Abbildung 6.13: Umso kleiner α ist, desto n¨aher ist die L¨ange des Bogens bei sin α Im allgemeinen Fall betr¨agt der Winkel zwischen dem Anfangszustand |s und |xˆ⊥ also etwa √1N . Unser Ziel ist es, |s so weit zu drehen, dass das
Ergebnis auf |xˆ⊥ senkrecht steht. Nach T Grover-Iterationen hat der Winkel den Wert 1 (2T + 1) √ , N √ da jeder Iterationsschritt eine Drehung um etwa den Winkel 2/ N ist. Damit erhalten wir nach π√ N T= 4 Schritten den Winkel 1 π +√ . 2 N Das heißt, der dabei erhaltene Vektor steht auf |xˆ⊥ fast senkrecht. Beim Messen erhalten wir |x ˆ mit hoher Wahrscheinlichkeit, da wir uns in der von |s und |x ˆ aufgespannten Ebene befinden.
6.4 Varianten der Quantensuche F¨ ur großes N gilt G(N) ≈
153
√ π√ N=O N . 4
Die Gr¨ oße des Schaltkreises
√ Wir haben bewiesen, dass Grovers Algorithmus mit O N Orakelaufrufen auskommt. Das entspricht einer quadratischen Beschleunigung gegen¨ uber der klassischen Datenbanksuche im mittleren Fall. Wie groß ist der Schaltkreis f¨ ur Grovers Algorithmus? Dazu betrachten wir Abbildung 6.7. Das ussen uns keine Gedanken Orakel V f ist uns geliefert worden, und wir m¨ dar¨ uber machen, wie aufw¨andig die darin ausgef¨ uhrte Berechnung ist: es onnen wir mit n = logN lokalen z¨ahlt als ein Gatter. Die Operation −RN k¨ Gattern realisieren; das haben wir auf Seite 145 gesehen. Also gen¨ ugen f¨ ur einen Schritt der Grover-Iteration O (log N) Gatter und die Gr¨oße des ganzen Schaltkreise ist √ O logN · N .
6.4 Varianten der Quantensuche Lov Grovers urspr¨ ungliche Arbeit hat eine große Zahl weiterer Untersuchungen nach sich gezogen. Diese zeigen, wie Grovers Grundidee an verwandte Problemstellungen angepasst werden kann. Dieser Abschnitt pr¨asentiert Verfahren f¨ ur die Suche in einer Datenbank, in der mehrere Elemente dem Suchkriterium entsprechen und die Suche nach dem kleinsten Element eines Feldes. Abschließend zitieren wir ein Ergebnis, das sich mit dem Z¨ahlen der markierten, also dem Suchkriterium entsprechenden Elemente, in einer Datenbank befasst.
6.4.1 Suche nach einer von mehreren L¨ osungen Hilft Grovers Idee auch, wenn mehrere Elemente der Datenbank das Ergebnis unserer Suche sein k¨ onnen? Angenommen, wir haben die Telefonnummer einer Wohngemeinschaft bekommen, und diese Nummer ist unter den Namen aller vier Mitglieder verzeichnet. Im klassischen Fall wird die Aufgabe dadurch einfacher: um einen der vier Eintr¨age zu finden, ist die erwartete Anzahl der Datenbankaufrufe ein Viertel der Versuche, die eine Suche nach nur einem markierten Eintrag erwarten l¨asst. Bei der Quantensuche ist es genauso. Seien xˆ1 , . . . , xˆk die gesuchten Elemente. In der Grover-Iteration wird die Spiegelung Sxˆ durch Sx˜ ersetzt mit 1 k |x ˜ = √ ∑ |xˆi . k i=1 Wir spiegeln also an der Hyperebene, auf der die gleichgewichtete Superposition aller gesuchten Elemente senkrecht steht.
Aufgabenstellung
Analyse
154
6 Suchen ¨ Aufgabe 6.6: Uberlegen Sie sich, wie man die Spiegelung an der zu x˜ orthogonalen Hyperebene ausf¨ uhren kann. Nun kann man mit dem Ansatz des letzten Abschnitts die Anzahl der Schritte bestimmen, mit der wir |x ˜ erreichen. Zun¨achst gilt s | x ˜ =
√ 1 k · √ = sin β N
f¨ ur den Winkel β zwischen den Spiegelachsen. Es folgt β≈
k N
wenn k/N klein ist. Die erste Grover-Iteration dreht den Ausgangsvektor |s um den Winkel 2β in Richtung |x. ˜ Nach π T≈ 4
N k
Wiederholungen sind wir nah am Ziel. Messen ergibt eines der gesuchten Elemente. Interessant ist der Fall, in dem genau ein Viertel der Elemente gesucht sind: Aufgabe 6.7: Zeigen Sie, dass wir im Fall k = N/4 nach einer GroverIteration eine L¨ osung finden. Algorithmus zur Suche nach mehreren Elementen Der Algorithmus
Spezifikation: Gegeben sind eine Menge {0, . . . , N − 1} mit N = 2n und das Orakel U f einer Funktion f ; f bildet genau k Elemente xˆ1 , . . . , xˆk auf 1 ab und alle anderen Elemente auf 0. Wir setzen voraus, dass k ≤ 3/4N ist. Eines der Elemente xˆ1 , . . . , xˆk ist zu bestimmen.
1. Beginne mit der gleichverteilten Superposition: R ← Hn |0 . . . 0 2. Wende G(N, k)-mal die Grover-Iteration auf R an: R ← −Hn RN HnV f |x 3. Miss R und gib das Ergebnis aus.
F¨ ur die Zahl der Iterationen folgt mit der Betrachtung zu Beginn dieses Unterabschnitts:
6.4 Varianten der Quantensuche G(N, k) ist diejenige ganze Zahl, die am n¨achsten an 1 π arcsin N/k − 4 2
liegt. Falls N deutlich gr¨ oßer als k ist, gilt π N . G(N, k) ≈ 4 k
Was tun wir, wenn k > 3/4N ist? Dann w¨ahlen wir zuf¨allig ein Element x aus und berechnen f (x). Die Wahrscheinlichkeit f¨ ur f (x) = 1 ist gr¨oßer 3/4. ¨ Aufgabe 6.8: Uberlegen Sie sich, wie wir alle gesuchten Elemente aufz¨ahlen k¨ onnen.
6.4.2 Suche bei unbekannt vielen L¨ osungen Wir haben beim letzten Algorithmus vorausgesetzt, dass die Anzahl der L¨ osungen bekannt ist. Das ist aber in der Praxis nicht immer gegeben: dann ist es nicht m¨ oglich, die korrekte Anzahl der Iterationen zu bestimmen. Abhilfe schafft ein Verfahren, das nach seinen Sch¨ opfern Michel Boyer, Gilles Brassard, Peter Høyer und Alain Tapp als G-BBHT-Suche bezeichnet wird [20]. Die Anzahl der Iterationen wird geraten. Wir testen nach Abschluss der Berechnung, ob der Algorithmus das gesuchte Element geliefert hat, indem wir in der Datenbank nachsehen. Falls das Ergebnis nicht korrekt war, versuchen wir es mit einer anderen Zahl. Die erwartete Laufzeit ist dabei nicht schlechter, als bei bekannter Anzahl k. Es ist demnach nicht sehr wahrscheinlich, die Zahl der Iterationen schlecht zu raten. Die G-BBHT-Suche Spezifikation: Gegeben sind eine Menge {0, . . . , N − 1} mit N = 2n und das Orakel U f einer Funktion f ; f bildet genau k Elemente xˆ1 , . . . , xˆk auf 1 ab und alle anderen Elemente auf 0. Die Zahl k ist uns nicht bekannt. Eines der Elemente xˆ1 , . . . , xˆk ist zu bestimmen.
155
156
6 Suchen
1. W¨ahle zuf¨allig ein x ∈ {0, 1}n. Falls f (x) = 1, gib x aus und stoppe. √ 2. W¨ahle r, die Zahl der Iterationen zuf¨allig aus 1, . . . , N. 3. Beginne mit der gleichverteilten Superposition: R ← Hn |0 . . . 0 4. Wende r-mal die Grover-Iteration auf R an: R ← −Hn RN HnV f R 5. Miss R und werte f f¨ ur das Ergebnis x aus: Ist f (x) = 1 gib x aus und stoppe. Anderenfalls, beginne erneut mit Schritt 1.
Das Auswerten eines zuf¨allig ausgew¨ahlten Elementes zu Anfang dient folgendem Zweck: falls k ≥ 3/4N ist, finden wir in diesem Schritt mit hoher Wahrscheinlichkeit eines der gesuchten Elemente. Die Analyse in [20] zeigt, dass nach dem ersten Durchlauf des Algorithmus mit Wahrscheinlichkeit gr¨ oßer als 1/4 eine L¨osung gefunden wird. Also ist die erwartete Anzahl der Ausf¨ uhrungen der Schritte 1-5 gerade 4, wie sich aus dem Erwartungswert der geometrischen Verteilung ergibt. Die erwartete √ Laufzeit ist also gerade O N , auch wenn wir die Zahl der Iterationen raten. Geht man etwas cleverer vor, kommt man mit O (N/k) Orakelaufrufen aus. Man beginnt mit einer Iteration und steigert die Zahl der Wiederholungen von Fehlversuch zu Fehlversuch langsam. Konkret w¨ahlt man diese zuf¨allig aus einer Menge {1, . . . , m}. Zu Beginn ist m = 1, m steigert sich vor jeder neuen Wahl um den Faktor 6/5. Wir fassen dieses Ergebnis zusammen, ohne auf Details einzugehen: In einer Datenbank sind k Elemente markiert, die Zahl k ist jedoch unbekannt. Dann findet die G-BBHT-Suche eines der Elemente mit der erwarteten Anzahl von Orakelaufrufen O (N/k).
6.4.3 Die Suche nach dem Minimum In einem Feld soll das kleinste Element bestimmt werden. Dies ist mit einem Quantenalgorithmus m¨ oglich, der mit unseren Kenntnissen ¨uber Grovers Algorithmus leicht zu verstehen ist. W¨ahrend die bisherige Quantensuche lokal ist – ein bestimmter Eintrag ist gesucht, unabh¨angig von den Eigenschaften anderer Elemente – ist f¨ ur die Suche nach dem Minimum eine globale Eigenschaft ausschlaggebend; die Eigenschaft, kleinstes Element zu sein, h¨angt
6.4 Varianten der Quantensuche von dem gesamten Feld ab. Die geschilderte Aufgabe l¨asst sich mit einem von Christoph D¨ urr und Peter Høyer (1996) stammenden Algorithmus l¨osen, der nat¨ urlich leicht f¨ ur die Suche nach dem Maximum abgewandelt werden kann. Algorithmus zur Suche nach dem Minimum • Eingabe ist ein Orakel U, das auf ein Feld T [0], . . . , T [N − 1], N = 2n , zugreift. U kennzeichnet alle Indizes i aus 0, . . . , N − 1 als markiert, f¨ ur die T [i] < T [ j] f¨ ur einen Schrankenindex j gilt. • Wir rechnen mit zwei Quantenregistern |x|y der L¨ange n und einem Hilfsbit |h. Mit dem Orakel U : |x|y|h → |x|y|h ⊕ f (x, y), 1 falls T [x] < T [y] f (x, y) = 0 sonst.
wird die im letzten Abschnitt beschriebene G-BBHT-Suche ausgef¨ uhrt. |y speichert dabei das Zwischenergebnis, das kleinste bisher gefundene Element. • Das Orakel wird GDH (N)-mal aufgerufen; diesen Wert geben wir im Anschluss an. • Ausgabe ist das kleinste Element des Feldes.
1. W¨ahle einen zuf¨alligen Feldindex j als anf¨anglichen Schrankenindex. Setze |y ← | j. 2. F¨ uhre die folgenden Schritte aus, bis GDH (N)-mal auf T zugegriffen wurde: 2.1. |x ← |0 . . . 0
2.2. F¨ uhre die G-BBHT-Suche auf dem Register |x mit dem Quantenorakel U aus. 2.3. Miss Register |x. Gilt f¨ ur das Ergebnis i, dass T [i] < T [y], setze |y ← |i.
3. Miss Register |y und gib das Ergebnis aus.
In Schritt 2.2 wird von allen Feldelementen, die kleiner als die Schranke T [y] sind, eines zuf¨allig ausgew¨ahlt (dass Grovers Algorithmus und damit die G-BBHT-Suche manchmal ein falsches Ergebnis liefert – wenn auch mit geringer Wahrscheinlichkeit – wird durch den Test in Schritt 2.3 abgefangen).
157
158
6 Suchen
Wie das Orakel umsetzen?
Ist die Definition des in Schritt 2.2 verwendeten Orakels auch f¨ ur die Praxis sinnvoll? Um diese Frage zu beantworten gehen wir davon aus, , dass uns das Feld T selbst als Orakel UT : |i|0 → |i|T [i] gegeben ist. Um daraus das im Algorithmus verwendete Orakel U zu konstruieren, verwenden wir ein drittes n-Bit-Register |z, dem Feldinhalte T [i] zugewiesen werden. Nun k¨ onnen wir aus klassischen (reversiblen) Gattern einen Vergleich zwischen dem Schrankenelement und dem Hilfsregister vornehmen. Ein weiteres Hilfsbit speichert das Ergebnis des Orakelaufrufs. Wir verwenden also insgesamt 3n + 1 Quantenbits |x|y|0|0. In einem ersten Schritt wendet U das Feldorakel UT mit Ergebnis |x|y|T [x]|0
Laufzeit
an. Danach werden T [x] und T [y] verglichen; ist T [x] kleiner, wird das letzte Bit negiert. Da so ein Vergleich klassisch m¨oglich ist, k¨onnen wir ihn auch in einen Quantenschaltkreis integrieren. Ist eine Funktion f : {0, 1}n → {0, 1} durch einen Schaltkreis gegeben, k¨ onnen wir mit dem beschriebenen Verfahren die Eingabe mit dem minimalen Funktionswert finden. Analysiert man den Algorithmus √ zur Suche nach dem Minimum, ergibt sich, dass mit GDH (N) = O N Orakelzugriffen in mehr als der H¨alfte der F¨alle das Minimum gefunden wird. Aus Platzgr¨ unden m¨ ussen wir uns mit einigen, das Ergebnis veranschaulichenden Hinweisen begn¨ ugen und f¨ ur Details auf die Ursprungsarbeit [34] verweisen. Angenommen, wir f¨ uhren den Algorithmus unendlich lange aus. Wie groß ist die Wahrscheinlichkeit, dass irgendein Element T [i] jemals zur Schranke y wird? Es l¨asst sich beweisen: Wenn es t − 1 kleinere Elemente als T [i] gibt, wird T [i] mit Wahrscheinlichkeit 1/t jemals zur Schranke. Wenn nun f¨ ur unsere Schranke y gilt, dass t − 1 Elemente kleiner sind, k¨ onnen wir ein solches mit der G-BBHT-Suche in Zeit N O t −1 finden. Damit ergibt sich f¨ ur die erwartete Zahl an Feldzugriffen √ N 1 √ N N 1 ∑ t O t − 1 = O N · ∑ t √t = O N . t=2 t=2
Anwendungen
Die Quantensuche nach dem Minimum eines Feldes ist f¨ ur Graphalgorithmen verwendbar. In [33] wird unter anderem das Problem Single Source Shortest Path untersucht: in gewichteten Graphen sollen k¨ urzeste Wege bestimmt werden. Im klassischen Fall muss Θ(n2 ) oft auf die Kantengewichte zugegriffen werden, w¨ahrend im Quantenfall O n3/2 logn Aufrufe gen¨ ugen. Es wird außerdem gezeigt, dass Quantenalgorithmen f¨ u r dieses Problem min otigen. destens Ω n3/2 Zugriffe ben¨
6.5 Anwendungen von Grovers Algorithmus
159
6.4.4 Z¨ ahlen Brassard, Høyer und Tapp haben in einer Arbeit von 1998 einen Algorithmus vorgestellt, der die Anzahl der markierten Elemente in einer Datenbank ermittelt. Ein klassischer Algorithmus braucht f¨ ur diese Aufgabe Θ(N) Anfragen, wenn N die Gr¨ oße der Datenbank ist. In einer Datenbank oße N l¨asst sich die Anzahl der markierten Gr¨ √ der Elemente mit O N Anfragen ermitteln. Auf den ersten Blick erscheint dieses Ergebnis noch u ¨berraschender als das u ber die Quantensuche. Wir z¨ a hlen mit weniger Schritten, als es zu ¨ z¨ahlende Elemente gibt. Aber wir wissen bereits, dass ein Quantenorakel auf alle Elemente zugleich zugreifen kann. Somit k¨ onnten wir ebensogut fragen: Geht das nicht schneller? Diese Frage stellen wir f¨ ur die Quantensuche in Abschnitt 6.6. Wir beschr¨anken uns darauf, die Grundidee des Quantenz¨ahlens anzudeuten. Der Quantenz¨ahlalgorithmus verbindet Ideen von Grovers Algorithmus und Shors Algorithmus, Kapitel 8. Wir haben John Preskill zitiert, der Grovers Algorithmus mit einem Souffl´e vergleicht. W¨ahrend des Backens geht dies langsam auf, wird die Backzeit ¨ uberschritten, f¨allt es in sich zusammen. Zu viele Grover-Iterationen entfernen den aktuellen Zustand von dem Ziel der Rechnung. Irgendwann sind wir so schlau wie zu Beginn. Im Unterschied zu dem Souffl´e verbessert sich das Ergebnis in der Quantensuche jedoch, wenn wir an dieser Stelle zu rechnen fortfahren. Die Amplituden entwickeln sich periodisch. Ebenso ist die Amplitude der Menge aller gesuchten Elemente eine periodische Funktion in der Anzahl der Iterationen. Wenn nun k Eintr¨age der Datenbank gesucht beziehungsweise markiert sind, h¨angt die Periode von der Zahl k ab. Der Kern von Shors Algorithmus ist das schnelle Auffinden der Periode einer ganzzahligen Funktion.
6.5 Anwendungen von Grovers Algorithmus Zu Beginn dieses Kapitels haben wir verschiedene Anwendungen von Grovers Suchalgorithmus betrachtet. Als anschaulicher Oberbegriff diente uns die Datenbanksuche. Aber wie k¨ onnen wir die Quantensuche konkret nutzen? Durchforsten bald Quantensuchmaschinen das Internet? Der Knackpunkt ist, dass wir bisher das Datenbankorakel U f vorausgesetzt haben, ohne uns Gedanken ¨ uber dessen Realisierung zu machen.
Quanten-Z¨ahlen
160
6 Suchen Quantendatenbanken
Eine Quantendatenbank ist nach unserem bisherigen Verst¨andnis ein Quantenschaltkreis, der das zugeh¨orige Datenbankorakel realisiert. Denn Grovers Algorithmus sucht letztlich in der Ergebnismenge eines ihm ¨ubergebenen Algorithmus. Diesen Umstand sollten wir im Auge behalten, wenn wir praktische Anwendungen von Grovers Idee untersuchen.
Klassische Datenbanken
Es ist prinzipiell m¨ oglich, mit dem Quantenalgorithmus auch klassische Datenbanken zu durchsuchen, vorausgesetzt: solch eine Datenbank ist u ¨ber ein Quantenadressierungssystem ansprechbar, das auf jeden Eintrag direkt zugreifen kann. Schon die Beschreibung macht deutlich, dass so ein Adressierungssystem aufw¨andig zu bauen ist. Ob dieser Ansatz eine reale Option ist, h¨angt von der zuk¨ unftigen Quantenhardware und deren Preis ab. Eine detailliertere Darstellung findet sich in [69].
Optimierungsprobleme
Bereits zu Beginn des Kapitels wurden Optimierungsprobleme erw¨ahnt, auch die Entscheidungsvariante des Problems des Handlungsreisenden (TSP). Wir sollen entscheiden, ob es f¨ ur das uns u ¨bergebene Ensemble von n St¨adten eine Rundreise k¨ urzer als eine Konstante k gibt. Ein Orakel, das Grovers Algorithmus anwendbar macht, erwartet eine aus zwei Teilen bestehende Eingabe: • die Abst¨ande zwischen den St¨adten und die Schranke k: die Problemspezifikation und • eine Rundreise, also die Reihenfolge in der die St¨adte besucht werden. Die Ausgabe des Orakels ist 1, wenn die Rundreise k¨ urzer als k ist, und 0 sonst. Es ist leicht, einen effizienten klassischen Algorithmus anzugeben, der die beschriebene Aufgabe erledigt. Mit dem Ergebnis von Abschnitt 3.5 k¨ onnen wir daraus einen Quantenschaltkreis konstruieren, der als Orakel effizient einsetzbar ist. F¨ ur eine Eingabe des Problems des Handlungsreisenden findet dann die G-BBHT-Suche eine Rundreise k¨ urzer k mit Laufzeit √ O N , wenn N die Zahl der Rundreisen ist. Die Suche nach dem Minimum aus Abschnitt 6.4.3 findet mit einem entsprechenden Orakel sogar die k¨ urzeste Rundreise.
NP-Probleme
Die eben betrachtete Entscheidungsvariante des Problems des Handlungsreisenden liegt in der Komplexit¨atsklasse NP. Grovers Algorithmus ist f¨ ur viele a¨hnliche Optimierungsprobleme anwendbar und grunds¨atzlich f¨ ur jedes Problem in der Klasse NP. Ein Problem ist gerade dann in NP, wenn eine L¨ osung mit Hilfe eines Zertifikats in polynomialer Zeit verifiziert werden kann (siehe Abschnitt 4.3). Um tats¨achlich an das Zertifikat zu gelangen, muss man die Menge aller m¨ oglichen Zertifikate untersuchen. Diese Menge kann von exponentieller Gr¨ oße sein, weshalb man allgemein annimmt, dass es Probleme in NP gibt, die nicht effizient berechenbar sind, die sogenannten NP-vollst¨andigen Probleme (Abschnitt 4.3). Mit einem ¨ahnlichen Ansatz, wie f¨ ur das Problem des Handlungsreisenden, k¨onnen Quantensuchalgorithmen das Auffinden eines Zertifikats immerhin quadratisch beschleunigen. Allerdings ergibt sich daraus nicht in allen F¨allen ein effizienter Algorithmus. Zudem gibt es Hinweise, dass nicht alle Probleme in NP von Quan-
6.6 Grovers Algorithmus ist von optimaler Gr¨ oßenordnung
161
tenalgorithmen effizient gel¨ ost werden k¨ onnen. Dieser Frage sind die beiden n¨achsten Abschnitte gewidmet. Allgemein kann Grovers Methode verwendet werden, um zu einer Berechnung ein Ergebnis mit bestimmten Eigenschaften zu bestimmen: die Berechnung wird als Quantenorakel verwendet, das die gew¨ unschten Ergebnisse auf 1 abbildet. Damit eignen sich Quanten-Suchalgorithmen als Grundbestandteil von Quantenalgorithmen f¨ ur verschiedene Probleme.
Algorithmenentwicklung
6.6 Grovers Algorithmus ist von optimaler Gr¨ oßenordnung Mit Quantenrechnern l¨asst sich ein einzelnes Datenbankelement schneller finden als mit klassischen Rechnern. Die Beschleunigung ist quadratisch, und zwar auch f¨ ur die Varianten des Ausgangsproblems, die wir im letzten Abschnitt kennengelernt haben. Außerdem ist die Idee sehr einfach. Man k¨onnte vermuten, mit raffinierteren Ideen ließe sich eine noch gr¨oßere Beschleunigung erreichen: der Traum vieler Informatiker w¨are ein Suchalgorithmus, der aus N Datenbankelementen das gesuchte in Zeit O (logN) finden k¨onnte. Die Auswirkungen, die solch ein Algorithmus h¨atte, werden wir im n¨achsten Abschnitt studieren. Allerdings ist das nicht m¨ oglich! Grovers Algorithmus ist optimal; zumindest was die Gr¨ oßenordnung der Laufzeit gemessen in der Anzahl der Orakelaufrufe betrifft. Um uns die Analyse zu vereinfachen, erweitern wir das Modell der Suche in einer Datenbank mit N Elementen etwas. Die Eingaben sind Schaltkreise f¨ ur Orakelfunktionen, die genau ein Element auf 1 abbilden, oder das leere Orakel, das alle Elemente auf 0 abbildet. Das leere Orakel modelliert eine Datenbank, in der kein Element unserem Suchkriterium entspricht. Wir zeigen zun¨achst, dass Grovers Algorithmus auch dieses leicht erweiterte Problem l¨ ost. Wie verh¨alt sich dieser, wenn die Eingabe die leere Datenbank ist? Der Anfangszustand |s wird durch eine Groveriteration auf −|s abgebildet. Das Ergebnis der abschließenden Messung ist also ein Zufallselement. Wir betrachten zun¨achst einen Fall, in dem Grovers Algorithmus die Fehlerwahrscheinlichkeit 0 hat, zum Beispiel N = 4 (siehe Beispiel 6.1). Wir f¨ uhren den Algorithmus zweimal aus. Sind die beiden Ergebnisse verschieden, ist die Eingabe das leere Orakel. Ist das Ergebnis in beiden Ausf¨ uhrungen dasselbe, etwa a, argumentieren wir wie folgt: Handelt es sich um das leere Orakel, ist die Wahrscheinlichkeit f¨ ur dieses Ergebnis nur N1 . Die Aussage Die Eingabe ist nicht das leere Orakel und das gesuchte Element ist a“ hat ” beschr¨ankten Fehler. Durch weitere Ausf¨ uhrungen des Algorithmus l¨asst sich der Fehler weiter verringern. F¨ ur ein N, bei dem die Erfolgswahrscheinlichkeit nicht 1, sondern nur groß“ ist, k¨ onnen wir ganz ¨ahnlich vorgehen. ”
Erweiterte Suche
162
6 Suchen Ziel des Abschnitts
Beweisansatz
Die allgemeine Form der Quantensuche
Jeder zur Datenbanksuche ben¨otigt mindestens √ Quantenalgorithmus Ω N Datenbankanfragen. In diesem Sinne ist Grovers Algorithmus optimal. Um diese Aussage zu beweisen, m¨ ussen wir unser mathematisches Instrumentarium etwas abstrakter handhaben als bei den bisherigen Analysen. Die Beweisidee ist allerdings nicht schwierig. Wir m¨ ussen eine Behauptung u ur un¨ber jeden m¨oglichen Algorithmus f¨ ser Problem beweisen. Wir nehmen an, wir haben einen Algorithmus A f¨ ur die Datenbanksuche. Er ist uns als Quantenschaltkreis gegeben. An diesem Schaltkreis interessiert uns nur eines: Wie oft wird das Datenbankorakel U f aufgerufen? Diese Anzahl bezeichnen wir als T , da die Datenbankaufrufe der uns interessierende Aspekt der Laufzeit sind. Unser Ansatz funktioniert f¨ ur alle Weisen, auf die das Orakel implementiert sein kann; wir diskutieren das am Ende des Abschnitts. Wie sieht eine Berechnung von A aus, die Orakel U f als Eingabe bekommen hat? A ruft T -mal das Orakel auf und f¨ uhrt dazwischen beliebige Berechnungen aus. Die Berechnungen zwischen den Orakelaufrufen k¨onnen wir zu jeweils einer unit¨aren Transformation zusammenfassen: mit Ui bezeichnen wir die unit¨are Transformation, die vor dem i-ten Aufruf des Orakels ausgef¨ uhrt wird. Wir beginnen mit einem beliebigen Startzustand |φ0 . Unsere Berechnung ist dann von der Form UT ·U f ·UT −1 ·U f · · . . . ·U1 ·U f |φ0 .
Anforderungen
(6.2)
Das ist tats¨achlich die Grundform aller m¨oglichen Algorithmen zur Suche mit einem Datenbankorakel. Die Transformationen UT , . . . ,U1 bestimmen die Art, in der gesucht wird. Ein Algorithmus wie in Formel (6.2) beschrieben, muss f¨ ur alle m¨oglichen Eingaben, sprich Datenbankorakel, die richtige L¨osung mit ausreichend hoher Wahrscheinlichkeit liefern. Was heißt das allgemein? Grovers Algorithmus erf¨ ullt diese Bedingung. Es k¨onnte allerdings andere Algorithmen geben, die ein Ergebnis liefern, aus dem man indirekt die richtige L¨osung erschließen k¨ onnte. Allgemein ausgedr¨ uckt: die Ergebnisse nach Berechnungen mit verschiedenen Eingaben m¨ ussen unterscheidbar sein. In Abschnitt 3.6 haben wir gesehen, dass nur orthogonale Vektoren vollst¨andig unterscheidbar sind. Sei vx die Ausgabe des Algorithmus, wenn x gesucht ist. Bildet die Menge aller vx , x ∈ {0, 1}n eine Basis, messen wir bez¨ uglich dieser Basis. Aus dem Ergebnis k¨ onnen wir das gesuchte Element erschließen. Wir verfolgen einen etwas anderen Ansatz und fordern von einem anwendbaren Quantensuchalgorithmus: f¨ ur je zwei verschiedene Ergebnisse vx und vy muss der Abstand
vx − vy
durch eine Konstante c beschr¨ankt sein, also von N unabh¨angig. Man kann sich anschaulich vorstellen, dass orthogonale Vektoren immer einen großen
6.6 Grovers Algorithmus ist von optimaler Gr¨ oßenordnung
163
Abstand haben. Somit ist konstant beschr¨ankter Abstand eine Minimalforderung an unseren Algorithmus, damit sich verschiedene Ergebnisse mit ausreichend großer Wahrscheinlichkeit unterscheiden lassen. Außerdem l¨asst sich zeigen, dass sich zwei Zust¨ande nur dann mit konstanter Wahrscheinlichkeit unterscheiden lassen, wenn sie konstant weit auseinander liegen: Ist der Abstand zweier Vektoren gering, so liegen auch die Projektionen auf die Achsen einer Messbasis dicht beieinander, und messen liefert f¨ ur beide Vektoren ¨ahnliche Ergebnisse, egal welche Basis zu Grunde liegt. Konstante Wahrscheinlichkeit meint das folgende: Legen wir die gleichverteilte Superposition zu Grunde, erhalten wir beim Messen jedes |x mit Wahrscheinlichkeit N1 ; dieser Wert wird mit wachsendem N immer kleiner. Erkennen wir nun |x ˆ f¨ ur eine konstante, also von N unabh¨angige Wahrscheinlichkeit, haben wir einen großen Fortschritt gemacht (siehe auch Abschnitt 4.2). Andererseits ist das klarerweise eine Mindestforderung an unseren Suchalgorithmus. √ Jeder Algorithmus A zur Datenbanksuche ben¨ otigt Ω N Schritte, um |x ˆ mit einer konstanten Wahrscheinlichkeit p > 0 zu bestimmen. Wir haben bereits gesehen, dass ein beliebiger Quantenalgorithmus A von der in (6.2) beschriebenen Form ist. Welche Transformationen U1 , . . . ,UT gew¨ahlt sind, legt das Vorgehen eines konkreten Suchalgorithmus A fest. Wir untersuchen einen solchen gegebenen Algorithmus A genauer und ermitteln ein zu suchendes Element x, ˆ f¨ ur das dieses festgelegte ung¨ unstig √Vorgehen ur die also ur die T = Ω N gilt; f¨ ist. Wir konstruieren eine Eingabe Ug , f¨ √ das gesuchte Element |x ˆ erst nach Ω N Aufrufen des Orakels Ug mit positiver Wahrscheinlichkeit erkannt wird. Um A zu untersuchen, entnehmen wir die Orakelaufrufe und setzen daf¨ ur die Identit¨at IN ein: UT · IN ·UT −1 IN · · . . . ·U1 IN · |φ0 . Wir erhalten einen Algorithmus, den wir A0 nennen. Er ist von der Eingabe unabh¨angig, und wir werden ihn in der Folge mit A vergleichen. Wir ermitteln ein Datenbankelement, das zu den Zeitpunkten, zu denen in A das Orakel aufgerufen wird, eine sehr kleine Amplitude hat. Dabei hilft folgende Definition: F¨ ur ein Datenbankelement |x und einen Zeitpunkt t ≤ T ist αt,x die Amplitude von |x nach t Schritten, also die im Zustand Ut · IN ·Ut−1 IN · · . . . ·U1 · IN |φ0 . Die Summe der Wahrscheinlichkeiten f¨ ur unser |x u ¨ber die ganze Berechnung bezeichnen wir als T
ax = ∑ |αt,x |2 . t=1
Beweisidee
164
6 Suchen Als Summe von Wahrscheinlichkeiten ist
∑
ax = T.
x∈{0,1}n
Nach dem Schubfachprinzip3 gibt es einen Datenbankeintrag |x ˆ mit axˆ ≤ T /N. Aus diesem |x ˆ konstruieren wir eine Eingabe f¨ ur A: wir definieren das Orakel Ug als jenes, f¨ ur das |x ˆ das gesuchte Element ist. Wir k¨ onnen die Ergebnisse u ¨ber gest¨orte Berechnungen aus Abschnitt 3.7 anwenden, um die Zust¨ande w¨ahrend der Berechnung von Algorithmus A mit der Eingabe Ug mit den Zwischenzust¨anden von A0 zu vergleichen. Dazu fassen wir einen Schritt des Algorithmus A der Form UiUg als eine fehlerhafte“ Abweichung von dem entsprechenden Schritt in A0 ” Ui IN auf und untersuchen, wie sich die Abweichungen summieren. Da wir wissen, wie die Auswirkung einer tats¨achlich fehlerhaften Berechnung beschr¨ankt ist, ist auch der w¨ unschenswerte Unterschied zwischen den Ergebnissen von A0 und A beschr¨ankt und wird erst bei langer Laufzeit hinreichend groß. Sei |φt das Zwischenergebnis der ungest¨orten Berechnung“ ohne Orakel ” nach t Schritten: |φt = Ut IN Ut−1 . . .U1 IN |φ0 . Dann gilt
Ug |φt − IN |φt ≤ 2 · |αt,xˆ|.
(6.3)
Denn Ug und IN unterscheiden sich nur hinsichtlich ihres Verhaltens auf der Komponente |x. ˆ In der gewohnten Form als Vg zum Beispiel nimmt Orakel Ug hier einen Vorzeichenwechsel vor; die anderen Komponenten werden wie von IN nicht ver¨andert.4 Wir wenden an, dass sich der Fehler“ nur addiert (siehe Abschnitt 3.7): ” Sei |ψ0 der Endzustand nach der Rechnung mit dem Orakel IN und |ψxˆ derjenige der Berechnung mit Ug . Dann gilt T √
|ψxˆ − |ψ0 ≤ 2 ∑ |αt,xˆ | ≤ 2T / N. t=1
Verwendet wurde Gleichung (6.3) und die Tatsache, dass aus T
∑ |αt,xˆ |2 ≤ T /N
(6.4)
t=1 3 Siehe 4
Abschnitt A.4 im Anhang. Die Ungleichung gilt f¨ ur jede Form, in der das Orakel gegeben sein kann: siehe Bemerkung 1 am Ende des Abschnitts.
6.6 Grovers Algorithmus ist von optimaler Gr¨ oßenordnung
165
die Ungleichung T
∑ |αt,xˆ | ≤ T /
√ N
t=1
folgt, siehe Bemerkung 2. Wir haben eingangs gefordert, dass |ψxˆ − |ψ0 ≥ p gelten soll. Daraus folgt √ 2T / N ≥ p und wir erhalten T≥
√ p√ N =Ω N . 2
Zusammenfassung: F¨ ur jeden Quantensuchalgorithmus der Form (6.2) k¨ onnen wir eine Eingabe konstruieren ur die das Datenbankorakel), f¨ √(ein Ergebnis der Berechnung erst nach Ω N Schritten von einer Berechnung auf dem leeren Orakel (es gibt kein gesuchtes Element) unterschieden werden kann. Bemerkung 1: Bisher haben wir Orakel stets in der Form des bedingten Vorzeichenwechsels angewendet, siehe Seite 141. Wir wollen uns vergewissern, dass das Ergebnis dieses Abschnitts davon nicht abh¨angt. Allgemein verwendet ein Orakel wie folgt Eingabebits |x, ein Orakelbit |y und eventuell noch einige Hilfsbits |z. Darauf wirkt es als U f : |x|y|z → |x|y ⊕ f (x)|z. Hat vor dem Aufruf der Zustand |x|0|z die Amplitude α und |x|1|z die Amplitude β, so hat |x|0|z danach die Amplitude (1 − f (x))α + f (x)β und |x|1|z die Amplitude f (x)α + (1 − f (x))β. und die Absch¨atzung aus Gleichung (6.3) folgt. Bemerkung 2: Aus der Cauchy-Schwarzschen Ungleichung T
T
t=1
t=1
1
T
1
∑ |αt βt | ≤ ( ∑ |αt |2 ) 2 ( ∑ |βt |2 ) 2 t=1
folgt T 1 √ |α | ≤ ( t ∑ |αt |2 ) 2 · T , ∑ T
t=1
t=1
indem wir alle βt gleich 1 setzen. Damit folgt aus Gleichung (6.4), dass T
∑ |αt,xˆ | ≤
t=1
√ √ √ T/ N · T.
Allgemeine Form des Orakels
166
6 Suchen Bemerkung 3: Diese Bemerkung richtet sich an Leser mit großem Interesse an Komplexit¨atstheorie. Die eben pr¨asentierte untere Schranke f¨ ur die Quantensuche ist die einzige dieses Buches. Eine allgemeine Methode, untere Schranken f¨ ur Quantenalgorithmen abzuleiten, basiert wie im klassischen Fall auf dem Rang von Polynomen. Mit einem ¨ahnlichen Ansatz wie er in diesem Abschnitt im Anschluss an Formel (6.2) verfolgt wurde, kann zum Beispiel bewiesen werden, dass Ω (2n ) Aufrufe einer Black Box Funktion f n¨ otig sind, um zu entscheiden, ob | f −1 (1)| gerade ist. Siehe dazu etwa [6] oder die neuere Arbeit [3].
6.7 Folgen f¨ ur die F¨ ahigkeiten von Quantencomputern In diesem Kapitel wurde schon mehrfach erw¨ahnt, dass Quantensuchalgorithmen sehr unterschiedliche Aufgaben l¨osen k¨onnen, zum Beispiel Optimierungsprobleme. Letztlich kann jedes Berechnungsproblem als Suche in der Menge der m¨ oglichen L¨ osungen angesehen werden. Gesucht ist die tats¨achliche L¨ osung. Da Suchalgorithmen derart universell sind, hat das Ergebnis des letzten Abschnitts weitreichende Konsequenzen. Dass jeder Quantenal√ ur gorithmus zur Orakel-Datenbanksuche Ω N Anfragen ben¨otigt, ist f¨ die Frage relevant, ob Quantenrechner NP-vollst¨andige Probleme effizient l¨ osen k¨ onnen. Wir betrachten noch einmal das Problem des Handlungsreisenden: Gibt es zwischen n St¨adten eine Rundreise k¨ urzer einer Konstante k? Dieses Problem ist NP-vollst¨andig. Damit folgt: Ist es mit einem Quantenrechner effizient l¨ osbar, dann sind alle Probleme in NP mit effizienten Quantenalgorithmen berechenbar. In Abschnitt 6.5 haben wir ein darauf anwendbares Orakel konstruiert: Diesem wird eine Rundreise ¨ ubergeben. Das Orakel antwortet mit 1, wenn diese k¨ urzer als k ist; sonst mit 0. Mit diesem √ Orakel findet ein Quantenalgorithmus eine Rundreise k¨ urzer k mit Θ( N) Anfragen, wenn N die Anzahl der Rundreisen ist. Aber wie groß ist N? Zwischen n St¨adten gibt es 1 ·√2 · . . . · (n − 1) Rundreisen, N ist damit von der Gr¨oßenordnung Θ(nn ) und N ist immer noch eine verheerend große Zahl. Die quadratische Beschleunigung gen¨ ugt nicht, die Rundreise in allen F¨allen mit polynomialem Aufwand zu finden. Eine exponentielle Beschleunigung hingegen w¨ urde zu einem effizienten Algorithmus f¨ uhren: log nn = Θ(n logn). W¨are die Quantensuche mit einem Datenbankorakel in Laufzeit O (log N) m¨ oglich, k¨ onnten Quantenrechner alle Probleme in NP in Polynomialzeit l¨ osen. Die Folge w¨are NP ⊆ BQP. Nun haben wir im letzten Abschnitt √ bewiesen, dass dies unm¨oglich ist: Grovers Algorithmus mit der Laufzeit O N ist optimal.
6.7 Folgen f¨ ur die F¨ahigkeiten von Quantencomputern Wie in Abschnitt 4.3 beschrieben, gibt es eine große Zahl strukturell sehr verschiedener NP-vollst¨andiger Probleme. F¨ ur diese gilt nun: entweder ist kein NP-vollst¨andiges Problem mit Quantenalgorithmen effizient berechenbar (NP = BQP), oder alle Probleme in NP liegen auch in BQP (NP ⊆ BQP). Demnach l¨ osen Quantenrechner alle NP-vollst¨andigen Probleme oder keines. Dazwischen gibt es keine Alternative. Um alle zu l¨osen, m¨ ussen Quantenalgorithmen f¨ ur extrem unterschiedliche Probleme aus einer exponentiell großen Menge von m¨ oglichen L¨ osungen die korrekten herausfischen. Und zwar in Polynomialzeit! Das wirkt so, als m¨ usste man bei der unstrukturierten Suche mit O (logN) Anfragen auskommen, was ja nun ausgeschlossen ist. Wenn nun trotzdem NP ⊆ BQP gelten sollte, bedeutet das: Alle NPvollst¨andigen Probleme haben eine uns nicht bekannte gemeinsame Struktur, auf die die F¨ahigkeiten von Quantenrechnern zugeschnitten sind; diese Struktur erkennen wir, wenn wir f¨ ur ein solches Problem einen effizienten Quantenalgorithmus finden. Die meisten Komplexit¨atstheoretiker glauben nicht an die Existenz einer solchen Struktur und vermuten, dass Quantenrechner NP-vollst¨andige Probleme nicht l¨ osen k¨onnen. Aber solange nichts bewiesen ist, ist die Frage ob NP ⊆ BQP oder NP = BQP. offen.
167
169
7 Geheime Botschaften Die Welt ist alles, was der Fall ist, und auch alles, was der Fall sein kann. Anton Zeilinger
Wie kann ich vertraulich kommunizieren und sichergehen, dass nur der Adressat meiner Nachricht Kenntnis von dieser erlangt? Diese Frage l¨asst sich bis in die Antike zur¨ uckverfolgen und spielte insbesondere f¨ ur das Milit¨ar eine wichtige Rolle. Die heutige Welt ist von Datenfern¨ ubertragung, Internet und elektronischer Speicherung von pers¨ onlichen Daten gepr¨agt. Somit werden Verschl¨ usselungsmethoden auch f¨ ur Privatpersonen immer wichtiger. Quantenverfahren bieten sich aus zwei Gr¨ unden f¨ ur die sichere Daten¨ ubermittlung an: Quantenbits lassen sich nach dem No-Cloning-Theorem nicht kopieren, sofern die m¨ oglichen Zust¨ande nicht orthogonal sind. Heimliches Belauschen einer Nachricht ist im Grunde ein Versuch, diese zu kopieren. M¨ ochte man hingegen mittels Messungen etwas u ¨ber ein Quantenbit herausbekommen, wird dieses im Allgemeinen ver¨andert; dann kann ein unberechtigter Zugriff auf eine Nachricht im Nachhinein aufgedeckt werden. Das ist eine Eigenschaft von Quantenverschl¨ usselungsverfahren, die kein Gegenst¨ uck in der klassischen Welt hat. Wir lernen zwei der ersten ver¨offentlichten Verfahren kennen, die bis heute die praktisch wichtigsten sind. Die in diesem Kapitel geschilderten Techniken l¨osen das kritischste Problem klassischer Verschl¨ usselungsverfahren: die Schl¨ usselerzeugung und Verteilung. Wir werden sehen, dass es sehr gute klassische Verschl¨ usselungsverfahren gibt, die auf geheimen Schl¨ usseln beruhen. Das Problem besteht darin, die Schl¨ ussel auch tats¨achlich geheim zu halten. Wir beginnen mit einer kurzen Einf¨ uhrung in die Kryptographie und betrachten Voraussetzungen und Methoden zur Bewertung von Verschl¨ usselungstechniken: Wir stellen zun¨achst die Frage, auf die Quantenkryptographie eine Antwort gibt.
170
7 Geheime Botschaften
Abbildung 7.1: Kryptographische Grundsituation: Alice hat Bob Wichtiges vertraulich mitzuteilen und auch Eve zeigt sich interessiert.
7.1 Alice, Bob und Eve Alice hat Bob etwas Wichtiges mitzuteilen. Eine dritte Person namens Eve interessiert sich ebenfalls f¨ ur die Nachricht; Alice und Bob wollen mit allen Mitteln verhindern, dass Eve die Nachricht erf¨ahrt (to eavesdrop bedeutet lauschen, siehe Abbildung 7.1). Das ist eine klassische Situation. Man k¨onnte sich vorstellen, Alice sei die Geliebte von Bob und Eve Bobs misstrauische Ehefrau. Oder Alice ist das milit¨arische Hauptquartier einer kriegf¨ uhrenden Partei, Bob geh¨ort dem gleichen Lager an und Eve ist der gegnerische Nachrichtendienst. Ein ziviles ¨ Beispiel bilden Bankgesch¨afte im Internet. Alice ¨ubermittelt einen Uberweisungsauftrag an ihre Bank (Bob) und will unbedingt verhindern, dass ein anonymer Lauscher im Netz (Eve) Zugriff auf ihre Daten erh¨alt. Zun¨achst d¨ urfen H¨ ohe des Geldbetrags und der Adressat nicht herauskommen, denn daf¨ ur interessieren sich das Finanzamt und auch der politische Gegner. Außerdem muss verhindert werden, dass Eve den zu u ¨berweisenden Betrag ver¨andert oder das Geld auf ihr eigenes Konto leitet. Wir k¨onnen demnach zwei Arten des unberechtigten Zugriffs unterscheiden. 1. Eve h¨ ort die Nachricht ab. 2. Eve manipuliert die Nachricht unbemerkt. Klar- und Kryptotext
Dagegen k¨ onnen kryptographische Verfahren sch¨ utzen. Alice’ Mitteilung f¨ ur Bob, nennen wir ab jetzt Klartext (englisch plain text). Der Klartext wird verschl¨ usselt, und es entsteht der Kryptotext (cipher text). Dieser wird an Bob geschickt. F¨angt Eve den Kryptotext ab, soll sie daraus nicht erschließen k¨ onnen, was Alice mitzuteilen hat. Niemand außer Bob soll den Klartext aus dem Kryptotext erschließen k¨ onnen.
7.1 Alice, Bob und Eve
171
Es geht also nicht um Geheimhaltung durch organisatorische Maßnahmen, wie tote Briefk¨asten oder konspirative Treffen, und auch nicht um physikalische Vorkehrungen wie Siegel oder Schr¨anke aus Panzerstahl. Es wird davon ausgegangen, dass die Kommunikation belauscht wird, dass Eve den Kryptotext erf¨ahrt. Eves Versuch, daraus den Klartext zu erschließen und damit das Verschl¨ usselungssystem zu brechen, heißt Angriff. ¨ Kryptographische Verfahren wurden bereits von den alten Agyptern vor fast 4000 Jahren eingesetzt. Auch ist bekannt, dass im antiken Griechenland milit¨arische Geheimnisse verschl¨ usselt wurden. Ein wichtiger Schritt auf dem Weg zur modernen Kryptographie wurde im 19. Jahrhundert getan: der niederl¨andische Milit¨arkryptologe Auguste Kerckhoffs von Nieuwenhof (1835–1903) besch¨aftigte sich mit vertraulicher Kommunikation u ¨ber Telegraphenleitungen. Ein auf ihn zur¨ uckgehender Grundsatz bei der Entwicklung und Bewertung von Verschl¨ usselungstechniken lautet: man muss stets davon ausgehen, dass das gerade verwendete Verschl¨ usselungsverfahren dem Lauscher bekannt ist. Das ist das sogenannte Kerkhoffssche Prinzip. In milit¨arischen Apparaten oder Geheimdiensten sickern stets Informationen nach draußen. Existiert ein allgemein verk¨aufliches Verschl¨ usselungssystem auf dem Markt, kann man davon ausgehen, dass die Baupl¨ane wenige Zeit sp¨ater weit verbreitet sind. Das ist ein Problem einiger Dekodierger¨ate im Bezahlfernsehen. Wollen Alice und Bob ihre Nachricht, den Klartext, trotzdem geheim halten, empfiehlt sich nach dem Kerkhoffsschen Prinzip die Verwendung eines Schl¨ ussels, der leicht zu wechseln ist und Eve die Nachricht auch bei Kenntnis des Verfahrens verbirgt. Wir betrachten ein einfaches Beispiel: Alice m¨ ochte eine Nachricht verschl¨ usseln, die aus großen lateinischen Buchstaben besteht. Dazu verwendet sie die sogenannte Ersetzungschiffre. Sie legt fest, wie jeder Buchstabe durch einen anderen ersetzt wird. Zum Beispiel gem¨aß der Regel: A → K, H → S, O → E, V → P,
B → N, I → Z, P → X, W → T,
D → A, E → F, F → C, G → O, K → L, L → B, M → G, N → U, R → H, S → W, T → I, U → M, Y → Q, Z → D
C → V, J → Y, Q → J, X → R,
Damit wird aus dem Klartext GUTENTAG der Kryptotext OMIFUIKO. Dieser verschl¨ usselten Mitteilung ist der Klartext nicht anzusehen. Weiß der Adressat jedoch, nach welcher Regel die Buchstaben ersetzt wurden, kann er den Klartext wieder zug¨anglich machen. Ein Schl¨ ussel f¨ ur die Ersetzungschiffre ist damit eine konkrete Ersetzungsregel wie oben beschrieben. Alice und Bob m¨ ussen beide den Schl¨ ussel kennen und ihn vor Eve geheim halten. Weiß ein Spion, dem der Text OMIFUIKO in die H¨ande fiel, dass er mit einer Ersetzungschiffre verschl¨ usselt
Ersetzungschiffre
172
7 Geheime Botschaften wurde, kann er alle m¨ oglichen Schl¨ ussel ausprobieren, bis er einen sinnvollen Klartext erhalten hat. Es gibt 1 · 2 · 3 · . . . · 26 m¨ogliche Schl¨ ussel; eine sehr große Zahl, mit heutigen Rechnern sollte der geschilderte Angriff jedoch ausf¨ uhrbar sein. Es gibt jedoch einen weit geschickteren Angriff; dieser nutzt statistische Methoden. Untersucht man die deutsche Sprache, stellt man fest, dass in einem typischen Text mehr als ein Viertel der verwendeten Buchstaben E oder N sind. Etwa 34 Prozent der Buchstaben sind I,S,R,A oder T. Ordnen wir die Buchstaben nach abfallender H¨aufigkeit an, ergibt sich in etwa die Folge: ENISRATDHULCGMOBWFKZPVJYXQ
Redundanz
Daraus ergibt sich f¨ ur Eve folgender Angriff auf die Ersetzungschiffre: Z¨ahle in dem Geheimtext die Anzahl der vorkommenden Buchstaben und stelle folgende Vermutung ¨ uber den verwendeten Schl¨ ussel auf: der am h¨aufigsten vorkommende Buchstabe ersetzt das E, der am zweith¨aufigsten vorkommende das N und so weiter. Wenn der Geheimtext nicht zu kurz ist, wird man mit diesem Verfahren sehr schnell den Klartext ermitteln k¨onnen, da sich die h¨aufigsten Buchstaben mit hoher Wahrscheinlichkeit an der richtigen Stelle befinden und schnell eine Identifizierung der W¨orter erlauben. Dieser Angriff nutzt die Redundanz der nat¨ urlichen Sprache aus: so kommt nur ein kleiner Teil der m¨oglichen Buchstabenkombinationen darin vor. EI, ER, AN sind m¨ ogliche deutsche W¨orter, EE, EF, EG hingegen nicht. Auch deutlich ver¨anderte Texte einer nat¨ urlichen Sprache k¨onnen noch verst¨andlich sein: ¨ DSIEN STAZ FSAT FILSSUG ¨ DIE MTISEEN MCEENHSN KNNEON LSEEN.
Ergebnis
In vorstehendem Text befinden sich nur der erste und der letzte Buchstabe eines Wortes an der korrekten Stelle; trotzdem gibt er seine Information vollst¨andig preis. Mit mathematischen Methoden und Rechnerunterst¨ utzung k¨ onnen auch aus auf den ersten Blick raffiniert verschl¨ usselten Texten Informationen ¨ uber den Klartext gewonnen werden. Die Ersetzungschiffre ist ein unsicheres kryptographisches Verfahren, weil der Kryptotext zu viel Information ¨uber den Klartext enth¨alt. Ein Angriff mit statistischen Methoden bricht die Chiffre im Handumdrehen. Die Ersetzungschiffre ist ein sehr einfaches Verfahren. Einem cleveren Verfahren muss man mit einem seinerseits cleveren Angriff begegnen. Das ist der Wettbewerb zwischen dem Codemaker und dem Codebreaker: Die G¨ ute eines Verschl¨ usselungsverfahrens ergibt sich aus der G¨ ute des besten Angriffs. Hilfsmittel sind dabei mathematische Analysen gepaart mit Rechenkraft. Die National Security Agency (NSA), eine Unterabteilung des Department of Defense (Pentagon) der USA, das den internationalen Nachrichtenverkehr auswertet, gilt als einer der gr¨oßten Abnehmer von Computerhardware und Arbeitgeber von Mathematikern. Ein Grund, bei Angreifern optimale Voraussetzungen anzunehmen.
7.1 Alice, Bob und Eve
173
Es gibt jedoch ein klassisches Kryptographieverfahren, das mathematisch beweisbar sicher ist, bei dem also auch die M¨ oglichkeiten der NSA versagen. Allerdings ist es so aufw¨andig, dass die Einsetzbarkeit stark eingeschr¨ankt ist. Darum werden One-Time Pads nur f¨ ur Nachrichten eingesetzt, die einen hohen Aufwand rechtfertigen.
One-Time Pads
One-Time Pads Alice und Bob wollen eine Nachricht verschicken und kodieren diese als eine Folge von Bits. Texte k¨ onnen sie zum Beispiel mit dem ASCII-Code in eine Bin¨arfolge umwandeln. 1. Schl¨ usselerzeugung Der Schl¨ ussel ist eine Folge von unabh¨angigen Zufallsbits. Alice erzeugt unzw¨ urfe und u den Schl¨ ussel k1 , . . . , km durch m M¨ ¨bergibt Bob eine Kopie. Genauso gut kann Bob den Schl¨ ussel erzeugen und an Alice schicken oder eine vertrauensw¨ urdige dritte Partei k¨ onnte Zufallsbits herstellen und sowohl Alice als auch Bob zukommen lassen. 2. Verschl¨ usselung Alice’ Klartext ist die Folge von Bits a1 , . . . , am . Sie verwendet den ebenso langen Schl¨ ussel k1 , . . . , km . Der Kryptotext lautet a1 ⊕ k1, . . . , am ⊕ km . 3. Entschl¨ usselung Bob hat den Kryptotext b1 , . . . , bm erhalten und addiert die Schl¨ usselbits, um Alice’ Klartext zu erhalten: a1 , . . . , am = b1 ⊕ k1 , . . . , bm ⊕ km . Die Entschl¨ usselung ist korrekt, da b i ⊕ ki = a i ⊕ ki ⊕ ki = a i ist. Dieses Verfahren wurde 1918 von dem amerikanischen Mathematiker Gilbert Vernam (1890–1960) entwickelt, der f¨ ur die AT&T Labs t¨atig war. Es wird f¨ ur Mitteilungen der h¨ ochsten Sicherheitsstufe angewendet. So wurden w¨ahrend des kalten Krieges Mitteilungen zwischen Moskau und Washington auf diese Weise verschl¨ usselt. One-Time Pads garantieren absolute Sicherheit, vorausgesetzt • die Schl¨ ussel sind zuf¨allig erzeugt, • nur Alice und Bob kennen die Schl¨ ussel, • die Schl¨ ussel werden nur einmal benutzt.
Absolut sicher bedeutet: Eve weiß gem¨aß dem Kerkhoffsschen Prinzip, dass Alice und Bob One-Time Pads verwenden, und den Kryptotext
Voraussetzungen
174
Nachteile der One-Time Pads
7 Geheime Botschaften b1 , . . . , bm hat sie auch abgefangen. Trotzdem kann sie nichts ¨uber den Klartext a1 , . . . , am herausbekommen, sofern sie den Schl¨ ussel nicht kennt. Wir betrachten ein einzelnes Bit: Eve hat das verschl¨ usselte Bit bi = ai ⊕ ki abgefangen. Sie weiß: ki wurde ausgew¨ urfelt. Da sie es nicht kennt, n¨ utzt ihr das abgefangene Bit bi nichts. Hat dieses zum Beispiel den Wert 1, gibt es ungliche Bit zwei M¨ oglichkeiten. Ist das Schl¨ usselbit ki = 0, so ist das urspr¨ ai = 1. Ist ki = 1 gilt ai = 0. Beide F¨alle sind aus Eves Sicht gleichwahrscheinlich; somit enth¨alt der Wert des verschl¨ usselten Bits bi keine Information u ¨ber ai . ussels auch ai ⊕ ki eines, Da ki ein Zufallsbit ist, ist ohne Kenntnis des Schl¨ und genauso ist der gesamte Kryptotext a1 ⊕ k1 , . . . , am ⊕ km eine Zufallsfolge! Es gibt keine Muster, Redundanzen und statistische Auff¨alligkeiten, da jedes Bit unabh¨angig von den anderen mit einem Zufallsbit ¨uberschrieben wurde. Das gilt allerdings nur, wenn der Schl¨ ussel tats¨achlich nur einmal verwendet wird und genauso lang wie der Klartext ist. Verwenden Alice und Bob immer die gleichen Schl¨ ussel, ist die Sicherheit dahin: Die Folge der mit demselben Schl¨ ussel entstandenen Kryptotexte enth¨alt Hinweise auf den Schl¨ ussel und damit auf die Klartexte. Den oben beschriebenen drei Voraussetzungen f¨ ur die Sicherheit von One-Time Pads, entsprechen drei Nachteile: • klassische Rechner k¨ onnen nur Pseudozufallszahlen erzeugen, • das Problem der sicheren Kommunikation verschiebt sich auf die Schl¨ ussel¨ ubertragung, • die Schl¨ ussel sind genauso lang wie die Nachricht und m¨ ussen f¨ ur jede Kommunikation neu erzeugt werden.
Rolle der Quantenkryptographie
Nun ist es vorstellbar, dass Alice und Bob in der politischen Situation der Nachkriegszeit ihre B¨ uros in Moskau und Washington einmal im Jahr verlassen haben, um auf einer neutralen Pazifikinsel absolut geheime Schl¨ ussel zu erzeugen und zu verteilen. Aber es ist klar, dass One-Time Pads nicht f¨ ur allt¨agliche Anwendungen wie Bankgesch¨afte im Internet oder E-Mailverschl¨ usselung taugen. Quantenkryptographie kann diese L¨ ucke f¨ ullen: sie erlaubt die Erzeugung und sichere Verteilung von echten Zufallsschl¨ usseln. Das ist auch dann m¨ oglich, wenn Alice und Bob das erste Mal miteinander kommunizieren. Versucht Eve, die Quantenschl¨ usselverteilung zu belauschen, k¨onnen Alice und Bob das feststellen. In diesem Fall wird das Prozedere abgebrochen und zu einem sp¨ateren Zeitpunkt fortgesetzt. Bemerkung: 1. Der Name One-Time Pad stammt von einer anschaulichen Umsetzung des Verfahrens. Alice und Bob besitzen beide einen Abreißblock, auf dessen Zettel die Schl¨ usselbits notiert sind. Zum Ver- und Entusseln werden diese nacheinander abgerissen und vernichtet. Das l¨asst schl¨ sich in Stanley Kubricks Film Dr. Seltsam oder: Wie ich lernte, die Bombe zu lieben aus dem Jahr 1964 beobachten. An Bord einer amerikanischen
7.2 Quantenverschl¨ usselung: das BB84-Protokoll B-52 wird mit einem One-Time Pad in grotesk patriotischer Stimmung eine Atombombe zum Abwurf freigeschaltet. 2. Eingangs wurde erw¨ahnt, dass in unserer technisierten Welt sichere Daten¨ ubertragung auch f¨ ur Privatpersonen immer wichtiger wird. Das macht den Einsatz von kryptographischen Methoden sinnvoll. Allerdings sind einige einschr¨ankende Bemerkungen am Platz. Die Kryptographie analysiert das Problem der sicheren Daten¨ ubertragung auf der Ebene eines mathematischen Modells. In der Praxis gibt es bei der Umsetzung der theoretisch guten Verfahren mindestens zwei Probleme: 1. Eine Nachricht ist vor der Verschl¨ usselung und nach der Entschl¨ usselung unsicher und h¨ ochstens so geheim wie der Schl¨ ussel. 2. Die Sicherheit h¨angt von der technischen Umsetzung jeder einzelnen Komponente ab. So haben wir gesehen, dass die Sicherheit der One-Time Pads von der Geheimhaltung der Schl¨ ussel abh¨angt, die in der mathematischen Analyse wie selbstverst¨andlich vorausgesetzt wird. Und Situationen wie die folgende ereignen sich t¨aglich an Bankautomaten oder Rechnerkonsolen: Jemand m¨ ochte eine Geheimzahl u ¨bermitteln, um so Zugriff auf sein Konto zu erhal¨ ten. Die Ubermittlung u ber ein ausgekl¨ ugeltes Kryptographiesystem nutzt ¨ nichts, wenn ihm bei der Eingabe der Zahl jemand auf die Finger sieht oder eine Kamera seine Aktion aufzeichnet. Zudem sind Alice und Bob in der Praxis oft komplexe Institutionen, zum Beispiel Nachrichtendienste oder Firmen, so dass die interne Geheimhaltung zum Problem werden kann. Diese Anmerkung ist wichtig, um den Nutzen eines Kryptographiesystems realistisch einsch¨atzen zu k¨ onnen. Ein falsch eingesetztes Sicherheitssystem erh¨oht die Gefahr, wichtige Daten preiszugeben. So wird niemand gesunden Verstandes wichtige Bankdaten in irgendein Internetformular eintragen, außer ihm wurde glaubhaft versichert, die Kommunikation verliefe ¨uber eine sichere Leitung. Wie glaubhaft diese Sicherheitsversprechen sind, ist nicht immer klar.
7.2 Quantenverschl¨ usselung: das BB84-Protokoll Im Jahr 1984 haben Charles Bennett von IBM und Gilles Brassard von der Universit¨at Montreal ein Quantenkryptographieverfahren ver¨offentlicht, das heute unter dem Namen BB84 bekannt ist. F¨ unf Jahre sp¨ater wurde es das erste Mal experimentell umgesetzt, wobei die Quantenbits als polarisierte Photonen (siehe Abschnitt 9.3) realisiert wurden. In diesem Abschnitt stellen wir das BB84-Protokoll auf eine Weise dar, die unabh¨angig von der Umsetzung ist. Wir nehmen dazu an, dass zwischen Alice und Bob ein perfekter, st¨ orungsfreier Quantenkanal existiert. Da Kan¨ale in der Praxis nie st¨ orungsfrei sind, betrachten wir am Ende des Abschnittes die Auswirkung von Rauschen auf das geschilderte Verfahren.
175
Grenzen der Kryptographie
176
7 Geheime Botschaften Die Aufgabe lautet, Alice und Bob mit einer Folge von zuf¨alligen und geheimen Bits auszustatten. Diese k¨onnen dann als One-Time Pads zur sicheren klassischen Verschl¨ usselung genutzt werden. Wir beginnen mit der Erzeugung eines einzelnen Bits und setzen danach das eigentliche Schl¨ ussel¨ ubertragungsprotokoll aus einer Folge solcher Schritte zusammen. Die Biterzeugung beginnt mit einer Aktion von Alice. A. Alice verschickt ein Quantenbit Verwendet wird ein Quantenbit |x.
1. Erzeuge ein zuf¨alliges klassisches Bit a; Versetze das Quantenbit in den Zustand |x ← |a 2. Erzeuge ein zweites klassisches Zufallsbit a′ : Ist a′ = 1, wende die Hadamard-Transformation an: |x ← H|x 3. Schicke |x an Bob.
Wir bezeichnen im folgenden 1 √ (|0 + |1) = H|0 mit |+ 2 und
1 √ (|0 − |1) = H|1 mit |−. 2
In welchem Zustand befindet sich das Bit |x nach Schritt 3? Mit Wahrscheinlichkeit von jeweils 1/4 in einem der Zust¨ande |0, |1, |+, |−. Das Quantenbit |x wurde gem¨aß folgender Tabelle aus den Zufallsbits erzeugt:
a=0 a=1 Verwendete Basen
a′ = 0 |0 |1
a′ = 1 |+ |−
Das Zufallsbit a soll an Bob u ¨bermittelt werden. Das Zufallsbit a′ bestimmt, in welcher Basis a dargestellt wird. Mit B bezeichnen wir ab jetzt die Standardbasis |0, |1, mit B′ die Hadamardbasis |+, |−. Alice’ zweiter ¨ M¨ unzwurf entscheidet also, welche Basis f¨ ur die Ubertragung gew¨ahlt wird. Nun hat Bob das Quantenbit |x erhalten. Wie kann er etwas u ¨ber das Bit a herausfinden? Er muss es messen. Da er nicht weiß, bez¨ uglich welcher Basis es kodiert wurde, u ¨berl¨asst er diese Entscheidung dem Zufall.
7.2 Quantenverschl¨ usselung: das BB84-Protokoll
|0
H
M
|0
H
M
a
H
|x
a′
Alice
177
H |0
H
Eve
M
b′
Bob
Abbildung 7.2: Schaltkreis f¨ ur die Schritte A. und B.: Der Quantenkanal zwischen Alice und Bob ist der unsichere Teil.
B. Bob misst Alice’ Quantenbit |x ist das von Alice in Schritt A erzeugte und verschickte Quantenbit.
1. Erzeuge ein zuf¨alliges Bit b′ : Ist b′ = 0, miss |x bez¨ uglich B = {|0, |1}, uglich B′ = {|+, |−}. ist b′ = 1, miss |x bez¨ 2. Teile Alice u uglich welcher ¨ber einen klassischen Kanal mit, bez¨ Basis gemessen wurde.
Das Ergebnis der Messung ergibt ein Bit b. Dieses ist 0, falls |x vor der Messung in einem der Zust¨ande |0 oder |+ war, und 1 im Fall |1 oder |−. Die Schritte A. und B. lassen sich gem¨aß dem Schaltkreis in Abbildung 7.2 ausf¨ uhren. Aufgabe 7.1: Zeigen Sie: Ist b′ = a′ , so ist auch b = a. Aufgabe 7.1 zeigt: Haben Alice und Bob die gleiche Basis gew¨ahlt, sind sie im Besitz desselben zuf¨alligen Bits. Im anderen Fall hat Bob nichts u ¨ber Alice’ Bit erfahren. Hat Alice etwa |+ verschickt und misst Bob in der Basis B, erh¨alt er die beiden m¨ oglichen Ergebnisse mit jeweils derselben Wahrscheinlichkeit. Aufgabe 7.2: Zeigen Sie: Ist b′ = a′ , so sind die Ergebnisse b = a und b = a gleich wahrscheinlich. Verwenden Alice und Bob verschiedene Basen, ist das Ergebnis von Bobs Messung nach Aufgabe 7.2 ein Zufallsbit, das unabh¨angig von dem Wert von Alice’ Bit a ist. Darum teilt Bob in Schritt B.2 Alice die gew¨ahlte Basis mit. Entscheidend ist nun: Im weiteren verwenden Alice und Bob die Bits a und b nur dann f¨ ur den Schl¨ ussel, wenn sie die gleiche Basis verwendet haben.
b
178
7 Geheime Botschaften C. Alice und Bob entscheiden, ob das Zufallsbit verwendbar ist
1. Alice teilt Bob mit, ob sie die gleiche Basis verwendet haben. Falls nicht, nutzen sie das Ergebnis nicht.
In etwa der H¨alfte der F¨alle benutzt Bob die gleiche Basis wie Alice. Tauschen die beiden auf diese Weise eine Reihe Bits aus, k¨onnen sie erwarten, dass dies f¨ ur die H¨alfte zutrifft. Die folgende Tabelle fasst das Vorgehen zusammen. Der Eintrag Z steht f¨ ur ein Zufallsbit: mit Wahrscheinlichkeit von jeweils 1/2 ist dessen Wert 0 oder 1. Im Fall a′ = b′ ist b – das Ergebnis von Bobs Messung – ein solches Zufallsbit und a beziehungsweise b werden nicht als Schl¨ ussel verwendet. Statt von Schl¨ usselverteilung spricht man deshalb besser von Schl¨usselerzeugung. Es ist n¨amlich nicht so, dass der Schl¨ ussel schon zu Beginn feststeht und nur verschickt wird: er entsteht erst im Verlauf des Kommunikationsussels mitbestimmt. prozesses, da Bobs Wahl von b′ die Gestalt des Schl¨
a a′ |x b′ b Schl¨ ussel
0 0 |0 0 0 0
0 1 |+ 0 Z
1 0 |1 0 1 1
1 1 |− 0 Z
0 0 |0 1 Z
0 1 |+ 1 0 0
1 0 |1 1 Z
1 1 |− 1 1 1
Eves Zug Nach den Schritte A bis C – eventuell m¨ ussen diese mehrfach ausgef¨ uhrt werden – besitzen Alice und Bob ein gemeinsames Zufallsbit. Nun kommen wir zu dem interessanten Punkt des Verfahrens, zu Eve. Das Ziel ist ja gerade, dass diese nichts ¨ uber den Schl¨ ussel, sprich das Bit a erf¨ahrt. Eve steht damit nat¨ urlich stellvertretend f¨ ur alle unbefugten Personen. Gem¨aß dem Kerkhoffsschen Prinzip gehen wir davon aus, dass Eve das Prozedere genau kennt. Sie hat vollen Zugriff auf den Quantenkanal, und auch den klassischen Kanal kann sie belauschen, auf dem sich Alice und Bob u ¨ber die verwendete Basis austauschen. Dadurch erf¨ahrt sie die Bits a′ und b′ ; aber erst nachdem Bob gemessen hat. Kann Eve mit diesem Wissen das Bit a bestimmen?
7.2 Quantenverschl¨ usselung: das BB84-Protokoll Nach dem No-Cloning-Theorem (Abschnitt 3.4) kann Eve das Quantenbit |x nicht kopieren, denn dessen vier m¨ ogliche Zust¨ande sind nicht orthogonal. Damit bietet sich folgender Angriff an: Sie misst das Quantenbit und schickt es dann an Bob weiter – oder erzeugt gem¨aß dem Messergebnis ein neues Quantenbit, das sie Bob u ¨bermittelt, als k¨ame es von Alice.
1. Eve w¨ahlt ein Bit e′ . 2. Ist e′ = 0, misst sie bez¨ uglich B, sonst bez¨ uglich B′ .
Die Erzeugung von e′ lassen wir offen. Hier k¨ onnte irgendeine raffinierte Strategie oder auch ein Zufallsverfahren zum Zuge kommen. Eve kann dabei ausschließlich ihr erlauschtes Wissen verwenden; das Bit e′ ist darum unabh¨angig von den Bits, die Alice und Bob erzeugen. Nat¨ urlich k¨onnte Eve auch in anderen Basen als B und B′ messen. Man kann sich jedoch u ¨berlegen, dass daraus kein Vorteil entsteht: so l¨asst sich das Grundproblem nicht umgehen, dass die m¨ oglichen Zust¨ande des zu belauschenden Bits nicht orthogonal sind. Im n¨achsten Abschnitt diskutieren wir allgemeinere Lauschstrategien, die diesen Fall einschließen. W¨ usste Eve, bez¨ uglich welcher Basis Alice das Zufallsbit kodiert hat, k¨ onnte sie erfolgreich und unbemerkt lauschen. Denn eine Messung in der korrekten Basis beeinflusst den Zustand nicht. Da das nicht der Fall ist, wird sie – wie Bob – in der H¨alfte der F¨alle die falsche Basis w¨ahlen, egal nach welcher Strategie sie e′ w¨ahlt. Beispiel 7.1: Wir nehmen an, dass 1 |x = |+ = √ (|0 + |1) 2 ist, das heißt a = 0, a′ = 1. 1. W¨ahlt Eve e′ = 1 und misst in der Basis B′ = {|+, |−}, ist das Ergebnis |+. Sie folgert a = 0 und das Quantenbit |x wurde nicht ver¨andert. 2. Anderenfalls – e′ = 0 – misst Eve in der Basis B = {|0, |1}. Das Ergebnis ist mit jeweils gleicher Wahrscheinlichkeit |0 oder |1, und sie hat nichts ¨ uber das Bit a erfahren. Mehr noch: Bit |x wurde ver¨andert. Es ist in gerade den Zustand u ¨bergegangen, den Eve beobachtet hat. ⋄ Bei wiederholtem Lauschen, kann Eve auf diese Weise dennoch einiges u ussel herausbekommen. Alice und Bob ver¨ber den ausgetauschten Schl¨ wenden ein Bit nur im Fall a′ = b′ . Da e′ von der Wahl der Zufallsbits von
179 Messen und weiterschicken
180
7 Geheime Botschaften Alice und Bob unabh¨angig ist, hat e′ mit Wahrscheinlichkeit 1/2 den gleichen Wert, und Eve erf¨ahrt aus dem Basenaustausch in Schritt C, ob das der Fall ist. Anderenfalls ist ihr Messergebnis ein wertloses Zufallsbit, aber immerhin: sie erf¨ahrt die H¨alfte des Schl¨ ussels. Wir folgern: die Schritte A bis C allein sind unsicher! Aber die Bits, die Eve in der falschen Basis gemessen hat, sind ver¨andert. Das k¨ onnen Alice und Bob ausnutzen, um einen Test auf unbefugten Zugriff auszuf¨ uhren. Dazu m¨ ussen sie ein bereits korrekt u ¨bertragenes Bit opfern. D. Alice und Bob opfern ein Bit, um Eve zu entlarven Alice und Bob haben ein u uglich derselben Basis ¨bertragenes Bit |x bez¨ gemessen: Es gilt a′ = b′ und damit a = b.
1. Alice und Bob tauschen a und b u ¨ber den klassischen Kanal aus. 2. Stimmen die Ergebnisse nicht u ussel¨berein, brechen sie die Schl¨ erzeugung ab und verwenden die bereits u ussel ¨bertragenen Schl¨ nicht. 3. Stimmen die Ergebnisse u ussel¨ uber¨berein, fahren Sie mit der Schl¨ tragung fort, verwenden aber das ausgetauschte Bit nicht.
Wie groß ist die Wahrscheinlichkeit, Eves Lauschversuch aufzudecken? Voraussetzung von Teil D ist a′ = b′ . Hat Eve die Basis korrekt geraten – a′ = b′ = e′ – stimmen die Bits a und b u ¨berein und Eve wird nicht entlarvt. Hat Eve falsch geraten, projiziert die Messung das ausgetauschte Bit |x in die falsche Basis. Damit ist Bobs Messung ein Zufallsbit – wie in dem Fall, in dem er selbst die falsche Basis w¨ahlt – und mit Wahrscheinlichkeit 1/2 gilt a = b. Insgesamt wird Eve in diesem Schritt also mit Wahrscheinlichkeit 1/4 entdeckt. Aufgabe 7.3: Rechnen Sie nach: falls Eve bez¨ uglich der falschen Basis gemessen hat, gilt mit Wahrscheinlichkeit 1/2, dass a = b. Die folgende Tabelle zeigt, wie Bits zur Enttarnung Eves verwendet werden. Im Falle ’Z’ wird Eves Zugriff mit Wahrscheinlichkeit 1/2 aufgedeckt. a a′ b′ e′ b
0 0 0 0 0
0 1 1 0 Z
1 0 0 0 1
1 1 1 0 Z
0 0 0 1 Z
0 1 1 1 0
1 0 0 1 Z
1 1 1 1 1
7.2 Quantenverschl¨ usselung: das BB84-Protokoll Wir fassen Eves Situation zusammen. Da Alice das Bit a′ zuf¨allig w¨ahlt, gibt es f¨ ur Eve keine gute Strategie, in der richtigen Basis zu messen. In der H¨alfte der F¨alle w¨ahlt sie die falsche und erh¨alt ein Zufallsbit. Das ist aus Eves Sicht nicht schlimm, da sie so immerhin die H¨alfte des Schl¨ ussels zuverl¨assig erlauscht. Schlimm f¨ ur Eve und gut f¨ ur Alice und Bob ist: Eves Lauschangriff wird dann in der H¨alfte der F¨alle aufgedeckt. Alice und Bob brechen in diesem Fall die Schl¨ usselerzeugung ab. Nun ist es an der Zeit, das Protokoll als Ganzes zu diskutieren. Das BB84-Protokoll zur Schl¨ usselerzeugung Ben¨ otigt werden ein Quantenkanal und ein klassischer Kanal. Falls das Protokoll nicht wegen Lauschverdachts abgebrochen werden muss, ergibt sich der Schl¨ ussel aus Alice’ Bits a1 , . . . , am und Bobs Bits b1 , . . . , bm , die in den Schritten 4 und 5 nicht verworfen werden.
1. Alice erzeugt Zufallsbits a1 , . . . , am und a′1 , . . . , a′m . 2. Alice erledigt f¨ ur i = 1, . . . , m: • kodiere ai als |0 beziehungsweise |1 falls a′i = 0 • kodiere ai als |+ oder |− falls a′i = 1 • schicke das entstandene Quantenbit an Bob. 3. Bob erzeugt Zufallsbits b′1 , . . . , b′m . Das i-te Quantenbit von Alice misst er • in der Basis B = {|0, |1} falls b′i = 0 • in der Basis B′ = {|+, |−} falls b′i = 1 und speichert das Ergebnis als bi . 4. Alice und Bob vergleichen f¨ ur i = 1, . . . , m die Bits a′i und b′i u ¨ber einen klassischen Kanal. Ist a′i = b′i werden ai beziehungsweise bi nicht verwendet. 5. Alice und Bob tauschen k der nicht gel¨ oschten Bits ai , bi aus und ermitteln die Fehlerrate, definiert als Anzahl der sich unterscheidenden Bits geteilt durch k. Ist die Fehlerrate zu hoch, verwenden sie die erzeugten Bits nicht, da Verdacht auf einen Angriff seitens Eve besteht.
181 Die Situation des Lauschers
182
7 Geheime Botschaften Den letzten Schritt m¨ ussen wir noch eingehender betrachten. Wir haben bereits gesehen, dass Eves oben beschriebene Lauschstrategie f¨ ur jedes der k geopferten Bits mit Wahrscheinlichkeit 1/4 einen Fehler verursacht. Zu Beginn dieses Abschnitts haben wir einen perfekten Quantenkanal vorausgesetzt. Somit hat ein unbelauschter Ablauf die Fehlerrate 0. Belauscht Eve jedes Bit, bleibt sie nur mit Wahrscheinlichkeit (3/4)k unerkannt. Die Wahrscheinlichkeit, einen Lauschangriff zu entdecken, w¨achst exponentiell in der Zahl der daf¨ ur geopferten Bits; das Restrisiko, dass Eve mit dem Schl¨ ussel unbemerkt entwischt, ist so klein, dass es praktisch irrelevant ist. Zumal wir ihr bereits optimale Voraussetzungen zugestanden haben. Aus Zweckpessimismus ignorieren wir, dass Eves Zugriff auf die Kan¨ale in realen F¨allen meist weniger absolut sein wird. Wir folgern: Das BB84-Protokoll erlaubt sichere Schl¨ usselverteilung. Aber nur unter den Voraussetzungen, von denen unsere bisherige Analyse ausging: 1. Eve verwendet die oben beschriebene Lauschstrategie. 2. Der Quantenkanal ist perfekt.
Kryptographie u ¨ber verrauschte Kan¨ale
Punkt 1 werden wir im n¨achsten Abschnitt diskutieren. Punkt 2 ist deshalb wichtig, weil in der Praxis keine perfekten Quantenkan¨ale zur Verf¨ ugung stehen. Bei einem realen Kanal hat unser Protokoll daher auch unbelauscht eine Fehlerrate gr¨ oßer 0. Belauscht Eve jedes Bit, ist die erwartete Fehlerrate ¨ 1/4. Heutige Ubertragungsmethoden lassen unbelauscht deutlich niedrigere Fehlerraten zu, so dass die F¨alle belauscht und nicht belauscht trotz Rauschens unterschieden werden k¨onnen. Allerdings bietet sich dann f¨ ur Eve die folgende Strategie an: Sie misst nur wenige Bits. Auf diese Weise erh¨alt sie nur einen geringen Teil des Schl¨ ussels, die Auswirkungen ihrer Lauscht¨atigkeit k¨onnten – geschickt kalkuliert – in dem allgemeinen Rauschen unentdeckt bleiben. Diesem Problem begegnet man mit dem Einsatz fehlerkorrigierender Codes und dem folgenden Verfahren. Verst¨ arkung der Sicherheit
Privacy amplification
Eine Methode namens privacy amplification erlaubt es, aus einem nur teilweise geheimen Schl¨ ussel einen k¨ urzeren, sehr geheimen Schl¨ ussel zu erzeugen; und zwar mittels ¨ offentlicher Diskussion. Wir stellen uns vor, Alice und Bob haben zwei Schl¨ usselbits b1 und b2 ausgetauscht. Eve hat eines davon erfahren. Darum beschließen Alice und Bob, aus den zwei Schl¨ usselbits ein einzelnes neues zu erzeugen: b3 = b1 ⊕ b2 . ¨ Angenommen, Eve weiß, dass b1 = 0 gilt. Uber b2 weiß sie hingegen nichts: aus ihrer Sicht sind die F¨alle b2 = 0 und b2 = 1 gleichwahrscheinlich. Dann weiß sie u ¨ber b3 ebensowenig! Ihre Kenntnis von b1 verr¨at nichts u ¨ber b3 , da b1 mit dem unbekannten, aus Eves Sicht zuf¨alligen Bit b1 ¨uberschrieben ist; wie bei der Verschl¨ usselung mittels One-Time Pads.
7.3 Lauschstrategien
183
Genauso ist die Summe b1 ⊕ b2 ⊕ . . . ⊕ bk ein ihr unbekanntes Zufallsbit, wenn sie eines der k Bits nicht kennt. Um aus einer Folge von m Zufallsbits n neue zu erzeugen (n < m), w¨ahlt man zuf¨allig n Teilmengen der Bits aus. Die Summe der Bits jeweils einer Teilmenge ergeben ein neues Zufallsbit. In [12] ist dieses Verfahren analysiert worden und hat sich als effizient erwiesen, insbesondere in Verbindung mit fehlerkorrigierenden Codes. Die Fehlerrate des BB84-Protokolls gibt einen deutlichen Hinweis darauf, wieviele Bits Eve kennen kann. Verk¨ urzen Alice und Bob mittels privacy amplification den Schl¨ ussel um diese Zahl, kennt Eve mit großer Wahrscheinlichkeit nur noch sehr wenige Bits. Was bringt die Quantenkryptographie Neues? Unberechtigte Versuche, auf die ¨ ubermittelten Daten zuzugreifen, werden aufgedeckt. Ein Lauschangriff auf ein einzelnes Bit wird zwar nur mit einer bestimmten Wahrscheinlichkeit bemerkt. Wird jedoch ein l¨angerer Schl¨ ussel u ¨bertragen ist es praktisch nicht m¨ oglich, relevante Informationen u ¨ber diesen zu erlangen, ohne entdeckt zu werden. Verlassen wir zur Erl¨auterung kurz das Gebiet der Kryptographie: Ein Einbruch in ein hochmodernes Sicherheitssystem, zum Beispiel in den Safe einer Zentralbank, kann theoretisch unbemerkt bleiben. Nach den Gesetzen der klassischen Physik spricht nichts dagegen, dass Eve das System in exakt dem gleichen Zustand zur¨ uckl¨asst, in dem sich dieses vor dem Eindringen befand. Dagegen folgt aus den Gesetzen der Quantenmechanik, dass ihre Messungen am Quantenkanal deutliche Spuren hinterlassen, m¨ ochte sie Wesentliches u ussel ¨ber den ausgetauschten Schl¨ erfahren. Die M¨ oglichkeit, Lauschangriffe aufzudecken, ist der wesentliche Beitrag der Quantenmechanik. Dazu gibt es im klassischen Fall kein Pendant. Durch das beschriebene Verfahren werden die sicheren, aber durch das Problem der Schl¨ usselverteilung unhandlichen, One-Time Pads praktikabel.
7.3 Lauschstrategien Im letzten Abschnitt wurde das BB84-Protokoll eingef¨ uhrt. Um zu analysieren, wie sicher das Verfahren ist, m¨ ussen wir die m¨oglichen Angriffe von Eve untersuchen. Wir sind bisher davon ausgegangen, dass Eve das u ¨bermittelte Quantenbit misst und weiterschickt. Diese Strategie liegt nah, da sich Quantenbits nicht kopieren lassen. Ein Vorteil dieser Lauschstrategie ist, dass Eve kein Quantenbit speichern muss: das w¨are mit betr¨achtlichem Aufwand verbunden und ist zur Zeit nur f¨ ur kurze Zeitspannen m¨oglich. Allerdings sind auch Angriffe interessant, die bisher nur theoretisch m¨oglich sind. So k¨ onnen Alice und Bob nicht wissen, ob Eves technische F¨ahigkeiten nicht viel weiter fortgeschritten sind, als sie glauben. Im letzten Abschnitt haben wir gesehen: Wenn Eve die u ¨bermittelten Bits misst, werden diese Eingriffe mit hoher Wahrscheinlichkeit entdeckt. Darum untersuchen wir einen anderen Ansatz. Wir setzen voraus, dass Eve im Besitz einer Reihe von Quantenbits |e1 , |e2 , . . . ist. Sie wendet unit¨are Transformationen auf den Kanal und diese Quantenbits an und versucht
Zusammenfassung
184
7 Geheime Botschaften so viel Information u ¨ber das gesendete Bit wie m¨oglich auf ihre Bits zu u urlich weiterhin, unentdeckt ¨bertragen. Das andere wesentliche Ziel ist nat¨ zu bleiben. Die Sicherheit des BB84-Protokolls – angereichert um die Verwendung von fehlerkorrigierenden Codes und privacy amplification – allgemein zu untersuchen, ist eine Aufgabe, die jenseits der in diesem Buch vermittelten Methoden liegt. Doch bereits im letzten Abschnitt haben wir erfahren: Wenn Eve die gesendeten Quantenbits misst und weiterschickt, kann sie die Sicherheit des Protokolls nicht gef¨ahrden. Dieser Abschnitt soll ein Gef¨ uhl daf¨ ur vermitteln, dass auch allgemeinere Angriffe entweder bemerkt werden oder nur sehr wenig u ussel in Erfahrung bringen. ¨ber den Schl¨ Wir beginnen mit einem einfachen Beispiel. Beispiel 7.2: Eve erinnert sich daran, dass man mit einem CNOT-Gatter Quantenbits miteinander verschr¨anken kann. W¨are das nicht die L¨osung? Sie verschr¨ankt ein Quantenbit in ihrem Besitz mit dem gesendeten. Dann wartet sie ab, bis Alice und Bob ihre Basen vergleichen. Sie belauscht diesen Schritt und verwendet die gewonnene Information, wenn sie ihr eigenes Quantenbit misst: sie nutzt es f¨ ur die Wahl einer Messbasis. 1. Wir nehmen an, Alice sendet |x = |1. Eve f¨ uhrt die Operation CNOT auf diesem Bit und einem vorbereiteten Quantenbit |e im Zustand |0 aus. Das Ergebnis: Die Bits sind im Zustand |x|e = |1|1. Eve wartet Bobs Messung ab und belauscht, welche Basis er verwendet hat. Misst Bob in der richtigen – in B also – tut sie es ihm gleich und erf¨ahrt das Schl¨ usselbit a = b = 1. Misst Bob in der anderen Basis, verwenden Alice und Bob das Bit nicht, und Eve ignoriert es ebenso.
BB84 deckt Verschr¨ankung auf
uhrt das CNOT-Gatter 2. Sendet Alice hingegen |x = √12 (|0− |1), u ¨berf¨ die Bits in den Zustand 1 |x|e = √ (|00 − |11). 2 2.1 Bob misst in der Basis B. Er beobachtet |0 oder |1 mit gleicher Wahrscheinlichkeit. Eve misst ihr Bit und erh¨alt dasselbe Ergebnis wie Bob. Das ist schließlich der Grund, ihr Quantenbit mit dem gesendeten zu verschr¨anken. Allerdings wird dieses Bit nicht verwendet, da Bobs Basis nicht mit der von Alice u ¨bereinstimmt. 2.2 Das n¨achste u ¨bermittelte Bit ist ebenfalls im Zustand √12 (|0 − |1), diesmal misst Bob in der richtigen Basis B′ – und das BB84-Protokoll enttarnt Eve in der H¨alfte der F¨alle! Das zeigt folgende Rechnung: Ein Bit in der Basis B′ zu messen, entspricht einer Anwendung der Hadamard-Transformation mit anschließender Messung in B. Bob misst das erste Bit des verschr¨ankten
7.3 Lauschstrategien
185
Paares |x|e. H(|x)|e
1 √ H|0 |0 − H|1 |1 2 = 1/2(|00 − |01 + |10 + |11)
=
Das Ergebnis stimmt in der H¨alfte der F¨alle nicht mit Alice’ Bit u ¨berein, obwohl die gleichen Basen verwendet wurden. In diesem Fall hat die Anwendung des CNOT-Gatters die gleiche Auswirkung auf Bobs Ergebnis wie eine Messung in der falschen Basis B. Es gibt ein Analogon zu CNOT, dessen Einfluss in der Basis B aufgedeckt wird und in der Basis B′ unbemerkt bleibt. Die Situation ist die gleiche wie beim direkten Messen: da die m¨ oglichen Zust¨ande des Quantenbits |x nicht orthogonal sind, wird die Verschr¨ankung mit Eves Bits bei Bobs Messung in einem Viertel der F¨alle aufgedeckt. ⋄ Ohne es formal bewiesen zu haben, hat uns Beispiel 7.2 folgendes einsehen lassen: Verschr¨ankt Eve eines ihrer Quantenbits mit |x, dem u ¨ber den Quantenkanal versendeteten Bit, wird das Ergebnis von Bobs Messung genauso beeinflusst, als w¨ urde Eve das Bit |x messen. Damit haben wir einen weiteren speziellen Angriff untersucht. Nun wollen wir uns der Aufgabe n¨ahern, m¨ ogliche Angriff seitens Eve allgemein zu beschreiben. Wir verallgemeinern nun Eves M¨ oglichkeiten. Die folgende Angriffsart sch¨ opft sie zwar noch nicht ganz aus, ist daf¨ ur jedoch sehr einfach zu analysieren. Eve m¨ ochte unterscheiden, ob das von Alice an Bob gesendete Quantenbit |x im Zustand |0 oder im Zustand H|0 = |+ ist. Dazu wendet sie eine unit¨are Zwei-Bit-Transformation U auf den Kanal (das heißt, auf |x) und ihr Bit an, insgesamt also auf |x|e. Den Anfangszustand von |e nennen wir |φa . Anschließend misst Eve |e in irgendeiner Weise. 1. Eve will absolut unbemerkt bleiben und fordert, dass die Transformation U das Bit |x unver¨andert lassen soll. Dann gibt es zwei von der Wahl von U abh¨angige Einheitsvektoren |φ0 , |φ+ , so dass U
U
|0|φa −→ |0|φ0 und |+|φa −→ |+|φ+ . Mit der Wahl dieser Vektoren ist die unit¨are Transformation bereits exakt bestimmt; da U linear ist, folgen mit einer einfachen Rechnung die Bilder von zum Beispiel |1|φa und |−|φa . Welchen der beiden m¨oglichen Folgezust¨ande |φ0 und |φ+ Eves Bit angenommen hat, ist die einzige Information, die sie bei dem Lauschversuch gewonnen hat. Aus dieser allein muss entschieden werden, welchen Zustand |x hat. Da unit¨are Transformationen winkelerhaltend sind, gilt1 1 Die
0 | + φa | φa = 0 | + φ0 | φ+ .
linke Seite der Gleichung besteht aus dem Skalarprodukt der beiden Ausgangszust¨ ande |0|φa und |+|φa , die rechte aus dem der beiden Bilder unter der Transformation U, siehe auch Seite 2.7
Angriffe ohne Verschr¨ankung
186
7 Geheime Botschaften Da |0 und |+ nicht orthogonal sind, k¨onnen wir durch 0 | + teilen; es folgt φ0 | φ+ = 1. Das heißt (siehe Aufgabe A.8 im Anhang): |φ0 = |φ+ . Mit der |x unver¨andert lassenden Transformation U kann Eve nicht entscheiden, ob |x den Wert |0 oder |+ hat. Daraus folgt: Wenn Eve in dieser Methode das Risiko entdeckt zu werden, ganz ausschließen will, erf¨ahrt sie nichts u ¨ber |x. 2. Eve beschließt, eine gewisse St¨orung in Kauf zu nehmen. Sie verwendet eine unit¨are Transformation U ′ , die Bit |x ver¨andert, wenn auch nach ˜ M¨ oglichkeit nicht zu sehr. Ist dieses im Zustand |0, so ist das Ergebnis |0, ˜ aus dem Zustand |+ wird |+. ′
′
U U ˜ 0 und |+|φa −→ ˜ + . |0|φa −→ |0|φ |+|φ
Es folgt ˜ 0 | + = 0˜ | + φ 0 | φ+ . Die Zust¨ande |φ0 und |φ+ lassen sich umso besser unterscheiden, desto kleiner φ0 | φ+ ist. Also m¨ usste Eve die Transformation U ′ entsprechend w¨a√ hlen. Von dieser Wahl unabh¨angig ist jedoch das Skalarprodukt 0 | + = ˜ in gleichem Maße gr¨oßer, wie φ0 | φ+ kleiner 1/ 2. Dadurch wird 0˜ | + ˜ ist ein Maß f¨ wird. Der Wert 0˜ | + ur die St¨orung des bei Bob ankommenden Bits. Das heißt: Umso mehr Information Eve erh¨alt, desto st¨arker wird |x ver¨andert. Eves Zielkonflikt
Unsere Argumentation ¨ahnelt der in den Abschnitten 3.4 und 3.6. Allerdings sch¨ opft Eve mit der beschriebenen Strategie ihre M¨oglichkeiten wie erw¨ahnt nicht aus. Deutlich wird ihr Zielkonflikt zwischen viel Information erhalten und unbemerkt bleiben. Diesen kann sie mit keiner Strategie wie eben beschrieben der eben beschriebenen Art umgehen. Wenn Eve unbemerkt bleiben will, kann sie nur wenig u ¨ber das ¨ubermittelte Quantenbit |x in Erfahrung bringen. Wenn sie u ¨ber dieses viel erf¨ahrt, wird sie aller Wahrscheinlichkeit nach ertappt. Eine Lauschstrategie mit verschr¨ ankten Bits Wir k¨ onnen diesen Ansatz noch verallgemeinern, indem wir Eve erlauben, ihr Bit mit dem versendeten zu verschr¨anken. Einen speziellen Fall dieser Idee haben wir bereits im Beispiel 7.2 kennen gelernt. Eve verwendet ein Quantenregister |E im Anfangszustand |φa und wendet eine unit¨are Transformation V auf |x|E an. Dadurch hat sie die M¨oglichkeit ihr Quantenregister mit dem u ¨bermittelten Bit zu verschr¨anken. Mit der Messung ihres Quantenregisters kann sie warten, bis Alice und Bob die verwendeten Basen ¨offentlich
7.3 Lauschstrategien
187
ausgetauscht haben. Die Nachfolgezust¨ande von Eves Transformation V haben die Form V |0|φa −→ |0|φ00 + |1|φ01 und
V
|1|φa −→ |0|φ10 + |1|φ11 . Eves Anteile |φ00 , |φ01 etc. sind in diesen Formeln keine normalisierten Zust¨ande: Gilt beispielsweise 1 V |0|φa −→ √ (|00 + |11), 2 √ √ so w¨are |φ00 = 1/ 2 · |0 und |φ01 = 1/ 2 · |1. Aus der Forderung, dass Eves Zugriff so unauff¨allig wie m¨ oglich sein soll, folgt sofort dass φ01 | φ01 oglich zu sein haben. und φ10 | φ10 so klein wie m¨ Das gleiche gilt, wenn Alice das Bit in der Hadamardbasis kodiert hat. Wir setzen an: V |+|φa −→ |+|φ++ + |−|φ+− und
V
|−|φa −→ |+|φ−+ + |−|φ−−, wobei |φ++ , |φ+− , . . . vier weitere nichtnormalisierte Zust¨ande sind. Wenden wir die Linearit¨at von V an, k¨ onnen wir diese als Linearkombination von |φ00 und |φ10 darstellen. Damit l¨asst sich der Wunsch φ+− | φ+− und φ−+ | φ−+ klein zu halten, als weitere Bedingung an |φ00 , |φ10 etc. formulieren. Auf der anderen Seite will Alice nat¨ urlich m¨ oglichst viel ¨uber das gesendete Bit herausfinden. In einer Reihe von Ver¨ offentlichungen ist dieser Ansatz ¨ intensiv untersucht worden (eine Ubersicht findet der Leser in [18]). Eve hat demnach denselben Zielkonflikt, den wir bei den Angriffen ohne Verschr¨ankung beobachtet haben. In dem Maß, in dem Eve Informationen u ¨ber den Schl¨ ussel gewinnt, ver¨andert sie die u ¨bermittelten Bits. Werden Fehlerkorrektur und privacy amplification verwendet, bietet das BB84-Protokoll gegen derartige Angriffe hinreichende Sicherheit. Ist die Anzahl der ausgetauschten Bits hinreichend groß, ist die Anzahl der f¨ ur den Erhalt der Sicherheit aufzuwendenden Bits tolerierbar. Die allgemeinste m¨ ogliche Lauschsituation w¨ urde nur voraussetzen, dass Eve mit den ausgetauschten Quantenbits in Kontakt tritt und dass die Gesetze der Quantenmechanik gelten. Die bisher beschriebenen Angriffe sind noch nicht so generell modelliert. Sie werden als inkoh¨arente oder unzusammenh¨angende Angriffe bezeichnet, da Eve die von Alice an Bob geschickten Quantenbits nacheinander, jedes f¨ ur sich analysiert. Man kann nun noch allgemeinere Szenarien erdenken, in denen Eve die ausgetauschten Quantenbits als ein System auffassen kann und Messungen vornehmen darf, die allgemeiner als die in diesem Buch pr¨asentierten sind (siehe zum Beispiel [65]). Nach ¨ unseren bisherigen Uberlegungen d¨ urfen wir zu Recht vermuten, dass daraus kein Vorteil entsteht.
188
7 Geheime Botschaften man-in-themiddle attack
Einen Angriff gibt es, dem das BB84-Protokoll zun¨achst schutzlos ausgeliefert ist. Vielleicht ist der eine oder andere Leser selbst auf die Idee gekommen: Wenn Eve sich Alice gegen¨ uber als Bob ausgibt und alle seine Schritte simuliert, wenn Eve außerdem in gleicher Weise Bob gegen¨ uber Alice’ Rolle im BB84-Protokoll u urlich nicht entdeckt ¨bernimmt, kann sie nat¨ werden. Allerdings ben¨ otigt Eve dazu eine vollkommene Kontrolle des Geschehens. Und gl¨ ucklicherweise gibt es klassische Verfahren, die vor einem solchen man-in-the-middle attack sch¨ utzen: das sind sogenannte Authentisierungsverfahren. Ein Stichwort in diesem Zusammenhang lautet digitale Unterschrift.
7.4 Quantenverschl¨ usselung mit Verschr¨ ankung
Vor¨ uberlegung
Die bisher beschriebene BB84-Verschl¨ usselung beruht darauf, dass Quantenzust¨ande mit nicht-orthogonalen Zust¨anden ver¨andert werden, m¨ochte man etwas u ¨ber sie herausfinden. 1991 hat Artur Ekert von der Universit¨at Oxford ein Verfahren vorgeschlagen, das veschr¨ankte Quantenbits nutzt. Diese nur zweieinhalb Seiten lange Publikation [40] z¨ahlt mittlerweile zu den meist zitierten Ver¨ offentlichungen zur Kryptographie. Wir erinnern uns an das Gedankenexperiment aus Abschnitt 2.11. Alice erzeugt ein Paar verschr¨ankter Quantenbits 1 √ (|00 + |11). 2 Eines davon schickt sie Bob. Messen beide ihre H¨alften des verschr¨ankten Paares, erhalten sie dasselbe Ergebnis. Mit Wahrscheinlichkeit 1/2 ist dieses 0, mit der gleichen Wahrscheinlichkeit 1. Nach der Messung besitzen beide das gleiche, zuf¨allig erzeugte Bit, ohne dass dieses im gewohnten Sinn ausge¨ tauscht werden musste. Zum Zeitpunkt der Ubertragung stand das Ergebnis der Messungen allerdings noch nicht fest. Das Zufallsbit ist in diesem Sinne nie u ¨bertragen worden und konnte also nicht belauscht werden. Damit scheinen verschr¨ankte Bits f¨ ur die Erzeugung von Schl¨ usseln gut geeignet zu sein. Nach den Erfahrungen, die wir in den vorhergehenden Abschnitten mit Eves Raffinesse gemacht haben, erscheint uns das jedoch als zu einfach. Bitte denken Sie vor dem Weiterlesen eine Weile u ¨ber die folgende Aufgabe nach: Aufgabe 7.4: Wie sieht Eves Angriff aus? Eine m¨ ogliche Antwort: Eve versetzt ein Quantenbit |e in den Anfangszustand |0 und wendet das CNOT-Gatter auf dieses und das von Alice an Bob gesandte Gatter an. Danach befinden sich die drei Bits in dem verschr¨ankten Zustand 1 √ (|000 + |111). 2 In welcher Reihenfolge auch immer die drei ihre Bits messen: das Ergebnis ist das gleiche, Eve erf¨ahrt auf diese Weise unbemerkt den genauen Schl¨ ussel.
7.4 Quantenverschl¨ usselung mit Verschr¨ankung Allerdings haben wir im Beispiel 7.2 gesehen, dass Eves verschr¨anktes Quantenbit das Ergebnis von Messungen beeinflusst, wenn die m¨oglichen Zust¨ande nicht orthogonal sind. Das nutzt Ekerts Schl¨ usselverteilungsprotokoll. Alice und Bob w¨ urfeln darin aus, in welcher Basis sie messen. Nur wenn die Ergebnisse der Messung eine bestimmte Bedingung erf¨ ullen, verlief die Schl¨ usselverteilung unbelauscht, das heißt ohne Verschr¨ankung durch weitere Bits. Ekerts Verfahren verwendet Konzepte und Notation, die in diesem Buch nicht eingef¨ uhrt werden. Darum beschreiben wir nur die Grundidee. Wir gleichen diesen Mangel dadurch aus, dass wir gegen Ende des Abschnitts die auf ¨ den ersten Blick erstaunlichen Ahnlichkeiten mit dem Ansatz von Bennett und Brassard diskutieren. Dadurch wird die Sicherheit von Verfahren nach der Art des Ekert-Protokolls erhellt. Das Schema des Ekert-Protokolls Alice und Bob steht jeweils eine Auswahl verschiedener Messverfahren zur Verf¨ ugung. Folgende Schritte ¨ ubertragen“ ein Bit und sind entsprechend ” der gew¨ unschten Schl¨ ussell¨ange zu wiederholen. 1. Erzeuge ein Paar von Quantenbits im Zustand 1 √ (|01 − |10). 2 Ein Bit erh¨alt Alice, das andere Bob. 2. Alice w¨ahlt ein Messverfahren aus ihrer Menge zuf¨allig und misst ihr Bit. 3. Bob w¨ahlt ein Messverfahren aus seiner Menge zuf¨allig und misst sein Bit. 4. Alice und Bob tauschen sich u ¨ber das gew¨ahlte Messverfahren aus: 4.1. haben sie das gleiche Verfahren gew¨ahlt, so wird das Ergebnis Teil des Schl¨ ussels; 4.2. haben sie verschiedene Verfahren gew¨ahlt, dienen ihre Ergebnisse dazu, eine Bedingung C zu testen. Ist diese Bedingung C nicht erf¨ ullt, wird der gesamte bisher u ussel verworfen. ¨bertragene Schl¨ Die in 4.2 zu u ufende Bedingung C ergibt sich aus der CHSH¨berpr¨ Ungleichung, benannt nach John Clauser, Mike Horne, Abner Shimony und Richard Holt, [26]. Es handelt sich dabei um eine Verallgemeinerung von Bells Ungleichung aus Abschnitt 2.11. Wir erinnern uns: John Bell fand eine Bedingung, nach der sich entscheiden l¨asst, ob die von der Quantenmechanik vorhergesagte Fernwirkung verschr¨ankter Teilchen korrekt ist, oder ob nicht doch eine lokal-realistische Erkl¨arung hinter allem schlummert (Stichwort: versteckte Variablen). Die CHSH-Ungleichung ist eine experimentell leichter nachpr¨ ufbare Variante von Bells Theorem. Damit l¨asst sich feststellen, ob
189 Verschiedene Basen
190
7 Geheime Botschaften
Eves Einfluss
Zusammenhang mit BB84
die Quantenbits von Alice und Bob im Sinne der Quantenmechanik maximal verschr¨ankt sind, oder ob Eves Dazwischenfunken diese Eigenschaft vermindert hat. Die Auswahl der Messverfahren ist an die CHSH-Ungleichung angepasst. F¨ ur die Sicherheit des Verfahrens ist es nicht wichtig, dass Alice das verschr¨ankte Bitpaar erzeugt. Das kann irgendeine dritte Dienstleistungsinstanz sein. Die Messungen decken auf, ob jemand versucht hat, an dem Schl¨ usselaustausch teilzuhaben. Wir untersuchen nun, wie Lauschversuche von Eve prinzipiell aufgedeckt werden k¨ onnen. Dabei hilft uns unsere Analyse des BB84-Protokolls. In dem Maß, in dem Eve die versendeten Quantenbits durch Messungen oder unit¨are Transformationen manipuliert, weichen auch beim Ekert-Protokoll die Messergebnisse von Alice und Bob vom Erwarteten ab. Wenn Eve hingegen ein Quantenbit in ihrem Besitz mit einem ausgetauschten verschr¨ankt, ¨andert sie nur auf den ersten Blick nichts. Beispiel 7.2 zeigt, wie ein solches Vorgehen vom BB84-Protokoll aufgedeckt wird. Anschaulich vermindert Eves verschr¨anktes Quantenbit die urspr¨ ungliche Verschr¨ankung der Bits von Alice und Bob. Die Information, die sich urspr¨ unglich in der Korrelation zwischen zwei Bits befand (siehe Abschnitt 5.3), ist nun auf drei Bits verteilt. Der Test der CHSH-Ungleichung deckt diese verminderte Verschr¨ankung auf. An dieser Stelle wird deutlich, warum auf eine detaillierte Darstellung des Ekert-Protokolls verzichtet wird: es zu verstehen, h¨angt vom Verst¨andnis der genannten Ungleichung ab. Wir gehen hier einen anderen Weg. Wir untersuchen Gemeinsamkeiten mit dem uns mittlerweile vertrauten BB84-Protokoll, um das Geschehen mit uns bekannten Begriffen anzun¨ahern und auf diese Weise ein Gef¨ uhl f¨ ur auf Verschr¨ankung beruhende Kryptographieverfahren zu gewinnen. Die Arbeit von Bennett und Brassard aus dem Jahr 1984 hat anfangs kaum Verbreitung unter Physikern gefunden, sondern war nur Kryptographen und Informatikern bekannt. Somit entwickelte Ekert sein Verfahren ohne Kenntnis des BB84-Protokolls. Dabei gibt es zwischen beiden eine u ¨berraschende Gemeinsamkeit, aber auch einen wichtigen Unterschied. Beides wollen wir hier diskutieren. Wir beginnen mit der Gemeinsamkeit. Dazu betrachten wir eine Variante des Ekert-Protokolls, die ebenfalls Verschr¨ankung nutzt. Eine Verschr¨ ankung nutzende Variante 1. Erzeuge ein Paar von Quantenbits im Zustand erh¨alt Alice, das andere Bob.
√1 (|00 + |11). 2
Eines
2. Alice misst ihr Bit in einer der zuf¨allig gew¨ahlten Basen B = {|0, |1} oder B′ = {|+, |−}. 3. Bob misst sein Bit in einer der zuf¨allig gew¨ahlten Basen B oder B′ .
4. Alice und Bob tauschen sich u ¨ber das gew¨ahlte Messverfahren aus: 4.1. haben sie in der gleichen Basis gemessen, ist das Ergebnis Teil des Schl¨ ussels;
7.4 Quantenverschl¨ usselung mit Verschr¨ankung
191
4.2. haben sie verschiedene Basen gew¨ahlt, vergleichen sie ihre Bits. Sind diese ungleich, wird der bisher u ussel ver¨bertragene Schl¨ worfen. Die Gemeinsamkeiten mit dem BB84-Protokoll lassen sich leicht nachvollziehen, wenn wir dessen Darstellung auf Seite 181 betrachten. In Schritt 2 unserer Ekert-Variante“ erzeugt Alice implizit ein Zufallsbit, das im ” BB84-Protokoll a′ heißt. Das Messergebnis entspricht dem Bit a des BB84Protokolls. Die weiteren Gemeinsamkeiten der Verfahren sollte der Leser an dieser Stelle selbst nachvollziehen. Auf diese Weise nimmt das hier nur angedeutete Ekert-Protokoll etwas konkretere Konturen an. Da wir die Sicherheit des BB84-Protokolls ausf¨ uhrlich diskutiert haben, bekommen wir außerdem einen Hinweis darauf, warum das Ekert-Protokoll sicher ist. Hier soll nun aber ein wichtiger Unterschied erw¨ahnt werden. Im Fall des BB84-Protokolls existiert Alice’ Schl¨ usselbit Bit a, bevor das davon abh¨angende Quantenbit verschickt wird. Bei dem auf Verschr¨ankung beruhenden Protokoll ist es theoretisch m¨ oglich, die verschr¨ankten Quantenbits zu verschicken; Alice und Bob messen diese erst dann, wenn die Schl¨ ussel ben¨ otigt werden. Falls zwischen der Schl¨ usselverteilung – also dem Zeitpunkt, zu dem zwischen den beiden ein Quantenkanal existiert – und der Verwendung ein l¨angerer Zeitraum liegt, hat das Ekert-Protokoll einen Vorteil: die Schl¨ usselbits k¨ onnen unmittelbar vor Gebrauch erzeugt werden. Beim BB84-Protokoll m¨ ussen die Schl¨ ussel zwischen Verteilung und Verwendung in klassischer Form sicher verwahrt werden. Zwar hindern die Gesetze der Physik Eve daran, durch Belauschen des Quantenbits relevante Informationen zu erlangen, sofern Alice und Bob das Protokoll korrekt einhalten. Verwahren Alice und Bob die erzeugten, dann klassischen, Schl¨ ussel anschließend in Panzerschr¨anken, um sie zu einem sp¨ateren Zeitpunkt zu verwenden, spricht gem¨aß der klassischen Physik nichts dagegen, dass Eve einen davon knackt, die Bits kopiert und schließlich alles in demselben Zustand wie vor ihrem Zugriff hinterl¨asst – mag das in der Praxis auch mit Schwierigkeiten verbunden sein.
Unterschied zu BB84
Aufgabe 7.5: Was ist an folgender Argumentation falsch, die abweichend vom vorhergehenden Absatz behauptet, dass die eben beschriebenen Protokolle doch gleichwertig seien: Im BB84-Protokoll k¨onnte Bob die ihm zu” gesandten Quantenbits speichern und erst dann messen, wenn die Schl¨ ussel ben¨ otigt werden. Da seine Wahl der Basis den entstehenden Schl¨ ussel mitbestimmt, wird dieser auch erst nach Versendung der Quantenbits erzeugt. Aus Eves Sicht gibt es keinen Unterschied zwischen diesem Vorgehen und dem Protokoll auf Seite 190.“ Wir haben hier zwei historisch fr¨ uhe, aber gleichzeitig f¨ ur Anwendungen und das Grundverst¨andnis wichtige Beispiele kryptographischer Verfahren auf Quantenbasis kennen gelernt2 . Wie in allen Bereichen der Quantenin2 Der
erste Ansatz zur Quantenkryptographie stammt allerdings bereits aus dem Jahr 1969. Stephen Wiesner entwickelte einen Ansatz f¨ ur f¨ alschungssichere Banknoten, der allerdings erst 1983 zur Publikation angenommen wurde, [99].
Ausblick
192
7 Geheime Botschaften formatik gibt es auch hier eine sehr große Zahl an weiteren Ans¨atzen, Ergebnissen und Ideen. Quantenkryptographie hat sich zu einem umf¨anglichen Forschungsgebiet entwickelt. Bereits in der Einleitung wurde erw¨ahnt, dass quantenkryptographische Verfahren kurz vor ihrer Marktreife stehen. Abbildung 7.2 verdeutlicht, dass f¨ ur die Umsetzung des BB-84 Protokolls sehr einfache unit¨are Transformationen gen¨ ugen. Ein Beispiel von vielen aussichtsreichen Umsetzungen stammt von Harald Weinfurter und seinem Team von der LMU M¨ unchen. Im Oktober 2002 gelang eine Schl¨ ussel¨ ubertragung zwischen der Zug- und der Karwendelspitze u ¨ber 23,4 Kilometer. Spannend ist neben der u ¨berwundenen Strecke, dass die verwendeten Ger¨ate klein, preiswert und trotzdem zuverl¨assig sind. Abschnitt 9.3.2 beschreibt dieses Experiment n¨aher. Im Jahr 2004 wurde in Wien unter der Regie von Anton Zeilinger die erste QuantenBank¨ uberweisung ausgef¨ uhrt – mit Hilfe von verschr¨ankten Photonen. Der aktuelle Rekord im Jahr 2007 liegt bei einer Freiluftschl¨ ussel¨ ubertragung von 144 Kilometern [84], siehe Seite 248. Damit r¨ uckt die Distanz von der Erdoberfl¨ache zu einem Satelliten in den Bereich des Realisierbaren. Zur praktischen Umsetzung, zur Hardware f¨ ur die Schl¨ usselverteilung, finden sich in Abschnitt 9.3 einige Hinweise. Eine hilfreiche weiterf¨ uhrende Darstellung bietet [45], wo auch die Sicherheit der thematisierten Verfahren noch genauer analysiert wird.
193
8 Klassische Verschlu ¨sselungen knacken: Primfaktorzerlegung O Sicherheit, der Teufel wartet deiner! Jakob B¨ ohme
In diesem Kapitel lernen wir den ber¨ uhmtesten Quantenalgorithmus kennen: Shors Verfahren zur Faktorisierung ganzer Zahlen. Bei der Ver¨offentlichung 1994 handelte es sich um den ersten effizienten Quantenalgorithmus f¨ ur ein Problem, f¨ ur das kein effizientes klassisches Verfahren bekannt ist und das zugleich wichtig ist. Mit Shors Algorithmus l¨asst sich zu einer ganzen Zahl ein Teiler finden. Das soll wichtig sein? Um das einzusehen, beginnen wir unsere Untersuchung mit einem bekannten Verschl¨ usselungsverfahren, der RSA-Kryptographie. In diesem Kapitel spielen Begriffe und Ergebnisse aus der Zahlentheorie eine Rolle. Diese sind in Abschnitt A.5 des Anhangs ausgelagert, um den Lesefluss nicht zu st¨ oren. In Abschnitt 8.2 werden wir feststellen, dass wir Zahlen dann faktorisieren k¨ onnen, wenn wir die Periode einer Funktion bestimmen k¨ onnen. Shors Algorithmus erm¨oglicht es, solche Perioden effizient zu berechnen. Zur Vorbereitung auf diesen Quantenalgorithmus lernen wir in Abschnitt 8.3 ein klassisches Verfahren von großer praktischer Relevanz kennen: die diskrete Fouriertransformation. Denn ein wichtiges Element von Shors Faktorisierungsalgorithmus ist die QuantenFouriertransformation, Abschnitt 8.4. Abschnitt 8.5 untersucht Simons Algorithmus, dessen Aufgabenstellung an das Verfahren von Deutsch-Jozsa erinnern mag. Er berechnet die Periode einer Funktion mit Booleschen Eingabewerten (also aus der Menge {0, 1}) und ist strukturell mit dem Kern von Shors Algorithmus identisch. Nach diesen Vorarbeiten ist es nicht mehr schwierig, die Arbeitsweise von Shors Algorithmus zu verstehen. Im letzten Abschnitt werden wichtige Varianten und Verallgemeinerungen von Shors Faktorisierungsalgorithmus vorgestellt.
194
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung
8.1 Faktorisierung und Verschl¨ usselung: RSA-Kryptographie Definition Faktorisierung
Finden wir zu einer Zahl n einen Teiler a, k¨onnen wir n als Produkt ganzer Zahlen schreiben: n = a · b, mit b = n/a. Die Faktoren a und b k¨ onnen wir weiter zerlegen, bis ein Produkt von Primzahlen entstanden ist. Zum Beispiel gilt 100 = 10 · 10 = 2 · 2 · 5 · 5.
Public KeyKryptographie
Das ist die sogenannte Primfaktorzerlegung. Jede ganze Zahl ist auf diese Weise als Produkt nicht weiter zerlegbarer Zahlen darstellbar. Dieses Produkt ist eindeutig (l¨asst man die Reihenfolge der Faktoren außer acht). Verfahren zur Berechnung der Primfaktorzerlegung einer Zahl n sind seit langem bekannt. So k¨ onnen wir wie oben beschrieben zun¨achst einen Teiler bestimmen und das entstehende Produkt√ gegebenenfalls weiter zerlegen. Allerdings k¨ onnte jede Zahl zwischen 2 und n ein echter Teiler von n sein. Die Eingabegr¨ oße des Faktorisierungsproblems √ ist die Anzahl der Bits von n, die wir mit m bezeichen. Wir m¨ ussten Ω( 2m ) m¨ogliche Teiler ausprobieren, und die Laufzeit w¨achst beinahe exponentiell. Auch der beste bekann√ 3 te Algorithmus hat Laufzeit Ω(2 m ), und es wird allgemein angenommen, dass die Primfaktorzerlegung mit klassischen Rechnern nicht effizient berechnet werden kann. Man ist von dieser Annahme so ¨uberzeugt, dass auf ihr die Sicherheit eines bekannten Verschl¨ usselungssystems beruht: die der RSA-Kryptographie, benannt nach Ronald Rivest, Adi Shamir und Leonard Adleman, die dieses Verfahren 1978 ver¨offentlicht haben. Bei der RSA-Kryptographie handelt es sich um ein Public Key-Verfahren; man spricht auch von asymmetrischer Verschl¨usselung. Bei solchen Verfahren gibt es zwei Schl¨ ussel: einen ¨offentlichen, den die Absender verwenden, um Nachrichten zu verschl¨ usseln. Und einen geheimen, den der Adressat niemandem mitteilen darf: damit entschl¨ usselt er Nachrichten, die mit dem offentlichen verschl¨ usselt wurden. Das Ziel des Ganzen ist: f¨ ur eine unbe¨ fugte Person, diese heißt bei uns Eve, muss die verschl¨ usselte Nachricht unlesbar sein. Dies entspricht der Situation in Abbildung 7.1. Schematisch sieht das folgendermaßen aus: Bob erwartet vertrauliche Nachrichten von eventuell mehreren Absendern. 1. Er erzeugt zwei Schl¨ ussel: einen geheimen, den er f¨ ur sich beh¨alt, und einen ¨ offentlichen, den er zum Beispiel Alice und Charlotte zukommen l¨asst. 2. Alice verschl¨ usselt ihre Mitteilung an Bob mit dem ¨offentlichen Schl¨ ussel. 3. Bob verwendet seinen geheimen Schl¨ ussel, um Alice’ Nachricht zu entschl¨ usseln.
8.1 Faktorisierung und Verschl¨ usselung: RSA-Kryptographie K¨ onnen wir sicherstellen, dass eine mit dem ¨ offentlichen Schl¨ ussel kodierte Nachricht ohne den geheimen Schl¨ ussel nicht lesbar ist, hat dieses Verfahren zwei große Vorteile: 1. Es muss kein geheimer Schl¨ ussel zwischen Alice und Bob ausgetauscht werden. Dieser Vorgang ist eine Sicherheitsl¨ ucke von Verfahren mit geheimen Schl¨ usseln (siehe Abschnitt 7.1). 2. Viele verschiedene Absender k¨ onnen denselben ¨offentlichen Schl¨ ussel verwenden. Sie sind alle in das Kryptographiesystem eingebunden; Alice kann aber von Charlotte verschl¨ usselte Nachrichten nicht lesen und umgekehrt. Ein Beispiel f¨ ur ein Public Key-Kryptographiesystem ist das zur Verschl¨ usselung von E-Mails dienende PGP-Verfahren (engl. pretty good privacy). Wir betrachten nun, wie die drei Schritte (Schl¨ usselerzeugung, Chiffrierung, Dechiffrierung) im Falle des RSA-Verfahrens umgesetzt sind. A. Bob erzeugt einen ¨ offentlichen Schl¨ ussel
1. W¨ahle zwei zuf¨allige Primzahlen p und q. 2. Berechne das Produkt und dessen Eulerfunktionswert: n ← pq, φ(n) ← (p − 1)(q − 1) 3. W¨ahle eine kleine ungerade Zahl e, die teilerfremd zu φ(n) ist. 4. L¨ ose die Gleichung d · e ≡ 1 mod (p − 1)(q − 1) 5. Ver¨ offentliche d und n als ¨offentlichen Schl¨ ussel 6. Halte e als geheimen Schl¨ ussel unter strengem Verschluss, vernichte p, q und φ(n).
Bemerkungen: Schritt 1: Die Zahlen p und q m¨ ussen sehr groß sein. Eine L¨ange von 1000 Bits ist empfehlenswert. Wir w¨ahlen zwei große Zahlen p und q zuf¨allig und testen, ob es sich um Primzahlen handelt. Dazu gibt es ein randomisiertes Verfahren (siehe Abschnitt 4.2, k¨ urzlich wurde auch ein deterministisches Verfahren entdeckt, [2]). Schritt 2: Die Eulersche φ-Funktion ist auf Seite 282 definiert. Schritt 3: Wir w¨ahlen e als Primzahl gr¨ oßer p und q. Schritt 4 l¨asst sich mit einer erweiterten Version von Euklids Algorithmus uhren, siehe [28]. in Laufzeit O (log n)3 ausf¨
195
196
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Bob hat einen ¨ offentlichen Schl¨ ussel erzeugt und zum Beispiel auf seiner Homepage ver¨ offentlicht. Alice hat sich die Zahlen e und n heruntergeladen. Bevor sie ihre Nachricht verschl¨ usseln kann, muss sie diese in eine ganze Zahl umwandeln. Ist diese als Folge von Bits bn−1 . . . b0 gegeben, bietet sich i die bin¨ar dargestellte Zahl m = ∑n−1 i=0 bi 2 an. B. Alice verschl¨ usselt ihre Nachricht Eingabe beziehungsweise Ausgangspunkt ist Alice’ Nachricht, die ganze Zahl m. Wir setzen voraus, dass m kleiner n ist. Anderenfalls zerlegt sie die Ziffernfolge m in Bl¨ ocke von Ziffern m1 , . . . , mk , so dass jeder der k Zahlen kleiner n ist. Ausgabe ist die verschl¨ usselte Nachricht m. 1. m = md mod n C. Bob entschl¨ usselt die Nachricht Eingabe: die verschl¨ usselte Nachricht m Ausgabe: die entschl¨ usselte Nachricht m Bob benutzt seinen geheimen Schl¨ ussel e.
1. m ← m e mod n Beispiel 8.1: Das folgende Beispiel stammt aus der Ursprungsarbeit von Rivest, Shamir und Adleman (zitiert nach [98]). A. Bob w¨ahlt die Primzahlen p = 47, q = 59 und ermittelt n = pq = 2773 und φ(n) = (p − 1)(q − 1) = 2668. Er w¨ahlt e = 157 und zeigt mit Euklids Algorithmus ggT(2668, 157) = 1. Mit der erweiterten Variante von Euklids Algorithmus stellt er fest, dass d · 157 ≡1 mod 2668 die L¨ osung d = 17 hat. Bob ver¨offentlicht d = 17 und n = 2773.
8.1 Faktorisierung und Verschl¨ usselung: RSA-Kryptographie
197
B. Alice m¨ ochte Bob die Nachricht ITS ALL GREEK TO ME schicken und verwendet den ¨ offentlichen Schl¨ ussel d = 17, n = 2773. Sie w¨ahlt die Kodierung Leerzeichen = 00, A = 01, B = 02, . . . , Z = 26. Das ergibt m = 0920 1900 0112 1200 0718 0505 1100 2015 0013 0500 Sie teilt m in 10 Bl¨ ocke der L¨ange 4 ein, damit jeder Block einer Zahl usselt sie zu kleiner n = 2773 entspricht. m 1 = 920 verschl¨ m 1 = 92017 = 948 mod 2773.
Die verschl¨ usselte Nachricht lautet dann
m = 0948 2342 1084 1444 2663 2390 0778 0774 0219 1655.
C. Bob hat m empfangen. Er wendet den geheimen Schl¨ ussel e = 157 auf m 1 an: 948157 mod n = 920
ergibt zum Beispiel die ersten beiden Buchstaben von Alice’ Nachricht.
Analyse Die Analyse besteht aus drei Teilen. Zun¨achst stellen wir fest, dass Bob die Nachricht korrekt entschl¨ usselt. Danach betrachten wir sehr knapp die Laufzeit dieses Verfahrens. Und zuletzt untersuchen wir die Sicherheit: kann wirklich nur Bob die Nachricht von Alice entschl¨ usseln? Bob hat die Nachricht korrekt entschl¨ usselt. d ist e−1 mod (p − 1)(q − 1), das multiplikativ Inverse von e modulo φ(n). Das heißt ed ≡1 mod (p − 1)(q − 1) oder ed = 1 + k(p − 1)(q − 1) f¨ ur eine ganze Zahl k. Wir k¨ onnen ausnutzen, dass p und q Primzahlen sind: m e mod p = med mod p = m1+k(p−1)(q−1) mod p
= m · (m p−1 )k(q−1) mod p = m · 1k(q−1) mod p
= m mod p
Im vorletzten Schritt haben wir den Satz von Euler-Fermat angewendet (siehe Anhang Abschnitt A.5.3). Mit der gleichen Rechnung folgt: m e ≡ m mod q
Korrekte Entschl¨ usselung
198
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung An dieser Stelle verwenden wir folgende aus der Zahlentheorie bekannte Tatsache, ohne sie zu beweisen (siehe etwa [69]): F¨ ur zwei Primzahlen p = q und zwei ganze Zahlen x, d gilt: Aus xe ≡ x mod p und xe ≡ x mod q folgt xe ≡ x mod pq.
Damit folgt Laufzeit
m e ≡ m mod n.
Wir u uhr¨berzeugen uns rasch davon, dass alle drei Schritte effizient ausf¨ bar sind. Mehrfach wird der Euklidische Algorithmus angewendet, der in der Eingabegr¨ oße linear viele arithmetische Operationen ausf¨ uhrt, die ihrerseits quadratische Laufzeit haben. Den Primzahltest haben wir bereits oben erw¨ahnt. Wir m¨ ussen uns nur noch davon u ¨berzeugen, dass wir in Polynomialzeit potenzieren k¨ onnen. Wir d¨ urfen etwa md mod n
effiziente Potenzierung
nicht durch d Multiplikationen berechnen: das w¨aren exponentiell viele in der Eingabegr¨ oße. Es geht schneller, wenn wir die Bin¨ardarstellung des Exponenten verwenden. So ist 100 = 26 + 25 + 22 . Damit gilt 6
5
2
m100 = m2 m2 m2 . i
i−1
i−1
F¨ ur die Faktoren gilt m2 = m2 m2 . Damit lassen sich die potentiellen 0 1 k Faktoren m2 , m2 , . . . , m2 mit k = O (logd) Multiplikationen bestimmen. Daraus l¨asst sich mit O (logd) weiteren Multiplikationen me bestimmen. Es gen¨ ugen also O (logd) Multiplikationen; diese sind mit O (logm)2 Bitoperationen ausf¨ uhrbar. Mit dieser Idee l¨asst sich md mod n mit kubischer Laufzeit berechnen: Die Potenz md mod n ist f¨ ur L-Bitzahlen mit Laufzeit O L3 berechenbar.
1. int x ← 1 2. solange d = 0 2.1. falls d ungerade, so x ← x · a mod n
2.2. d ← d/2
8.2 Die Suche nach Perioden
199
2.3. m ← m · m mod n 3. return x Selbstverst¨andlich hat auch die unbefugte Person Eve den Schl¨ ussel d, n heruntergeladen, und Alice’ verschl¨ usselte Botschaft m abzufangen war auch kein Problem. Warum kann sie die Klartextbotschaft m nicht bestimmen? Dazu m¨ usste Sie d −1 mod (p − 1)(q − 1)
berechnen. Offenbar ben¨ otigt sie dazu das Produkt (p − 1)(q − 1) = φ(n). Ihre erste Idee ist, die Zahl n zu faktorisieren. Aber wir haben bereits erfahren, dass Eve dazu nicht in der Lage ist, wenn n groß ist. Und Bob hat daf¨ ur gesorgt, dass n sehr groß ist. Die Folgefrage lautet: Kann Eve φ(n) berechnen, ohne n zu faktorisieren? Das ist im Prinzip nicht ausgeschlossen: φ(n) ist die Gr¨oße der Menge Z∗n . K¨ onnte dieser Wert ohne Kenntnis von p und q bestimmt werden? Nein: jeder der φ(n) kennt, kann daraus p und q leicht berechnen; und zwar mit folgender Formel (der Beweis findet sich etwa in [98]): p + q = n − φ(n) + 1. Damit ist klar: φ(n) zu berechnen ist genauso schwer, wie n zu faktorisieren. Allerdings folgt daraus noch nicht, dass Eve n faktorisieren muss, um m zu entschl¨ usseln. Man konnte diese Vermutung bisher nicht beweisen. Es wurde jedoch schon seit Jahrzehnten u ¨ber die Sicherheit der RSA-Kryptographie nachgedacht, und es scheint niemandem m¨ oglich zu sein, an der Faktorisierung vorbeizukommen. Es ist kein Verfahren bekannt, das m entschl¨ usselt, ohne n zu faktorisieren. Wir schließen: 1. Bob kann mit seinem geheimen Schl¨ ussel die Nachricht dechiffrieren, weil er p und q kennt, die Primfaktoren von n. 2. Eve kann diese Nachricht (nach dem aktuellen Wissensstand) nur dann entschl¨ usseln, wenn sie p und q kennt. Darauf beruht die Sicherheit der RSA-Kryptographie. Und auf der ebenfalls unbewiesenen Vermutung, dass es keinen effizienten Algorithmus zur Faktorisierung von n gibt. Eines aber l¨asst sich beweisen: Verf¨ ugt Eve u ¨ber einen Quantencomputer, der auf ausreichend vielen Bits rechnet, kann sie n faktorisieren und Alice’ Botschaft entschl¨ usseln.
8.2 Die Suche nach Perioden In Abbildung 8.1 ist der Verlauf einer periodischen Funktion an die Tafel gezeichnet. Es gibt ein wiederkehrendes Muster, das der Wissenschaftler als Periode p identifiziert hat:
Sicherheit
200
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung
Abbildung 8.1: Die Periode einer Funktion zu finden, ist eine wichtige Aufgabe
Definition Periode
Die Periode einer Funktion f ist die kleinste Zahl p > 0, so dass f (x + p) = f (x) f¨ ur alle x.
Dieser Begriff wird in Abbildung 8.1 illustriert. Beispiel 8.2: 1. Die Sinusfunktion hat die Periode 2π: sin(x + 2π) = sin(x). 2. Die Funktion f (x) = 2x mod 5 bildet ganze Zahlen in die Menge {0, 1, . . ., 4} ab. Es gilt f (0) = 1, f (1) = 2 und f (2) = 4. Wegen 23 = 8 ≡ 3 mod 5
8.2 Die Suche nach Perioden
201
ist f (3) = 3. Der n¨achste Funktionswert ergibt sich aus 24 = 16 ≡ 1 mod 5, f (4) = 1 = f (0). Damit hat f Periode p = 4. Denn ab dieser Stelle gilt f (4 + i) = 24 2i ≡ 1 · 2i mod 5 = f (i). ⋄ Die Periode einer Funktion zu finden, ist nicht immer einfach. Wir werden sehen: Das am Beginn des letzten Abschnitts formulierte Faktorisierungsproblem l¨asst sich effizient l¨ osen, wenn wir die Periode von bestimmten Funktionen berechnen k¨onnen. Da das Faktorisierungsproblem schwierig ist, ist damit auch die Suche nach Perioden schwierig, zumindest im Allgemeinen. Wie Perioden beim Faktorisieren helfen, beschreibt der Rest des Abschnitts. Perioden und Faktoren Wir haben uns vorgenommen, eine ganze Zahl n zu faktorisieren. Dazu nehmen wir uns vor, in einem Schritt einen echten Teiler zu bestimmen. Also eine Zahl t, die n teilt und ungleich 1 und n ist. Das ergibt eine Zerlegung n = t · n′ . onnen wir diese Zahlen weiter zerleFalls t oder n′ keine Primzahlen sind, k¨ gen und so die Primfaktorzerlegung ermitteln. Wir werden davon ausgehen, dass n ungerade ist. Das ist keine Einschr¨ankung: Wenn n gerade ist, l¨asst sich dies leicht feststellen – zum Beispiel an der Bin¨ardarstellung – und wir kennen sofort zwei echte Teiler: 2 und n/2. Da wir nicht alle m¨ oglichen Teiler von n durchprobieren k¨onnen, analysieren wir folgenden randomisierten Ansatz (der allerdings noch nicht zum Erfolg f¨ uhren wird). F¨ ur jede ganze Zahl a ist ggT(a, n) ein Teiler von n, gerade der gr¨ oßte gemeinsame mit a. Also k¨ onnten wir eine Zahl a zuf¨allig aus {2, . . . , n − 1} w¨ahlen und mit dem Euklidischen Algorithmus den Teiler ggT(a, n) bestimmen. Das Problem ist allerdings: sehr oft werden wir das Ergebnis 1 erhalten; immer dann, wenn a und n teilerfremd sind. Angenommen, n ist das Produkt zweier großer Primzahlen p und q. Dann sind fast alle Zahlen {2, . . . , n − 1} mit n teilerfremd. Es gibt jedoch ein Verfahren, dass mit hoher Wahrscheinlichkeit eine Zahl findet, die mit n nicht teilerfremd ist. Um es effizient ausf¨ uhren zu k¨onnen, m¨ ussen wir jedoch folgende F¨ahigkeit haben: f¨ ur eine Zahl 1 < a < n k¨onnen wir die Periode p der Funktion f (x) = ax mod n effizient berechnen. Aus f (x + p) = f (x) folgt f (p) = f (0). F¨ ur die Periode p gilt also a p ≡ 1 mod n.
(8.1)
Voraussetzung: wir k¨onnen Perioden bestimmen
202
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Man nennt p auch die Ordnung modulo n von a. p gibt an, wie oft a mit sich selbst multipliziert werden muss, bis das Ergebnis modulo n den Wert a0 = 1 ergibt. Anders ausgedr¨ uckt: die Folge a0 , a1 , a2 , a3 , . . . ergibt p verschiedene Werte: a0 , a1 , . . . , a p−1 , a p = a0 , a p+1 = a1 , . . . Aus Gleichung (8.1) folgt: a p = 1 + kn f¨ ur ein k. Das heißt, n teilt a p − 1. Was hilft uns das bei der Suche nach einem echten Teiler von n? Wenn die Periode p gerade ist, k¨onnen wir gem¨aß (8.1) a p − 1 faktorisieren: a p − 1 = (a p/2 − 1)(a p/2 + 1). Die Zahl n teilt also das Produkt auf der rechten Seite der Gleichung. Aus einer Gleichung der Form k · n = (x − 1)(x + 1) folgt, dass n mit x − 1 oder mit x + 1 einen Teiler ungleich 1 gemeinsam hat. Es k¨ onnen also nicht sowohl a p/2 − 1 als auch a p/2 + 1 mit n teilerfremd sein. Allerdings k¨ onnte a p/2 + 1 ein Vielfaches von n sein: in diesem Fall ist p/2 ggT(a + 1, n) = n und liefert keinen echten Teiler. Aufgabe 8.1: Zeigen Sie, dass a p/2 − 1 kein Vielfaches von n ist. ¨ Mit Ubung 8.1 folgern wir: ggT(a p/2 + 1, n) oder ggT(a p/2 − 1, n) ergeben einen echten Teiler von n, außer • a p/2 − 1 ist mit n teilerfremd, und • a p/2 + 1 ist ein Vielfaches von n. Dieser Fall ist jedoch unwahrscheinlich: Tatsache der Zahlentheorie: Ist n ungerade und keine Primpotenz, so gilt f¨ ur mindestens die H¨alfte der Zahlen a in {0, . . . , n − 1}, die mit n teilerfremd sind: • die Periode p der Funktion ax mod n ist gerade, und • n teilt a p/2 + 1 nicht (anders ausgedr¨ uckt: a p/2 ≡ −1 mod n). Diese Aussage werden wir nicht beweisen (siehe dazu etwa [69]). Stattdes¨ sen konstruieren wir aus unseren bisherigen Uberlegungen einen Algorithmus (siehe dazu Abbildung 8.2).
8.2 Die Suche nach Perioden
203
W¨ahle a aus 2, . . . , n − 1. z ← ggT(a, n)
Nein
z = 1?
Ja Ermittle Periode p von ax mod n
p gerade?
Nein
Ja p
z ← ggT(a 2 − 1, n)
Nein
z = 1?
Ja p
z ← ggT(a 2 + 1, n) z = n?
Ja
Nein Ausgabe z Abbildung 8.2: Flussdiagramm zu Shors Algorithmus. Die hervorgehobene Suche nach der Periode wird von einem Quantenalgorithmus ausgef¨ uhrt.
204
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Algorithmus Faktorisierung, klassischer Teil Eingabe: eine ungerade ganze Zahl n, die keine Primpotenz ist Ausgabe: ein echter Teiler von n
1. W¨ahle zuf¨allig eine Zahl a aus {2, . . . , n − 1}. 2. z ← ggT(a, n). Falls z = 1: Ausgabe z. Abbruch. 3. Ermittle die Periode p von ax mod n. 4. Falls p ungerade ist: Beginne erneut mit Schritt 1. 5. Ermittle ggT(a p/2 + 1, n) und ggT(a p/2 − 1, n) Hat sich kein echter Teiler ergeben, beginne erneut mit Schritt 1. Sonst: Ausgabe z.
Haben wir im ersten Schritt die Zahl a ung¨ unstig gew¨ahlt, l¨asst sich daraus kein Teiler von n ermitteln. Dann w¨ahlen wir erneut eine Zufallszahl und beginnen von vorn. W¨ahrend in Schritt 2 alle a mit ggT(a, n) = 1 sofort zum Erfolg f¨ uhren, ist die Wahrscheinlichkeit, im weiteren Verlauf einen echten Teiler zu finden gr¨ oßer gleich 1/2: das ist die Folge der obigen Tatsache aus der Zahlentheorie. Beispiel 8.3: Die kleinste Zahl, die sich mit dieser Methode zerlegen l¨asst ist n = 15. Wir w¨ahlen im ersten Schritt eine zuf¨allige Zahl a aus {2, . . . , 14} und berechnen mit dem Euklidischen Algorithmus ggT(a, 15). F¨ ur a = 3 erhalten wir ggT(3, 15) = 3 und sind fertig: 3 ist ein echter Teiler von 15. Das gleiche gilt f¨ ur a = 5. Alle anderen m¨ oglichen Werte f¨ ur a sind mit 15 teilerfremd. Nehmen wir einmal an, a = 7 wurde gew¨ahlt. Die Werte der Funktion 7x mod 15 sind gerade: x
0
1
2
3
4
5
6
...
7x mod 15
1
7
4
13
1
7
4
...
Also hat 7x mod 15 die Periode p = 4. p ist gerade und wir ermitteln = 49. Wir berechnen
7 p/2
ggT(15, 49 + 1) = 5, ggT(15, 49 − 1) = 3 und haben n = 15 faktorisiert. F¨ uhren wir diese Berechnung f¨ ur alle m¨oglichen Wahlen von a aus {2, . . . , 14} durch, stellen wir fest, dass wir nur mit a = 14 scheitern.
8.2 Die Suche nach Perioden
205
x
0
1
2
3
4
5
6
...
14x mod 15
1
14
1
14
1
14
1
...
In diesem Fall ist 14 p/2 = 14 mod 15. ggT(15, 14 + 1) = 15, ggT(15, 14 − 1) = 1. Es ergibt sich kein echter Teiler.
⋄
Wie wahrscheinlich ist es zu scheitern? Wie hoch ist der Anteil der Elemente a, die eine ungerade Periode haben oder f¨ ur die a p/2 ≡ ±1 mod n gilt? Wir nehmen zur Kenntnis, dass mit Ergebnissen Zahlentheorie folgende Aussage bewiesen werden kann: Ist n ungerade und nicht die Potenz einer Primzahl (n = pk , f¨ ur eine Primzahl p), so f¨ uhrt der klassische Teil von Shors Algorithmus mit Wahrscheinlichkeit gr¨ oßer 1/2 im ersten Anlauf zum Erfolg.
Fehlerwahrscheinlichkeit
Damit ist die Wahrscheinlichkeit, nach k Versuchen noch keine L¨osung gefunden zu haben, kleiner 1/2k . Die Erfahrung zeigt, dass in der Praxis der Anteil der Werte a, f¨ ur die sich keine L¨ osung ergibt, noch geringer ist. Eine Einschr¨ankung haben wir bisher nicht kommentiert: n darf keine Primpotenz sein. Diesen Fall k¨ onnen wir jedoch zuvor ausschließen: es gibt einen effizienten klassischen Test, der diesen Fall erkennen und auch l¨osen kann. Falls den Leser all die Voraussetzungen und Einschr¨ankungen verwirren: Der in der RSA-Kryptographie verwendete Fall – n ist das Produkt zweier unterschiedlicher Primzahlen – erf¨ ullt alle Voraussetzungen und kann als Musteranwendung betrachtet werden. Laufzeit Der klassische Algorithmus dieses Abschnitts bildet den Rahmen von Shors Algorithmus. Was noch fehlt ist der Quantenalgorithmus zur Bestimmung der Periode. Um den Resourcenverbrauch von Shors Algorithmus mit den bekannten klassischen Verfahren vergleichen zu k¨ onnen, analysieren wir jetzt den Aufwand des klassischen Teils. Wir beziehen uns auf den Algorithmus, der in Abbildung 8.2 visualisiert ist. Dieser rechnet ausschließlich mit Zahlen kleiner logn, der Eingabegr¨oße unseres Problems. Den ersten Schritt k¨ onnen wir als konstant voraussetzen. Der Euklidische Algorithmus – und damit Schritt 2 – hat Laufzeit O (log n)3 , siehe Abschnitt A.5. Der Aufwand des Quantenverfahrens im dritten Schritt wird in Abschnitt 8.6 ermittelt. Schritt 4 bedeutet konstanten Aufwand, und wir fahren mit Schritt 5 fort: a p/2 kann eine sehr große Zahl sein. Wir berechnen stattdessen a p/2 mod n, was mit O (logn)3 Bitoperationen m¨ oglich ist, wie wir auf Seite 198 gesehen haben.
Laufzeit
206
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Aufgabe 8.2: Zeigen Sie, dass f¨ ur ganze Zahlen x, n gilt: ggT(x, n) = ggT(x mod n, n).
Ebenso teuer ist anschließend Euklids Algorithmus. Also k¨onnen wir Schritt 5 in Zeit O (logn)3 ausf¨ uhren. uhrung des Algorithmus hat Laufzeit zusammen: Eine Ausf¨ Wir fassen O (log n)3 und findet mit Wahrscheinlichkeit gr¨oßer gleich 1/2 einen Teiler von n. In Abschnitt 4.2 wird untersucht, wie sich die Fehlerwahrscheinlichkeit randomisierter Algorithmen veringern l¨asst. Die Wahrscheinlichkeit, nach k Wiederholungen noch keinen Teiler gefunden zu haben, ist kleiner gleich 1/2k . Die erwartete Laufzeit ist also k
∑ 2k · O
k≥1
(log n)3 = O (log n)3 .
Wir wollen einen echten Teiler einer ungeraden Zahl n bestimmen, wox bei n keine Primpotenz ist. Steht uns die Periode von a mod n zur Verf¨ ugung, erledigen wir diese Aufgabe in Zeit O (log n)3 mit Wahrscheinlichkeit gr¨ oßer 1/2. Das ist allerdings nur das Vorspiel zu dem eigentlichen Ergebnis dieses Kapitels und schon lange bekannt, siehe etwa [66]. Da man kein klassisches Verfahren zur effizienten Ermittlung der Periode kennt, entsteht daraus erst mit Shors Quantenalgorithmus in Abschnitt 8.6 ein effizientes Verfahren. Bemerkung: Wir haben bei der Laufzeitanalyse vorausgesetzt, dass wir lBitzahlen mit der Schulmethode multiplizieren. Diese ben¨otigt O l 2 Bitoperationen und wird von Euklids Algorithmus und der modularen Potenzierung jeweils l-mal aufgerufen. Es gibt ein raffinierteres Verfahren [85], das in Zeit O (l · logl · loglogl) multipliziert,womit der klassische Teil von Shors uhrbar wird (l = log n, wenn n Algorithmus in Zeit O l 2 · logl · loglogl ausf¨ die Eingabe des Algorithmus ist). Zusammenfassung: Das Ziel ist, eine Zahl n zu faktorisieren. Primpotenzen und gerade Zahlen k¨ onnen wir ausschließen: in diesen F¨allen l¨asst sich leicht ein Teiler finden. K¨ onnen wir mit Laufzeit T (n) die Periode der Funktion ax mod n f¨ ur ein a bestimmen, gibt es einen randomisierten Algorithmus, der mit Laufzeit O (logn)3 + T (n)
einen echten Teiler von n ermittelt. Die folgenden drei Abschnitte f¨ uhren uns an den Quantenalgorithmus zur Periodenbestimmung heran.
8.3 Die schnelle Fouriertransformation
207
8.3 Die schnelle Fouriertransformation Die diskrete Fouriertransformation (DFT) ist ein sehr wichtiger klassischer Algorithmus. Vor allem eine Variante namens schnelle Fouriertransformation ist aus vielen Anwendungen nicht mehr wegzudenken; wir lernen die fast fourier transformation (FFT) am Ende des Abschnitts kennen. An dieser Stelle ist die DFT interessant, weil sie uns die Wirkungsweise der QuantenFouriertransformation besser verstehen l¨asst. Die Aufgabenstellung: wir sollen Polynome multiplizieren, wie wir es aus der Schule kennen. (6x3 − 10x) · (x2 + 5) =
6x5 − 10x3 + 30x3 − 50x 6x5 + 20x3 − 50x.
=
Ein Polynom vom Grad n − 1 hat die Form
an−1 xn−1 + an−2 xn−2 + . . . a1 x + a0
n−1
=
∑ a i xi .
i=0
Dabei ist der Koeffizient an−1 ungleich 0. Um ein Polynom zu speichern, verwenden wir das Feld seiner Koeffizienten (a0 , a1 , . . . , an−1 ). Wir sprechen von der Koeffizientendarstellung. Wir betrachten Polynome vom Grad n − 1, da diese durch n Koeffizienten bestimmt sind und der Eingabegr¨ oße n entsprechen. Damit lautet unsere Aufgabenstellung: Das Produkt der Polynome n−1
n−1
A(x) =
∑ a i xi ,
B(x) =
i=0
ist
2n−2
C(x) =
∑
∑ b i xi
i=0 i
ci xi mit ci =
∑ a j bi− j .
(8.2)
j=0
i=0
Der Koeffizient des Terms xi ist gerade a0 bi + a1 bi−1 + . . . + aib0 , weil x j xi− j = xi ist. Gleichung 8.2 beschreibt eine Methode zur Multiplikation zweier Polynome, die 1 + 2 + . . .+ (2n − 2) = Θ(n 2 )
Multiplikationen von Koeffizienten verwendet. Wir nennen dieses direkte Verfahren die Schulmethode. Wir werden ein Verfahren untersuchen, das mit O (n logn) Multiplikationen auskommt und die Schnelle Fouriertransformation verwendet. Die Zeitersparnis ist immens, da der Logarithmus sehr langsam w¨achst. Algorithmen mit Laufzeit O (n logn) bezeichnet man als quasilinear.
Polynommultiplikation
208
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung St¨ utzstellendarstellung
Wir beginnen mit einer alternativen Darstellung von Polynomen. Es liegt nahe, Polynome als Funktionen oder als Kurvenz¨ uge in der Ebene zu betrachten. Solche vom Grad 1 sind, geometrisch betrachtet, Geraden. Durch zwei Punkte verl¨auft genau eine Gerade. Also k¨onnen wir zwei solche Punkte zur Beschreibung einer Geraden verwenden. Allgemein l¨asst sich ein Polynom vom Grad n − 1 durch n Punkte beschreiben; man spricht von der St¨ utzstellendarstellung. Gegeben seien n Punkte (x0 , y0 ), (x1 , y1 ), . . . , (xn−1 , yn−1 ), so dass die Werte xi paarweise verschieden sind. Dann gibt es genau ein Polynom A vom Grad n − 1, f¨ ur das A(xi ) = yi f¨ ur i = 0, . . . , n − 1 gilt.
Der Beweis enth¨alt eine interessante Beschreibung der Polynommultiplikation als Produkt von Matrizen. Die Gleichung ur i = 0, . . . , n − 1 A(xi ) = yi f¨ ist mit der Gleichung ⎛ x20 1 x0 ⎜ 1 x1 x21 ⎜ ⎜ .. .. .. ⎝ . . . 1 xn−1 x2n−1
··· ··· .. .
xn−1 0 xn−1 1 .. .
···
xn−1 n−1
⎞⎛ ⎟⎜ ⎟⎜ ⎟⎜ ⎠⎝
a0 a1 .. . an−1
⎞
⎛
⎟ ⎜ ⎟ ⎜ ⎟=⎜ ⎠ ⎝
y0 y1 .. . yn−1
⎞ ⎟ ⎟ ⎟ ⎠
gleichwertig. Die Matrix auf der linken Seite bezeichnen wir mit V (x); man nennt sie Vandermonde Matrix. Man weiß: V (x) ist umkehrbar! Also l¨asst sich die Koeffizientendarstellung a = (a0 , . . . , an−1 )T eindeutig aus dem Vektor y = (y0 , . . . , yn−1 )T berechnen: a = V (x)−1 y. Den Schluss von den St¨ utzstellen auf die Koeffizientendarstellung bezeichnet man auch als Interpolation. F¨ ur Leser, die der Beweis interessiert, dass V (x) umkehrbar ist: Die Determinante ist
∏(x j − xi). i< j
In der St¨ utzstellendarstellung lassen sich Polynome schneller multiplizieren. Ist n¨amlich (x0 , A(x0 )) St¨ utzstelle von A und (x0 , B(x0 )) von B, so ist utzstelle des Produktes C. Allerdings kann C vom Grad (x0 , A(x0 ) · B(x0 )) St¨
8.3 Die schnelle Fouriertransformation
209
2n− 2 sein, so dass wir eine entsprechende Anzahl an St¨ utzstellen ben¨otigen, um C zu bestimmen. Aus jeweils 2n − 1 gemeinsamen St¨ utzstellen zweier Polynome vom Grad n − 1 l¨asst sich in Zeit Θ(n) eine St¨ utzstellendarstellung des Produkts berechnen. Das folgende Schema fasst die Situation zusammen. Koeffizientendarstellung punktweise Auswertung
⏐ ⏐
Schulmultiplikation
−−−−−−−−−−→ Θ(n2 )
Θ(n)
Koeffizientendarstellung ⏐Interpolation ⏐
St¨ utzstellendarstellung −−−−−−−−−−−−−−→ St¨ utzstellendarstellung punktweise Multiplikation
¨ Aufgabe 8.3: Uberlegen Sie, wie die punktweise Auswertung und die Interuhrbar sind. polation in Zeit Θ(n2 ) ausf¨ Das Problem ist also: Wie l¨asst sich die Koeffizientendarstellung schnell in eine St¨ utzstellendarstellung umwandeln und umgekehrt? Verwenden wir eine ¨ Methode mit quadratischer Laufzeit – gem¨aß Ubung 8.3 – haben wir nichts gewonnen. Die Gesamtlaufzeit bleibt quadratisch und scheint schlechter als die Schulmethode zu sein. Einheitswurzeln Unser Problem l¨asst sich mit einer besonderen Klasse von komplexen Zahlen l¨ osen. Eine L¨ osung der Gleichung xn = 1 in C heißt komplexe n-te Einheitswurzel. In der Algebra werden Nullstellen als Wurzeln bezeichnet. Alle Nullstellen von xn − 1 haben L¨ange 1 und sind √ n von der Form 1; daher stammt der Name. Den Zusatz komplex lassen wir in der Folge oft fort. Die (komplexen) n-ten Einheitswurzeln sind die Potenzen der komplexen Zahl ωn = e2πi/n . Es gibt genau n von ihnen.
Im Anhang (Abschnitt A.1) wird die komplexe Exponentialfunktion dargestellt. Damit l¨asst sich einsehen, dass die n-ten Einheitswurzeln ω0n , ω1n , . . . , ωn−1 n
Einheitswurzeln
210
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung
i
ω5
ω25
−1
ω05 = 1 ω35 −i
ω45
Abbildung 8.3: Die komplexen 5-ten Einheitswurzeln
oder e2πi·k/n (k = 0, . . . , n − 1), den Einheitskreis in gleich große Segmente unterteilen, wie Abbildung 8.3 zeigt. Da ωnn = e2πi = 1 gilt, ist jede n-te Einheitswurzel eine Nullstelle von xn − 1. Aufgabe 8.4: Visualisieren Sie die k-ten Einheitswurzeln f¨ ur k = 2, 3, 4 und 8. Wir interessieren uns f¨ ur Einheitswurzeln, weil sich Polynome an diesen Stellen besonders einfach auswerten lassen. Hat man ein Polynom A an der ur die Auswertung Stelle ωn berechnet, lassen sich die Zwischenergebnisse f¨ an der Stelle ω2n verwenden und so fort. Es folgt der entscheidende Begriff: DFT
Sei A ein Polynom in Koeffizientendarstellung a = (a0 , . . . , an−1 )T . Der Vektor y = (y0 , . . . , yn−1 )T mit yk = A(ωkn ) heißt diskrete Fouriertransformation von a: y = DFTn (a).
8.3 Die schnelle Fouriertransformation
211
Die DFT eines Polynoms A vom Grad n − 1 ist dessen St¨ utzstellendarstellung bez¨ uglich der n-ten Einheitswurzeln. Es gilt f¨ ur die zu ωkn geh¨orende Komponente n−1
yk =
∑ a j ωkn j ,
j=0
oder ⎛ ⎜ ⎜ ⎜ ⎝
⎞
y0 y1 .. . yn−1
⎛
⎜ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟=⎜ ⎠ ⎜ ⎜ ⎜ ⎝
1 1 1 1 .. .
1 ωn ω2n ω3n .. .
1 ωn−1 n
1 ω2n ω4n ω6n .. . 2(n−1)
ωn
1 ω3n ω6n ω9n .. . 3(n−1)
ωn
··· ··· ··· ··· .. . ···
1 ωn−1 n 2(n−1) ωn 3(n−1) ωn .. . (n−1)(n−1)
ωn
( j−1)(k−1)
⎞
⎟⎛ a0 ⎟ ⎟⎜ ⎟ ⎜ a1 ⎟⎜ . ⎟⎝ . . ⎟ ⎟ ⎠ an−1
⎞ ⎟ ⎟ ⎟ ⎠
DFTn wird durch die Matrix mit Eintrag ωn an der Stelle ( j, k) beschrieben. Die Umkehrabbildung DFT−1 n ist die Matrix mit dem Eintrag 1 − jk an der Stelle ( j, k). n ωn Die schnelle Fouriertransformation Nun kommen wir zu einem Verfahren, dass DFTn in Zeit Θ(n logn) berechnet, in dieser Zeit also ein Polynom an n Stellen auswertet. Wir nutzen aus, dass Potenzen von n-ten Einheitswurzeln wieder Einheitswurzeln ergeben. Sei n gerade und positiv. Quadrieren wir alle n-ten Einheitswurzeln, erhalten wir die (n/2)-ten Einheitswurzeln: n/2−1
2 2 {12 , (ωn )2 , (ω2n )2 , . . . , (ωn−1 n ) } = {1, ωn/2 , ωn/2 , . . . , ωn/2 }.
Die Gleichung (ωkn )2 = ωkn/2 l¨asst sich an einer Zeichnung wie Abbildung 8.3 verdeutlichen (zum Beispiel f¨ ur den Fall n = 8). Formal gilt f¨ ur jedes k∈N 2πi 2k 2πi k (ωkn )2 = e n = e n/2 = ωkn/2 . Wir erhalten durch Quadrieren der n-ten Einheitswurzeln jede (n/2)-te genau zweimal. Aufgabe 8.5: Zeigen Sie: k 2 k+n/2 2 ωn = ω n . Was folgt aus diesem Lemma f¨ ur die Berechnung der diskreten Fouriertransformation? Wir m¨ ussen Funktionswerte f¨ ur n verschiedene Eingaben
Halbierungslemma
212
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung bestimmen, f¨ ur die n-ten Einheitswurzeln. Wenn wir nun einmal alle Werte quadrieren, halbiert sich die Anzahl der Werte. Die Situation ¨ahnelt jenen rekursiven Sortierverfahren, bei denen in jedem Schritt das zu sortierende Feld halbiert wird (zum Beispiel Mergesort oder Quicksort im mittleren Fall). ¨ Wir k¨ onnen Ahnliches erreichen und zerlegen ein Polynom A(x) = a0 + a1 x + . . . + an−1xn−1 mit Grad n − 1 in zwei Polynome mit (etwa) halbiertem Grad: A0 (x) = a0 + a2x + a4x2 . . . + an−2xn/2−1 , A1 (x) = a1 + a3x + a5x2 . . . + an−1xn/2−1 . Es gilt A(x) = A0 (x2 ) + x · A1(x2 ).
(8.3)
Damit k¨ onnen wir A bei ω0n , ω1n , . . . , ωn−1 n auswerten, indem wir die Polynome A0 und A1 mit halbiertem Grad bei 2 (ω0n )2 , (ω1n )2 , . . . , (ωn−1 n )
(8.4)
auswerten. Dazu wenden wir DFTn/2 auf A0 und A1 an. Denn nach dem Halbierungslemma ergibt (8.4) gerade die n/2-ten Einheitswurzeln, n/2 an der Zahl. Dann setzen wir die Teilergebnisse gem¨aß (8.3) zusammen. Algorithmus FFTn Eingabe: Ein Feld (a0 , . . . , an−1 ), n ist eine Zweierpotenz Ausgabe: y = DFTn (a0 , . . . , an−1 ) FFT 1. Falls n − 1 = 0: Ausgabe a. 2. a0 ← (a0 , a2 , . . . , an−2 ), a1 ← (a1 , a3 , . . . , an−1 ) 3. y0 ← FFTn/2 (a0 ), y1 ← FFTn/2 (a1 ) 4. Setze y0 und y1 gem¨aß (8.3) zu y = DFTn (a) zusammen.
Wie bei dem divide and conquer Algorithmus Mergesort ergibt sich f¨ ur die Laufzeit T : T (n) = 2T (n/2) + Θ(n). (8.5) Der erste Summand ist der zeitliche Aufwand zweier rekursiver Aufrufe mit halbierter Eingabel¨ange. Θ(n) ist der Aufwand des Zusammensetzens gem¨aß (8.3). Es ist bekannt, dass die Rekursion (8.5) die L¨osung T (n) = Θ(n logn) hat.
8.3 Die schnelle Fouriertransformation
213
Der Algorithmus findet sich in vielen B¨ uchern zum Thema Algorithmen und Datenstrukturen. Um Schritt 4 in linearer Zeit zu bewerkstelligen, werden weitere Eigenschaften der n-ten Einheitswurzeln verwendet. Eine wichtige beschreibt das Summationslemma, das wir noch verwenden werden. Die n-ten Einheitswurzeln addieren sich zu 0:
Summationslemma
n−1
∑ ωin = 0.
i=0
Es gilt f¨ ur ganzzahlige k ≥ 0 die kein Vielfaches von n sind: n−1
∑
i=0
.
i ωkn = 0
Aufgabe 8.6: Veranschaulichen Sie das Summationslemma mit Hilfe von Abbildung 8.3 und beweisen Sie es formal. Verwenden Sie die Formel f¨ ur die geometrische Reihe n xn+1 − 1 ∑ xi = x − 1 f¨ur x = 1. i=0 Die Ergebnisse dieses Abschnitts sind in dem folgenden Schema zusammengefasst.
Koeffizientendarstellung ⏐ ⏐ FFTO(n logn)
Schulmultiplikation
−−−−−−−−−−→ Θ(n2 )
Θ(n)
Koeffizientendarstellung ⏐ O(n logn)⏐FFT−1
St¨ utzstellendarstellung −−−−−−−−−−−−−−→ St¨ utzstellendarstellung punktweise Multiplikation
Wir k¨ onnen aus zwei Polynomen in Koeffizientendarstellung in Zeit O (n logn) St¨ utzstellendarstellungen berechnen, n¨amlich deren diskrete Fouriertransformation. Diese lassen sich in linearer Zeit multiplizieren, in O (n logn) gewinnen wir daraus die Koeffizientendarstellung des Produktes. Das gesamte Verfahren ben¨ otigt Zeit Θ(n logn). Dieses Verfahren ¨ahnelt unserem Vorgehen bei dem Problem von Deutsch. Dort haben wir den Ausgangszustand mittels der Matrix H transformiert. Unsere Berechnung wurde in der Hadamard-Basis ausgef¨ uhrt, und vor der Messung haben wir das Ergebnis in die Standardbasis zur¨ ucktransformiert (mittels H −1 = H). Im weiteren werden wir sehen, dass es eine Beziehung zwischen Hadamard-Transformation und Fouriertransformation gibt.
Zusammenfassung
214
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung
8.4 Die Quanten-Fouriertransformation In diesem Abschnitt lernen wir die Quantenvariante der diskreten Fouriertransformation DFT kennen. QFT
Die Quanten-Fouriertransformation der Ordnung N wird durch die unit¨are Matrix ⎞ ⎛ 1 1 1 1 ··· 1 ⎟ ⎜ 1 ωN ω2N ω3N ··· ωN−1 N ⎜ ⎟ 2(N−1) ⎜ 1 ω2 ⎟ 4 6 ωN ωN ··· ωN ⎟ N 1 ⎜ ⎜ ⎟ 3(N−1) QFTN = √ ⎜ 1 ω3 6 9 ⎟ ω ω · · · ω N N N N N⎜ ⎟ .. .. .. .. ⎜ .. ⎟ .. . ⎝ . ⎠ . . . . 2(N−1) 3(N−1) (N−1)(N−1) N−1 ωN ωN · · · ωN 1 ωN beschrieben, wobei ωN die N-te Einheitswurzel e2πi/N bezeichnet. Ist |0, . . . , |N − 1 eine Orthonormalbasis, operiert QFTN auf dem Ndimensionalen Basisvektor | j folgendermaßen: 1 N−1 j·k QFTN | j = √ ∑ ωN |k. N k=0
¨ Der letzten Identit¨at sieht man die Ahnlichkeit mit der HadamardTransformation an: 1 Hn |x = √ ∑ (−1)x·y|y, 2n y∈{0,1}n siehe Seite 60. Das Bild eines Basisvektors ist eine Summe ¨uber alle Basisx·y vektoren; das Urbild geht in die Phase ein. Dabei gilt (−1)x·y = ω2 . Ein wesentlicher Unterschied ist, dass bei Hn Boolesche Vektoren x, y Verwendung finden – die Multiplikation ist das Skalarprodukt – w¨ahrend bei der Quanten-Fouriertransformation ganze Zahlen j, k multipliziert werden. In diesem Sinne operiert QFTN in der Menge der ganzen Zahlen. Genauer: In der Menge {0, . . ., N − 1} mit der Multiplikation modulo N. Es gilt j
j mod N
ωN = ωN
,
da ωk+N = ωkN ωNN = ωkN . N Auf den Vektor |0 . . . 0 wirken beide Transformationen gleich: das Ergebnis ist die gleichgewichtete Superposition. F¨ ur einen beliebigen Zustandsvektor N−1
|v =
∑ α j | j
j=0
8.4 Die Quanten-Fouriertransformation
215
ist das Ergebnis 1 N−1 N−1 j·k QFTN |v = √ ∑ ∑ α j ωN |k. N k=0 j=0 Der Zusammenhang mit der DFT wird klar, wenn wir uns die Amplituden als Koeffizienten eines Polynoms vorstellen. Im klassischen Fall ist der Normalisierungsfaktor √1N nicht n¨ otig. Die QFT wirkt auch als Basistransformation; sie ¨uberf¨ uhrt die Standardbasis |0, . . . , |N − 1 in die Basis QFTN |0, . . . , QFTN |N − 1. Mag die QFT anfangs etwas kompliziert wirken, ihre Wirkungsweise wird durch ihre Verwendung in Shors Algorithmus klarer. Die inverse Quanten-Fouriertransformation QFT −1 = QFT † – es handelt sich um eine unit¨are Transformation – wirkt auf einen Basiszustand | j als QFTN−1 | j
=
1 N−1 1 √ ∑ j·k |k N k=0 ωN
=
1 N−1 √ ∑ e−2πi· j·k/N |k. N k=0
Inverse QFT
Bevor wir die Quanten-Fouriertransformation im n¨achsten Abschnitt anwenden k¨ onnen, m¨ ussen wir sie noch als Schaltkreis aus lokalen Quantengattern konstruieren. Realisierung der Quanten-Fouriertransformation Die Quanten-Fouriertransformation eines Zustands erzeugt eine Superposition, in der f¨ ur jede Amplitude zwei ganze Zahlen multipliziert werden. Sie ist unit¨ar, aber k¨ onnen wir sie auch effizient ausf¨ uhren? QFTN l¨asst sich mit n(n + 1)/2 = O n2 vielen lokalen Quantengattern ausf¨ uhren (N = 2n ). Um die Operation QFT aus lokalen Gattern aufzubauen, m¨ ussen wir sie nach Art des Tensorproduktes zerlegen. Dann k¨ onnen wir erkennen, wie mit den einzelnen Quantenbits zu verfahren ist. Was ist daf¨ ur zu tun? Basisvektoren interpretieren wir als Bin¨ardarstellung einer ganzen Zahl. In die j·k Phase ωN geht das Produkt zweier ganzer Zahlen ein und jedes Bit ist relevant. Somit ist zun¨achst einmal v¨ ollig unklar, wie sich die QFT durch lokale Operationen realisieren lassen soll. Wir beginnen unsere Betrachtung mit QFT4 |x f¨ ur einen beliebigen Zweibitzustand |x1 x0 . 3
QFT4 |x = 1/2 ∑ ωxy 4 |y y=0
3x = 1/2 ω04 |00 + ωx4|01 + ω2x 4 |10 + ω4 |11 .
Ziel
216
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Das l¨asst sich als Produkt schreiben: x 1/2 |0 + ω2x 4 |1 · |0 + ω4 |1 ,
wie wir leicht nachrechnen. Die erste Klammer beschreibt den Zustand von Bit y1 und die zweite den von y0 . Interessantes zeigt folgende Rechnung: 2πi·2x/4 ω2x = ωx2 . 4 =e
Wir folgern:
QFT4 |x = 1/2 |0 + ωx2|1 · |0 + ωx4|1 ,
und die l¨astige Ganzzahlmultiplikation im Exponenten ist zu einem Wechsel der Einheitswurzel mutiert. Mit dieser Idee l¨asst sich zeigen: Der Zustand |x bestehe aus n Bits, N = 2n . Dann gilt 1 QFTN |x = √ |0 + ωx2|1 · |0 + ωx4|1 · . . . · |0 + ωxN |1 . (8.6) N
Die Klammern entsprechen den Zust¨anden der Bits |yn−1 , |yn−2 , . . . , |y1 , |y0 . Aufgabe 8.7: Zeigen Sie (8.6) f¨ ur den Fall N = 8. Wie k¨ onnen wir ein Quantenregister in den von Gleichung (8.6) berschriebenen Zustand versetzen? Es gibt einen Zusammenhang zwischen der QFT und der Hadamard-Transformation: Wenden wir H auf ein Quantenbit |x im Zustand 0 oder 1 an, ist das Ergebnis 1 H|x = √ (|0 + (−1)x |1) 2 1 = √ (|0 + ωx2 |1). 2 F¨ ur die Fouriertransformation 1 N−1 j·k QFTN : | j → √ ∑ ωN |k, N k=0 gen¨ ugen allerdings die 2-ten Einheitswurzeln nicht. Abhilfe schafft folgende lokale unit¨are Transformation: Phasen-Rotation
Die Operation Rm auf einem Bit wird von der Matrix 1 0 Rm = 0 ωm beschrieben. Ist das Bit 1, wird die Amplitude mit ωm multipliziert, die Phase wird also um den Winkel 2π/m gedreht.
8.4 Die Quanten-Fouriertransformation
|x2
|y0
R8
R4
H
217
|x1
H
|y1
R4
|x0
H
|y2
Abbildung 8.4: Quanten-Fouriertransformation auf drei Bits
¨ Der Ubersichtlichkeit halber weichen wir von der allgemein gebr¨auchlichen Bezeichnung ab, in der Rd mit ω2d multipliziert. Aufgabe 8.8: Berechnen Sie 1 R4 √ (|0 − |1). 2 Aufgabe 8.9: Zeigen Sie, dass Rm unit¨ar ist.
Nun m¨ ussen wir nur noch betrachten, wie sich die von x abh¨angige Phase ωxm erzeugen l¨asst. Wir m¨ ussen gem¨aß der bin¨aren Kodierung der Zahl x die korrekten Transformationen anwenden. Dazu betrachten wir 1 QFT8 |x = √ |0 + ωx2|1 · |0 + ωx4|1 · |0 + ωx8|1 . 8 Der Vektor x = (x2 , x1 , x0 ) hat den ganzzahligen Wert 4x2 + 2x1 + x0. Im Term ωx2 interessiert jedoch nur, ob x gerade oder ungerade ist: ω2k 2 =1 2k+1 und ω2 = −1 f¨ ur alle k. Wir folgern: ωx2 = ωx20 ergibt den Zustand von Bit y2 und ist mit einer Hadamard-Transformation ur die Bits y1 und y0 : auf x0 realisierbar. Desweiteren ergeben sich f¨ 2x1 +x0
ωx4 = ω4
x
4x2 +2x1 +x0
= ωx21 ω40 und ωx8 = ω8
x
= ωx22 ωx41 ω80 .
Die Phasenrotation ωxmi (mit Wirkung auf die |1-Komponente) l¨asst sich mit einem xi -gesteuerten Rm -Gatter realisieren. Bit y1 ergibt sich aus Bit x1 , indem zun¨achst H angewendet wird, gefolgt von einem x0 -gesteuerten R4 -Gatter. Einen Schaltkreis f¨ ur QFT8 zeigt Abbildung 8.4. Der Index m der Rm -Gatter ergibt sich aus dem Abstand der beteiligten Bits xi und x j , i > j: dann gilt m = 2i− j+1 .
218
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Auf |x2 wenden wir zwei Rm -Gatter an. Das erste ist durch |x1 gesteuert und f¨ uhrt R4 aus mit 4 = 22−1+1 . Das zweite wird durch |x0 gesteuert und f¨ uhrt R8 aus mit 8 = 22−0+1 . Aufgabe 8.10: Beweisen Sie, dass der Schaltkreis in Abbildung 8.4 die Transformation QFT8 realisiert. So l¨asst sich QFTN f¨ ur jede Zweierpotenz N = 2n realisieren. Auf das Bit |xi werden i verschiedene Rm -Gatter angewendet. Diese werden von den Bits ur j = 1, . . . , i − 1 steuert |x j ein Rm -Gatter mit |x0 , . . . , |xi−1 gesteuert. F¨ m = 2i− j+1 . Im Schaltkreis in Abbildung 8.4 sind die Gatter so angeordnet, dass diejenigen Bits zuerst transformiert werden, die keinen Einfluss mehr auf andere Bits haben. Wir beweisen die folgende Aussage nicht formal, da der analysierte Fall N = 8 bereits alle Ideen enth¨alt: QFTN l¨asst sich mit n(n + 1)/2 = O n2 vielen lokalen Quantengattern ausf¨ uhren (N = 2n ). Auch die klassische Fouriertransformation ist bei periodischen Funktionen n¨ utzlich. Aber die schnelle Fouriertransformation FFT N ben¨otigt Zeit Θ(N log N), w¨ahrend die Quantenversion nur Θ (log N)2 Gatter ben¨otigt; der Grund ist die Parallelit¨at. Dieser exponentielle Unterschied wird von Shors Algorithmus genutzt.
8.5 Simons Algorithmus
Problemstellung
Zur Vorbereitung auf das Hauptergebnis dieses Kapitels studieren wir einen Algorithmus, der uns sehr vertraute Methoden verwendet und strukturell Shors Algorithmus sehr ¨ahnlich ist. Die Problemstellung erinnert an die intensiv diskutierten Algorithmen von Deutsch und Deutsch-Jozsa. Uns ist eine Funktion f : {0, 1}n → {0, 1}n gegeben, f¨ ur die eine der beiden Alternativen gilt: 1. f ist bijektiv (verschiedene Vektoren aus {0, 1}n haben unterschiedliche Bilder). 2. Je zwei Vektoren aus {0, 1}n haben dasselbe Bild, und es gibt einen Vektor s ∈ {0, 1}n, s = 0 mit f (x) = f (x′ ) genau dann, wenn x ⊕ s = x′ . Wir sollen entscheiden, welcher Fall f¨ ur ein gegebenes f gilt. Im zweiten Fall ist s zu bestimmen.
8.5 Simons Algorithmus
219
Dieser Vektor s beschreibt, wie zwei Vektoren mit demselben Bild auseinander hervorgehen. Wir bezeichnen ihn als die Periode der Funktion f , denn f¨ ur jede Eingabe x gilt f (x ⊕ s) = f (x). Beispiel 8.4: Wir betrachten zwei Funktionen {0, 1}2 → {0, 1}2 : 1. Die Funktion f (x, y) = (0, x ⊕ y) operiert als 00 →
01 → 10 →
11 →
00 01 01 00
Wir sehen, dass je zwei Vektoren dasselbe Bild haben: 00 und 11 werden auf 00, 01 und 10 auf 01 abgebildet. Die Periode ist der Vektor (1, 1). 2. Die Funktion CNOT(x, y) = (x, y ⊕ x) ist bijektiv. Der folgende Algorithmus (siehe auch Abbildung 8.5) stammt von dem kanadischen Kryptologen Daniel R. Simon, der f¨ ur Microsoft Research in Redmond t¨atig ist.
|0
H
H
M |0
H
H
|0 f |0 Abbildung 8.5: Schaltkreis f¨ ur Simons Algorithmus
220
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Simons Algorithmus Wir rechnen mit zwei n-Bit Quantenregistern |a|b. Eingabe ist ein Quan |a|b ⊕ f (a) tenorakel U f : |a|b →
1. R = |a|b ← |0 . . . 0|0 . . . 0 2. Wende die Hadamard-Transformation auf Register |a an: R ← √12n ∑x∈{0,1}n |x|0 . . . 0 3. Wende das Orakel an: R ← U f R = √12n ∑x∈{0,1}n |x| f (x) 4. Miss Register |b, das zweite Register 5. Wende die Hadamard-Transformation auf |a an: |a ← Hn |a 6. Miss |a. Das Ergebnis ist ein Vektor z; gib diesen aus. Wiederhole diese Prozedur bis n − 1 linear unabh¨angige Ergebnisse z1 , . . . , zn−1 erzeugt wurden.
Dies ist der Quantenteil von Simons Algorithmus. Das Endergebnis ergibt sich mit einer klassischen Berechnung, die wir nach der Analyse dieses Verfahrens studieren. Die Messung in Schritt 4 ist f¨ ur das Resultat ohne Belang; darum wird diese in dem Schaltkreis in Abbildung 8.5 nicht vorgenommen. Sie erleichtert uns jedoch die Analyse des Algorithmus. Analyse Schritt 4
f bijektiv f periodisch
Die Ergebnisse der ersten drei Schritte sind dem Algorithmus direkt anzusehen. Die Analyse beginnt mit Schritt 4. Was passiert beim Messen des Registers |b? Das Orakel U f hat die beiden Register in einen verschr¨ankten Zustand versetzt; interessant ist die Wirkung auf Register |a. Wir nehmen an, die Messung in Schritt 4 hat das Ergebnis y. Ist f bijektiv, so werden wir bei einer anschließenden Messung von |a den Wert f −1 (y) beobachten. Im weiteren konzentriert sich diese Analyse auf den Fall, dass f nicht bijektiv ist. Dann hat y genau zwei Urbilder. Wir nennen sie x und x′ und wissen: es gilt x ⊕ x′ = s. Wir folgern: H¨atten wir beide Register gemessen, w¨are das Ergebnis entweder |x| f (x) oder |x ⊕ s| f (x). Da wir tats¨achlich nur das zweite messen, ist R nach Schritt 4 in einem Zustand der Form 1 ˆ + |xˆ ⊕ s)| f (x), ˆ |φ4 = √ (|x 2 siehe Abschnitt 2.8. |x ˆ k¨ onnte dabei jeder Zustandsvektor sein, da f (x) ˆ gleichverteilt unter allen Bildern der Funktion f gew¨ahlt wurde.
8.5 Simons Algorithmus
221
Messen wir an dieser Situation das erste Register, k¨onnen wir dem Ergebnis nichts entnehmen. Wir m¨ ussen den st¨ orenden Offset xˆ aus der Superposition |φ4 entfernen. Durch die Anwendung der Hadamard-Transformation lautet der Folgezustand
Schritt 5
1 1 ˆ ˆ √ (−1)x·z |φ5 = √ |z| f (x). ˆ + (−1)(x⊕s)·z ∑ n 2 z∈{0,1}n 2 Wir bezeichnen die Amplitude von |z| f (x) ˆ als √ ˆ ˆ αz = 1/ 2n+1 · (−1)x·z . + (−1)x·z⊕s·z
Wir unterscheiden die F¨alle, dass z · s gerade und ungerade ist. Es gelte z · s ≡ 0 mod 2. Dann gilt √ ˆ ˆ + (−1)x·z αz = 1/ 2n+1 · (−1)x·z √ = ±1/ 2n−1 . Dementsprechend gilt f¨ ur z · s ≡ 1 mod 2 √ ˆ ˆ ⊕1 + (−1)x·z αz = 1/ 2n+1 · (−1)x·z =
Fall 1
Fall 2
0.
Wir sehen, der st¨ orende Einfluss von xˆ wurde beseitigt. Aber wissen wir jetzt mehr u ¨ber die Periode s? Ja! Nach der abschließenden Messung im letzten Schritt gilt f¨ ur das Ergebnis z: Das Skalarprodukt mit s ist eine gerade Zahl, z · s ≡ 0 mod 2. Es gibt genau 2n−1 Vektoren z mit dieser Eigenschaft. Kennen wir n− 1 linear unabh¨angige davon, k¨ onnen wir unsere Berechnung wie folgt beenden: 7. L¨ ose das lineare Gleichungssystem z1 · t = 0, . . . , zn−1 · t = 0 in den Unbekannten (t1 , . . . ,tn ) = t. s sei die L¨ osung ungleich dem Nullvektor. 8. Ist f (0) = f (s) : Ausgabe: f ist periodisch bez¨ uglich s. Anderenfalls Ausgabe: f ist bijektiv.
Der Vektorraum, der von einem Vektor z ∈ {0, 1}n aufgespannt wird, hat nur zwei Elemente: 0 · z und 1 · z. Darum hat das Gleichungssystem aus Schritt 7 zwei L¨ osungen und nur eine ungleich 0.
Abschluss von Simons Algorithmus
222
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung f bijektiv
Bisher haben wir außer acht gelassen, dass f eventuell gar nicht periodisch ist. Dann sind die zi v¨ ollig gleichverteilt gezogen worden, und die gew¨ahlte L¨ osung s des Gleichungssystems ist ein Zufallsvektor. Es gilt dann f (0) = f (s).
Laufzeit
Die Funktion ist bijektiv, und s ist ungleich dem Nullvektor. Eine wichtige Frage ist noch offen: wie lange dauert es, bis wir n − 1 linear unabh¨angige Vektoren gefunden haben? Wir erhalten in einem Durchlauf von Simons Algorithmus jeden der 2n−1 Vektoren z · s ≡ 0 mod 2 mit gleicher Wahrscheinlichkeit. Es ist sehr unwahrscheinlich, dass die ersten beiden Vekussten beide gleich oder einer toren z1 und z2 linear abh¨angig sind. Dazu m¨ von ihnen der Nullvektor sein. Ein dritter Vektor ist von den ersten beiden linear abh¨angig, wenn er z1 , z2 , z1 ⊕ z2 oder 0 lautet. Das sind alle Linearkombinationen. Das deutet darauf hin, dass wir durch blindes Ausw¨ahlen leicht n − 1 linear unabh¨angige Vektoren finden. Man kann formal zeigen: im obigen Fall sind mit Wahrscheinlichkeit gr¨oßer 1/4 bereits die ersten n− 1 Vektoren linear unabh¨angig. Das Gleichungssystem aus 7 l¨asst sich mit dem Gaußschen Elimi Schritt nationsverfahren in Zeit O n3 l¨osen; dabei wird nebenher ermittelt, ob die Vektoren bereits linear unabh¨angig sind. Beispiel 8.5: Wir betrachten die Funktion f : {0, 1}3 → {0, 1}3 mit f (x2 , x1 , x0 ) = (x2 , x1 , 0). Die Periode ist s = (0, 0, 1)T ; f ist von der Komponente x0 unabh¨angig. Nach Schritt 3 befindet sich das Register im Zustand: 1 √ (|000|000 + |001|000 + |010|010 + |011|010 + . . .+ |111|110). 8 Wir messen das zweite Register: Das Ergebnis ist eine Bitfolge |x2 x1 x0 mit x0 = 0. Zum Beispiel |110. Dann lautet der neue Zustand 1 √ |110 + |111 |110. 2
Wir lassen ab jetzt das zweite Register weg. Dessen Zustand ¨andert sich nicht mehr. Schritt 5 erbringt T T 1 1 √ √ (−1)(110)·(000) + (−1)(111)·(000) |000 + . . . . 8 2
Berechnet man mehr Summanden dieser Superposition, erkennt man: nur Summanden |z mit z · (001)T = 0 haben Amplitude ungleich 0. Damit hat das Ergebnis der letzten Messung diese Eigenschaft.
8.6 Shors Algorithmus
223
Nun haben wir zwei linear unabh¨angige L¨ osungen erhalten, etwa
Schritt 7
z1 = (1, 1, 0)T , z2 = (0, 1, 0)T . Das Gleichungssystem lautet t2 ⊕ t1 = 0, t1 = 0. F¨ ur die L¨ osung gilt t2 = t1 = 0. t0 ist nicht festgelegt, aber nur t0 = 1 unterscheidet vom Nullvektor. Der Test f (0, 0, 0) = f (0, 0, 1)? ergibt: f hat die Periode (0, 0, 1)T .
⋄
Intuition: Zwei Register befinden sich im verschr¨ankten Zustand
∑ |x| f (x), x
wobei f periodisch ist: f (x ⊕ s) = f (x). Dabei fallen die Funktionswerte gem¨aß der Periode zusammen. Messen wir das zweite Register, geht das erste in 1 √ (|x ˆ + |xˆ ⊕ s) 2 u ¨ber. Die Periode s ist Teil dieses Zustands, allerdings nur implizit: wir m¨ ussen den st¨ orenden Einfluss des zuf¨alligen Vektors xˆ beseitigen; dies gelingt mit einer Hadamard-Transformation. Diese Grundidee ist der Kern von Simons Algorithmus und leicht abgewandelt auch von Shors Algorithmus. Dort betrachten wir allerdings eine periodische Funktion in den ganzen Zahlen und verwenden statt der Hadamard- die Fouriertransformation. Simons Algorithmus stammt aus dem Jahre 1994 und war das erste Beispiel f¨ ur einen Quantenalgorithmus, der jedem klassischen Verfahren f¨ ur die gleiche Aufgabenstellung exponentiell u ¨berlegen ist.
8.6 Shors Algorithmus Wir n¨ahern uns dem H¨ ohepunkt dieses Kapitels: mit den Vorbereitungen in den vorhergehenden Abschnitten, k¨ onnen wir Shors Algorithmus leicht verstehen. Das Resultat des Abschnitts 8.2 lautet: wir k¨onnen eine Zahl n faktorisieren, wenn wir zu einer Zahl a kleiner n die Periode der Funktion f (x) = ax mod n bestimmen k¨ onnen. Zudem haben wir gesehen, wie Simons Algorithmus die Periode einer Funktion mit Eingaben aus {0, 1}n berechnen kann. Die Funktion ax mod n bildet die ganzen Zahlen Z in die Menge {0, . . . , n− 1} ab. Um die Funktion implementieren zu k¨ onnen, beschr¨anken wir die
Intuition
224
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Eingabemenge auf {0, . . . , N − 1} f¨ ur eine Zweierpotenz N von der Gr¨oßenordnung n2 . Auf diese Menge werden wir die Quanten-Fouriertransformation anwenden; wir w¨ahlen N quadratisch in n, um mit hoher Wahrscheinlichkeit ein verwertbares Ergebnis zu erhalten. Shors Algorithmus zur Suche nach Perioden, Quantenteil Eingabe: Eine Funktion f : {0, . . . , N − 1} → {0, . . . , n − 1} mit Periode p: f (x + p) = f (x) f¨ ur alle x ∈ {0, . . ., N − 1}. f steht als Quantenorakel U f : |a|b → |a|b ⊕ f (a) zur Verf¨ ugung. F¨ ur die Faktorisierung ist f (x) von der Form ax mod n. Ausgabe: Im Fall p teilt N: Ein ganzzahliges Vielfaches y von N/p; y = jN/p. Anderenfalls: Eine Zahl nahe einem ganzzahligen Vielfachen von N/p. Wir rechnen mit zwei Quantenregistern |a|b, aus logN beziehungsweise logn Bits. Wir konstruieren das Orakel so, dass N ≈ n2 gilt; dann ist die Zahl der Quantenbits 3 logN
1. R = |a|b ← |0 . . . 0|0 . . . 0 2. Wende die Hadamard-Transformation auf |a an: R ← √1N ∑x=0,...,N−1 |x|0 . . . 0 3. Wende das Orakel an: R ← U f R = √1N ∑x=0,...,N−1 |x| f (x) 4. Miss Register |b 5. Wende die Quanten-Fouriertransformation auf |a an: |a ← QFTN |a 6. Miss |a und gib den Inhalt aus.
Vergleichen wir diesen Algorithmus mit Simons auf Seite 220, wird die gemeinsame Struktur erkennbar. Bei der Analyse k¨onnen wir von Beobachtungen des letzten Abschnitts profitieren. Die Messung in Schritt 4 ist f¨ ur das Ergebnis ohne Belang, vereinfacht jedoch die Analyse. Der Schaltkreis in Abbildung 8.6 implementiert den eben beschriebenen Algorithmus. Die Quanten-Fouriertransformation l¨asst sich mit O n2 Gattern realisieren, siehe Abbildung 8.4.
8.6 Shors Algorithmus
|0
225
H
QFT |0
M
H
|0 f |0 Abbildung 8.6: Schaltkreis f¨ ur Shors Algorithmus.
Laut Spezifikation ist das Ergebnis des Algorithmus nicht die Periode. Im Fall p teilt N lautet es y = jN/p f¨ ur eine ganze Zahl j. Daraus l¨asst sich die Periode p mit einem effizienten klassischen Verfahren bestimmen. Zur Erinnerung: auch bei Simons Algorithmus ist eine klassische Nachbearbeitung n¨ otig: Schritte 7 und 8 auf Seite 221. Wir kennen y und N, und es gilt j y = . p N
(8.7)
Haben j und p keine gemeinsamen Teiler – das heißt der Bruch pj ist gek¨ urzt – k¨ onnen wir j und, weitaus interessanter p, durch K¨ urzen des Bruches y/N bestimmen. Das wird am Ende des folgenden Beispiels durchgef¨ uhrt. Beispiel 8.6: Shors Algorithmus wurde im Jahr 2000 auf einem experimentellen Quantenrechner ausgef¨ uhrt [96]. Damit gelang es, die Zahl 15 zu faktorisieren. Darum f¨ uhren wir Beispiel 8.3 fort und betrachten die Arbeitsweise des eben geschilderten Algorithmus mit der Eingabe f (x) = 7x mod 15. Die Zahl 7 ist unter den zu n = 15 teilerfremden Zahlen aus {2, . . . , 14} beliebig gew¨ahlt (siehe Beispiel 8.3). Wir legen N = 16 fest. Dann f¨ uhren die Schritte 1 und 2 zu dem Zustand 1 ( |0|0 + |1|0 + . . .+ |15|0 ). 4
Nutzen des Ergebnisses
226
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Das Orakel erzeugt 1 15 ∑ |x|7x mod 15 4 x=0 =
1 (|0|1 + |1|7 + |2|4 + |3|13 + |4|1 + |5|7 + . . . 4
Wir sehen an dieser Stelle: die Periode p lautet 4, da f (4) = f (0) gilt und weiter f (5) = 7 · f (0) = f (1). Wir geben dem Zustand eine Form, die das Ergebnis der ersten Messung erkennbar macht:
1 4
Schritt 4
(|0 + |4 + |8 + |12) |1 +
(|1 + |5 + |9 + |13) |7 + (|2 + |6 + |10 + |14) |4 + (|3 + |7 + |11 + |15) |13 .
Die Messung in Schritt 4 ergibt als Ergebnis eine der (normalisierten) Zeilen der vorstehenden Superposition. So etwa 1 (|1 + |5 + |9 + |13) |7. 2 Die Periode ist dem Zustand anzusehen. Messen wir jedoch, erhalten wir keinen Aufschluss u ¨ber p.
Schritt 5
Darum wird die Fouriertransformation ausgef¨ uhrt, und zwar mit dem Ergebnis: 1 1 |0 + i|4 − |8 − i|12 . QFT16 (|1 + |5 + |9 + |13) = 2 2 Das einzusehen, erfordert eine etwas anstrengende Rechnung, die uns nach der allgemeinen Analyse leichter f¨allt (Aufgabe 8.11). Wir sehen jedoch, es handelt sich um eine Superposition von Vielfachen der Periode 4. Ein gleichwertiges Ergebnis erhalten wir, wenn Schritt 4 ein anderes Ergebnis hatte. So ist 1 1 |0 + |4 + |8 + |12 , QFT16 (|0 + |4 + |8 + |12) = 2 2 1 1 QFT16 (|2 + |6 + |10 + |14) = |0 − |4 + |8 − |12 und 2 2 1 1 QFT16 (|3 + |7 + |11 + |15) = |0 − i|4 − |8 + i|12 . 2 2 Auf diese Weise macht die QFT die Periode zug¨anglich.
8.6 Shors Algorithmus
227
Die abschließende Messung ergibt einen Wert y aus
Schritt 6
{0, 4, 8, 12} = { jN/p ; j = 0, . . . , 3}, in der Bezeichnungsweise aus Gleichung (8.7). Nun k¨ onnen wir das Ergebnis bestimmen, wenn j und p keine gemeinsamen Teiler haben. 1 und 3 sind mit p = 4 teilerfremd. Ist das Ergebnis der letzten Messung y = 1 · 4, setzen wir an: j 4 1 = = . p 16 4 Der gek¨ urzte Wert ergibt p = 4. Ist das Ergebnis 3 · 4 = 12, ergibt sich j 12 3 = = . p 16 4 Bei den Ergebnissen 0 und 8 k¨ onnen wir die Periode nicht korrekt bestimmen. Ein Test kl¨art uns u ussen wir noch die Frage ¨ber den Fehler auf. Allerdings m¨ kl¨aren: Wie hoch ist die Fehlerwahrscheinlichkeit? Aus der Zahlentheorie ist folgende Aussage bekannnt. F¨ ur eine große Zahl m ist ein Anteil der Gr¨ oßenordnung Ω (1/ loglogm) der Zahlen 1, . . . , m − 1 teilerfremd mit m. Also ist es ziemlich wahrscheinlich, dass wir aus jN/p die Periode p bestimmen k¨ onnen. Nun werden wir zeigen, dass der Algorithmus auf Seite 224 tats¨achlich ein Vielfaches von N/p ergibt. Analyse Das Ergebnis der ersten drei Schritte ist
Schritt 4
1 N−1 |φ3 = √ ∑ |x| f (x). N x=0 Wir beginnen die Analyse mit der Messung des ersten Registers im vierten Schritt. Register |b geht in den Zustand | f (x) f¨ ur ein mit Wahrscheinlichkeit 1/N gew¨ahltes x u ¨ber. Da die Register in einem verschr¨ankten Zustand waren, wird |a beeinflusst; es geht in eine Superposition aller Urbilder von f (x) ¨ uber. Da f periodisch ist, sind diese von der Form |x, ˆ |xˆ + p, |xˆ + 2p und so fort. Die Anzahl der Urbilder bezeichnen wir mit A. Wir f¨ uhren die Analyse zun¨achst f¨ ur den Fall durch, dass N ein Vielfaches der Periode p ist. In diesem Fall ist A = N/p. Da f periodisch ist, hat R nach Schritt 4 einen Zustand der Form |φ4 =
1 √ ( |x ˆ + |xˆ + p + . . . + |xˆ + (A − 1)p )| f (x). ˆ A
Fall p teilt N
228
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Wobei wir der Lesbarkeit halber ignoriert haben, dass wir modulo N rechnen. Korrekter ist |φ4 =
Schritt 5
1 A−1 √ ∑ |xˆ + j · p mod N| f (x). ˆ A j=0
|x ˆ k¨ onnte dabei jede ganze Zahl sein, da bei der Messung des zweiten Registers jedes Element aus {0, . . . , n − 1} das Urbild von f (x) ˆ sein k¨onnte. W¨ urden wir an dieser Stelle auch das erste Register messen, w¨are dem Ergebnis nichts zu entnehmen. Darum ist das Ziel von Schritt 5, den st¨orenden Offset xˆ aus |φ4 zu entfernen. Die Anwendung der QFT bildet |xˆ + j · p auf 1 (x+ ˆ j·p)·y √ ∑ ωN |y N y ab. Der Nachfolgezustand von Schritt 5 lautet also |φ5 = = Das heißt,
1 N−1 A−1 (x+ ˆ j·p)·y √ |y| f (x) ˆ ∑ ∑ ωN NA y=0 j=0 A−1 1 N−1 x·y j·p·y ˆ √ ˆ ωN ∑ ωN |y| f (x). ∑ NA y=0 j=0
x·y ˆ
ωN
spielt als Faktor keine Rolle f¨ ur die Wahrscheinlichkeit von |y, sondern beeinflusst als Vorfaktor der Summe ¨uber j nur die Phase! Die Wahrscheinlichkeit von |y ist gerade 1 0 (A−1)py 2 py P(y) = ωN + ωN + . . . + ωN NA
und von dem st¨ orenden Offset xˆ unabh¨angig. Da wir N als ein Vielfaches der Periode p angenommen haben – damit ist A = N/p eine ganze Zahl – gilt j py jy ωN = ω A , und die Wahrscheinlichkeit P(y) ergibt sich aus einer Summe u ¨ber A-te Einheitswurzeln. 1 0 (A−1)y 2 y P(y) = ωA + ωA + . . . + ωA . NA
Wir untersuchen P(y) f¨ ur die zwei F¨alle, in denen y ein Vielfaches von A ist beziehungsweise nicht ist.
8.6 Shors Algorithmus
229
Ist y ein Vielfaches von A – es gelte y = kA – wird die A-te Einheitswurzel auf 1 abgebildet: ωAjy = (ωAA )k j = 1.
Fall 1
Es folgt P(y) =
1 1 2 A A = = NA N p
Anderenfalls k¨ onnen wir das Summationslemma anwenden (Seite 213): Wir erhalten P(y) = 0, falls A kein Teiler von y ist. Anschaulich ist
Fall 2
(A−1)py
ω0N + ωNpy + . . . + ωN
eine Summe von gleichm¨aßig u ¨ber den Einheitskreis verteilten N-ten Einheitswurzeln. Diese addieren sich zu 0. Wir folgern: Im Fall p teilt N arbeitet der Algorithmus korrekt: eine Messung liefert ein Vielfaches von A = N/p. Aufgabe 8.11: Zeigen Sie, dass wie in Beispiel 8.6 behauptet QFT16 (|1 + |5 + |9 + |13) = gilt.
1 |0 + i|4 − |8 − i|12 4
Der Fall: N ist kein Vielfaches von p Allerdings k¨ onnen wir nicht sicherstellen, dass N ein Vielfaches der unbekannten Periode p ist. A – die Anzahl der Urbilder des Ergebnisses der Messung am zweiten Register – ist dann die gr¨ oßte ganze Zahl kleiner N/p oder die kleinste ganze Zahl gr¨ oßer N/p. Beispiel 8.7: Ein Beispiel f¨ ur den Fall N = 10 und p = 4 liefert eine Funktion f mit f (0) = f (4) = f (8), f (1) = f (5) = f (9) und f (2) = f (6). Wir sehen: die Anzahl der Urbilder eines Wertes f (x), ˆ xˆ ∈ {0, . . . , 9} ist 2 oder 3. j py ωN l¨asst sich in diesem Fall nicht als A-te Einheitswurzel ausdr¨ ucken. Allerdings ist A nicht weit von N/p entfernt, und auch in diesem Fall bevorzugt die Superposition |φ5 jene Werte y, die nahe bei einem Vielfachen von N/p liegen. Die Analyse bedeutet einigen technischen Aufwand; die Summe N−1
∑ ωNj py
j=0
wird u ur die geometrische Reihe (siehe Aufgabe 8.6) be¨ber die Formel f¨ stimmt und abgesch¨atzt, was wir uns hier ersparen.
Der allgemeine Fall
230 Wiederholte Kettenbr¨ uche
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Wie l¨asst sich aus dem Ergebnis y die Periode p bestimmen, wenn sie den Wert N nicht teilt? Wie in Beispiel 8.6 den Term N/y zu k¨ urzen, ist nicht m¨ oglich. Da wir N – die Dimension der Quanten-Fouriertransformation – von der Gr¨ oßenordnung Θ(n2 ) gew¨ahlt haben, liegt das Ergebnis y so nah bei einem Vielfachen von N/p, dass wir mit einem Verfahren namens wiederholte Kettenbr¨ uche (engl. continued fractions) die Periode p mit hoher Wahrscheinlichkeit ermitteln k¨onnen, siehe zum Beispiel [69]. Abschließende Ermittlung der Periode Das Ergebnis von Schritt 6 ist die Zahl y, nahe bei einem Vielfachen von N/p.
Abschluss von Shors Algorithmus
7. Ermittle aus y und N mit Hilfe wiederholter Kettenbr¨ uche die Periode p.
Die Laufzeit Im wesentlichen besteht Shors Quantenalgorithmus aus drei Schritten, siehe Abbildung 8.6: 1. der Hadamard-Transformation, 2. der Anwendung des Orakels f¨ ur ax mod n zur Faktorisierung von n, 3. der Quanten-Fouriertransformation. Schritte 1 und 2 werden auf 2 · log n Quantenbits ausgef¨ uhrt, Schritt 3 auf logn Bits. Damit ist die Hadamardtransformation mit 2 · logn und die Quanten-Fouriertransformation mit O (log n)2 Gattern realisierbar, siehe Abschnitt 8.4. Am aufw¨andigstenist Schritt 2: es gibt klassische Schaltkreise, die modulare Potenzen mit O (log n)3 Gattern realisieren. Damit ist der Quantenalgorithmus f¨ ur Shors Algorithmus mit O (log n)3 Gattern realisierbar. Wir haben allerdings die konkrete Berechnung der Periode von Kettenbr¨ uchen noch nicht betrachtet. Diese ist in Zeit mit Hilfe uhrbar, f¨ uhrt auf das Ergebnis des Quantenalgorithmus anO (log n)3 ausf¨ gewandt jedoch nicht immer zum Erfolg: Die Erfolgswahrscheinlichkeit ist etwa 1/(20 · loglog n), hier spielt die zahlentheoretische Aussage von Seite 227 eine große Rolle. Das bedeutet: nach O (log logn) Wiederholungen ergibt sich mit hoher Wahrscheinlichkeit die Periode. Es gilt: Shors Quantenalgorithmus zur Bestimmung der Periode von ax mod n hat erwartete Laufzeit O loglogn · (logn) 3 .
8.7 Jenseits von Shor
231
Nun verbinden wir dieses Ergebnis mit dem Resultat aus Abschnitt 8.2. Der klassische Teil von Shors Algorithmus ben¨ otigt O (logn) Multiplikationen und hat die Erfolgswahrscheinlichkeit 1/2. Shors Algorithmus ermittelt mit erwarteter Laufzeit O loglog n · (logn) 3 = O (log n)4 einen echten Teiler einer ganzen Zahl n.
Bemerkung: Wird das beste bekannte Multiplikationsverfahren verwen det, ist die erwartete Laufzeit O (log n)2 · loglogn · logloglog n , siehe Seite 206.
8.7 Jenseits von Shor Shors Algorithmus verwendet die Quanten-Fouriertransformation, um ein Problem effizient zu l¨ osen, f¨ ur das keine klassischen Polynomialzeitalgorithmen bekannt sind. Dieser Abschnitt beschreibt Problemstellungen, auf die Shors Grundeinsicht u ¨bertragen werden kann. Der diskrete Logarithmus Schon in Shors Ursprungsarbeit aus dem Jahr 1994 wird neben dem eben beschriebenen Faktorisierungsalgorithmus ein zweites Quantenrechenverfahren beschrieben: mit einer ¨ahnlichen Methode k¨ onnen Quantenschaltkreise polynomialer Gr¨ oße den diskreten Logarithmus berechnen. Ist p eine Primzahl und a eine positive Zahl mit a ≤ p − 1, bezeichnen wir die Funktion {0, . . . , p − 1} → {0, . . ., p − 1}, x → ax mod p als diskrete Exponentialfunktion zur Basis a. Wir haben diese Funktion bereits kennen gelernt: auf Seite 198 wird ein Verfahren beschrieben, das diese Funktion in Zeit O (log p)3 berechnet. Schwieriger ist es, die Umkehrfunktion zu berechnen, zu einer Zahl y, den Wert x zu bestimmen, f¨ ur den ax mod p = y gilt. Da p eine Primzahl ist, ist dieser Wert x eindeutig bestimmt. Wir definieren die diskrete Logarithmusfunktion als dlog p,a (y) = x mit ax mod p = y. Der bekannte reelle Logarithmus logb y ist effizient berechenbar, da die reelle Exponentialfunktion bx stetig ist. Dagegen macht die diskrete Exponentialfunktion unvorhersehbare Spr¨ unge“. Das verdeutlicht folgende Tabelle ” anhand einiger Werte der Funktion 5x mod 101:
Problemstellung
232
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung x
0
1
2
3
4
5
6
7
...
5x mod 101
1
5
25
24
19
95
71
52
...
Man kennt keinen effizienten klassischen Algorithmus f¨ ur den diskreten Logarithmus. Darum spielt diese Funktion in der Kryptographie eine ¨ahnliche Rolle wie die Faktorisierung: Die Exponentialfunktion ist effizient berechenbar, f¨ ur die Umkehrfunktion ist das nicht bekannt. Das kann f¨ ur ein Public Key-Verschl¨ usselungsverfahren ¨ahnlich der RSA-Kryptographie ausgenutzt werden. In [88] beschreibt Shor einen auf der Quanten-Fouriertransformation beruhenden Algorithmus, der den diskreten Logarithmus effizient berechnet. ¨ Aufgabe 8.12: Arbeiten Sie die Ahnlichkeit der Suche nach einer Periode und dem diskreten Logarithmus heraus.
Phasenbestimmung Quantenschaltkreise realisieren unit¨are Transformationen. Die Quanten-Fouriertransformation erlaubt es, eine Eigenschaft unit¨arer Transformationen zu berechnen: man kann die Phase eines Eigenwertes zu einem gegeben Eigenvektor bestimmen. Diese etwas abstrakte Problemstellung werden wir gleich erl¨autern. Vorausgeschickt sei bereits: dadurch wird Shors Algorithmus verallgemeinert, da die Phasenbestimmung zur effizienten Faktorisierung anwendbar ist. Eigenwert
F¨ ur eine n × n-Matrix M heißt eine reelle Zahl λ Eigenwert von M, falls ein Vektor x = 0 existiert, mit Mx = λx. Der Vektor x ist der zu λ geh¨orende Eigenvektor. Wir betrachten folgende Problemstellung: Eingabe: Eine unit¨are Transformation U und ein Eigenvektor |u von U. Ausgabe: Die Phase φ des Eigenwertes λ mit U|u = λ|u. Lautet der Eigenwert λ = e2πiφ , so ist der Winkel 2πφ oder damit gleichwertig der Wert φ gefragt. U wird als eine Folge von gesteuerten Quanten0 1 2 bausteinen f¨ ur die Transformationen U 2 ,U 2 ,U 2 , . . . verwendet. Wir deuten an, wie sich die Eigenwertbestimmung zur Faktorisierung verwenden l¨asst.
Phasenbestimmung und Faktorisierung
Shors Algorithmus findet die Periode einer Funktion der Form ax mod n, mit ggT(a, n) = 1. Betrachten wir die Transformation U : |x → |x · a mod n, x = 0, . . . , n − 1, so gilt U p = I. Daraus folgt, dass die Eigenwerte von U die p-ten Einheitswurzeln sind. Außerdem gilt, dass die Superposition aller Eigenvektoren von U der Vektor |1 ist. Damit kann man sich des Problems entledigen, dass dem Algorithmus
8.7 Jenseits von Shor
233
zur Phasenbestimmung ein Eigenvektor u ¨bergeben werden muss. Da die Einheitswurzeln 2πi e p k , k = 0, . . . , p − 1 lauten, l¨asst sich aus der Phase die Periode bestimmen: aus einem Vielfachen von 1/p ist p berechenbar. F¨ ur Details verweisen wir auf [54]. Die allgemeine Fouriertransformation Die Algorithmen von Simon und Shor sind sich so ¨ahnlich, dass sich die Frage nach der gemeinsamen Struktur stellt. Der Quantenteil unterscheidet sich in einem einzigen Punkt: Simons Algorithmus verwendet die HadamardTransformation, die auf der Menge {0, 1}n definiert ist, und Shors Verfahren operiert mit der Quanten-Fouriertransformation auf der Menge der ganzen Zahlen Z. Die Problemstellung und die verwendete Transformation k¨onnen so verallgemeinert werden, dass die Algorithmen von Shor und Simon als Spezialf¨alle eines allgemeinen algorithmischen Ansatzes erscheinen. Man konnte Wir betrachten eine Menge G, auf der wir eine abstrakte Operation definieren: sind a und b Elemente aus G, so ist auch a ⋄ b aus G. Eine solche Struktur nennt man eine Gruppe, wenn folgendes gilt:
Definition Gruppe
1. a ⋄ (b ⋄ c) = (a ⋄ b) ⋄ c, 2. es gibt ein neutrales Element e in G mit e ⋄ a = 1 f¨ ur alle a ∈ G, und 3. zu jedem a ∈ G gibt es ein Inverses a−1 in G mit a ⋄ a−1 = e. Aufgabe 8.13: Zeigen Sie: Z mit der ganzzahligen Addition + ist eine Gruppe und ebenso {0, 1}n mit der komponentenweisen Addition ⊕. Eine Gruppe heißt abelsch1 oder kommutativ, wenn f¨ ur das Ergebnis ihrer Operation ⋄ die Reihenfolge der Operanden keine Rolle spielt: a ⋄ b = b ⋄ a f¨ ur alle a, b ∈ G. Die Gruppen aus Aufgabe 8.13 sind abelsch, ebenso wie alle weiteren in diesem Abschnitt betrachteten Gruppen. Eine Teilmenge von G heißt Untergruppe, wenn diese selbst eine Gruppe ist. Eine solche Untergruppe entsteht zum Beispiel, wenn wir eine Funktion f betrachten, die Gruppenelemente in eine beliebige Menge X abbildet und definieren: K = {k ∈ G ; f (g ⋄ k) = f (g) f¨ ur alle g ∈ G}. Die Menge K ist eine Untergruppe von G, die symmetrische Gruppe von f genannt wird. 1 Benannt
nach dem d¨ anischen Mathematiker Niels Henrik Abel, 1802–1829.
abelsch
234 Aufgabenstellung
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung Unsere Aufgabe ist die folgende: Eingabe: G und f Ausgabe: K Die symmetrische Gruppe K beschreibt die Periodizit¨at der Funktion f . Man nennt die beschriebene Aufgabe auch Suche nach der hidden subgroup. Beispiel 8.8: 1. Ist G = {0, 1}n mit der Addition ⊕, X beliebig und f eine Funktion mit f (x ⊕ s) = f (x), so ist K = {0, s}. 2. Ist G = Z mit der ganzzahligen Addition, X beliebig und f eine Funktion mit f (x ⊕ p) = f (x), so ist K = {0, p, 2p, . . . }. 3. Ist G = {0, 1} mit ⊕ und X = {0, 1}, so gilt folgendes: Ist f eine konstante Funktion ( f (0) = f (1) ), so gilt K = {0, 1}. Ist f eine balancierte Funktion ( f (0) = f (1) ⊕ 1), so gilt K = {0}.
Also k¨ onnen wir das Problem von Deutsch dadurch l¨osen, dass wir die entsprechende symmetrische Gruppe bestimmen.
4. Auch die Aufgabe, den diskreten Logarithmus zu bestimmen, l¨asst sich als die Suche nach der symmetrischen Gruppe einer Funktion formulieren. Wie l¨asst sich die Untergruppe K bestimmen? Wir leiten eine Transformation ab, die f¨ ur die abelsche Gruppe G eine ¨ahnliche Wirkung hat, wie die Hadamard-Transformation f¨ ur {0, 1}n und die QuantenFouriertransformation f¨ ur Z. Erzeugen wir eine Superposition u ¨ber alle Gruppenelemente und wenden f darauf an, erhalten wir den Zwei-Register-Zustand 1 ∑ |g| f (g). |G| g∈G
Wir setzen voraus: f (g) = f (h) dann und nur dann, wenn g ⋄ h−1 Element der Untergruppe K ist. Dann ergibt eine Messung an dem zweiten Register den Folgezustand 1 ˆ (8.8) ∑ |gˆ ⋄ k| f (g), |K| k∈K
Fouriertransformation u ¨ber einer Gruppe
f¨ ur ein beliebiges Gruppenelement g. ˆ Dies ist die gleiche Situation wie bei den Algorithmen von Simon und Shor. Wieder gibt es einen st¨orenden Offset g. ˆ Diesen entfernen wir mit einer zu der Gruppe G passenden Transformation. uglich ⋄ in folDazu definieren wir eine Basis |b1 , . . . , |bm , die sich bez¨ gendem Sinne invariant verh¨alt: |g ⋄ b j = eiφ(g, j) |b j , f¨ ur alle g ∈ G.
8.7 Jenseits von Shor
235
Nur die Phase ¨ andert sich. Geben wir Gleichung (8.8) in dieser Basis an, wandert der Offset gˆ in die Phase. Die Fouriertransformation ¨uber der Gruppe G transformiert nun diese Basis in die Standardbasis. Beispiel 8.9: 1. Wir betrachten die Basis |b0 = √12 (|0+ |1), |b1 = √12 (|0− |1) u ¨ber der Gruppe {0, 1}, ⊕. Es gilt |b0 ⊕ 1 = |b1 ⊕ 1 =
1 √ (|0 ⊕ 1 + |1 ⊕ 1) = |b0 , 2 1 √ (|0 ⊕ 1 − |1 ⊕ 1) = −|b1 . 2
(8.9) (8.10)
2. Wir betrachten G = ZN und die Basis |b0 , . . . , |bN−1 mit j·0
j·1
j·(N−1)
j·2
|b j = ωN |0 + ωN |1 + ωN |2 + . . . + ωN
|N − 1.
Addieren wir ein Element xˆ ∈ G, erhalten wir j·0
j·1
j·(N−1)
j·2
|b j + x ˆ = ωN |x ˆ + ωN |1 + x ˆ + ωN |2 + x ˆ + . . . + ωN j·0
j·1
j·2
j·(N−1)
xˆ = ω− N (ωN |0 + ωN |1 + ωN |2 + . . . + ωN
|N − 1 + x ˆ
|N − 1).
Dem entspricht die Definition der Quanten-Fouriertransformation 1 N−1 j·k QFTN | j = √ ∑ ωN |k N k=0 mit
1 N−1 ˆ j·k ωN |k. QFTN | j + x ˆ = √ ∑ ωNx·k N k=0 ⋄
Die Problemstellung der Algorithmen von Shor und Simon l¨asst sich als die Suche nach einer bestimmten Untergruppe auffassen. Um dieses Problem allgemein anzugehen, wird eine Transformation definiert, die in den Spezialf¨allen Shor“ und Simon“ der Quanten-Fouriertransformation be” ” ziehungsweise der Hadamard-Transformation entsprechen. Details findet der Leser in [54]. Die Pellsche Gleichung In einer alten Chronik soll ¨ uber die Truppen des Sachsenk¨onigs Harald, der 1066 in der Schlacht von Hastings auf die Normannen stieß, zu lesen sein (zitiert nach [91]): Haralds Mannen standen tapfer zusammen und bildeten ” 61 Quadrate mit gleich vielen Recken in jedem Quadrat . . . Als Harald sich
Zusammenfassung
236
8 Klassische Verschl¨ usselungen knacken: Primfaktorzerlegung in die Schlacht warf, bildeten die Sachsen mit ihm zusammen ein einziges m¨achtiges Quadrat von M¨annern.“ Nun lautet die Frage: wie groß ist Haralds Armee mindestens, damit diese Bedingung erf¨ ullt werden kann? Dazu ist die kleinste ganzzahlige L¨osung der Gleichung y2 = 61x2 + 1 gesucht. osung (x0 , y0 ) definieren wir als die kleinste, wenn sie √ Eine L¨ x0 + y0 d minimiert. Gleichungen dieses Typs sind nach dem englischen Mathematiker John Pell (1610–1685) benannt, der allerdings selbst nichts zu diesem Gebiet beigetragen hat; solche Fehlbenennungen sind in der Mathematik nicht selten. Die Theorie der Gleichung y2 = d · x 2 + 1
Hallgrens Algorithmus
geht im wesentlichen auf Fermat, Euler und Joseph Louis Lagrange (1736– 1813) zur¨ uck, wobei bereits der antike Mathematiker Diophant L¨osungen f¨ ur d = 26 und 30 gefunden hat. Man setzt d als quadratfrei voraus. Damit ist es √ sinnvoll, den Wert A = x0 + y0 d als Ausgabe zu fordern, da sich dann aus A alle L¨ osungen eindeutig bestimmen lassen. Allerdings kann selbst die kleinste L¨ osung exponentiell in der Eingabegr¨oße logd sein, so dass sich diese nicht in Polynomialzeit aufschreiben l¨asst. Darum berechnet man statt dessen eine andere zahlentheoretische Gr¨oße: den Regulator ln A, den wir mit einer festgelegten Genauigkeit ann¨ahern wollen. Der beste bekannte klassische Algorithmus f¨ ur diese Aufgabe ist nicht polynomial in logd. Sean Hallgren gibt in [52] einen Quantenalgorithmus an, der das Problem in Polynomialzeit l¨ ost. Dazu wird das Problem, die Pellsche Gleichung zu l¨ osen, auf die Suche nach der Periode einer reellwertigen Funktion reduziert. Hallgren zeigt, wie sich die Quanten-Fouriertransformation in dieser Situation anwenden l¨asst. [56] bietet eine Einf¨ uhrung f¨ ur Leser, die sich mit algebraischer Zahlentheorie nicht gut auskennen.
237
9 Quantenhardware Die Computer der Zukunft k¨ onnten weniger als anderthalb Tonnen wiegen. Prognose des Magazins Popular Mechanics, 1949.
Um den Aufbau von Quantenhardware zu verstehen, sind tiefere Kenntnisse der Physik n¨ otig. Darum bleibt dieses Kapitel eher an der Oberfl¨ache: das Ziel ist die Beschreibung einiger realisierter Quantencomputer. Es geht darum, prinzipiell zu verstehen, wie Operationen auf Quantenbits realisiert werden k¨ onnen und welche Schwierigkeiten dazu u ¨berwunden werden m¨ ussen. Wir beginnen mit einer allgemeinen Er¨ orterung, welche Anforderungen Quantencomputer zu erf¨ ullen haben. Am ausf¨ uhrlichsten behandeln wir die Informationsverarbeitung mit Hilfe von Photonen. Dabei kommt dem Abschnitt 9.3.1 ¨ uber das Mach-Zehnder-Interferometer eine Schl¨ usselrolle zu.
9.1 Anforderungen Was sind die Mindestanforderungen an eine Rechenmaschine? Erinnern wir uns an die Beschreibung einer klassischen Berechnung aus Abschnitt 2.1, k¨onnen wir folgende Punkte als notwendig angeben: • Wir k¨ onnen die Maschine in einen Anfangszustand versetzen, • daraufhin f¨ uhrt diese die n¨ otigen Rechenschritte aus; • das Resultat der Berechnung ist der Endzustand, den uns der Rechner mitteilt. Dabei wird vorausgesetzt, das sich die Berechnung exakt gem¨aß der Rechenschritte entwickelt, beziehungsweise dass die Maschine Informationen stabil speichern kann. Das geschieht mit den sogenannten Bits, die technisch auf sehr vielf¨altige Weise realisiert werden k¨onnen. Bei sehr fr¨ uhen
238
9 Quantenhardware Rechenmaschinen bestimmte zum Beispiel die Stellung von Zahnr¨adern den Zustand der Rechenmaschine und damit das Zwischenergebnis. Diese Maschinen verwendeten meist das Dezimalsystem, aber das Prinzip ¨ahnelt der Umsetzung von Bits. Fr¨ uhen elektronischen Rechenmaschinen wurde die Aufgabenstellung bin¨ar kodiert durch eine Reihe von Schaltern mit zwei Zust¨anden mitgeteilt, und das Ergebnis war eine Bin¨arzahl, deren einzelne Bits durch L¨ampchen visualisiert wurden. Zusammen mit unseren Kenntnissen u ¨ber Quantenbits und Quantenberechnungen ergeben sich nun folgende Anforderungen an einen Quantencomputer, die 1985 von David Deutsch auf ¨ahnliche Weise formuliert wurden:
Notwendige Eigenschaften eines Quantencomputers
Ein Quantencomputer besteht aus einer Reihe von Quantenbits, 1. die in einen Anfangszustand versetzt werden k¨onnen, 2. die Information robust speichern, 3. auf die (universelle) Quantengatter anwendbar sind und 4. die gemessen werden k¨ onnen.
F¨ ur Punkt 1 gen¨ ugt es, einen festen bekannten Zustand |0 herstellen zu k¨ onnen – die Eingabe der Quantenberechnung ist in der Regel ein Teil des Schaltkreises, zum Beispiel ein Orakel. Punkt 3 ist die Kurzform der Aussage: Gatter aus einer universellen Menge k¨onnen angewendet werden. Dabei m¨ ussen Zwei-Bit-Gatter auf zwei beliebige Bits einsetzbar sein. Und Messungen – der letzte Punkt – sollten zumindest in der Standardbasis |0, |1 und an jeder Teilmenge der Bits ausgef¨ uhrt werden k¨onnen. Am schwierigsten umzusetzen sind die Punkte 2 und 3, die zusammengenommen sicherstellen, dass sich der Zustand des Quantencomputers nach Wunsch unit¨ar entwickelt. Denn Quantenzust¨ande sind ¨uberaus sensibel gegen¨ uber Einwirkungen der Außenwelt. Das Stichwort dazu lautet Dekoh¨arenz, bei der Information unwiderbringlich verloren geht.
9.2 Dekoh¨ arenz Wir kehren noch einmal an den Anfang zur¨ uck: zu Schr¨odingers Katze. Solange diese in der Kiste isoliert ist, bleibt ihr Zustand unbestimmt. Es l¨asst sich nicht sagen, ob sie lebendig ist oder tot; ihr Befinden ist eine Superposition beider Zust¨ande. Das ¨andert sich in dem Moment, in dem die Kiste ge¨ offnet wird. Die Katze tritt mit der Umgebung in Wechselwirkung. Dadurch geraten Katze und Umgebung in einen verschr¨ankten Zustand. Nehmen wir an, die isolierte Katze ist in dem Zustand |Katze = α|tot + β|lebendig.
9.2 Dekoh¨arenz
239
Tritt nun die Umgebung hinzu, m¨ ussen wir das System |Katze|Umgebung ¨ betrachten. Wir nehmen an, die Umgebung ist unmittelbar vor dem Offnen im Zustand |φ, das Gesamtsystem aus Katze und Umgebung im Zustand α|tot + β|lebendig |φ.
Die Umgebung entwickelt sich gem¨aß der unit¨aren Transformation U. Ist die Kiste offen, wird die Entwicklung der Umgebung vom Zustand der Katze beeinflusst; wir fassen eine Beobachtung als Zustandsver¨anderung des Beobachters auf. Wir nehmen an, dass die Außenwelt in den Zustand |φt ger¨at, wenn die Katze tot ist, und anderenfalls |φl annimmt: U α|tot + β|lebendig |φ −→ α|tot|φt + β|lebendig|φl .
(9.1)
Die Katze ist in einen mit der Umwelt verschr¨ankten Zustand u ¨bergegangen: W¨ahrend in (α|tot + β|lebendig)|φ der Zustand der Katze herausfaktorisiert werden kann, ist dies in dem Folgezustand nicht m¨oglich. Die Information u ¨ber die Katze steckt (zumindest teilweise) im Ganzen, siehe Abschnitt 5.3. Wenn sich nun die Umgebung unit¨ar weiterentwickelt, tendieren |φt und |φl dazu, orthogonal zu werden, wie sich in Experimenten zeigt. Dann sind die Katze und die Umgebung maximal verschr¨ankt; der Zustand der Außenwelt legt den Zustand der Katze fest. So geh¨oren m¨ogliche Photonen, die einem menschlichen Auge ein Bild der Katze liefern, zu der Außenwelt. Ist diese im Zustand |φt , wird man stets eine tote Katze vorfinden, ist diese Außenwelt jedoch im Zustand |φl , ist die Katze am Leben. Gleichzeitig ist die Information u ¨ber den Zustand der Katze in das Gesamtsystem u ¨bergegangen, wie wir das im Falle zweier verschr¨ankter Bits in Abschnitt 5.3 studiert haben. Was gilt aber nun f¨ ur die Katze allein? Was f¨ ur ein Zustand entsteht, wenn wir in Gleichung (9.1) die Außenwelt ausblenden? Sie ist dann in keinem Quantenzustand mehr, wie wir ihn kennen, sondern in einem gemischten Zustand. Beispiel 9.1: Wir nehmen an, zwei Quantenbits befinden sich im Zustand 1 |φ = (|00 + |01 + |10 + |11). 2 Einen solchen Zustand eines Quantensystems, der ein Vektor des Zustandsraums ist, bezeichnen wir als reinen Zustand. Messen wir bez¨ uglich des ersten Bits, geht das Register mit Wahrscheinlichkeit 1/2 in einen der Zust¨ande 1 1 √ (|00 + |01) oder √ (|10 + |11) 2 2 u ur ¨ber. Der Nachfolgezustand ist der eine oder der andere. Wollen wir f¨ weitere Analysen beide M¨ oglichkeiten und die jeweilige Wahrscheinlichkeit
gemischter Zustand
240
9 Quantenhardware ber¨ ucksichtigen, k¨ onnen wir den Zustand nach der Messung als Wahrscheinlichkeitsverteilung von reinen Quantenzust¨anden auffassen (siehe Seite 79). In diesem Zusammenhang sagen wir, unser System befinde sich in einem gemischten Zustand; man spricht auch von einem statistischen Gemisch reiner Zust¨ande. Gemischte Zust¨ande lassen sich am einfachsten durch sogenannte Dichtematrizen beschreiben. Analysiert man oben beschriebenen Vorgang in dem Formalismus der Dichtematrizen, ergibt sich: Bei Ber¨ uhrung mit der Außenwelt wird die Superposition zerst¨ ort; es entsteht ein gemischter Zustand der klassischen Zust¨ande tot“ und lebendig“. In ” ” α|tot|φt + β|lebendig|φl
Auswirkungen f¨ ur die Hardware
Der Weg zu den Anwendungen
Quantum information
l¨asst sich der Zustand der Katze nicht als normale Superposition angeben, da dieser von der Umgebung abh¨angt. Damit wirkt die Dekoh¨arenz zuletzt ¨ahnlich wie eine Messung; allerdings ist es ein zeitabh¨angiger allm¨ahlicher Prozess. Dekoh¨arenz ist der Grund daf¨ ur, dass unsere Welt klassisch wirkt und wir unseren Alltag von Quantenph¨anomen unbehelligt verbringen. In der Praxis l¨asst sich ein Quantenbit nicht perfekt abschirmen. Das ist schon deshalb nicht m¨ oglich, weil mit ihnen gerechnet werden soll. Die Dauer des oben geschilderten Vorgangs nennt man die Dekoh¨arenzzeit. Wie die Gr¨ oßenordnung der Quantenwelt erwarten l¨asst, ist die Dekoh¨arenzzeit bisher realisierter Quantenbits sehr kurz. Aber auch wenn der Zustand eines Quantenbits nur f¨ ur Sekundenbruchteile stabil ist, k¨onnen theoretisch eine Vielzahl von Transformationen samt abschließender Messung vorgenommen und Berechnungen ausgef¨ uhrt werden. Die Quantenbits m¨ ussen von der Außenwelt so stark abgeschottet sein, dass sich die Auswirkung der Dekoh¨arenz mit Hilfe fehlerkorrigierender Codes r¨ uckg¨angig machen l¨asst. Das Ph¨anomen der Dekoh¨arenz geh¨ort ohne Zweifel zu den gr¨ oßten Herausforderungen bei dem Bau von Quantencomputern. Als diese ausschließlich in der Theorie existierten, vermuteten Pessimisten, Dekoh¨arenz lasse rechnen mit Quantenbits nicht zu. Mittlerweile ist eine große Zahl experimenteller Quantenrechner gebaut worden, die viele der in diesem Buch beschriebenen Algorithmen ausf¨ uhren. Die folgenden Abschnitte vermitteln Grundideen dieser Umsetzungen. Tats¨achlich sind alle bisher ausgef¨ uhrten Experimente mit Quantenberechnungen weit von einem f¨ ur die Praxis n¨ utzlichen Rechner entfernt. Bisher konnte nur mit einer einstelligen Zahl von Quantenbits gerechnet werden, wobei erst Quantencomputer mit dreistelligen Bitzahlen klassischen Rechnern Konkurrenz machen k¨ onnen. Niemand kann zum jetzigen Zeitpunkt seri¨ ose Aussagen dar¨ uber machen, wieviel Zeit bis dahin vergehen wird. Vielleicht arbeiten schon in einem Jahrzehnt Quantenrechner f¨ ur finanzstarke Anwender, vielleicht stehen wir auch in mehreren Jahrzehnten noch vor ¨ahnlichen Problemen wie heute. Das Eingangszitat zu diesem Kapitel beweist, wie sehr man sich bei solchen Prognosen t¨auschen kann. Weiter fortgeschritten ist die Umsetzung von Verfahren zur Informations¨ ubermittlung, wie Quantenkryptographie und Teleportation. F¨ ur die
9.3 Photonen Kryptographie etwa gen¨ ugt es, jeweils einzelne Quantenbits zu erzeugen, durch Gatter zu manipulieren, zu ¨ ubertragen und zu messen. Es werden bereits erste kommerzielle Systeme angeboten.
9.3 Photonen Isaac Newton schlug im 17. Jahrhundert vor, Licht als einen Strom von Teilchen anzusehen. Im 19. Jahrhundert durchgef¨ uhrte Experimente legten es dagegen nahe, Licht als elektromagnetische Welle zu beschreiben. Damit kann jedoch ein Ph¨anomen nicht erkl¨art werden: Eine geladene Metallplatte wird von ultraviolettem Licht entladen, von f¨ ur uns sichtbarem Licht jedoch nicht. Einstein l¨ oste dieses R¨atsel im Jahre 1905, indem er dem Licht wiederum Teilchencharakter zuschrieb. Der eben beschriebene photoelektrische Effekt beruht darauf, dass Elektronen aus der geladenen Platte geschlagen werden, und zwar von einzelnen Energiepaketen, in denen die Energie des Lichts konzentriert ist: von den Photonen.
9.3.1 Mach-Zehnder-Interferometer Wir beginnen mit einem einfachen Versuchsaufbau, der unsere bisherige abstrakte Sicht von Quantenbits und Quantengattern mit der Praxis verbindet. Es handelt sich um ein Ende des 19. Jahrhunderts entwickeltes Ger¨at, das in ¨ahnlicher Form zur Navigation von Flugzeugen verwendet wird. Die Grundidee eines Interferometers ist es, Licht zun¨achst l¨angs zweier Wege zu schicken, um es schließlich wieder zu vereinen. Ziel ist es, die Interferenz (siehe Abschnitt 4.4) zu messen.
Abbildung 9.1: Schematischer Aufbau des Mach-Zehnder-Interferometers. Der Papierstreifen ist f¨ ur einen Teil des Experiments n¨otig.
241
242
9 Quantenhardware Aufbau
Das Mach-Zehnder-Interferometer – unabh¨angig von den Physikern Ludwig Mach und Ludwig Zehnder entwickelt – ist in Abbildung 9.1 schematisch dargestellt. Links unten trifft das Licht auf den halbreflektierenden Spiegel oder Strahlteiler S1 : die H¨alfte des Lichtes tritt hindurch, die andere H¨alfte wird reflektiert und verl¨auft anschließend senkrecht zu der urspr¨ unglichen Richtung. Nun trifft das Licht auf beiden Wegen auf die vollreflektierenden Spiegel SL beziehungsweise SR und wird in beiden F¨allen auf den Strahlteiler S2 gelenkt. Zwei Messger¨ate D0 und D1 messen das Licht, das in der Ursprungsrichtung beziehungsweise in der darauf senkrecht stehenden Richtung austritt.
Verhalten mit Papierstreifen
Schritt 1: Zun¨achst halten wir ein Blatt Papier zwischen SR und S2 . Dann kommt in S2 nur Licht an, das in S1 reflektiert wurde und den Weg u ¨ber SL genommen hat. Der Strahlteiler S2 l¨asst die H¨alfte des ankommenden Lichtes zu D0 durchtreten, die andere H¨alfte wird zu D1 reflektiert. S2 verh¨alt sich genau wie S1 . D0 und D1 registrieren also die gleiche Lichtmenge. In Schritt 2 verwenden wir eine Lichtquelle, die so fein justierbar ist, dass sie nur einzelne Photonen aussendet. Die Empfindlichkeit der Messger¨ate passen wir an: Einzelphotonendetektoren z¨ahlen die ankommenden Lichtquanten. Nun wird die H¨alfte der Photonen von D0 und die H¨alfte von D1 registriert. F¨ ur jedes einzelne Photon sind die Registrierung in D0 und die in D1 gleich wahrscheinlich.
Verhalten ohne Papierstreifen
Das bedeutet jedoch nicht, dass ein Photon im Strahlteiler mit Wahrscheinlichkeit 1/2 den Weg ¨ uber SL geht und mit der gleichen Wahrscheinlichkeit den ¨ uber SR einschl¨agt. Das l¨asst sich feststellen, wenn man im dritten Schritt den Papierstreifen entfernt. Dann werden nur von D0 Photonen registriert! Wenn unsere obige Annahme zutr¨afe, und an S1 quasi ausgew¨ urfelt w¨ urde, ob die Reise ¨uber SL oder u ¨ber SR geht, woher k¨onnte dann ein u ¨ber SL gelenktes Photon von dem Papierstreifen wissen? Also ist die besagte Annahme falsch: sie kann die im Experiment beobachtbaren Ph¨anomene nicht erkl¨aren. Erkl¨ arung
Lichtwellen
Zu der Zeit, als das Mach-Zehnder-Interferometer entwickelt wurde, war es nicht m¨ oglich, einzelne Photonen zu erzeugen oder zu messen. In dem Versuchsaufbau ohne Papierstreifen (Schritt 3) erhalten wir ein analoges Ergebnis, wenn wir nicht einzelne Photonen, sondern einen kr¨aftigen Lichtstrahl in das Interferometer schicken. Nur an der Stelle D0 tritt Licht aus. Mit der Wellentheorie des Lichts l¨asst sich erkl¨aren, warum nur D0 etwas registrieren kann. Der Grund ist Interferenz. In D0 ankommendes Licht ist entweder in S1 reflektiert und in S2 durchgelassen worden, oder es passierte S1 und wurde von S2 gespiegelt. Auf beiden Wegen wurde also einmal gespiegelt und einmal durchgelassen. Wir k¨ urzen diese F¨alle mit SD und DS ab. Zu D1 gelangt Licht wenn es von S1 und S2 durchgelassen wurde oder wenn es von beiden Strahlteilern gespiegelt wurde. Es sind dies die Kombinationen DD und SS. Nun macht es einen Unterschied, ob das Licht gespiegelt oder durchgelassen wurde: das Resultat ist eine Phasenverschiebung. Bei einem korrekt justierten Mach-Zehnder-Interferometer wird die Phase um
9.3 Photonen
243
+
+
=
=
Abbildung 9.2: Konstruktive und destruktive Interferenz zweier Wellen
gerade die halbe Wellenl¨ange verschoben. Durch destruktive Interferenz wie in Abbildung 9.2 rechts gelangt kein Licht zu D1 . Das bei D0 eintreffende Licht gelangt u ¨ber die Wege SD und DS dorthin: die Phasen werden auf beiden Wegen in gleicher Weise ver¨andert. Das Ergebnis ist konstruktive Interferenz, Abbildung 9.2 links. Doch wie erkl¨aren wir das Verhalten einzelner Teilchen? Wie erf¨ahrt in Schritt 3 ein u ¨ber SL reisendes Photon von dem Papierstreifen? Diese Frage geht von der mit den Ph¨anomenen nicht zu vereinbarenden Annahme aus, ein Photon gerate entweder ¨ uber SL oder u ¨ber SR an sein Ziel. Dieses Problem verschwindet, wenn wir die Zust¨ande der Photonen durch Superpositionen beschreiben und den Wegen Amplituden beif¨ ugen. Dazu ordnen wir einem Photon, das sich in horizontaler Richtung bewegt, den Zustand |0 zu und einem in vertikaler |1. Damit ist ein Photon anfangs, also vor dem Strahlteiler S1 , im Zustand |0. Um eine Erkl¨arung zu finden, nehmen √ wir an, der halbreflektierende Spiegel erzeuge daraus die Superposition 1/ 2 (|0 + |1): die √ vertikale sowie die horizontale Richtung erhalten jeweils die Amplitude 1/ 2. Die vollreflektierenden Spiegel tauschen die Amplitu√ den von |0 und |1; der Zustand 1/ 2 (|0 + |1) bleibt unver¨andert. Das am Strahlteiler S2 eintreffende Licht befindet sich also in√einer Superposition aus beiden Richtungen, die Amplitude ist jeweils 1/ 2. S2 verh¨alt sich √ 2 (|0 + |1). Wenn nun |1 : der Term |0 wird zu 1/ dabei genauso wie S 1 √ seinerseits zu 1/ 2(|0 − |1) wird, haben wir das Ph¨anomen erkl¨art! Die beiden Strahlteiler f¨ uhren zweimal die Hadamard-Transformation aus: durch destruktive Interferenz verschwindet bei S2 die Amplitude von |1, die von |0 wird durch positive Interferenz vergr¨ oßert: 1 1 1 √ √ (|0 + |1) + √ (|0 − |1) = |0. 2 2 2 Wie beschreiben wir den Fall mit Papierstreifen? In diesem Fall ist der Weg der |1-Komponente blockiert. In S2 wird die Hadamard-Transformation auf |0 angewendet. Das Photon wird mit gleicher Wahrscheinlichkeit von D0 und D1 registriert. Die beiden Detektoren ergeben zusammen eine Messung in der Basis |0, |1.
Wahrscheinlichkeitsamplituden
244
9 Quantenhardware Die Darstellung ist stark vereinfacht und soll einen ersten Hinweis zur Umsetzung von Quantengattern mit einfachen optischen Ger¨aten geben. Strahlteiler k¨ onnen tats¨achlich die Hadamard-Transformation ausf¨ uhren, aber auch viele andere Operationen sind auf ¨ahnliche Weise realisierbar. [1] ist eine vertiefende theoretische Arbeit zu diesem Thema. Folgerung f¨ ur Quantenberechnungen In dem eben beschriebenen Versuchsaufbau wird nichts berechnet, aber die Komponenten des Mach-Zehnder-Interferometers k¨onnen im Prinzip dazu verwendet werden, Quantenberechnungen auszuf¨ uhren. Wesentliche Bestandteile solcher Berechnungen sind unit¨are Transformationen und Messungen. Bei unserem Interferometer wird mit einer Strahlteiler-Spiegel-Kombination die sehr wichtige Hadamard-Transformation realisiert. Die Messung wird mit einem weiteren Strahlteiler und zwei Einzelphotonendetektoren vorgenommen. In Abschnitt 9.1 wurde von einem Quantencomputer gefordert, dass dessen Quantenbits Information robust speichern k¨onnen. In unserem Fall bedeutet das, ein Photon darf auf dem Weg von der Quelle bis zu einem Detektor keinen st¨ orenden Einfl¨ ussen ausgesetzt sein. In Abschnitt 9.6 wird ein Experiment beschrieben, in dem mit Photonen unter anderem Grovers Algorithmus ausgef¨ uhrt wurde. Auch dort finden Ger¨ate wie Strahlteiler und Spiegel Verwendung und Photonendetektoren realisieren Messungen. Der n¨achste Abschnitt schildert zun¨achst, wie sich Photonen zur Schl¨ usselverteilung verwenden lassen. Dieses Verfahren l¨asst sich deshalb vergleichsweise leicht umsetzen, weil nur auf einzelnen Quantenbits operiert wird, die nacheinander ¨uber einen Kanal gesendet werden.
9.3.2 Kryptographie Polarisation
BB84
Photonen eignen sich gut f¨ ur die Quanten-Informations¨ ubertragung, da sie sich leicht u ¨ber große Strecken transportieren lassen. Zur Definition eines Quantenbits verwendet man, dass sich Licht polarisieren l¨asst. Ein wie in Abbildung 9.3 in Bewegung gesetztes Seil schwingt in einer Ebene. Licht verh¨alt sich ¨ahnlich, und mit einem Polarisationsfilter l¨asst sich erreichen, dass es in nur einer Ebene schwingt. Folgendermaßen machen wir ein Photon zu einem Quantenbit: vertikaler Polarisation ordnen wir den Wert |0 zu und horizontaler den Wert |1. Um nun solche Quantenbits zu transportieren und zu transformieren, kann auf viele Errungenschaften der modernen Optik zur¨ uckgegriffen werden. Wir erinnern uns an den Grundaufbau des BB84-Protokolls (Abschnitt 7.2). Alice sendet Quantenbits an Bob, die bez¨ uglich zweier Basen definiert sind. Den Zust¨anden |0 und |1 ordnen wir horizontale (0 Grad) und vertikale Polarisation (90 Grad) zu, |+ und |− entsprechen die Polarisationsrichtungen 45 Grad und 135 Grad, siehe Abbildung 9.4. Nun kann Alice ein f¨ ur Bob bestimmtes Quantenbit herstellen, indem sie ein Photon mit einem Polarisationsfilter in der gew¨ unschten Weise ausrichtet und zu Bob leitet. Bob leitet das empfangene Photon auf einen Polarisationsstrahlteiler, zum Beispiel einen Kalkspatkristall.
9.3 Photonen
245
Abbildung 9.3: Ein schwingendes Seil, vertikal beziehungsweise horizontal ausgerichtet
Ist dieses Instrument horizontal ausgerichtet, treten horizontal polarisierte Photonen hindurch, vertikale werden abgelenkt. Mit zwei Detektoren kann Bob diese F¨alle unterscheiden. Photonen mit Polarisationsrichtung 45 Grad werden hingegen mit jeweils gleicher Wahrscheinlichkeit durchgelassen und abgelenkt; das gleiche gilt f¨ ur Richtung 135 Grad. So erlaubt der horizontal ausgerichtete Kristall die Messung in der Basis |0, |1. Ein Quantenbit in einem dieser Basiszust¨ande liefert mit Sicherheit das entsprechende Ergebnis. Quantenbits in den Zust¨anden |+ oder |− f¨ uhren zu einem zuf¨alligen Resultat. Drehen wir nun diese Apparatur um 45 Grad, messen wir die Quantenbits entsprechend in der Basis |+, |−. Also k¨onnen Alice und Bob das BB84-Protokoll ausf¨ uhren, indem sie in jedem Schritt ihre Apparate gem¨aß ihrer Zufallsbits einstellen. In der Praxis kann die Polarisationsrichtung mit sogenannten Pockelszellen elektronisch gesteuert und schnell eingestellt werden. Aufgabe 9.1: Warum k¨ onnen wir sichergehen, dass Eve keinen Kristall besitzt, der den Strahl gem¨aß der vier Richtungen aufspaltet?
|0
|1
|+
|−
Abbildung 9.4: Quantenkryptographie und polarisierte Photonen
246
9 Quantenhardware Prototyp
Die in dem Abschnitt vor Aufgabe 9.1 beschriebene Situation, ist der schematische Aufbau des ersten Prototyps eines Quantenkryptographiesystems. 1991 wurden auf diese Weise Schl¨ ussel u ¨ber eine Strecke von 30 Zentimetern erfolgreich ¨ ubertragen [10]. Allerdings weicht dieser Prototyp in einem entscheidenden Punkt von dem BB84-Protokoll ab. Denn Alice’ Photonen stammen aus einer Diode, die schwache Lichtblitze aussendet. In jedem Schritt der Schl¨ usselerzeugung wird nicht ein einzelnes Quantenbit u ¨bertragen, sondern eine große Zahl von Photonen. Das stellt ein großes Sicherheitsrisiko dar: Wenn das Quantenbit mehrfach ¨uber den Kanal geschickt wird, ergibt sich f¨ ur Eve folgende Lauschstrategie. Sie f¨angt die Photonen ab, die H¨alfte misst sie in der Basis B, die andere H¨alfte in B′ . Wenn bei der Messung in einer Basis zwei verschiedene Ergebnisse entstehen, weiß sie, dass es die falsche ist. Das Ergebnis bez¨ uglich der anderen Basis ist jedoch korrekt – wir vereinfachen die Argumentation hier etwas. Sie erzeugt so viele Photonen, wie sie gemessen hat, pr¨apariert sie in dem ihr bekannten korrekten Zustand und schickt sie an Bob weiter. Ihr Tun wird im weiteren Verlauf nicht aufgedeckt.
Einzelphotonenquellen
Darum h¨angt die Sicherheit des Verfahrens von der Erzeugung einzelner Photonen ab. Mittlerweile gibt es recht zuverl¨assige Einzelphotonenquellen, die mit nur sehr geringer Wahrscheinlichkeit mehr als ein Photon erzeugen. Wie dies prinzipiell m¨ oglich ist, soll am Beispiel der parametrischen Fluoreszenz erl¨autert werden.
Parametrische Fluoreszenz
Durchquert ein Photon einen speziellen Kristall, kann dieses in zwei Photonen mit halbiertem Energiegehalt u ¨bergehen. Genauer ist dies bei einem optisch nichtlinearen Kristall der Fall – zum Beispiel aus Beta-Bariumborat. Dieses Ph¨anomen tritt mit geringer Wahrscheinlichkeit ein. Dann verlassen die beiden entstehenden Photonen den Kristall in zwei ganz bestimmten Richtungen. Stellt man in einer der Richtungen einen Detektor auf, l¨asst sich exakt feststellen, wann in der anderen Richtung ein Photon – mit hoher Wahrscheinlichkeit ein einzelnes! – emittiert wird. Die entscheidenden Aspekte: nur ein Bruchteil der eintretenden Photonen spalten sich. Ist dies der Fall, meldet uns das der Detektor.
Verschr¨ankte Bits
Parametrische Fluoreszenz ist aus noch einem anderen Grund interessant. Tritt das oben beschriebene Photonenpaar in einem bestimmten Bereich des Kristalls aus, ist es maximal verschr¨ankt; die Polarisationen sind antikorreliert, der Bell-Zustand Φ− entsteht. Dieser Umstand wird zur Umsetzung von Quantenteleportation, Quantenkryptographie und auch bei Berechnungen mit Clusterzust¨anden genutzt, siehe Abschnitt 9.6. Quantenkryptographiesysteme sind mittlerweile so weit fortgeschritten, dass sie bereits kommerziell angeboten werden. Die als Photonen realisierten Quantenbits werden dabei entweder ¨uber Glasfaserleitungen u ¨bertragen oder bei direkter Sichtverbindung u ¨ber Teleskope gesendet. Das Fernziel ist die Schl¨ usselverteilung mit Hilfe von Satelliten vorzunehmen.
9.3 Photonen Versuchsaufbau einer Langstrecken¨ ubertragung Mit polarisierten Photonen sind im Jahr 2001 Schl¨ ussel u ¨ber etwa 23 Kilometer ¨ ubertragen worden. Bei diesem Experiment der Arbeitsgruppe von Harald Weinfurter (LMU M¨ unchen) kamen kompakte und sehr einfach aufgebaute Ger¨ate zum Einsatz. Den schematischen Aufbau dieses Versuchs zeigt Abbildung 9.5. Auf der linken Seite der Abbildung sieht man Alice’ Sendemodul grau hinterlegt. Bobs Empfangsmodul befindet sich auf der rechten Seite, ebenfalls in einer grauen Box. Der Quantenkanal zwischen beiden, verwendet ein astronomisches Teleskop. Die Linsen L2 - L4 und die Spiegel S1 - S4 geh¨oren ebefalls zu dem Quantenkanal.
¨ Abbildung 9.5: Ubersicht der alpinen Schl¨ ussel¨ ubertragung Alice verwendet vier Laserdioden LD, f¨ ur jede im BB84-Protokoll verwendete Polarisationsrichtung eine. Dadurch sind keine weiteren polarisierenden Bauteile n¨ otig. Die Steuerung findet ¨ uber einen Zufallsgenerator statt. Wichtig ist, dass unterschiedlich polarisierte Photonen ansonsten identisch sind, sich also nicht etwa durch die Wellenl¨ange oder die Emissionsrichtung unterscheiden lassen. Wenn Eve n¨amlich anhand eines solchen Kennzeichens feststellen k¨ onnte, aus welcher der vier Laserdioden ein Photon stammt, k¨onnte sie daraus den Schl¨ ussel ableiten. Der Raumfilter RF verhindert, dass die Richtung eines Photons Informationen ¨ uber die Quelle enth¨alt. Es wird keine echte Einzelphotonenquelle verwendet. Weniger als f¨ unf Prozent der von Alice erzeugten Quantenbits bestehen aus mehr als einem Photon. Die Information, die Eve aus diesem Umstand gewinnen kann, ist gering. Alice’ Aufbau findet in einem Kasten von wenigen Zentimetern Platz. ¨ Ahnlich miniaturisiert ist Bobs Empfangsmodul; Abbildung 9.6 zeigt eine Fotografie seiner Ausr¨ ustung. Gem¨aß dem BB84-Protokoll w¨ahlt Bob zun¨achst zuf¨allig die Basis, in der er die Quantenbits misst. Das geschieht, indem er die ankommenden Photonen auf einen Strahlteiler ST leitet, wie wir ihn von dem Mach-Zehnder-Interferometer kennen. Der Ausgang, u ¨ber den ein Photon diesen Strahlteiler verl¨asst, entscheidet u ¨ber die Basis, in der gemessen wird. Ein Photon trifft entweder auf den Polarisationsstrahlteiler PST1, der horizontal von vertikal polarisierten Photonen trennt, oder auf PST2, der gem¨aß den Richtungen 45 Grad/135 Grad teilt. Im ersten
247
248
9 Quantenhardware
Abbildung 9.6: Bobs Ausr¨ ustung: Miniaturisiertes Empfangsmodul
Fall vollenden die Detektoren D(H) und D(V) die Messung, im zweiten Fall kommen die Detektoren D(+45), D(-45)) zum Einsatz. Neuere Experimente
Im Jahr 2007 gelang es den Forschergruppen um Harald Weinfurther und Anton Zeilinger die Distanz auf 144 Kilometer vergr¨oßern [84]. Im selben Jahr war es Forschern um Richard Hughes bereits gelungen, Quantenschl¨ ussel mit Glasfaserkabeln u ¨ber eine Distanz von 100 Kilometern zu verteilen [82]. Weinfurthers Gruppe schickte Photonen von einem Teleskop auf La Palma zu einem auf Teneriffa. Es musste daf¨ ur Sorge getragen werden, dass die Photonen auf ihrem Weg durch die Athmosph¨are nicht verloren ¨ gingen, was zu der eher niedrigen Ubertragungsrate von einigen Bits pro Se¨ kunde f¨ uhrte. Bewiesen ist mit diesem Experiment, dass die Ubetragung von der Erdoberfl¨ache zu einem Satelliten erreichbar ist. Damit sind auf der Erde Schl¨ usselverteilungen ¨ uber beliebige Entfernungen m¨oglich, wenn geeignete Teleskope zur Verf¨ ugung stehen. Der Satellit empf¨angt Information von einem Teleskop und vollendet die Schl¨ usselerzeugung, wenn er in Reichweite des Zielteleskops ist.
9.4 Kernspinresonanz Im Jahr 2001 gelang es der IBM-Forschungsgruppe unter der Leitung von Isaac L. Chuang mit Shors Algorithmus die Zahl 15 in ihre Primfaktoren zu zerlegen. Das Herz des verwendeten Quantencomputers ist ein Fluorkohlenstoff-Molek¨ ul, wovon sich eine sehr große Zahl in einer Art Reagenzglas befindet. Aus sieben Quantenbits besteht der damit realisierte Computer. Diese werden von den einzelnen Atomen des Molek¨ uls realisiert, indem Kernspinresonanz ausgenutzt wird. Dieses Ph¨anomen (der englische Name lautet nuclear magnetic resonance, NMR) entsteht aus der Wechselwirkung von Atomkernen und Magnetfeldern. Befindet sich ein Molek¨ ul in einem Magnetfeld, richtet sich der Spin
9.5 Ionenfallen
249
der Atomkerne parallel zu dem Feld aus. Diese Ausrichtung l¨asst sich durch elektromagnetische Wellen beeinflussen, die senkrecht zu dem urspr¨ unglichen Feld stehen. Nun w¨ahlt man einzelne Atome des Molek¨ uls aus und macht sie zu Tr¨agern der Quantenbits. Unterschiedliche chemische Eigenschaften der Umgebung dieser Atome machen die Quantenbits individuell ansprechbar. Man legt f¨ ur die Atomkerne, die zu Quantenbits werden sollen, beispielsweise fest: Ausrichtung des Spins entlang dem Hauptmagnetfeld entspricht dem Zustand |0, dazu senkrechte Ausrichtung |1, wie in Abbildung 9.7 schematisch dargestellt. Mit den die Ausrichtung beeinflussenden oszillierenden Feldern lassen sich nun Gatter realisieren, an denen ein oder zwei Bits beteiligt sind. |0
|0
|0
|0
|0
|−
|1
|+
Abbildung 9.7: Ein Molek¨ ul mit sechs Atomen, von denen vier als Quantenbits genutzt werden: Die Ausrichtung des Spins bestimmt den Zustand. Die Zerlegung der Zahl 15 war die bis dahin komplexeste Realisierung eines Quantenverfahrens. Das war auch dadurch m¨oglich, dass die Kerspinresonanz seit ihrer Entdeckung im Jahr 1946 schnell zu einer zuverl¨assigen Technik mit großem wissenschaftlichen und ¨ okonomischen Nutzen wurde. So ist es ein Standarduntersuchungsverfahren der Chemie, und in der Medizin ist es als Kernspintomographie bekannt. Nat¨ urlich gab es zudem viele Vorarbeiten mit einer geringeren Zahl an Quantenbits. So wurden in derselben Forschungsgruppe bereits 1998 zwei Quantenbits an Chloroform-Molek¨ ulen erzeugt und f¨ ur den Algorithmus von Deutsch genutzt. Trotz der bisherigen Erfolge wird Kernspinresonanz nach Meinung der Experten nicht zu praktisch verwendbaren Quantencomputern f¨ uhren, da diese Methode schlecht skalierbar ist, das heißt, die Zahl der Quantenbits l¨asst sich nur schwer erh¨ ohen. So nimmt die St¨arke des Signals mit wachsender Bitzahl exponentiell ab, und es wird immer schwieriger, es vom Rauschen zu unterscheiden.
9.5 Ionenfallen Ionen, also elektrisch geladene Molek¨ ule oder Atome, k¨onnen mit einem elektromagnetischen Feld an einem bestimmten Ort festgehalten werden: in
250
9 Quantenhardware
Laser
Elektroden
Ca2+
Ca2+
Ca2+
Ca2+
Abbildung 9.8: Vier Kalziumionen in einer elektromagnetischen Falle. Die Laser f¨ uhren Transformationen aus und lesen den Endzustand.
sogenannten Ionenfallen. Solche Fallen werden zum Beispiel in der Spektrometrie verwendet, mit der sich chemische Substanzen analysieren lassen. Derart gefangene Teilchen zum Bau von Quantencomputern zu verwenden, wurde 1995 von Ignacio Cirac und Peter Zoller von der Universit¨at Innsbruck vorgeschlagen. So l¨asst sich dem Grundzustand eines gefangenen Ions der Zustand |0 zuordnen, und |1 kann ein energetisch angeregter Zustand sein. Es ist auch m¨ oglich, mit einem gefangenen Ion zwei Quantenbits zu realisieren. Der Wert des ersten h¨angt dann wie beschrieben vom Energiezustand ab, und zus¨atzlich bilden zwei verschiedene Schwingungszust¨ande die Werte |0 und |1 des zweiten Quantenbits. Oft sind die gefangenen Ionen wie in Abbildung 9.8 linear angeordnet. Die Abst¨ande liegen im Mikrometerbereich, die Ionen k¨ onnen mit Laserstrahlen einzeln adressiert werden. Dazu sind Temperaturen nahe dem absoluten Nullpunkt n¨otig, und die Fallen befinden sich in einem Vakuum. Obwohl die Ionen linear angeordnet sind, lassen sich Zwei-Bit-Gatter auf beliebige Quantenbits anwenden. Geladene Teilchen stoßen sich ab; die Ionen m¨ ussen deshalb stark gek¨ uhlt werden, damit sie sich in Ruhe befinden. F¨ uhrt nun der Laser der Kette der gefangenen Ionen Energie zu, ger¨at diese in Schwingung. Durch Wechselwirkungen kann die Ionenkette als eine Art Daten-BUS benutzt werden, und Interaktionen zwischen je zwei beliebigen Ionen beziehungsweise Quantenbits werden m¨oglich. Zu Ionenfallen wurden zahlreiche Experimente ausgef¨ uhrt: die bekanntesten in Innsbruck und am National Institute of Standards and Technology in Boulder, Colorado. So gelang es zum Beispiel, den Algorithmus von Deutsch mit Ionenfallen zu realisieren. Es wird intensiv daran gearbeitet, die Zahl der Quantenbits zu erh¨ ohen. Besonders wichtig ist, dass universelle Quantengatter realisiert werden konnten. Ionenfallen gelten als ein sehr aussichtsreicher
9.6 Einwegberechnungen mit Clusterzust¨anden
251
Ansatz zum Bau von Quantencomputern. Beiden genannten Forschergruppen gelang es zudem, in Fallen gefangene Kalzium- beziehungsweise Berylliumionen zu teleportieren.
9.6 Einwegberechnungen mit Clusterzust¨ anden Es gibt einen Ansatz zum Bau von Quantencomputern, bei dem der gesamte Quantenschaltkreis – mehr noch: eine große Menge m¨oglicher Schaltkreise – in einer Folge verschr¨ankter Quantenbits kodiert ist. Die Rechenschritte werden durch Messungen an einzelnen Bits durchgef¨ uhrt. Durch die Wahl der Basen der Messungen, wird eine Berechnung auf einer bestimmten Eingabe realisiert. Wir beginnen mit einem Beispiel. Beispiel 9.2: Zwei Quantenbits |x|y befinden sich in dem verschr¨ankten Zustand 1 Φ+ = √ (|00 + |11). 2 Wir betrachten zwei verschiedene Messungen des ersten Bits: die erste verwendet die Basis B = {|0, |1}, die zweite B′ = {|+, |−}, mit |+ = √1 (|0 + |1) und |− = √1 (|0 − |1). 2 2
Nach der Messung in der Basis B befMan kann auch die Ergebnisse jeder Messung zur Auswertung des Endergebnisses heranziehen, was experimentell leichter umsetzbar ist. indet sich das Zweibitsystem in einem der Zust¨ande |0|0 oder |1|1,
das Messergebnis sagt uns, in welchem tats¨achlich. Eine Messung in der Basis B′ entspricht einer Messung in B mit vorheriger Anwendung der Hadamard-Transformation: H⊗I 1 Φ+ −→ (|00 + |01 + |10 − |11). 4
Der Nachfolgezustand ist 1 √ (|00 + |01) = |0|+ 2 oder
1 √ (|10 − |11) = |1|−. 2
Durch die Messung am ersten Bit wird das zweite Bit transformiert, die Wahl der Messbasis bestimmt die Transformation. Bit |y nimmt zwar einen von zwei m¨ oglichen Zust¨anden zuf¨allig an, wir erfahren diesen jedoch aus der Messung am ersten Bit und kennen damit den Zustand des zweiten Bits.⋄ Dieses ¨außerst einfache Beispiel verdeutlicht, wie mit Messungen an einem Bit Transformationen an einem mit diesem verschr¨ankten Bit m¨oglich
EinwegBerechnungen
252
9 Quantenhardware
|+ |0 |+ +|− |1 |−
|+
Z−α
X−β
Abbildung 9.9: Ein-Bit-Schaltkreis; realisiert mit drei verschr¨ankten Bits
Schaltkreise
sind. Von Hans Briegel und Robert Raussendorf stammt das Modell eines Quantencomputers, der sich das zu Nutze macht, siehe etwa [78], [79]. Man spricht von Einweg-Quantenberechnungen. Durch aufeinanderfolgende Messungen an miteinander verschr¨ankten Quantenbits wird eines nach dem anderen entfernt. Eine solche Berechnung ist nicht umkehrbar. Der Schaltkreis in Abbildung 9.9 wird durch Messungen an dem verschr¨ankten Zustand dreier Bits auf der linken Seite verwirklicht. Diese physikalischen Bits sind von den kodierten Bits zu unterscheiden: gerechnet wird auf einem Quantenbit |x im Startzustand |+ = H|0. Messungen an den beiden ersten physikalischen Bits entsprechen Transformationen des kodierten Bits |x mittels iα/2 e 0 cos β2 sin β2 . und danach X−β = Z−α = 0 eiα/2 sin β2 cos β2 Xβ und Zα sind Drehungen im Zustandsraum des Quantenbits. So ist −1 0 0 1 Z2π = und Xπ = = X. 0 −1 1 0 Messen wir das erste physikalische Bit des verschr¨ankten Drei-Bit-Zustands (|+|0|+) + (|−|1|−) in der Basis 1 1 iα iα B(α) = √ (|0 + e |1), √ (|0 − e |1) , 2 2
Zufallselement
Feed forward
bewirkt dies die Anwendung von Z−α auf das kodierte Bit im Anfangszustand |+. Messen wir danach das zweite Bit bez¨ uglich B(β), wird anschließend X−β angewendet. Das dritte Bit befindet sich dann im Zustand X−β Z−α |+. Messen wir dieses, erhalten wir das Ergebnis der Berechnung. Die vorhergehende Darstellung enth¨alt noch eine Vereinfachung: denn tats¨achlich bringt jede Messung ein Zufallselement in die Berechnung, wie wir in Beispiel 9.2 gesehen haben. Die Berechnung wird nur dann wie beschrieben und erw¨ unscht ausgef¨ uhrt, wenn das Ergebnis beider Messungen dem ersten Basisvektor √12 (|0 + eiα |1) – beziehungsweise √12 (|0 + eiβ |1) – entspricht. Im anderen Fall ber¨ ucksichtigen wir die entstehende Abweichung f¨ ur den Fortgang der Rechnung. Dabei ist es m¨oglich, die folgenden Messungen an die vorherigen Messergebnisse anzupassen. Dieses Vorgehen nennt man feed forward. Man kann auch die Ergebnisse jeder Messung zur Auswertung des Endergebnisses heranziehen, was experimentell leichter umsetzbar ist.
9.6 Einwegberechnungen mit Clusterzust¨anden
|0 |+ |0 |+ + |0 |− |1 |− + |1 |− |0 |− + |1 |+ |1 |+
253
|+
Z−α
H
|+
Z−β
H
Abbildung 9.10: Zwei-Bit-Schaltkreis aus vier verschr¨ankten Bits
Eine Menge von m¨ oglichen Zweibit-Schaltkreisen stellt Abbildung 9.10 dar. Messungen an den Bits 1 und 4 f¨ uhren die im Schaltkreis angegebenen Transformationen auf zwei kodierten Bits im Zustand |+ aus. Das Ergebnis der Transformationen ist der Zustand der Bits 2 und 3. Warum werden gerade die Bits 1 und 4 gemessen? Das resultiert aus der Erzeugung der verschr¨ankten Quantenzust¨ande. Dazu wird auf je zwei benachbarte Bits uhrt. Die Nacheine Transformation der Form | j|k → (−1) jk | j|k ausgef¨ barschaftsstruktur der eben beschriebenen vier Bits zeigt Abbildung 9.11. Im M¨arz 2005 berichtet Nature, [97], dass in Anton Zeilingers Wiener Arbeitsgruppe Einweg-Quantenberechnungen experimentell realisiert wurden (Erstautor ist der junge Physiker Philip Walther). Grovers Algorithmus wurde mit einer vierelementigen Datenbank als Eingabe ausgef¨ uhrt. Insbesondere gelang es, eine universelle Menge von Gattern aus jeweils vier verschr¨ankten Quantenbits zu realisieren. Diese bestanden jeweils aus einem Cluster von vier polarisierten Lichtquanten. Ein solches Cluster wird aus vier gleichzeitig emittierten Photonen hergestellt. Mit einem Pulslaser und einem Bariumborat-Kristall werden durch parametrische Fluoreszenz zwei verschr¨ankte Paare erzeugt. Optische Instrumente wie zum Beispiel Polarisationsstrahlteiler werden verwendet, um den gew¨ unschten Clusterzustand herzustellen. Abschließend werden die vier Quantenbits des Clusters auf vier Einzelphotonendetektoren geleitet. Wie oben beschrieben wurde, vollzieht sich die eigentliche Berechnung durch diese Messungen.
Realisierung mit Photonen
Da sich universelle Transformationen durch einfache Cluster ausf¨ uhren lassen, scheint dieser Ansatz auch f¨ ur komplexere Berechnungen geeignet zu sein. Das Ziel ist es, sehr große Cluster herzustellen: dazu m¨ ussen allerdings sehr viele Quantenbits miteinander verschr¨ankt werden, was zur Zeit noch
Universalit¨at
Bit 1
Bit 2
Bit 4
Bit 3
Abbildung 9.11: Nachbarschaftsstruktur zu Abbildung 9.10
254
9 Quantenhardware
Grovers Algorithmus
Experimentelles feed forward
Algorithmus von Deutsch, Gefangenendilemma
nicht realisierbar ist. Im Jahr 2006 gelang es, eine Zahl von immerhin sechs Quantenbits in einem Graphenzustand miteinander zu verschr¨anken [63]. Bei den meisten in diesem Buch vorgestellten Algorithmen besteht die Eingabe in einem Quantenorakel, das ein Teil der Berechnung, beziehungsweise des Quantenschaltkreises, wird. In diesem Sinne legt die Wahl der Messungen neben der auszuf¨ uhrenden Berechnung auch die Eingabe fest. Betrachten wir noch einmal den Schaltkreis in Abbildung 9.10. Durch korrekte Wahl der Parameter α und β – (α, β) ∈ {0, π}2 – k¨onnen die beiden Z-Gatter das Datenbankorakel realisieren. Die beiden Hadamard-Gatter bilden die linke H¨alfte der Spiegelung am Mittelwert, siehe Abschnitt 6.2. Abschließende unit¨are Transformationen werden in die Messung des Ergebnisses integriert. Mit vier entsprechend verschr¨ankten Bits ist Grovers Algorithmus realisierbar, was mit dem Wiener Photonenrechner gelungen ist. Anfang 2007 gelang es erstmals, die Selbstanpassung der Rechnung zu realisieren, die oben unter dem Stichwort feed forward erl¨autert wurde [76]. Nach der Messung der ersten beiden Photonen wurde das Ergebnis zur Korrektur der beiden anderen Photonen verwendet. Die Herausforderung liegt dabei in der Geschwindigkeit der Photonen: die Anpassung muss sehr schnell vor sich gehen. Bei besagtem Experiment von Forschern in Harvard und Wien wurde eine Zeit von 150 Nanosekunden erreicht. Andererseits ist dadurch die Anzahl der pro Zeiteinheit ausf¨ uhrbaren logischen Operationen, die Rechengeschwindigkeit also, ungemein hoch. Abzuwarten bleibt die Skalierbarkeit dieses Ansatzes: wie schon erw¨ahnt wurden bereits immerhin sechs Photonen miteinander verschr¨ankt [63]. Eine der Herausforderungen ist, dass diese Adaption sehr schnell vonstatten gehen muss. Im gleichen Jahr wurden mit oben beschriebenem Cluster zwei weitere Algorithmen implementiert, ein Hinweis auf allgemeinere Anwendbarkeit dieses Ansatzes. In [92] wird von der erfolgreichen Implementierung des Algorithmus von Deutsch berichtet. Desweiteren wurde ein Verfahren aus der Spieltheorie implementiert, das hier bisher nicht erw¨ahnt wurde. Die klassi¨ sche Spieltheorie hat weitreichende Anwendungen in der Okonomie und den Biowissenschaften. Das Gefangendilemma ist ein Spiel mit zwei Teilnehmern, das unter der ¨ okononischen Grundannahme der individuellen Nutzenmaximierung zu einem nicht optimalen Ergebnis f¨ uhrt. Sehen beide Spieler nur ihren eigenen Nutzen, ist das Ergebnis f¨ ur beide schlechter, als wenn sie uneigenn¨ utzig“ kooperierten. Quantenversionen von Spielen weisen h¨aufig ” andere Eigenschaften auf, als die klassischen Gegenst¨ ucke. So l¨ost sich in der Quantenversion des eben besagten Spieles das Dilemma. An dieser Stelle ist interessant, dass das Gefangendilemma mit dem oben beschrieben photonenbasierten Quantenrechner implementiert werden konnte [77]. Weiteres zu Quantenspielen und dem Gefangendilemma findet der Leser in [37].
255
10 Zur Geschichte der Quantenmechanik Ich glaube an Geschichte, weil jede Epoche lange nicht so neu, so interessant, so einmalig, so grunds¨ atzlich von allen andern verschieden ist, wie sie sich das einbildet. Kurt Tucholsky
Dieses Buch enth¨alt keine Einf¨ uhrung in die Quantenmechanik und das aus gutem Grund. Aber es w¨are unbefriedigend, wenn der Leser sich nach der Lekt¨ ure mit Quantenbits und kniffligen Quantenalgorithmen auskennen w¨ urde, er aber noch nie vom Planckschen Wirkungsquantum oder der Schr¨ odingerschen Wellengleichung geh¨ ort h¨atte. Darum stellt dieses Kapitel Fragen und Konzepte der Quantenphysik mit Hilfe kurzer Portraits auf popul¨arem Niveau dar.
10.1 Max Planck: das Quantum der Wirkung Max Planck markiert den Wendepunkt zwischen klassischer Physik und Quantenmechanik. Geboren wurde er 1858 in Kiel. 1874 begann er Physik zu studieren, obwohl ihm von berufener Seite abgeraten wurde. Nach Auskunft eines Physikprofessors sei das physikalische Wissen so weit fortgeschritten, dass grunds¨atzlich Neues darin kaum mehr zu leisten sei. Was f¨ ur eine Fehleinsch¨atzung! 1889 ¨ ubernahm Planck eine Professur in Berlin und machte im Jahr 1900 eine Entdeckung, die die Physik von Grund auf ver¨andern sollte. Eine eingeschaltete Herdplatte erhitzt sich allm¨ahlich. Sie sendet elektromagnetische Strahlung aus, die wir ab einer bestimmten Intensit¨at als Licht wahrnehmen: die Platte beginnt zu gl¨ uhen und sendet rotes Licht aus. Noch st¨arker erhitzte K¨ orper werden gelb und schließlich weiß. Tats¨achlich
Planck
256
10 Zur Geschichte der Quantenmechanik
Leibniz
sendet jeder gl¨ uhende K¨ orper stets Licht verschiedener Farbe, verschiedener Wellenl¨ange, aus. Den Zusammenhang zwischen diesem Spektrum des abgestrahlten Lichts und der Temperatur des heißen K¨orpers zu beschreiben, war Ende des 19. Jahrhunderts ein wichtiges offenes Problem. Es gab bereits Beschreibungsversuche. Diese konnten die experimentellen Ergebnisse jedoch nur in bestimmten Bereichen erkl¨aren und widersprachen einander. Planck fand im erw¨ahnten Jahr 1900 eine Formel, die gl¨anzend zu den Daten passte. Diese Formel enthielt jedoch ein Element, das Planck zun¨achst als vorl¨aufigen mathematischen Kunstgriff ansah, den es so schnell wie m¨oglich zu entfernen galt. Der Grund daf¨ ur war, dass gem¨aß seiner Formel die Energie einer molekularen Schwingung nicht jeden m¨oglichen Wert annehmen kann. Vielmehr waren nur Vielfache des Produkts aus der Frequenz und einer neuen Konstante h m¨ oglich; die Verwendung dieser Konstante ist der angesprochene Kunstgriff. Die Konstante h wird heute Plancksches Wirkungsquantum genannt, Planck sch¨atzte sie anhand von Messergebnissen an strahlenden K¨ orpern ab. Die Energie kann danach wie auf einer Treppe von Stufe zu Stufe springen, aber die Bereiche dazwischen sind prinzipiell ausgeschlossen, beinahe, als w¨ urden sie nicht existieren. Konnte das sein? Plancks Formel entsprach exakt den experimentellen Ergebnissen, aber diese Folgerung mochte er nicht hinnehmen. Man kann sich heute schwer vorstellen, welche Wirkung diese Entdeckung hatte. Mittlerweile liegen die Anf¨ange der Quantenmechanik ein Jahrhundert zur¨ uck, und wir haben uns an viele ihrer Zumutungen“ gew¨ohnt. Es ” verwundert heutzutage kaum mehr, dass es unteilbare Energieeinheiten gibt. Gab es nicht schon bei den alten Griechen die Auffassung von unteilbaren Grundbestandteilen der Welt, den Atomen? Das war einmal anders. Von dem Philosophen Gottfried Wilhelm Leibniz (1646-1716), Universalgelehrter der Barockzeit, Erfinder des Bin¨arsystems und der Differentialrechnung, stammt die Aussage: Nichts geschieht auf einen Schlag; und es ist einer meiner gr¨oßten und bew¨ahrtesten Grunds¨atze, daß die Natur niemals Spr¨ unge macht. Das nannte ich das Gesetz der Kontinuit¨at. Dieser Grundsatz – bekannt als natura non facit saltus – bestimmte u ¨ber Jahrhunderte die Naturwissenschaften. Mit Plancks Formel ließ er sich schwerlich vereinen. Darum dauerte es einige Zeit, bis Planck seine Erkl¨arung des Spektrums so akzeptieren konnte wie sie war. Eine wissenschaftliche Revolution auszul¨ osen, war nicht das Ziel des konservativen Physikers gewesen. Doch das Wirkungsquantum – anfangs ein rechnerisches Hilfsmittel – gewann physikalische Realit¨at. Albert Einstein verwendete es 1905 in seiner Erkl¨arung des photoelektrischen Effekts, und Niels Bohr erkl¨arte 1913 die Stabilit¨at des Atoms mit Hilfe von quantisierten Zust¨anden. 1918 erhielt Planck den Nobelpreis, und der neuen Physik stand eine st¨ urmische Entwicklung bevor, an der eine Reihe deutscher Physiker beteiligt waren. Nach der politischen Katastrophe, als die bereits viele Zeitgenossen den Beginn der NS-Diktatur ansahen, flohen viele Wissenschaftler aus Deutschland – Albert Einstein ist der ber¨ uhmteste von ihnen. Planck blieb bis 1937 Vorsitzender der Kaiser-Wilhelm-Gesellschaft. 1945 wurde
10.2 Albert Einstein: Spukhafte Fernwirkung
257
sein Sohn Erwin hingerichtet, der zum konservativen Widerstand um Claus Schenk Graf von Stauffenberg geh¨ orte. Zwei Jahre sp¨ater stirbt Max Planck in G¨ ottingen. 1948 wird die Kaiser-Wilhelm-Gesellschaft umbenannt und tr¨agt seitdem seinen Namen.
10.2 Albert Einstein: Spukhafte Fernwirkung Das Staunen gilt seit der Antike als Anreger neuer Erkenntnisse. Dies sich wundern scheint dann aufzutreten, wenn ein Erlebnis mit einer in uns hinreichend fixierten Begriffswelt in Konflikt kommt. Ein Wunder solcher Art erlebte Albert Einstein (1879–1955) als Kind von vier oder f¨ unf Jahren, als ihm sein Vater einen Kompass zeigte. Dass diese Nadel in so bestimmter Weise sich benahm, passte so gar nicht in die Art des Geschehens hinein, die in der unbewussten Begriffswelt Platz finden konnte: an Ber¨uhrung gekn¨ upftes Wirken. Dies machte einen bleibenden Eindruck und f¨ uhrte zu der ¨ Uberzeugung: Da musste etwas hinter den Dingen sein, das tief verborgen war. Im Jahr 1905 ver¨ offentlicht Einstein innerhalb weniger Monate mehrere bahnbrechende Arbeiten, in dem so bezeichneten Wunderjahr entstanden unter anderem die spezielle Relativit¨atstheorie und die Erkl¨arung des sogenannten photoelektrischen Effekts, ein entscheidender Schritt f¨ ur die Entstehung der Quantenmechanik. Zu dieser Zeit ist der 1879 in Ulm geborene als technischer Vorpr¨ ufer am Patentamt in Bern angestellt. 1886 beobachtete Heinrich Hertz erstmals, dass geladene Metalle Elektronen abgeben, werden sie mit Licht bestrahlt. Diesen Effekt nutzen Fotozellen aus. Die im 19. Jahrhundert allgemein akzeptierte Wellentheorie des Lichts konnte dieses Ph¨anomen im Prinzip erkl¨aren, aber nicht quantitativ. Der klassischen Physik zufolge m¨ usste die Energie der freiwerdenden Elektronen allein von der Intensit¨at des Lichtes abh¨angen, nicht hingegen von der Wellenl¨ange. Dem widersprachen die experimentell beobachteten Ph¨anomene. So hat ultraviolettes Licht eine andere Wirkung auf eine geladene Platte, als das langwelligere sichtbare Licht. Einstein fand eine Erkl¨arung, die dem Licht Teilchencharakter zuschrieb, wie es vor ihm bereits Newton getan hatte. Aus der geladenen Platte werden die Elektronen demnach durch diskrete Energiepakete geschlagen, den Lichtquanten oder Photonen. Die Energie eines solchen Photons h¨angt von der Wellenl¨ange ab, diese wiederum bestimmt die Energie des entweichenden Photons. Diese Energie konnte Einstein durch eine elegante Formel beschreiben: sie ist gleich dem Produkt aus der Frequenz und dem Planckschen Wirkungsquantum. F¨ ur diese Erkl¨arung erhielt Einstein im Jahr 1921 den Nobelpreis f¨ ur Physik; nicht f¨ ur die Relativit¨atstheorie, sondern f¨ ur eine die Quantenmechanik fundierende Arbeit. Dabei muss man Einsteins Verh¨altnis zu dieser Theorie als gespalten bezeichnen: er trug Wesentliches zu ihr bei und geh¨ort zu den Mitbegr¨ undern, lehnte aber gleichzeitig viele Konzepte und Folgerungen entschieden ab. Zeit seines Lebens konnte er sich nicht damit abfinden, dass
Einstein
258
10 Zur Geschichte der Quantenmechanik
Bell
Unbestimmtheit und Verschr¨ankung Elemente einer vollst¨andigen Beschreibung der Natur sein sollen. Einsteins ber¨ uhmte, 1935 mit Boris Podolsky und Nathan Rosen ver¨offentlichte Arbeit wurde bereits im Abschnitt 2.11 diskutiert. Das EinsteinPodolsky-Rosen-Paradoxon wird dort am Beispiel zweier verschr¨ankter Quantenbits erl¨autert. Diese sind solcherart gekoppelt, dass durch eine Messung an einem Bit unmittelbar das Ergebnis der Messung an einem anderen Bit festgelegt und bekannt ist. Das Unbehagen der drei Autoren mit dieser spukhaften Fernwirkung ¨außerte sich in dem Vorschlag, das klassisch geordnete Weltbild auf das Fundament verborgener Variablen zu stellen. Ernstgenommen hat diesen Vorschlag John Stewart Bell, der 1964 zeigen konnte, dass die Aussagen einer auf verborgenen Variablen beruhenden lokal-realistischenTheorie und solche der Quantenmechanik einander widersprechen m¨ ussen. Die Bedeutung dieses Ergebnisses f¨ ur die heutige Quantenmechanik kann man nicht hoch genug einsch¨atzen. Der amerikanische Physiker Henry Stapp spricht gar von der tiefgr¨undigsten Entdeckung seit Kopernikus. Als Kind wunderte sich Einstein u ¨ber einen Kompass, da er an Ber¨uhrung gekn¨ upftes Wirken gewohnt war. Da musste etwas hinter den Dingen sein. Magnetische Fernwirkung l¨asst sich mit einem Medium erkl¨aren, das die Kompassnadel mit der Wirkursache verbindet. Aber bei der spukhaften Fernwirkung verschr¨ankter Teilchen gibt es nach heutiger Auffassung nichts dahinter. Es ist ein experimentell nachgewiesenes und von in diesem Buch beschriebenen Verfahren genutztes Ph¨anomen, f¨ ur das man heute keine anschauliche Erkl¨arung kennt. Das heißt jedoch nicht, dass Einsteins Suche nach einem geordneten Weltbild f¨ ur gescheitert erkl¨art werden m¨ usste. Die Physik beschreibt eine verschr¨ankte Welt, in der auch r¨aumlich Getrenntes zusammenh¨angt.
10.3 Niels Bohr: Kopenhagen Gott w¨ urfelt nicht ist einer der meist zitierten Ausspr¨ uche Albert Einsteins. Diese Kritik an der Rolle von Unbestimmtheit und Zufall in der Quantenmechanik findet sich in einem Brief an den d¨anischen Physiker Niels Bohr (1885–1962), formuliert als bange Frage. Weniger bekannt ist Bohrs Antwort, dass niemand – und nicht einmal der liebe Gott selber – wissen kann, was ein Wort wie w¨ urfeln in diesem Zusammenhang heißen soll. Hier waren offenbar zwei Skeptiker aufeinander getroffen. Der eine zweifelte an einer Theorie, deren Unanschaulichkeit f¨ ur ihn ans Widernat¨ urliche grenzte. Der andere an Aussagen, die in ihrem Gegenstandsbereich nicht enthaltsam genug sind, als dass sie sinnvoll sein k¨onnten. Doch bevor wir Bohrs Rolle als Deuter der Quantenmechanik ansprechen, wollen wir sehen, wie er nach Planck und Einstein den dritten großen Schritt auf dem Weg zur Quantenphysik tat. Der neuseel¨andische Physiker Ernest Rutherford wurde durch Experimente zu einem Modell des Atoms angeregt, nach dem diese einen positiv gela-
10.3 Niels Bohr: Kopenhagen denen Kern besitzen, um den negativ geladene Elektronen kreisen. Daraus ergab sich ein Problem: nach den Gesetzen der klassischen Physik kann ein so gebautes Atom unm¨ oglich stabil sein. Die kreisenden Elektronen m¨ ussten eigentlich Energie verlieren und von dem Kern angezogen werden, bis sie in diesen hineinst¨ urzen. Aber die Atome waren stabil. Diesem Problem sah sich 1912 der 27-j¨ahrige Niels Bohr gegen¨ uber, der Rutherfords wegen nach Manchester gekommen war. Er erneuerte Rutherfords Modell und verwendete dazu Plancks Theorie der quantisierten Wirkung, die Albert Einstein 1905 zur Erkl¨arung des sogenannten photoelektrischen Effekts genutzt hatte. Bohrs Modell muss als k¨ uhn bezeichnet werden. Konzepte der klassischen Physik, wie um ein Zentrum kreisende Satelliten, wurden mit Beschr¨ankungen der Energiewerte im Sinne der entstehenden Quantenphysik zusammengef¨ uhrt. So sind den Elektronen nur bestimmte Bahnen gestattet, die jeweils verschiedenen quantisierten Energiewerten entsprechen. Er formte ein Bild vom Atom, das einen hybriden Eindruck machen k¨onnte, die zum Beispiel am Wasserstoffatom herrschenden Verh¨altnisse jedoch qualitativ und quantitativ hervorragend beschrieb. Erg¨anzt und korrigiert wurde dieses Modell mehr als ein Jahrzehnt sp¨ater von Heisenberg und Schr¨ odinger. Zu dieser Zeit wurde auch Bohrs Rolle als Philosoph der Quantenmechanik immer deutlicher. Dem Leser dieses Buches ist die Rolle von Messungen an quantenmechanischen Systemen bekannt. Die Wahl der Basis bestimmt das Resultat eines solchen Vorgangs mit. Messergebnisse k¨onnen unter bestimmten Umst¨anden sogar rein zuf¨allig sein, wenn die gemessene Eigenschaft in dieser Basis nicht bestimmt ist. Zur Verdeutlichung kann wieder einmal Schr¨ odingers Katze dienen, deren Gesundheitszustand gegen¨ uber den Begriffen tot“ und lebendig“ unbestimmt ist. ” ” ¨ Dieser Umstand allein stellte f¨ ur die wissenschaftliche Offentlichkeit eine nicht geringe Zumutung dar. Aber was folgt daraus ¨uber das gemessene Objekt? Erinnern wir uns an das Mach-Zehnder-Interferometer aus Abschnitt 9.3.1. Dort haben wir das Messergebnis durch Interferenz von Amplituden erkl¨art, und zwar der Amplituden f¨ ur zwei Wege, die das Photon einschlagen konnte. Aber wie soll man sich ein Photon vorstellen, das diese Wege geht? Bohrs Antwort w¨are: Gar nicht! Man soll sich auf die beobachtbaren ¨ Ph¨anomene beschr¨anken. Uber diese und nur u ¨ber diese k¨onnen wir Aussagen machen. Es gibt keine Quantenwelt wird Niels Bohr zitiert. Um diese Aussage zu verstehen, k¨ onnen wir ein anderes Diktum Bohrs heranziehen: Kein Ph¨anomen ist ein Ph¨anomen, außer es ist beobachtetes Ph¨anomen. Beobachtbare Ph¨anomene sind klassisch. Das Photon wird vom Detektor uber, was das Photon vor der BeD0 oder vom Detektor D1 registriert. Dar¨ obachtung macht, k¨ onnen wir nichts aussagen. Gem¨aß Bohr w¨are es sogar sinnlos, etwas dar¨ uber aussagen zu wollen. Ein Zustand vor einer Beobachtung ist aus logischen Gr¨ unden unbeobachtbar. Diese Beschr¨ankung auf die Ph¨anomene ist ein kleiner Teil eines Deutungsansatzes der Quantenmechanik, der nach Bohrs wichtigster Wirkungsst¨atte als Kopenhagener Interpretation bezeichnet wird. Fragen, wie die eben geschilderten geh¨ oren in gewisser Weise nicht mehr zu der Theorie,
259
Bohr
260
10 Zur Geschichte der Quantenmechanik die den Namen Quantenmechanik tr¨agt. Eine Interpretation u ¨bersetzt Begriffe und Aussagen eines Systems in ein anderes. Im Falle der Quantenphysik gibt es letztlich drei Systeme. Die formale Theorie mit Vektorr¨aumen und unit¨aren Transformationen, die Experimentalphysik, der wir die beobachtbaren Ph¨anomene zuordnen, und schließlich unsere Alltagssprache, in der physikalische Fragen stets klassisch verhandelt werden.1 Interpretationen der Quantenmechanik erzeugen in der Regel S¨atze der Alltagssprache. Deren Ziel ist jedoch nicht, p¨adagogische Veranschaulichungen zu finden oder physikalische Erkenntnisse f¨ ur weltanschauliche Fragen nutzbar zu machen. Interpretationen der Quantenmechanik sagen etwas u ¨ber die physikalische Realit¨at selbst aus. Als einen Aspekt von Niels Bohrs Sicht der Quantenphysik haben wir die Beschr¨ankung kennen gelernt, nur u ¨ber beobachtbare Ph¨anomene zu sprechen. Ein anderer wesentlicher Aspekt der Kopenhagener Interpretation ist die Beschreibung der Messung als Zufallsexperiment. Eine Superposition geht in einen Basiszustand u ¨ber. Die Wahrscheinlichkeit ergibt sich dabei aus den Amplituden. Entscheidend ist der Aspekt, dass hierbei eine sich ansonsten unit¨ar entwickelnde Superposition von Basiszust¨anden mit einem Schlag zu einem der Zust¨ande der Basis reduziert wird. Dieser Vorgang ist der Ausgangspunkt verschiedener Deutungsans¨atze, da hier verschiedene Probleme auftreten, die mit unseren Mitteln leider nicht hinreichend beschrieben werden k¨ onnen. Die Viele-Welten-Interpretation wurde 1957 von dem amerikanischen Physiker Hugh Everett (1930–1982) vorgeschlagen. Nach diesem Deutungsansatz wird die Superposition bei der Messung nicht reduziert, sondern die verschiedenen Ergebnisse werden in verschiedenen Welten realisiert, es gibt ¨ eine gewaltige Zahl von Paralleluniversen. Offnen wir die Kiste mit Schr¨odingers Katze, werden wir in einer Welt eine lebendige Katze finden, in einer anderen eine tote. W¨ahrend der Messung wird zwischen zwei m¨oglichen Welten verzweigt. Alle Alternativen sind jedoch real. Dem Beobachter kommt keine herausgehobene Rolle zu, und mit Blick auf alle Welten wird die Superposition nicht wirklich reduziert. Ein Problem dieses Deutungsansatzes ist, dass wir zu den Paralleluniversen keinen Zugang haben und sich die Grundannahme der Viele-Welten-Theorie nicht experimentell beweisen l¨asst. Das k¨ onnte sich jedoch ¨andern; denken wir nur an Bells Folgerungen aus den verborgenen Variablen. Anh¨anger der Kopenhagener Deutung kritisieren an der Viele-Welten-Theorie den ihrer Meinung nach verschwenderischen Umgang mit unbeobachtbaren Elementen. Wir wollen hier Neutralit¨at bewahren und 1
Hier und im gesamten Abschnitt bewegen wir uns auf schwankendem Boden. So ist die genannte Trennung in gewisser Weise willk¨ urlich: mathematisch formulierte Theorien sind von der physikalischen Welt der beobachtbaren Ph¨ anomene nicht strikt getrennt. Sie sind mit physikalischen Systemen – zum Beispiel Gehirnen – auf das engste verbunden. Auch die Trennung von klassischer Physik und Quantenphysik ist problematisch, da v¨ ollig unklar ist, wo die Grenze verlaufen sollte. Dieser knapp formulierte Abschnitt kommt manchmal nicht um Vereinfachungen herum, die sich bei genauer Betrachtung als naiv erweisen. Ziel ist es auch nicht, den vielen tiefsinnigen Abhandlungen ¨ uber die Deutungen der Quantenmechanik eine weitere hinzuzuf¨ ugen, sondern bei dem Leser einen ersten Eindruck entstehen zu lassen.
10.4 Werner Heisenberg: Ein großes Quantenei darauf hinweisen, dass Everetts Ansatz immerhin eine Erkl¨arung zu einer Frage anbietet, die die Kopenhagener Deutung in eisiges Schweigen h¨ ullt. Ein bekannter Anh¨anger dieses Deutungsansatzes ist David Deutsch, der den Begriff Multiversum verwendet. Eine weitere interessante Deutung stammt von dem amerikanischen Physiker David Bohm (1917–1992). Dessen Beschreibung der Quantenmechanik erm¨ oglicht es, den Zufall g¨anzlich zu eliminieren. Das gelingt durch eine zus¨atzliche Gr¨ oße, die man Quantenpotential nennen k¨onnte. Damit wird es m¨ oglich, zu jeder Zeit den Zustand eines Teilchens als bestimmt anzusehen, auch vor der Messung gibt es einen definierten Zustand. Nach Bohms Deutung ist die Welt letztlich deterministisch, auch wenn seine Deutung die gleichen Voraussagen macht. Um dem augenscheinlichen Zufall in den Experimenten eine deterministische Tiefendimension zu verleihen, muss die Quantenmechanik um experimentell nicht zug¨angliche Elemente erweitert ¨ werden. Insoweit gibt es eine Ahnlichkeit zwischen Bohms Ansatz und Einsteins verborgenen Variablen. Jede dieser Deutungen hat ihre Vorz¨ uge und Nachteile. Es ist nicht ausgeschlossen, dass eines Tages Experimente zwischen ihnen entscheiden k¨onnen, denken wir nur an Bells Ungleichung. Bis dahin ist die Wahl des Interpretationsansatzes auch eine Frage des Geschmacks. Was f¨ur eine Philosophie man w¨ahle, h¨angt sonach davon ab, was f¨ ur ein Mensch man ist, so der Philosoph Johann Gottlieb Fichte. Zuletzt kehren wir noch einmal zu Niels Bohr zur¨ uck und der Kopenhagener Interpretation, deren Auspr¨agung von Anh¨anger zu Anh¨anger deutlich variieren kann. Sie ist der Deutungsansatz, der unter den lebenden Quantenmechanikern die meisten Anh¨anger besitzt. In gewisser Weise ist ihr Aufruf zu gr¨ oßtm¨ oglicher Zur¨ uckhaltung die philosophischste Alternative, da sie die Grenzen des m¨ oglichen Wissens sehr ernst nimmt. Andererseits spielt der Beobachter eine entscheidende Rolle, was Parallelen zu verschiedenen philosophischen Traditionen andeutet. So k¨onnte man an den irischen Bischof George Berkeley (1685-1753) und seinen ber¨ uhmten Ausspruch Sein heißt wahrgenommen werden denken. Es gibt auch einen Bezug zu Kants Ding an sich, den Carl Friedrich von Weizs¨acker in seiner Version der Kopenhagener Deutung ausgearbeitet hat. Die philosophische Position, auf die sich die Anh¨anger der Kopenhagener Interpretation f¨ ur gew¨ohnlich beziehen, ist die Maxime von William von Ockham (etwa 1285-1349), die lax ausgedr¨ uckt lautet: Diejenige Theorie ist am besten, die m¨oglichst viel erkl¨art und dabei keine u ussigen Begriffe verwendet. ¨berfl¨
10.4 Werner Heisenberg: Ein großes Quantenei Helgoland, Fr¨ uhjahr 1925. Der Pollenallergiker Werner Heisenberg (1901– 1976) war aus G¨ ottingen geflohen, wo er im Vorjahr bei Max Born habilitiert wurde. Sein Betreuer hatte Heisenberg freigestellt und dieser nutzte seinen Aufenthalt auf der Nordseeinsel: er wanderte, las Gedichte und besch¨aftigte sich mit den offenen Problemen der neuen Physik. Die Leistungsf¨ahigkeit des Bohrschen Atommodells war l¨angst an ihre Grenzen gestoßen. Es fehl-
261
262
10 Zur Geschichte der Quantenmechanik
Heisenberg
te eine solide Basis, die das Verhalten der Elektronen erkl¨aren konnte, ein Analogon zu den Newtonschen Bewegungsgesetzen. Die Quantenphysik war noch keine Quantenmechanik. Diesem Problem widmete sich Heisenberg auf Helgoland mit dem Vorsatz, sich auf beobachtbare Gr¨oßen zu beschr¨anken – das hieß, anschauliche Konzepte wie zum Beispiel Elektronenbahnen auszuschließen – und dem Energieerhaltungssatz besondere Aufmerksamkeit zu widmen. Mit der Idee, bestimmte Gr¨ oßen statt durch Zahlen durch Matrizen zu beschreiben, gelang es ihm, alle Elemente in einer mathematischen Beschreibung widerspruchsfrei zusammenzuf¨ ugen. In seinen Erinnerungen beschreibt Heisenberg diese Entdeckung und das darauf folgende zutiefst erschreckende Gef¨uhl, durch die Oberfl¨ache der atomaren Erscheinungen hindurch auf einen tief darunter liegenden Grund von merkw¨urdiger Sch¨onheit zu schauen. Prosaischer war die Reaktion eines anderen bedeutenden Physikers. Heisenberg hat ein großes Quantenei gelegt, schrieb Einstein im September 1925 an seinen Freund Ehrenfest, in G¨ottingen glauben sie daran (ich nicht). Zur¨ uck in G¨ ottingen, arbeitete Heisenberg seine Entdeckung zusammen mit Max Born und Pascual Jordan zu einem soliden mathematischen Fundament f¨ ur die Quantenphysik aus. Ber¨ uhmt geworden ist eine gemeinsame Arbeit von 1926, die sogenannte Drei-M¨anner-Arbeit, die systematisch darstellt, was noch heute Quantenmechanik genannt wird. Damit war der f¨ unfundzwanzigj¨ahrige Heisenberg endg¨ ultig zu einer Art Wunderkind der Physik geworden. Ein Jahr sp¨ater wurde er Professor in Leipzig. Bereits im Jahr 1922 hatte er Niels Bohr kennengelernt, der in G¨ottingen eine Vortragsreihe u ¨ber die neue Physik hielt, die unter der Bezeichnung Bohr-Festspiele bekannt geworden ist. Der junge Physiker kritisierte den Nobelpreistr¨ager auf fast ungeb¨ uhrliche Weise. Das Ergebnis war eine intensive Freundschaft und Zusammenarbeit, die allerdings durch die politischen Umst¨ande auf die Probe gestellt wurde. 1932 wurde Heisenberg f¨ ur seine Arbeiten zur Quantenmechanik mit dem Nobelpreis ausgezeichnet, die Geschehnisse des Folgejahres ver¨anderten jedoch die politischen Verh¨altnisse radikal. Zu Beginn des Zweiten Weltkriegs wurde er an dem sogenannten Uranprojekt“, dem deut”¨ schen Atombombenprojekt, beteiligt. Ungeschickte Außerungen Heisenbergs u ¨ber die Bewertung einer deutschen Vorherrschaft in Europa sollen Bohr sehr irritiert haben. Legend¨ar ist ein Treffen 1941 in Kopenhagen, u ¨ber dessen Verlauf wenig Konkretes bekannt ist; vieles deutet jedoch darauf hin, dass Heisenberg Bohr dazu ¨ uberreden wollte, an einer deutschen Atombombe mitzuwirken. Michael Frayns Theaterst¨ uck Kopenhagen aus dem Jahr 1998 spielt verschiedene Versionen des Gespr¨achsverlaufs durch. Wenn Nicht-Physiker den Namen Heisenberg h¨oren, denken sie in der Regel zun¨achst an die Heisenbergsche Unbestimmtheitsrelation. Von Bohr stammt das Komplementarit¨atsprinzip, wonach es prinzipiell nicht zu vers¨ ohnende Eigenschaften ein und desselben physikalischen Objektes gibt (wie Wellen- und Teilcheneigenschaften), die sich auf der anderen Seite wechselseitig bedingen. Heisenberg dr¨ uckte diesen Sachverhalt mathematisch in der besagten Unbestimmheitsrelation aus: Je genauer der Ort eines Teilchens bestimmt ist, desto unsch¨arfer ist sein Impuls (Masse mal Geschwindigkeit)
10.5 Erwin Schr¨ odinger: Katzen und Wellen
263
bestimmt - und umgekehrt. Es k¨ onnen also nicht beide Attribute gleichzeitig genau bestimmt sein. Um dieses Prinzip in der Begriffswelt dieses Buches zu erl¨autern, greifen wir auf polarisierte Photonen zur¨ uck, siehe Abschnitt 9.3.2. Treten Photonen durch einen Polarisationsfilter, sind sie anschließend gem¨aß einer festen Richtung ausgerichtet. Ist ein Filter gem¨aß 0 Grad ausgerichtet und wissen wir, dass alle eintretenden Photonen gem¨aß einer der beiden Richtungen 0 Grad oder 90 Grad ausgerichtet sind, k¨onnen wir ihn zur Messung der Polarisation der Photonen nutzen: ein Detektor hinter dem Filter registriert in diesem Fall genau dann ein Photon, wenn es gem¨aß 0 Grad ausgerichtet war. Wird ein durch den Filter geschicktes Photon nicht registriert, war die Polarisationsrichtung 90 Grad. Nun drehen wir den Filter um 45 Grad. Damit l¨asst sich eine Messung in der Basis 45 Grad / 135 Grad vornehmen. Was passiert aber, wenn wir ein gem¨aß 0 Grad oder 90 Grad ausgerichtetes Photon in den gedrehten Versuchsaufbau schicken? Ein solches Photon ist v¨ ollig unbestimmt gegen¨ uber der Eigenschaft, gem¨aß 45 Grad oder 135 Grad ausgerichtet zu sein. In der H¨alfte der F¨alle wird ein Photon registriert, in der H¨alfte der F¨alle nicht. Die¨ se Eigenschaft ist es, die sich das BB84-Protokoll zu nutze macht. Ahnlich kann man sich das Verh¨altnis der Eigenschaften vorstellen, f¨ ur die Heisenbergs Unbestimmtsheitsrelation meistens angegeben wird. Mit Hilfe einer Basis kann man den Ort eines Teilchens bestimmen, mit einer anderen Basis den Impuls, beide Basen gehen durch eine Drehung auseinander hervor. H¨aufig wird die Unbestimmtheitsrelation auch Unsch¨arferelation genannt. Diese Bezeichnung ist jedoch weniger gl¨ ucklich, da sie nahelegt, das Verhalten von gemessenen Quantensystemen ließe sich durch die Ungenauigkeit der Messinstrumente erkl¨aren.
10.5 Erwin Schr¨ odinger: Katzen und Wellen Unser Streifzug durch die Geschichte der Quantenmechanik muss viele bedeutende Protagonisten unber¨ ucksichtigt lassen. Nicht unerw¨ahnt bleiben darf Erwin Schr¨ odinger (1887–1961). Einerseits wird das nach ihm benannte Katzengleichnis in diesem Buch an mehreren Stellen erw¨ahnt. Zum anderen ist die nach ihm benannte Wellengleichung f¨ ur die Quantenmechanik ¨ahnlich zentral wie Newtons Bewegungsgleichungen f¨ ur die klassische Physik. Richard Feynman sagte u ¨ber diese: Woher haben wir diese Gleichung? Nirgendwoher. Es ist unm¨oglich, sie aus irgend etwas Bekanntem herzuleiten. Sie ist Schr¨odingers Kopf entsprungen. Schr¨ odinger wurde 1887 in Wien geboren. In seiner Heimatstadt habilitierte er in Physik und lehrte an verschiedenen Stationen bis er 1927 in Berlin Max Plancks Nachfolger wurde. 1926 besch¨aftigte er sich in Z¨ urich mit der Drei-M¨anner-Arbeit von Born, Heisenberg und Jordan. Die G¨ottinger Matrizenmechanik war allerdings nicht nach Schr¨odingers Geschmack, zu unanschaulich und unklassisch erschien sie ihm. Wenn es doch bei dieser verdammten Quantenspringerei bleiben soll, so bedaure ich, mich ¨uberhaupt jemals mit Quantentheorie abgegeben zu haben, wird Schr¨odinger zitiert.
Schr¨ odinger
264
10 Zur Geschichte der Quantenmechanik Aber er hatte eine Idee, wie sich die klassische Physik rehabilitieren ließe. Louis Victor de Broglie (1892-1987, Nobelpreis 1929), Nachfahr einer alten franz¨ osischen Adelsfamilie, ¨außerte 1924 die Vermutung, dass jegliche Materie wellenhaftes Verhalten zeige, so wie das Licht wellenartig und teilchenartig zugleich ist. Schr¨ odinger nahm diesen Gedanken auf und versuchte, das Verhalten der Elektronen in einem Atom durch eine Wellengleichung zu beschreiben. Im Jahr 1926 stieß er auf eine Gleichung, bei der alles stetig und klassisch zuzugehen schien und somit ganz nach Schr¨odingers Sinn war. Diese Differentialgleichung beschreibt die zeitliche Entwicklung des Zustands eines unbeobachteten Quantensystems; die in diesem Buch zentrale Entwicklung eines solchen Systems mittels unit¨arer Transformationen l¨asst sich aus dieser ableiten. Entscheidend ist jedoch der Begriff unbeobachtet. Kommen messbare Gr¨ oßen ins Spiel, endet die Stetigkeit der Entwicklung. Schlimmer noch: Schr¨ odingers Ansatz erwies sich bald als mathematisch ¨aquivalent mit Heisenbergs Matrizenmechanik. 1933 wurde Schr¨odinger mit dem Nobelpreis f¨ ur Physik geehrt.
10.6 Zur Geschichte des Quantencomputers An dieser Stelle macht unsere Darstellung einen inhaltlichen und zeitlichen Sprung in das Jahr 1980, aus dem der erste Entwurf einer QuantenTuringmaschine stammt. Die Miniaturisierung der Hardwarekomponenten ließ die Frage entstehen, ob sich auch mit Teilchen rechnen l¨asst, f¨ ur die die Gesetze der klassischen Physik keine Geltung mehr haben. Der in Chicago t¨atige Paul Benioff konnte auf Vorarbeiten ¨uber umkehrbare Berechnungen aufbauen – eine reversible Turingmaschine wurde 1973 von Charles Bennett entworfen – und zeigte, wie mit einem quantenmechanischen System klassische Berechnungen simuliert werden k¨onnen. Allerdings ist die dazu von Benioff erdachte Turingmaschine noch nicht allgemein genug, um die in diesem Buch behandelten Verfahren auszuf¨ uhren. Denn nur zwischen zwei Schritten befindet sich diese Maschine in einem echten Quantenzustand; nach Abschluss eines Schrittes ist ihr Zustand klassisch. Es wurde sp¨ater gezeigt, dass Benioffs Quanten-Turingmaschine von einem klassischen Rechner simuliert werden kann. Die Intuition, dass Quantenrechner F¨ahigkeiten haben k¨onnten, die klassischen Rechnern abgeht, stammt von dem amerikanischen Physiker Richard P. Feynman (1918-1988; Nobelpreis 1965). Im Jahr 1982 ver¨offentlichte er ¨ Uberlegungen dar¨ uber, wie sich Quantensysteme simulieren lassen. Er argumentierte, dass dazu jeder klassische Computer exponentiellen Aufwand betreiben m¨ usse. Ein universeller Quantensimulator hingegen k¨onne diese Aufgabe effizient ausf¨ uhren. Wir erl¨autern das mit Hilfe der Entwicklung von Quantenregistern. Deren Entwicklung kann durch Matrizen beschrieben werden. Die Gr¨ oße dieser Matrizen ist aber exponentiell in der Anzahl der beteiligten Quantenbits, und klassische Rechner k¨onnen mit ihnen nicht effizient umgehen. F¨ ur die Natur stellen die komplexen Vorg¨ange der Quantenmechanik nat¨ urlich kein Problem dar. Also k¨onnte es Aufgaben ge-
10.6 Zur Geschichte des Quantencomputers ben, die f¨ ur klassische Rechner exponentiellen Aufwand bedeuten, mit einem rechnenden Quantensystem aber effizient l¨ osbar sind. Vielleicht k¨onnte ein solcher Quantensimulator NP-vollst¨andige Probleme l¨osen. Der theoretische Durchbruch gelang 1985. David Deutsch (geboren 1953) modellierte eine Turingmaschine, die die Gesetze der Quantenmechanik stringent umsetzt. W¨ahrend auf dem Band einer klassischen Turingmaschine nur die Eintr¨age 0 oder 1 erlaubt sind, l¨asst Deutschs QuantenTuringmaschine Superpositionen zu. Die Rechenschritte folgen den Gesetzen der Quantenmechanik, einer solchen Rechenmaschine ist zug¨anglich, was wir Quantenparallelismus genannt haben. Den Nutzen demonstrierte Deutsch mit dem heute nach ihm benannten Algorithmus und der Erzeugung echter Zufallszahlen, die klassischen Rechnern prinzipiell verwehrt ist. Nun k¨ onnten wir uns ganz naiv stellen und einwenden: Aber Turingmaschinen sind doch nur ein mathematisches Modell! Wie soll man damit zum Beispiel Zufallszahlen erzeugen? Damit sind wir bei einem anderen Aspekt von Deutschs Arbeit: er wollte die Churchsche These (Abschnitt 4.5) in eine beweisbare Form bringen. Um diesen Punkt zu erl¨autern, begeben wir uns kurz in das Jahr 1937, als Alan Turing seine Arbeit On Computable Numbers with an Application ” to the Entscheidungsproblem“ ver¨ offentlichte. Das Entscheidungsproblem wurde 1928 von dem G¨ ottinger Mathematiker David Hilbert (1862-1943) formuliert: Gibt es ein Verfahren, das f¨ ur jeden mathematischen Satz entscheidet, ob dieser beweisbar ist oder nicht? Schon 1930 wurde es von dem Logiker Kurt G¨ odel (1906-1978) negativ beantwortet, Turing betrachtete dieses Problem allerdings von einem anderen Standpunkt aus. Er fragte nach der allgemeinen Form eines solchen Verfahrens, und seine Antwort kennen wir bereits: es ist die Turingmaschine. Ein so allgemeines mathematisches Rechnermodell, dass vermutet wurde: Jede Berechnung l¨asst sich auf einer Turingmaschine ausf¨ uhren. Der Begriff Berechnung ist an dieser Stelle etwas ungenau gelassen: in Abschnitt 4.5 wird genauer beschrieben, dass lange Zeit ein intuitiver Begriff von Berechnung“ verwendet wurde und man heute da” zu tendiert, von physikalisch m¨ oglichen Berechnungen“ zu sprechen. Ein ” Problem bleibt das gleiche: es wird ein mathematisches Modell mit etwas in Verbindung gebracht, das außerhalb eines formalen Systems existiert. Informatiker sehen den Hauptnutzen des Modells Turingmaschine“ darin, ” dass der Begriff Berechnung“ mathematisch handhabbar wird. Deutsch ” argumentiert hingegen, dass Berechnungen physikalische Vorg¨ange seien. Die Churchsche These wird damit zu einer physikalischen Aussage etwa folgenden Inhalts: es gibt ein physikalisch realisierbares universelles Objekt, das das Verhalten jedes physikalischen Prozesses simulieren kann. Ein neues Forschungsgebiet war damit entstanden, das zahlreiche Forscher mit Pioniergeist anzog. Die Aufmerksamkeit eines gr¨oßeren Publikums blieb aber zun¨achst aus. Daf¨ ur gibt es mindestens zwei Gr¨ unde: • Es war nicht nur unklar, wie man einen Quantencomputer konkret bauen sollte, es gab auch theoretische Erw¨agungen, die dessen Existenzm¨ oglichkeiten bestritten. Ein Quantenbit kann unendlich viele ver-
265
Deutsch
266
10 Zur Geschichte der Quantenmechanik schiedene Zust¨ande annehmen und ist damit sehr st¨oranf¨allig. Außerdem l¨asst es sich nicht kopieren, und genau dies tun klassische fehlerkorrigierende Codes auf geschickte Weise. • Es fehlte eine Anwendung, die die N¨ utzlichkeit des Quantencomputers zeigen k¨ onnte, eine killer application, die die neue Technologie erstrebenswert machte. Beide Einw¨ande wurden durch Arbeiten des 1959 geborenen Peter W. Shor entkr¨aftet, der heute Professor f¨ ur angewandte Mathematik am Massachusetts Institute of Technology ist. Sein Verfahren zur effizienten Faktorisierung ganzer Zahlen zeigt, dass Quantencomputer klassischen Rechnern bei sehr nat¨ urlichen Fragestellungen und praktisch wichtigen Aufgaben ¨uberlegen sein k¨ onnen. Und zudem stammen von ihm die ersten fehlerkorrigierenden Quantencodes, an deren Existenzm¨oglichkeit es gewisse Zweifel gab. Shor
Schluss Diese geraffte Darstellung nennt viele wichtige Namen und Ergebnisse nicht, die Auswahl ist sehr subjektiv. Nun ist es an dem Leser, an Ihnen, sich auf weitere Entdeckungsreise zu begeben und zusammen mit dem Autor gespannt zu sein, welche Entwicklungen die n¨achsten Jahre mit sich bringen werden.
267
A Mathematische Grundlagen Die Mathematiker sind eine Art Franzosen: redet man zu ihnen, so ¨ ubersetzen sie es in ihre Sprache, und dann ist es alsobald ganz etwas anderes. J. W. v. Goethe
Dieser Anhang sammelt grundlegende mathematische Begriffe und Aussagen. Der Inhalt der ersten drei Abschnitte ist f¨ ur den Umgang mit Quantenbits wesentlich. Es geht um komplexe Zahlen, Vektorr¨aume und Matrizen. Abschnitt A.4 besch¨aftigt sich mit Wahrscheinlichkeitstheorie. In diesem Buch werden keine tieferen Einsichten aus diesem Gebiet verwendet. Ein intuitives Verst¨andnis des Begriffs Wahrscheinlichkeit ist jedoch hilfreich f¨ ur den Umgang mit Fehlerwahrscheinlichkeiten. Abschnitt A.5 enth¨alt zahlentheoretische Grundlagen f¨ ur das Verst¨andnis von RSA-Kryptographie und Shors Algorithmus. Die Darstellung ist sehr knapp und soll Bekanntes, aber vielleicht Versch¨ uttetes, wieder zum Vorschein bringen.
A.1 Komplexe Zahlen Mit C bezeichnen wir die komplexen Zahlen. Diese bilden einen K¨orper, was anschaulich bedeutet: wir k¨ onnen wie von den reellen Zahlen gewohnt rechnen. Sind a, b ∈ C, so auch a + b, a − b, a · b und ba . Zu jeder komplexen Zahl a gibt es genau eine Zahl a′ mit a + a′ = 0 und zu jeder Zahl a ∈ C ungleich 0 genau ein a′′ ∈ C mit a · a′′ = 1. a′ wird in einem K¨orper mit −a und a′′ mit 1a bezeichnet. Außerdem gelten das Assoziativ-, das Distributivund das Kommutativgesetz. Wichtig ist, dass diese Eigenschaften, die uns von den reellen Zahlen sehr einleuchtend erscheinen, nicht u ¨berall gelten. Aufgabe A.1: Beweisen Sie, dass weder die Menge der nat¨ urlichen Zahlen N = {0, 1, 2, . . .} ein K¨ orper ist noch die Menge der ganzen Zahlen Z =
268
A Mathematische Grundlagen
y i z = a + ib
b·i
−1
1 −b · i −i
a
x
z¯ = a − ib
Abbildung A.1: Komplexe Zahlen in der reellen Ebene
¨ {. . . , −2, −1, 0, 1, 2, . . .}. Uberpr¨ ufen Sie, welche der genannten Bedingungen gelten und welche nicht. Aufgabe A.2: Wir betrachten die Menge F2 = {0, 1} mit der Addition ⊕ und der Multiplikation · (siehe auch Seite 16): ⊕ 0 1
0 0 1
1 1 0
· 0 1
0 0 0
1 0 1
Zeigen Sie, dass F2 = {0, 1} mit diesen Operationen ein K¨orper ist.
Definition komplexe Zahl
Was die komplexen Zahlen von den reellen √ unterscheidet ist, dass die Gleichung x2 = −1 dort l¨ osbar ist. Also muss −1 in C enthalten sein! Sei i eine L¨ osung von x2 = −1 und −i die andere. Man nennt i die imagin¨are Einheit. Eine komplexe Zahl z ist von der Form a + ib f¨ ur reelle Zahlen a, b. Die Addition komplexer Zahlen ist als (a + ib) + (a′ + ib′ ) = (a + a′) + i(b + b′) definiert. Die Multiplikation als (a + ib) · (a′ + ib′) = aa′ + i(ab′ + a′b) + i2bb′ = aa − bb′ + i(ab′ + a′ b), denn es gilt i2 = −1. Wir bezeichnen mit z∗ die zu z = a + ib komplex konjugierte Zahl a − ib. In der deutschsprachigen Literatur wird statt z∗ manchmal die Bezeichnung z verwendet. Wir veranschaulichen uns die Menge der komplexen Zahlen als reelle Ebene wie in Abbildung A.1. Jede Zahl entspricht einem Vektor (a, b). a ist die
A.2 Vektorr¨aume
269
π
y
i = ei 2
r · eiφ r φ
−1 = e
iπ
1 = ei·0
x
3π
−i = ei 2
Abbildung A.2: Komplexe Zahlen als L¨angenangabe und Winkel
reelle Komponente und √ b die imagin¨are. Der Betrag einer komplexen Zahl z √ ist als |z| = a2 + b2 = zz∗ definiert. Außerdem l¨asst sich jede komplexe Zahl in der Form reiφ darstellen. Dabei ist eiφ ein Vektor in der reellen Ebene der L¨ange 1: φ gibt den Winkel zur x-Achse an und wird als Phase bezeichnet (siehe Abbildung A.2). r ist die L¨ange des Vektors reiφ . In dieser Schreibweise lassen sich komplexe Zahlen multiplizieren, indem man die gewohnten Potenzrechenregeln anwendet: reiφ ·teiχ = rtei(φ+χ) . Die Winkel addieren sich, und die L¨angen multiplizieren sich. √ Beispiel A.1: komplexe Zahlen der L¨ange 1/ 2: die reelle √ Wir betrachten √ Zahl −1/ 2 √ ist als 1/ 2 · eiπ√darstellbar und hat die √ Phase π. Auf gleiche Weise hat 1/ 2 Phase 0, 1/ 2i Phase π/2 und −1/ 2i die Phase 3/2π. Aufgabe A.3: Zeigen Sie, dass reiφ und r cos φ+ir sin φ dieselben komplexen Zahlen sind. Berechnen Sie mit der obigen Definition des Betrages |reiφ |.
A.2 Vektorr¨ aume A.2.1 Was sind Vektorr¨ aume? Unser Zugang zu dem Thema Vektorr¨aume ist auf die Bed¨ urfnisse der Quantenalgorithmen zugeschnitten. Wir erw¨ahnen nur, was auch tats¨achlich verwendet wird. Unseren Ausgangspunkt bilden Elemente von komplexen Vektorr¨aumen: ⎛ ⎞ α0 ⎜ ⎟ v = ⎝ ... ⎠ . αn−1
270
Der Raum Cn
A Mathematische Grundlagen Diese Vektoren sind nichts anderes als n untereinander angeordnete komplexe Zahlen. Wir sprechen auch von n-Tupeln. Jedem solchen Spaltenvektor v entspricht ein Zeilenvektor vT = (α0 , . . . , αn−1 ), der transponierte Vektor. Es gilt: (α0 , . . . , αn−1 )T = v, siehe Abschnitt A.3. Das kartesische Produkt Cn ist die Menge aller n-Tupel von komplexen Zahlen α0 , . . . , αn−1 . Addieren wir solche Tupel, gehen wir komponentenweise vor: ⎞ ⎞ ⎛ ⎛ ⎞ ⎛ α0 α0 + β0 β0 ⎟ ⎜ .. ⎟ ⎜ .. ⎟ ⎜ .. (A.1) ⎠. ⎝ . ⎠+⎝ . ⎠ = ⎝ . αn−1
βn−1
αn−1 + βn−1
Außerdem k¨ onnen wir einen solchen Tupel aus Cn mit einer komplexen Zahl a multiplizieren: ⎛ ⎞ ⎞ ⎛ α0 a · α0 ⎜ ⎟ ⎟ ⎜ .. a · ⎝ ... ⎠ = ⎝ (A.2) ⎠. . a · αn−1
αn−1
Diese Definitionen sind sinnvoll, da wir komplexe Zahlen addieren und multiplizieren k¨ onnen. Wir haben diese Operationen von C auf Cn ¨ubertragen. Nun sind f¨ ur Cn die sogenannten Vektorraumaxiome erf¨ ullt, die in jedem Buch u ¨ber lineare Algebra zu finden sind. Ab jetzt ist ein Element aus Cn ein Vektor und ein Element aus C heißt Skalar. Die Vektorraumaxiome stellen gerade sicher, dass man Vektoren addieren kann, siehe (A.1), und dass die Skalarmultiplikation, siehe (A.2), sinnvoll definiert ist. Bezug zum Nun n¨ahern wir uns diesen Vektorr¨aumen auf abstraktem Wege. Wir beQuantenrechnen trachten zun¨achst Linearkombinationen beliebiger Objekte. Diese beschreiben wir als n-Tupeln beziehungsweise Vektoren. Im Quantum Computing spielen die Zust¨ande von Quantenbits eine entscheidende Rolle. Wir beschreiben Superpositionen gerade als Linearkombinationen von gewissen Basiszust¨anden. Erzeugendensystem Sei M = {|0, |1, . . . , |n − 1} eine Menge mit n Objekten. Eine Summe der Form α0 · |0 + α1 · |1 + . . . + αn−1 · |n − 1 (A.3)
mit αi aus C heißt Linearkombination ¨uber C. Als lineare H¨ulle einer Menge Mu ¨ber C bezeichnet man die Menge aller solchen Linearkombinationen. SpanC M = { α0 |0 + α1|1 + . . . + αn−1 |n − 1 ; α0 , . . . , αn−1 ∈ C} Wir fassen die Koeffizienten α0 , . . . , αn−1 als n-Tupel ⎛ ⎞ α0 ⎜ .. ⎟ ⎝ . ⎠
(A.4)
αn−1
auf. Damit ist die lineare H¨ ulle einer n-elementigen Menge M mit dem kartesischen Produkt Cn identifizierbar: jeder Linearkombination aus (A.3) entspricht eindeutig der Vektor aus (A.4) aus Cn und umgekehrt.
A.2 Vektorr¨aume
271
Den Elementen |0, |1, . . . , |n − 1 aus SpanC M entsprechen die Einheitsvektoren ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ 0 0 1 ⎜ 0 ⎟ ⎜ 0 ⎟ ⎜ 1 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ . ⎟ ⎜ 0 ⎟ ⎜ 0 ⎟ (A.5) ⎜ ⎟ , ⎜ ⎟ , . . . , ⎜ .. ⎟ . ⎜ ⎟ ⎜ .. ⎟ ⎜ .. ⎟ ⎝ 0 ⎠ ⎝ . ⎠ ⎝ . ⎠ 1 0 0 Aufgabe A.4: Alles was wir u ¨ber komplexe Vektorr¨aume gesagt haben, l¨asst sich direkt auf Vektorr¨aume u ¨ber allgemeinen K¨orpern K u ¨bertragen. Notieren Sie alle Elemente von SpanF2 {a, b} (siehe Aufgabe A.2).
A.2.2 Basen und Unterr¨ aume Sei V der Vektorraum Cn den wir wie im vorhergehenden Abschnitt mit SpanC {|0, . . . , |n − 1} identifizieren. Die Menge {|0, . . . , |n − 1}, die nach (A.5) der Menge der Einheitsvektoren entspricht, hat eine besondere Eigenschaft: damit l¨asst sich der gesamte Vektorraum erzeugen; und zwar mit Hilfe von Linearkombinationen. Außerdem ist diese Menge linear unabh¨angig. Eine Menge von Vektoren v1 , . . . , vm heißt linear unabh¨angig, wenn gilt: Eine Linearkombination α1 v1 + . . . + αm vm ist nur dann gleich dem Nullvektor, wenn alle Skalare αi = 0 sind. Anders ausgedr¨ uckt: nur die triviale Linearkombination 0 · v1 + . . . + 0 · vm ist gleich (0, . . . , 0)T . Das folgende Lemma verdeutlicht diesen Begriff:
Lineare Unabh¨angigkeit
Lemma 1: Eine Menge S von Vektoren ist genau dann linear abh¨angig, wenn gilt: Ein Vektor x aus S kann von den anderen Vektoren aus S erzeugt werden: x ∈ Span(S \ x). In einer linear abh¨angigen Menge sind also Vektoren enthalten, die in den Linearkombinationen nicht n¨ otig sind. Linear unabh¨angige Mengen sind in gewissem Sinne minimal: Entfernt man ein Element, k¨onnen weniger Vektoren erzeugt werden. Das f¨ uhrt zu der folgenden Definition: Vektoren v1 , . . . , vm eines Vektorraumes V heißen eine Basis von V , wenn • sie linear unabh¨angig sind und • ihre lineare H¨ ulle ganz V ergibt: Span{v1 , . . . , vm } = V . Jeder Vektor von V kann also als eine Linearkombination von Basisvekto¨ ren dargestellt werden. Unsere Uberlegungen im letzten Abschnitt ergeben damit unmittelbar, dass die Einheitsvektoren aus Gleichung (A.5) eine Basis von Cn ergeben. Wir nennen diese Basis Standardbasis. Ebenso fassen wir |0, . . . , |n − 1 als Basis von Cn auf.
Basis
272
A Mathematische Grundlagen Dimension
Alle Basen eines Vektorraumes haben die gleiche Gr¨oße. Diese Gr¨oße bezeichnet man als die Dimension des Vektorraumes. Aufgabe A.5: Beweisen Sie Lemma 1. Aufgabe A.6: Welche der folgenden Mengen sind Basen von C2 ? • {(5, 1)T , (1, 0)T } • {(5, 0)T , (1, 0)T } • { √12 |0 + √12 |1,
Unterr¨aume
√1 |0 − √1 |1} 2 2
Eine Menge U von Vektoren aus V heißt ein Unterraum von V , wenn U alle Linearkombinationen von Vektoren aus U enth¨alt, wenn also SpanU = U gilt. Wir k¨ onnen uns leicht Unterr¨aume erzeugen, indem wir aus einer Basis von V einzelne Elemente ausw¨ahlen und deren lineare H¨ ulle betrachten. Eindimensionale Unterr¨aume von Cn heißen Geraden, zweidimensionale Ebenen und (n − 1)-dimensionale Hyperebenen.
A.2.3 Winkel und Abst¨ ande in einem Vektorraum
Skalarprodukt
Viele Begriffe aus der Geometrie lassen sich auf Vektorr¨aume ¨ubertragen. Dazu dient das Skalarprodukt. Das innere Produkt oder Skalarprodukt ordnet einem Paar von Vektoren einen Skalar zu. Im Fall von komplexen Vektoren ist es damit eine Abbildung Cn × Cn −→ C. Ab jetzt (und im Hauptteil des Buches durchg¨angig) verwenden wir f¨ ur komplexe Vektoren die Braket-Notation. Beschreibt ein komplexer Vektor u den Zustand eines Quantensystems, bezeichnen wir ihn mit |u. F¨ ur |u = (u1 , . . . , un ) und |v = (v1 , . . . , vn ) aus Cn ist u | v = u∗1 v1 + . . . + u∗nvn . F¨ ur Vektoren x, y ∈ {0, 1}n lautet das Skalarprodukt x · y = x 1 y 1 ⊕ x2 y 2 ⊕ . . . ⊕ xn y n
L¨ange
und ist 0 oder 1. Folgende Eigenschaften des Skalarproduktes gelten f¨ur alle Arten von Vektorr¨aumen, wenn wir sie auch in der Braket-Schreibweise angeben. Mit Hilfe des Skalarproduktes definieren wir die L¨ange eines Vektors:
v = v | v
v bezeichnet man als die Norm von v. Eine wichtige Eigenschaft der Norm ist die Dreiecksungleichung:
u + v ≤ u + v
A.2 Vektorr¨aume
273
α v u Abbildung A.3: Winkel zwischen zwei Vektoren
¨ Aufgabe A.7: Berechnen Sie die Norm des Vektors (1, 1)T im C2 . Uberlegen Sie sich, dass dieser Begriff mit dem gewohnten L¨angenbegriff zusammenf¨allt, wenn wir uns in dem Raum R2 befinden. Den Abstand zweier Vektoren u und v definieren wir als
Abstand
u−v . Mit dem Skalarprodukt kann man den im R2 und R3 anschaulichen Begriff des Winkels auf abstraktere Vektorr¨aume u ¨bertragen: Zwei Vektoren u und v heißen orthogonal, wenn u | v = 0 gilt. Wir definieren den Winkel α zwischen u und v mittels cos α =
u | v ,
u
v
Winkel
(A.6)
siehe Abbildung A.3. F¨ ur unsere Quantensysteme ben¨ otigen wir Basen mit folgenden Eigenschaften: • jeder Basisvektor hat die L¨ange 1, und • die Basisvektoren stehen senkrecht aufeinander, sind orthogonal. Man spricht von Orthonormalbasen: f¨ ur so eine Basis b1 , . . . , bn gilt also: • bi = 1 f¨ ur alle i = 1, . . . , n, und • bi | b j = 0 f¨ ur 1 ≤ i < j ≤ n. Die wichtigste Orthonormalbasis ist die Standardbasis aus (A.5). Aufgabe A.8: Zeigen Sie: Hat das Skalarprodukt zweier Einheitsvektoren u, v den Wert 1, u | v = 1,
so sind die Vektoren gleich:
u = v. ¨ Berechnen Sie die Norm des Vektors (1, 1)T im C2 . Uberlegen Sie sich, dass dieser Begriff mit dem gewohnten L¨angenbegriff zusammenf¨allt, wenn wir uns auf den Raum R2 beschr¨anken.
Orthonormalbasis
274
A Mathematische Grundlagen Hilbertr¨aume
Ein Vektorraum mit Skalarprodukt heißt Hilbertraum, wenn eine weitere Eigenschaft erf¨ ullt ist, die wir hier nur der Vollst¨andigkeit halber nennen: jede Cauchy-Folge muss konvergieren. Diese Eigenschaft ist f¨ ur die in diesem Buch verwendeten R¨aume immer erf¨ ullt, spielt f¨ ur uns aber keine Rolle. Darum verwenden wir den Begriff Hilbertraum nicht und erw¨ahnen ihn hier nur, um dem Leser den in vielen Publikationen gebrauchten Begriff zu erl¨autern.
A.2.4 Projektionen Mit dem Skalarprodukt k¨ onnen wir die Projektion eines Vektors auf einen Unterraum definieren. Das einfachste Beispiel ist die Projektion auf eine Koordinatenachse. In Abbildung A.1 entspricht der Vektor a b der komplexen Zahl z. Die Projektion dieses Vektors auf die x-Achse ist der Vektor a , 0 entsprechend ist die Projektion auf die y-Achse gerade 0 . b Anschaulich gesprochen ist die Projektion eines Vektors auf einen Unterraum dessen Komponente in dem Unterraum. Nun zur formalen Definition. Die Komponente eines Vektors in einem Unterraum wird mit dem Skalarprodukt bestimmt.
a b
0 a 1 = b. · = a, · 1 b 0
F¨ ur die formale Definition der Projektion verwenden wir die Braket-Schreibweise. Definition Projektion
Sei b1 , . . . , bm Orthonormalbasis eines Unterraums E. Die Projektion eines Vektors v auf diesen Unterraum ist der Vektor b1 · b1 | v + b2 · b2 | v · b2 + . . . + bm · bm | v.
Aufgabe A.9: Berechnen Sie die Projektion der Vektoren 1 −1 2 und , −1 −1 0
A.3 Matrizen
275
in den Raum Span{
√1 2 √1 2
}
und veranschaulichen Sie das Ergebnis durch eine Zeichnung. In obiger Definition fassen wir einen Bra-Vektor b | als Abbildung auf. Ein Ket-Vektor |v wird auf das Skalarprodukt b | v abgebildet. Formal ist |b ein Spaltenvektor ⎛ ⎞ a1 ⎜ ⎟ |b = ⎝ ... ⎠ an
und der zugeh¨ orige Bra-Vektor b | der Zeilenvektor (a1 ∗ , . . . , a∗n ) mit komplex adjungierten Komponenten; b | v ist das Produkt. Mehr dazu im n¨achsten Abschnitt.
A.3 Matrizen Matrizen sind f¨ ur uns von besonderer Bedeutung, da sich damit Rechenschritte auf Quantenbits beschreiben lassen. Matrizen lassen sich mit Vektoren multiplizieren und ergeben auf diese Weise einen neuen Vektor. Somit beschreiben Matrizen Abbildungen zwischen Vektorr¨aumen. Eine Matrix ist ein rechteckiges Feld von Eintr¨agen. Zum Beispiel ist 1 3 5 A= 2 4 6 eine 2 × 3-Matrix mit ganzen Zahlen. Die transponierte Matrix AT erhalten wir, wenn wir die Zeilen mit den Spalten vertauschen. F¨ ur unser Beispiel A erhalten wir ⎞ ⎛ 1 2 AT = ⎝ 3 4 ⎠ 5 6
Einen Vektor
⎛
⎞ a1 ⎜ ⎟ v = ⎝ ... ⎠ an
k¨ onnen wir als n × 1-Matrix auffassen. Einem solchen Spaltenvektor korrespondiert ein Zeilenvektor vT = (a1 , . . . , an ) . Sprechen wir von der Matrix A = (ai j ), meinen wir die Matrix, die in Zeile i und Spalte j den Eintrag ai j besitzt.
Definition Matrix
276
A Mathematische Grundlagen
Multiplikation
Die Multiplikation eines Vektors wie folgt definiert: ⎛ a11 a12 ⎜ a21 a22 ⎜ Av = ⎜ . .. ⎝ .. . ⎛
an2
an1
v mit einer n × n-Matrix A = (ai j ) ist ... ... .. .
a1n a2n .. .
...
ann
⎞⎛ ⎟⎜ ⎟⎜ ⎟⎜ ⎠⎝
a11 v1 + a12 v2 + . . . + a1n vn ⎜ a21 v1 + a22 v2 + . . . + a2n vn ⎜ =⎜ .. ⎝ . an1 v1 + an2 v2 + . . . + ann vn
v1 v2 .. . vn ⎞
⎞ ⎟ ⎟ ⎟ ⎠
⎟ ⎟ ⎟ ⎠
Die Multiplikation von allgemeinen Matrizen definiert man analog. Ist A = (ai j ) eine l × m-Matrix und B = (b jk ) eine m × n-Matrix, so ist das Produkt C = AB die l × n-Matrix C = (cik ) mit m
cik =
∑ ai j b jk .
j=1
Matrizen als Abbildungen
F¨ ur uns sind insbesondere quadratische Matrizen wichtig, deren Eintr¨age komplexe Zahlen sind. Solche Matrizen entsprechen Abbildungen f von ndimensionalen komplexen Vektorr¨aumen in sich selbst. Ein Vektor v wird mittels der Matrixmultiplikation auf sein Bild w = Av abgebildet: f : Cn −→ Cn , v → Av. Die Einheitsmatrix
⎛
⎜ ⎜ I=⎜ ⎝
Inverse
1 0 0 1 .. .. . . 0 0
... ... .. .
0 0 .. .
...
1
⎞ ⎟ ⎟ ⎟ ⎠
entspricht der Identit¨at: I · v = v f¨ ur alle Vektoren v. Als Inverse einer Matrix A bezeichnen wir eine Matrix A−1 mit AA−1 = −1 A A = I. Eine Matrix A heißt invertierbar, wenn eine solche Inverse existiert. Invertierbare Matrizen entsprechen bijektiven Abbildungen. Die den Matrizen entsprechenden Abbildungen sind linear: A(v + w) = Av + Aw und A(αv) = α(Av) f¨ ur Vektoren v, w und eine komplexe Zahl α. Reelle Matrizen A heißen orthogonal, falls AT = A−1 . Diese Matrizen entsprechen Abbildungen, die aus Drehungen und Spiegelungen zusammengesetzt sind. Insbesondere werden L¨angen und Winkel nicht ver¨andert. Der in Abschnitt 2.3 eingef¨ uhrte Begriff unit¨ar u uhrt diese Idee auf komplexe ¨berf¨ Matrizen.
A.4 Kombinatorik und Wahrscheinlichkeit
277
A.4 Kombinatorik und Wahrscheinlichkeit Eines der einfachsten und wichtigsten kombinatorischen Prinzipien ist das Schubfachprinzip:
Schubfachprinzip
• Verstauen wir n Socken in m Schubf¨achern, dann gibt es mindestens ein Schubfach, das mindestens ⌈n/m⌉ Socken enth¨alt (dabei ist ⌈x⌉ die kleinste ganze Zahl gr¨ oßer oder gleich x). Das ist anschaulich v¨ ollig klar; in weniger anschaulichen Situationen kann diese explizite Formulierung hilfreich sein. Mit den Begriffen der Wahrscheinlichkeitstheorie lassen sich Situationen modellieren, in denen Zufall eine Rolle spielt. Wir werden einige Ideen und Begriffe zusammentragen. Ein Beispiel, auf das wir mehrmals zu sprechen kommen, ist der faire W¨ urfelwurf: Das Ergebnis ist eine der Zahlen 1, . . . , 6 – jede wird mit der gleichen Wahrscheinlichkeit geworfen. Um eine solche Situation allgemein zu modellieren, betrachten wir eine Menge mit m Objekten, die wir Grundereignisse nennen: M = {1, . . ., m}. Eine Zufallsvariable ist eine Funktion, deren Bilder aus der Menge M stammen. Wir interessieren uns f¨ ur die Wahrscheinlichkeitsverteilung einer Zufallsvariablen, die jedem Grundereignis dessen Wahrscheinlichkeit zuordnet.
Wahrscheinlichkeit
Zufallsvariable
P(X = 1) = 1/4 bedeutet, dass in einem Viertel der F¨alle das Grunderereignis 1 eintritt (P k¨ urzt engl. probability ab). Beispiel A.2: Im Falle des fairen W¨ urfelwurfes ist M = {1, . . . , 6}; die Zufallsvariable hat die Verteilung P(X = 1) = . . . = P(X = 6) = 1/6. ⋄ Die Wahrscheinlichkeit eines Ereignisses ist eine Zahl p mit 0 ≤ p ≤ 1. F¨ ur M = {1, . . . , m} und P(X = i) = pi f¨ ur i = 1, . . . , m gilt p1 + . . . + pm = 1. pi ist die Wahrscheinlichkeit des Grundereignisses i; die Summe dieser Wahrscheinlichkeiten muss 1 ergeben, da ja mit Sicherheit eines davon eintreten wird. Wir sprechen von Gleichverteilung, wenn wie in Beispiel A.2 jedes der Grundereignisse die gleiche Wahrscheinlichkeit hat: pi = 1/m f¨ ur i = 1, . . . , m. Ein Ereignis kann nun aus mehreren Grundereignissen bestehen, ist also eine Teilmenge von M. Wie groß ist die Wahrscheinlichkeit, dass das Ereignis {2, 5, 6} eintritt? Es gilt P(X ∈ {2, 5, 6}) = P(X = 2) + P(X = 5) + P(X = 6) = 1/2. Als n¨achstes f¨ uhren wir zwei (unabh¨angige, siehe unten) Zufallsexperimente aus. Das erste wird durch eine Zufallsvariable X und das zweite durch eine
Ereignisse
278
A Mathematische Grundlagen namens Y beschrieben. Ist nun A ein Ereignis des ersten Experiments und B eines des zweiten, gilt f¨ ur die Wahrscheinlichkeit, dass beide Ereignisse eintreten: P(X ∈ A und Y ∈ B) = P(X ∈ A) · P(Y ∈ B). Beispiel A.3: Wir f¨ uhren nacheinander zwei Experimente aus, denen wir die Zufallsvariablen X und Y zuordnen. Zuerst werfen wir einen sechsseitigen W¨ urfel und im zweiten Experiment zwei solche W¨ urfel. Es gilt P(X = i) = 1/6 f¨ ur i = 1, . . . , 6 und P(Y = (i, j)) = 1/36 f¨ ur i, j = 1, . . . , 6. Das Ergebnis des zweiten Experiments ist also eines der Zahlenpaare (1, 1), (1, 2), . . . , (5, 6), (6, 6). Wir fragen uns: Wie groß ist die Wahrscheinlichkeit, im ersten Experiment eine gerade Zahl zu erhalten und im zweiten die Summe 3? Das entsprechende Ereignis f¨ ur den ersten Wurf ist die Menge der geraden W¨ urfelseiten A = {2, 4, 6}. Das der zweiten die Menge B = {(1, 2), (2, 1)}. Es gilt P(X ∈ A) = p2 + p4 + p6 = 1/2 und P(Y ∈ B) = p(1,2) + p(2,1) = 1/18. Die Wahrscheinlichkeit, dass beide Ereignisse eintreten ist P(X ∈ A und Y ∈ B) = 1/2 · 1/18 = 1/36. ⋄
Unabh¨angigkeit
Das gilt aber nur, wenn die Experimente voneinander unabh¨angig sind! Wir k¨ onnen davon ausgehen, dass der erste W¨ urfelwurf die weiteren nicht beeinflusst. Aber zum Beispiel sind die Ereignisse Das erste Ergebnis ist gerade und Das zweite Ergebnis ist doppelt so groß, wie das erste nicht unabh¨angig! Zwei Zufallsvariablen X,Y und die modellierten Experimente sind gerade dann unabh¨angig, wenn f¨ ur alle Ereignisse A, B gilt: P(X ∈ A und Y ∈ B) = P(X ∈ A) · P(Y ∈ B). In diesem Buch haben wir es zumeist mit unabh¨angigen Zufallsexperimenten zu tun und erw¨ahnen das nicht eigens. Besonders h¨aufig ben¨otigen wir unabh¨angige gleichverteilte Zufallsvariablen. Verwenden wir in diesem Buch die Sprechweise: Wir w¨ahlen zuf¨allig ein Element aus M = {1, . . . , m}, dann ist damit eine Aktion mit Gleichverteilung gemeint. W¨ahlen wir auf diese Weise nacheinander, dann unabh¨angig voneinander. Interessant ist der Begriff der bedingten Wahrscheinlichkeit: Wie hoch ist die Wahrscheinlichkeit, mit zwei W¨ urfeln eine Summe gr¨oßer 6 zu erhalten, wenn eines der Ergebnisse 2 ist? Es gilt: die Wahrscheinlichkeit, dass A unter der Bedingung B eintritt ist P(A ∩ B)/P(B).
A.5 Ganze Zahlen
279
A.5 Ganze Zahlen Dieser Abschnitt versammelt einige Begriffe der Zahlentheorie, also der mathematischen Theorie, die sich mit den ganzen Zahlen Z besch¨aftigt. Diese Begriffe werden in Kapitel 8 verwendet.
A.5.1 Teiler und Vielfache Mit a und b bezeichnen wir zwei ganze Zahlen. a teilt b, wenn b ein Vielfaches von a ist: wenn es eine ganze Zahl k gibt, mit
Teiler
b = a · k. Jede Zahl wird von 1 und sich selbst geteilt; 0 wird von jeder Zahl geteilt. Ein Teiler von b, der weder 1 noch b selbst ist, heißt echter Teiler von b. Der gr¨oßte gemeinsame Teiler der Zahlen a, b ist – wie der Name sagt – die gr¨ oßte Zahl, die sowohl a als auch b teilt. Wir bezeichnen diese Zahl als ggT(a, b). Jeder gemeinsame Teiler zweier Zahlen a, b teilt auch ggT(a, b). Der gr¨ oßte gemeinsame Teiler l¨asst sich mit Euklids Algorithmus mit O (log a) rekursiven Aufrufen berechnen, falls a > b. In jeder Rekursi- onsstufe wird eine Division mit Rest ausgef¨ uhrt, was in Zeit O (log a)2 m¨ oglich ist. Damit hat Euklids Algorithmus kubische Laufzeit O (loga)3 . Die Zahlen a und b heißen teilerfremd, wenn 1 der gr¨oßte gemeinsame Teiler ist: ggT(a, b) = 1. Eine Zahl p heißt Primzahl, wenn 1 und p die einzigen Teiler sind. F¨ ur eine Primzahl p und beliebige ganze Zahlen a, b gilt: Aus p teilt a · b folgt: p teilt a oder p teilt b.
A.5.2 Modulares Rechnen Multiplizieren wir zwei ganze Zahlen a, b, so ist das Produkt a · b wieder eine ganze Zahl. Das ist eine wichtige Eigenschaft der ganzen Zahlen Z, denn damit k¨ onnen wir hemmungslos multiplizieren. Computer k¨onnen jedoch nur Zahlen kleiner einer bestimmten Schranke darstellen: ein 8-Bit-Register kann die Zahlen {0, . . . , 255} darstellen. Die Zahl 100 · 100 liegt jedoch nach der gew¨ohnlichen ganzzahligen Multiplikation außerhalb dieser Menge. Um auf einer beliebigen Menge {0, . . . , N − 1} rechnen zu k¨ onnen, f¨ uhrt man die Operationen modulo N ein. Wir definieren: a ist kongruent modulo N, a ≡ b mod N, falls ihre Differenz ein Vielfaches von N ist, das heißt, wenn a = b + k · N f¨ ur eine ganze Zahl k gilt.
Euklids Algorithmus
280
A Mathematische Grundlagen Beispiel A.4: 1. Alle geraden Zahlen sind kongruent modulo 2, ebenso alle ungeraden. Wenn a gerade ist, gilt n¨amlich a = 0 + 2k, f¨ ur eine ganze Zahl k, oder a ≡ 0 mod 2. Genauso gilt 1 ≡ 3 ≡ 5 ≡ . . . mod 2. 2. F¨ ur N = 10 gilt −9 ≡ 1 ≡ 11 ≡ 21 mod 10, −8 ≡ 2 ≡ 12 ≡ 22 mod 10, und −7 ≡ 3 ≡ 13 ≡ 23 mod 10. ⋄ Dieser Begriff ist mit der Addition und der Multiplikation vertr¨aglich: Gelten a ≡ a′ mod N und b ≡ b′ mod N, so ist a + b ≡a′ + b′ mod N und a · b ≡a′ · b′ mod N. Rechnen wir mit nur N Zahlen, fassen also alle kongruenten Zahlen als gleichwertig auf und beschr¨anken uns auf die Menge ZN = {0, . . . , N − 1}. Wir definieren a mod N als die Zahl b ∈ ZN mit
b ≡ a mod N.
Damit k¨ onnen wir Summe und Produkt von Elementen oder Zahlen“ a, b ” in ZN definieren, und zwar als a + b mod N und a · b mod N. Wir verwenden also die gewohnten Operationen in Z und bilden das Ergebnis auf das kongruente Element in ZN ab.
A.5 Ganze Zahlen
281
Beispiel A.5: 1. Unsere Addition in {0, 1} ergibt sich auf diese Weise: a ⊕ b = a + b mod 2. ⊕ ist die eben definierte Addition in Z2 . 2. In Z5 gilt 4 · 3 = 2, denn 12 ≡ 2 mod 5. 3. Wir berechnen 100·100 in Z 256 . Es gilt 10000 = 39·256+ 16 oder 100· 100 ≡16 mod 256. Damit ist 16 das Ergebnis unserer Multiplikation in Z256 . Dies w¨are auch das Ergebnis bei einer Berechnung in einem 8-Bit-Register.
A.5.3 Zur Division Ganze Zahlen k¨ onnen wir problemlos multiplizieren: 3 · 3 ergibt 9 und somit wieder eine ganze Zahl. Doch k¨ onnen wir nicht jede Division ausf¨ uhren. 5 durch 2 ergibt keine ganze Zahl; 2 teilt 5 nicht. Aus diesem Grund spielt der Teiler eine wichtige Rolle in der Theorie der ganzen Zahlen. Wie verh¨alt es sich in den Mengen ZN ? Folgende Tabelle stellt die Multiplikation in Z5 dar: · 0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 4
2 0 2 4 1 3
3 0 3 1 4 2
4 0 4 3 2 1
Betrachten wir die Zeile mit den Vielfachen von 3, sehen wir: jeder Wert 0, . . . , 4 kommt vor. Wir k¨ onnen jedes Element durch drei teilen. Dies gilt auch f¨ ur 1, 2 und 4. Insbesondere gilt 3 · 2 = 1 mod 5. Drei teilt die 1 und damit alle Vielfachen der 1. Wir nennen 2 das multiplikativ Inverse von 3: Wir k¨onnen in Z5 durch drei teilen, indem wir mit 2 multiplizieren. Allgemein ist das multiplikativ Inverse einer Zahl a in ZN die L¨ osung der Gleichung a · x ≡ 1 mod N. Zum Beispiel hat in Z5 das Element 4 das multiplikativ Inverse x = 4. 0 hat kein multiplikativ Inverses; 0 hat auch als ganze Zahl keine Teiler. Wir bezeichnen das multiplikativ Inverse von a mit a−1 . Aufgabe A.10: Stellen Sie die Multiplikationstabelle f¨ ur Z4 auf. Die Menge Z∗N enth¨alt alle Elemente aus ZN , die ein multiplikativ Inverses besitzen. Man bezeichnet Z∗N als die multiplikative Gruppe von ZN .
282
A Mathematische Grundlagen Beispiel A.6: Es gilt Z5∗ = {1, 2, 3, 4} und Z4∗ = {1, 3} F¨ ur eine Primzahl p gilt Z∗p = {1, . . . , p − 1} = Z p \ 0.
Ist N eine zusammengesetzte Zahl, haben auch andere Elemente als dee Null kein multiplikativ Inverses. Wir bezeichnen die Gr¨oße der Menge Z∗N mit φ(N); das ist die als Eulersche φ-Funktion (nach dem Schweizer Mathematiker Leonard Euler (1707-1783)). F¨ ur eine Primzahl p gilt φ(p) = p − 1. F¨ ur zwei verschiedene Primzahlen p, q gilt φ(pq) = (p − 1)(q − 1).
Also hat die Menge Z∗6 gerade φ(2 · 3) = 2 Elemente; neben 1 noch 5: 5 · 5 ≡ 1 mod 6. Der folgende Satz von Euler-Fermat spielt f¨ ur uns eine große Rolle: Euler-Fermat
F¨ ur jedes Element a aus Z∗N gilt aφ(n) ≡ 1 mod N. Damit gilt f¨ ur eine beliebige Zahl a = 0 und eine Primzahl p, die a nicht teilt: a p−1 ≡ 1 mod p.
Die zweite Aussage bezeichnet man als (kleinen) Satz von Fermat.
283
B L¨ osungen ausgew¨ ahlter ¨ Ubungsaufgaben Hier finden Sie knapp gehaltene L¨ osungen oder zumindest deutliche ¨ L¨osungshinweise f¨ ur wichtige Ubungsaufgaben.
Aufgabe 2.3: F¨ ur jedes der Qubits erhalten wir |0 mit Wahrscheinlichkeit 1/4 und |1 mit Wahrscheinlichkeit 3/4. Also erwarten wir, dass etwa 25 der Messungen |0 ergeben und der Rest, also rund 75, |1. Aufgabe 2.4: H ist symmetrisch und hat nur reelle Eintr¨age, also gilt H ∗ = H. Wir m¨ ussen zeigen, dass H zu sich selbst invers ist: H · H = I2 ist leicht nachzurechnen. Aufgabe 2.5: Die der Transformation entsprechende Matrix muss von der Form 1 x 2 √ A= 3 y 2 sein. Aus der Unitarit¨at von A folgt die Bedingung 1 0 . A† · A = 0 1 Daraus entstehen vier Gleichungen mit den L¨ osungen √ it x = 1/2 · 3e , y = −1/2 · eit mit 0 ≤ t < 2π. Die reellen Spezialf¨alle sind durch die Matrizen √ √ 1 1 3 √1 − 3 √1 und 3 1 3 −1 2 2 gegeben.
Kapitel 2
¨ B L¨osungen ausgew¨ahlter Ubungsaufgaben
284
Aufgabe 2.6: Nach Schritt 2 ist das Bit im Zustand ten |0 mit Wahrscheinlichkeit (− √12 )2
( √12 )2
√1 (|0−|1). 2
Wir erhal-
= 1/2 und |1 mit Wahrscheinlichkeit
= 1/2. Das Ergebnis ist also das gleiche.
Aufgabe 2.9: Es gen¨ ugt, sich folgendes klarzumachen: Wenn A eine Permutationsmatrix ist, so tauscht AT die Elemente gerade wieder zur¨ uck. Aufgabe 2.10: Wir geben alle M¨oglichkeiten an, den Eingaben eine Ausgabe zuzuordnen: 1. 0 → 0, 1 → 0, 2. 0 → 0, 1 → 1, 3. 0 → 1, 1 → 0, 4. 0 → 1, 1 → 1 Aufgabe 2.11: wir k¨ onnen die Aufgabe l¨osen indem wir f¨ ur jede Wahl von f die Matrix von U f aufschreiben und mit U f∗ multiplizieren. Eleganter ur jede Wahl von f eine Permutationsmatrix u ¨berlegen wir uns, dass U f f¨ ¨ ist. Dann folgt die Aussage mit Ubung 2.9. Aufgabe 2.12: Wir vermeiden es, den Vektor (−1, −1)T mit der Matrix H zu multiplizieren und nutzen stattdessen die Linearit¨at. Es gilt H (−(|0 + |1)) = −(H|0 + H|1), da unit¨are Transformationen linear sind. Wir wenden die Transformationen an und erhalten −( √12 (|0 + |1) + √ √1 (|0 − |1)) = −2/ √1 |0 = − 2|0. 2 2 √ Ein anderer Rechenweg: H (−(|0 + |1)) = − 2H √12 (|0 + |1) = √ − 2|0. Aufgabe 2.14: 1 1 √ (|0 + |1) ⊗ √ (|0 − |1) = 2 2 =
Aufgabe 2.15: ⎛
1 1 ⎜ 0 H ⊗ I2 = √ ⎜ 2⎝ 1 0
1 1 √ (|0 + |1) · √ (|0 − |1) 2 2 1 (|00 − |01 + |10 − |11) 2
⎞ ⎛ 0 1 0 1 1 0 0 ⎜ 1 −1 0 1 1 0 1 ⎟ 0 ⎟, I ⊗ H = √ ⎜ 0 −1 0 ⎠ 2 0 1 1 2⎝ 0 1 0 −1 0 0 1 −1
⎞ ⎟ ⎟ ⎠
285 Aufgabe 2.17: Eine Basis ist orthogonal, wenn f¨ ur je zwei ihrer Elemente das Skalarprodukt 0 ist, siehe Abschnitt A.2.3 im Anhang. Wir m¨ ussen also zeigen, dass 0′ | 1′ = 0 gilt. Der Zustandsvektor von |+ ist 1 1 √ , 2 1 der von |− ist
1 1 √ . 2 −1 Nun gen¨ ugt es, das Skalarprodukt zu berechnen.
Aufgabe 2.20: G¨abe es eine solche Zerlegung von Φ+ , so k¨onnten wir die Gleichung 1 √ (|00 + |11) = (α0 |0 + α1|1) · (β0 |0 + β1|1) 2 l¨ osen. Es w¨ urde gelten: 1 α0 β0 = α1 β1 = √ 2 und α0 β1 = α1 β0 = 0. Das ist nicht m¨ oglich. Aufgabe 2.21: Der angegebene Zustand ist in Bitschreibweise gleich 1/2(|0000 + |0011 + |1100 + |1111) und hat die Zerlegung Φ + ⊗ Φ+ . Aufgabe 2.22: Es gilt z = 0, wir betrachten n
±
1 2 −1 ∑ (−1)x·z |z. 2n x=0
ur die H¨alfte Seien zi1 , . . . , ziν die Komponenten von z mit Wert 1. Dann gilt f¨ der x ∈ {0, 1}n, dass eine gerade Anzahl der Komponenten xi1 , . . . , xiν den Wert 1 hat; f¨ ur diese x gilt x · z = 0. F¨ ur die andere H¨alfte gilt x · z = 1. Also ist n 1 2 −1 1 1 1 ± n ∑ (−1)x·z |z = ± n ( n−1 − n−1 )|z = 0. 2 x=0 2 2 2 Aufgabe 2.23: Nach Schritt 4 befindet sich das Quantenregister in demselben Zustand wie nach Schritt 4 von Deutsch-Jozsa: n n 1 1 2 −1 2 −1 f (x) x·z (−1) (−1) |z · √ (|0 − |1). ∑ ∑ n 2 z=0 x=0 2 Nun muss nur noch die Amplitude von |z f¨ ur die beiden F¨alle z = a und z = a berechnet werden.
¨ B L¨osungen ausgew¨ahlter Ubungsaufgaben
286 1
1
1
a∨b
a
a¯
b
b¯
Abbildung B.1: Disjunktion aus drei Toffoligattern
Kapitel 3
Aufgabe 3.5: Um das einzusehen, ben¨otigen wir die Regel von De Morgan: a ∧ b = a ∨ b. Damit gilt a ∨ b = a ∧ b. Wir k¨ onnen das Oder also durch NAND und zwei Negationen ausdr¨ ucken. Das geschieht in Abbildung B.1. Aufgabe 3.6: Wir m¨ ussen uns dazu zwei Dinge u ¨berlegen: das FredkinGatter f¨ uhrt eine umkehrbare Berechnung aus und ist universal, kann also zum Beispiel AND und NOT berechnen. Man nennt das Fredkin-Gatter auch controlled swap, da die Belegung von c bestimmt, ob die Werte von a und b getauscht werden. Aufgabe 3.7: Da es sich um verschr¨ankte Zust¨ande handelt, betrachten wir das gesamte Register:
= =
|a|b|10101100 1 1 √ (|0 + |1) √ (|0 + |1)|10101100 2 2 1/2(|0010101100 + |0110101100 + |1010101100 + |1110101100)
→ 1/2(|0010101100 + |0110101100 + |1011101100 + |1111101100) → 1/2(|0010101100 + |0110111100 + |1011101100 + |1111111100)
Das ist der Zustand nach den beiden ersten Toffoli-Gattern. F¨ uhren wir die Berechnung fort, sehen wir, dass die Ausgabebits korrekt belegt sind. Nennen wir die beiden letzten Bits o1 und o2 , ist der Endzustand |a|b|o1|o2 = 1/2(|0000 + |0110 + |1010 + |1101), gem¨aß der Regel: o1 = a ⊕ b, o2 = a ∧ b.
287 Aufgabe 3.8: Das Register aus vier Quantenbits befindet sich im Ausgangszustand |1|a|b|0 = 1/2 (|1000 + |1010 + |1100 + |1110). Die beiden Toffoli-Gatter u uhren es in ¨berf¨ 1/2 (|1000 + |1010 + |1110 + |1101). Aufgabe 3.9: |φ3 und |ψ3 lassen sich mit einer Messung bez¨ uglich der Hadamard-Basis 1 1 { √ (|0 + |1), √ (|0 − |1)} 2 2 uglich der Standardunterscheiden. Gleichwertig ist, H|φ3 und H|ψ3 bez¨ basis zu messen. Aufgabe 4.1: Wir m¨ ussen zeigen: gilt f¨ ur eine Eingabe G HC(G) = 1, so l¨asst sich das mit Hilfe eines Zertifikats effizient verifizieren. Das Zertifikat ist der Hamilton-Kreis in dem Graphen G. Wir verifizieren, dass jeder Knoten genau einmal besucht wird, indem wir die Kanten durchlaufen.
Kapitel 4
Aufgabe onnen wir direkt nachrechnen, dass −HR2 H = Fall N = 2 k¨ 6.2: Im 0 1 gilt. F¨ ur den allgemeinen Fall bietet es sich an, MultipliD2 = 1 0 kation von Blockmatrizen zu verwenden und die Aussage mit vollst¨andiger Induktion zu zeigen. Hier folgen wichtige Zwischenergebnisse: Wegen Hn+1 = H ⊗ Hn , N = 2n gilt 1 1 −Hn −Hn RN Hn RN Hn ·√ . −Hn+1 R2N Hn+1 = √ Hn −Hn 2 −Hn Hn 2
Kapitel 6
Dabei wurde verwendet, dass RN in einer rechts multiplizierten Matrix die erste Zeile negiert und sonst nichts ver¨andert. Ausmultiplizieren ergibt nun 1 −Hn RN Hn − IN −Hn RN Hn + IN 1 DN − IN DN + IN = = D2N . 2 −Hn RN Hn + IN −Hn RN Hn − IN 2 DN + IN DN − IN Aufgabe 6.4: Wir k¨ onnen die Aussage formal beweisen, wenn wir die vier Basiszust¨ande |0|0, |0|1, |1|0, |1|1 betrachten: X⊗X
I ⊗H
CNOT
2 |1 √12 (|0 − |1) −→ |1 − |0|0 −→ |1|1 −→
X⊗X
√1 (|0 2
I ⊗H
2 − |1) −→
−|1|1 −→ −|0|0. Genauso sieht man, dass der Schaltkreis die Zust¨ande |0|1, |1|0 und |1|1 unver¨andert l¨asst. Aufgabe 6.6: Es ist die Operation V f ! Sie invertiert die Amplitude jedes von f auf 1 abgebildeten Elements - rechnen Sie das nach! Nun betrachten
¨ B L¨osungen ausgew¨ahlter Ubungsaufgaben
288
wir die Ebene, die vom Startzustand |s und von |xˆd aufgespannt wird. In dieser Ebene entspricht das Kippen der Komponenten aller gesuchten Elemente der Spiegelung an der Achse l¨angs |x˜⊥ . Das kann man sich durch eine Skizze veranschaulichen. Aufgabe 6.8: Wir f¨ uhren den Algorithmus k-mal aus. Angenommen, wir haben die Elemente xˆ1 , . . . , xˆl schon gefunden. Dann Kippen wir nach der Anwendung von V f die Amplituden von xˆ1 , . . . , xˆl wieder zur¨ uck. Das l¨asst sich wie auf Seite 145 realisieren. Wir f¨ uhren die Groveriteration G(N, k − l)mal aus und erhalten eine Superposition u ¨ber xˆl+1 , . . . , xˆk . √ Wenn k groß ist (Ω N ), bietet es sich an, f¨ ur jedes Element x den Funktionswert zu bestimmen. Kapitel 7
Aufgabe 7.3: Wir nehmen an, dass a′ = 0 und e′ = 1 gilt: Messen wir ein Bit im Zustand |0 oder |1 in der falschen Basis B′ , befindet sich |x anschließend im Zustand |+ oder |−. Misst Bob nun in B, erh¨alt er nur in der H¨alfte der F¨alle das korrekte Ergebnis. Der Fall a′ = 1 und e′ = 0 ergibt sich analog. Aufgabe 7.5: An der Argumentation ist bis zu dem letzten Satz nichts auszusetzen. Jedoch bietet sich f¨ ur Eve folgende M¨oglichkeit an: Alice hat ihr Soll erf¨ ullt, die Quantenbits verschickt und verwahrt a1 , . . . , am in einem Panzerschrank. Diesen kann Eve knacken. Nun wartet sie, bis Bob misst, belauscht den Austausch der Basen und erf¨ahrt, welche der von ihr gestohlenen Bits den Schl¨ ussel bilden. Kann sie den Panzerschrank wieder verschließen, bleibt ihr Tun unbemerkt. Wichtig ist: Theoretisch kann ihr Eindringen in den Panzerschrank unbemerkt bleiben. Ihr Hantieren am Quantenkanal wird aus theoretischen Gr¨ unden bemerkt, wenn sie wesentliche Teile des Schl¨ ussels erlauschen will.
Kapitel 8
Aufgabe 8.1: W¨are a p/2 − 1 ein Vielfaches von n, hieße das a p/2 − 1 ≡0 mod n und also a p/2 ≡ 1 mod n. Das ist aber ausgeschlossen, weil in diesem Fall die Periode kleiner gleich p/2 w¨are. Diese ist jedoch gleich p. Aufgabe 8.2: Wenn eine Zahl m sowohl x als auch n teilt, dann teilt sie f¨ ur jedes k die Differenz x − kn. Darauf beruht der Euklidische Algorithmus. Aufgabe 8.6: Der formale Beweis lautet wie folgt: N−1
∑
i=0
ωkN
i
= =
(ωkN )N − 1 ωkN − 1
(ωNN )k − 1 =0 ωkN − 1
Ist k ein Vielfaches von N, gilt ωkN = 1 und die Summe ist N.
289 Aufgabe 8.8: R4 √12 (|0 − |1) = wurde um den Winkel π/2
√1 (|0 − i|1). Die komplexe 2 gedreht: auf e3/2πi = −i.
Zahl −1 = eπi
Aufgabe 8.10: Wir betrachten als Beispiel Bit y0 . x2 wird von H in |φ1 = √12 (|0 + ωx22 |1) u uhrt. R4 multipliziert den |1-Anteil in |φ1 mit ¨berf¨ √1 (|0 + ωx2 ωx1 |1) zur Folge. Genauso 2 4 2 x √1 (|0 + ωx2 ωx1 ω 0 |1) = √1 (|0 + ωx |1), was das f¨ ur y 0 8 2 4 8 2 2
ω4 , wenn x1 = 1. Das hat |φ2 =
f¨ uhrt R8 zu |φ3 = gew¨ unschte Ergebnis ist.
Aufgabe 8.11: Wenden wir QFT16 auf 1/2(|1 + |5 + |9 + |13) an, ergibt sich 1 15 y 9y 13y ω16 |y + ω5y |y + ω |y + ω |y ∑ 16 16 16 8 y=0 = =
1 15 y 0 4y 8y 12y ω |y ω + ω + ω + ω ∑ 16 16 16 16 16 8 y=0 1 15 y y 2y 3y ω4 1 + ω4 + ω4 + ω4 |y . ∑ 8 y=0
Wenn nun y ein Vielfaches von 4 ist, gilt y
2y
3y
1 + ω4 + ω4 + ω4 = 1 + 1 + 1 + 1. Falls y kein Vielfaches von vier ist, addiert sich die Amplitude zu 0. F¨ ur y = 1 ergibt sich 1 + ω14 + ω24 + ω34 = 1 + i − 1 − i (f¨ ur y = 5, 9, 13 ist das Ergebnis wegen ω44 = 1 identisch). F¨ ur y = 2 (und y = 6, 10, 14) ergibt sich 1 + ω24 + ω44 + ω64 = 1 + ω24 + 1 + ω24 = 1 − 1 + 1 − 1. F¨ ur y = 3 (und y = 7, 11, 15) ergibt sich 1 + ω34 + ω64 + ω94 = 1 + ω34 + 1 + ω24 + ω4 = 1 − i − 1 + i. Wir folgern QFT16 (|1 + |5 + |9 + |13) = =
|0 + ω4|4 + ω24|8 + ω34 |12 |0 + i|4 − |8 − i|12
und die Aufgabe ist gel¨ ost. Wir k¨ onnen weiter erkennen, dass allgemein f¨ ur j = 0, . . . , 3 gilt: 1 QFT16 (| j + | j + 4 + | j + 8 + | j + 12) 2 15 1 3y = ω4jy 1 + ωy4 + ω2y ∑ 4 + ω4 |y . 8 y=0
¨ B L¨osungen ausgew¨ahlter Ubungsaufgaben
290 Kapitel 9
Aufgabe 9.1: Das st¨ unde im Widerspruch zur Quantenmechanik, die nur Messungen bez¨ uglich Basen erlaubt. Bes¨aße Eve einen solchen Kristall, k¨ onnte sie mit vier Detektoren die Richtungen bestimmen. Das ist aber nach der quantenmechanischen Beschreibung der Welt (die bisher durch kein Experiment widerlegt werden konnte) ausgeschlossen.
Anhang
Aufgabe A.1: Zum ersten Teil der Aufgabe: Ziehen wir die nat¨ urliche Zahl 2 von der nat¨ urlichen Zahl 1 ab, ist das Ergebnis keine nat¨ urliche Zahl. Ebenso erhalten wir bei der Division zweier ganzen Zahlen in der Regel keine ganze Zahl. Aufgabe A.7: Hier soll folgender Hinweis gen¨ ugen: Beschr¨anken wir uns auf den R2 , entspricht die Definition der Norm gerade dem Satz von Pythagoras. Aufgabe A.8: Verwenden Sie die Aussage u ¨ber den Winkel, Gleichung A.6.
291
Literaturverzeichnis [1] Adami and Cerf. Quantum computation with linear optics. arXiv:quant-ph/9806048.
1998.
[2] Agarwal, Kayal, and Saxena. PRIMES in P. 2002. www.cse.iitk.ac.in/ news/ primality.html. [3] Andris Ambainis. Polynomial degree vs. quantum query complexity. In Proceedings FOCS 03, pages 230–239, 2003. quant-ph/0305028. [4] J. Audretsch. Verschr¨ ankte Welt. Wiley, 2002. [5] Barenco, Bennett Cleve, DiVincenzo, Margolus, Shor, Sleator, Smolin, and Weinfurter. Elementary gates for quantum computation. Physical Review A, 52, 1995. [6] Robert Beals, Harry Buhrman, Richard Cleve, Michele Mosca, and Ronald de Wolf. Quantum lower bounds by polynomials. In 39th FOCS, pages 352–361, 1998. [7] J. Bell. On the Einstein-Podolski-Rosen paradox. Physics, pages 195–200, 1964. [8] P. Benioff. Quantum mechanical hamiltonian models of discrete processes that erase their own histories: application to Turing machines. Int. Journal of Theoretical Physics, 21:177–202, 1982. [9] Bennett, Bernstein, Vazirani, Brassard, and Vazirani. Strengths and weaknesses of quantum computation. SIAM Journal of Computing, 26:5:1510– 1523, 1997. [10] Bennett, Bessette, Brassard, Salvail, and Smolin. Experimental quantum cryptography. Journal of Cryptology, 5(1):3–28, 1992. [11] Bennett, Brassard, Cr´epeau, Jozsa, Peres, and Wooters. Teleporting an unknown quantum state via dual classical and epr channels. Phys. Rev. Letters, 70:1895–1899, 1993. [12] Bennett, Brassard, and Robert. Privacy amplification by public discussion. SIAM Journal of Computing, 17(2):210–229, 1988. [13] Bennett and Wiesner. Communication via one- and two-particle operators on Einstein-Podolski-Rosen channels. Phys. Rev. Letters, 69:2881–2884, 1992. [14] C. Bennett. Logical reversibility of computation. IBM Journal of Research and Dev., 17:525–532, 1973. [15] Bernstein and Vazirani. Quantum complexity theory. SIAM Journal of Computing, 26(5):1411–1473, 1997. [16] Born, Jordan, and Heisenberg. Zur Quantenmechanik II. Zeitschrift f¨ ur Physik, 35, 1926.
292
Literaturverzeichnis [17] Boschi, Branca, Martini L. Hardy, and Popescu. Experimental realization of teleporting an unknown pure quantum state via dual classical and EinsteinPodolski-Rosen channels. Physical Review Letters, 80:1121–1125, 1998. [18] Bouwmeester, Ekert, and Zeilinger. The Physics of Quantum Information. Springer, 2001. [19] Bouwmeester, Pan, Mattle, Eibl, Weinfurter, and Zeilinger. Experimental quantum teleportation. Nature, 390(6660):575–579, 1997. [20] Boyer, Brassard, Høyer, and Tapp. Tight bounds on quantum searching. Fourth Workshop on Physics and Computation, pages 36–43, 1996. [21] Brassard, Høyer, and Tapp. Quantum counting. In Proceedings, 25th ICALP, volume 1443 of Lecture Notes in Computer Science, pages 820– 831. Springer Verlag, 1998. quant-ph/9805082. [22] Bruss, Ekert, Huelga, Pan, and Zeilinger. Quantum computing with controlled-not and few qubits. Phil. Trans. R. Soc. London A, 35:2259– 2266, 1997. [23] Calderbank and Shor. Good quantum error-correcting codes exist. Physical Review A, 54:1098–1106, 1996. [24] Chuang, Vandersypen, Zhou, Leung, and Lloyd. Experimental realization of a quantum algorithm. Nature, 393:143–146, 1998. [25] Cirac and Zoller. Quantum computations with cold trapped ions. Physical Review Letters, 74:4091–4094, 1995. [26] Clauser, Horne, Shimony, and Holt. Proposed experiment to test local hidden-variable theories. Phys. Rev. Lett., 49:1804–1807, 1969. [27] Massachusetts Clay Mathematics Institute (CMI) of Cambridge. www. claymath.org/ millennium Prize Problems/. [28] Cormen, Leiserson, and Rivest. Algorithms. MIT Press, 1991. [29] Deutsch, Ekert, and Lupacchini. Machines, logic and quantum physics. Bulletin of Symbolic Logic, 2000. arXiv:quant-ph/9911150. [30] Deutsch and Jozsa. Rapid solution of problems by quantum computations. Proceedings of the Royal Society, 439:553–558, 1992. [31] D. Deutsch. Quantum theory, the church-turing principle and the universal quantum computer. Proceedings of the Royal Society, 400:97–117, 1985. [32] D. Deutsch. Quantum computational networks. Proc. of the Royal Society, A 425:73–90, 1989. [33] D¨ urr, Heiligman, Høyer, and Mhalla. Quantum query complexity of some graph problems. In Proceedings of the 31st International Colloquium on Automata, Languages and Programming (ICALP), pages 481–493, 2004. [34] D¨ urr and Høyer. A quantum algorithm for finding the minimum. 1996. quant-ph/9607014. [35] Einstein, Podolsky, and Rosen. Can quantum-mechanical description of physical reality be considered complete? Physical Review, 47:777–780, 1935. ¨ [36] Albert Einstein. Uber einen die Erzeugung und Verwandlung des Lichtes betreffenden heuristischen Gesichtspunkt. Annalen der Physik, 17:132–148, 1905. [37] Eisert, Wilkens, and Lewenstein. Physical Review Letters, 83:3077, 1999.
Literaturverzeichnis [38] Ekert, Huttner, Palma, and Peres. Eavesdropping on quantumcryptographical systems. Phys. Rev. A, 50(2):1047–1056, 1994. [39] Ekert and Mosca. The hidden subgroup problem and eigenvalue estimation on a quantum computer. Lecture Notes in Computer Science, 1509:174– 188, 1998. [40] A. Ekert. Quantum cryptography based on Bell’s theorem. Phys. Rev. Lett., 67(6):661–663, 1991. [41] Fergusan and Schneier. Practical Cryptography. Wiley, 2003. [42] R. Feynman. Simulating physics with computers. International Journal of Theoretical Physics, 21:467–488, 1982. [43] Fredkin and Toffoli. Conservative logic. Int. Journal Theoretical Physics, 21:219–253, 1982. [44] Garey and Johnson. Computers and Intractability. Freeman, 1979. [45] Gisin, Ribordy, Tittel, and Zbinden. Quantum cryptography. Reviews of modern Physics, 74:145–195, 2002. [46] S. Gr¨ oblacher and al. Experimental quantum cryptography with qutrits. New Journal of Physics, 8:75, 2006. [47] S. Gr¨ oblacher and al. An experimental test of non-local realism. Nature, 446:871–875, 2007. [48] L. Grover. A fast quantum-mechanical algorithm for database search. 28th STOC, pages 212–219, 1996. quant-ph/9605043. [49] L. Grover. How fast can a quantum computer search? 1998. quantph/9809029. [50] J. Gruska. Quantum computing. McGraw-Hill, 1999. [51] H¨ affner and al. Scalable multi-particle entanglement of trapped ions. Nature, 438:643–646, 2005. [52] S. Hallgren. Polynomial time quantum algorithms or Pell’s equation and the principal ideal problem. Symp. on the theory of computation STOC, 2002. [53] M. Hirvensalo. Quantum computing. Springer Verlag, 2001. [54] R. Jozsa. Quantum algorithms and the Fourier transform. Proceedings of the Royal Society, 439:323–337, 1998. [55] R. Jozsa. Searching in Grover’s algorithm. 1999. quant-ph/9901021. [56] R. Jozsa. Notes on Hallgren’s efficient quantum algorithm for solving Pell’s equation. Proceedings of the Royal Society, 2003. arXiv:quant-ph/0302134. [57] A. Y. Kitaev. Quantum measurements and abelian stabilizer problem. 1995. arXiv:quant-ph/9511026. [58] Kondacs and Watrous. On the power of quantum finite state automata. In Proceedings, 36th IEEE FOCS, pages 66–75, 1997. [59] U. Krengel. Einf¨ uhrung in die Wahrscheinlichkeitstheorie und Statistik. Vieweg Verlag, 1988. [60] R. Landauer. Irreversibility and heat generation in the computing process. IBM Journal of Research and Development, 5:183–191, 1961. [61] A. J. Leggett. Nonlocal hidden-variable theories and quantum mechanics: an incompatibility theorem. Foundations of Physics, 33:1469, 2003.
293
294
Literaturverzeichnis [62] Lo and Chau. Unconditional security of quantum key distribution over arbitrarily long distances. Science, 283:2050–2056, 1999. arXiv:quantph/9803006. [63] Chao-Yang Lu and al. Experimental entanglement of six photons in graph states. Nature Physics, 3:91 – 95, 2007. [64] D.C. Marinescu and G.M. Marinescu. Approaching quantum computing. Pearson Prentice Hall, 2004. [65] D. Mayers. Unconditional security in quantum cryptography. arXiv:quant-ph/9802025.
1998.
[66] G. L.. Miller. Riemann’s hypothesis and tests for primality. J. Comput. System Sci., 13:300–317, 1976. [67] Motwani and Raghavan. Randomized Algorithms. Cambridge UP, 1995. [68] Nakamura, Pashkin, and Tsai. Coherent control of macroscopic quantum states in a single-cooper-pair box. Nature, 786-788:398, 1999. [69] Nielsen and Chuang. Quantum computation and quantum information. Cambridge University Press, 2000. [70] Cheng-Zhi Peng and al. Experimental long-distance decoy-state quantum key distribution based on polarization encoding. Pysical Review Letters, 98:010505, 2007. [71] C. A. Petri. Grunds¨ atzliches zur Beschreibung diskreter Prozesse. In Proceedings, 3. Kolloquium ¨ uber Automatentheorie (Hannover), pages 121–140. Birkh¨ auser, 1967. [72] Max Planck. Zur Theorie des Gesetzes der Energieverteilung im Normalspektrum. Verh. Deutsche physikalische Gesellschaft, 237, 1900. [73] J. H. Plantenberg and al. Demonstration of controlled-not quantum gates on a pair of superconducting quantum bits. Nature, 447:836, 2007. [74] Preskill and Shor. Simple proof of security of the BB84 quantum key distribution protocol. 2000. arXiv:quant-ph/0003004. [75] J. Preskill. Lecture Notes for Physics 229: Quantum Information and Computation. California Institute of Technology, 1998. www.theory.caltech.edu/people/preskill/ph229/. [76] Prevedel, Walther, Tiefenbacher, B¨ ohi, Kaltenbaek, Jennewein, and Zeilinger. High-speed linear optics qunatum computing using active feed-forward. Nature, 445:169–176, 2007. [77] R. Prevedel and al. Experimental realization of a quantum game on a oneway quantum computer. New Journal of Physics, 9:205, 2007. [78] Raussendorf, Browne, and Briegel. A one-way quantum computer. Physical Review Letters, 86:5188–5191, 2001. [79] Raussendorf, Browne, and Briegel. Measurement-based quantum computation on cluster states. Physical Review A, 68:022312, 2003. [80] G. Rigolin. Quantum teleportation of an arbitrary two qubit state and its relation to multipartite entanglement. Pysical Review A, 71:032303, 2005. [81] Rivest, Shamir, and Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21:120–126, 1978.
Literaturverzeichnis [82] Danna Rosenberg and al. Long-distance decoy-state quantum key distribution in optical fiber. Pysical Review Letters, 98:010503, 2007. [83] M. Sauerhoff and D. Sieling. Quantum branching programs and spacebounded nonuniform quantum complexity. Theoretical Computer Science (to appear), arXiv:quant-ph/0403164, 2004. [84] Tobias Schmitt-Manderbach and al. Experimental demonstration of freespace decoy-state quantum key distribution over 144 km. Pysical Review Letters, 98:010504, 2007. [85] Sch¨ onhage and Strassen. Schnelle Multiplikation großer Zahlen. Computing, 7:281–292, 1971. [86] E. Schr¨ odinger. Die gegenw¨artige Situation in der Quantenmechanik. Die Naturwissenschaften, 23, 1935. [87] P. Shor. Scheme for reducing decoherence in quantum computer memory. Physical Review A., 52:2493–2496, 1995. [88] P. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms. SIAM Journal on Computing, 26:1484–1509, 1997. arXiv:quantph/9508027. [89] David R. Simon. On the power of quantum computation. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, pages 116–123, Los Alamitos, CA, 1994. Institute of Electrical and Electronic Engineers Computer Society Press. [90] K. Simonyi. Kulturgeschichte der Physik. Urania, 1987. [91] I. Stewart. Mathematical recreations. Scientific American, April, 2000. [92] M. S. Tame and al. Experimental realization of Deutsch’s algorithm in a one-way quantum computer. Physical Review Letters, 98:140501, 2007. [93] T. Toffoli. Bicontinouous extensions of invertible combinatorial functions. Mathematical Systems Theory, 14:13–23, 1981. [94] A. Turing. On computable numbers with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, 42:230– 265, 1937. [95] R. Ursin and al. Entanglement-based quantum communication over 144 km. Nature Physics, 3:481 – 486, 2007. [96] Vandersypen, Steffen, Breyta, Yannoni, Sherwood, and Chuang. Experimental realization of an order-finding algorithm with an NMR quantum computer. Nature, 414:883–887, 2001. [97] Walther, Resch, Rudolph, Schenck, Weinfurter, Vedral, Aspelmeyer, and Zeilinger. Experimental one-way quantum computing. Nature, 434:169– 176, 2005. [98] D. Welsh. Codes and Cryptography. Oxford Science, 1988. [99] S. Wiesner. Conjugate coding. SIGACT News, 15:77, 1983. [100] Wilk, Webster, Kuhn, and Rempe. Single-atom single-photon quantum interface. Science, 317:488 – 490, 2007. [101] C. Zalka. Grovers quantum searching algorithm is optimal. 1997. quantph/9711070. [102] A. Zeilinger. Einsteins Schleier. C.H.Beck, 2003.
295
296
Literaturverzeichnis Die Angabe arXiv:quant-ph bezieht sich auf den unter arxiv.org/archive/quant-ph erreichbaren E-Print Server. Wer ¨uber den neuesten Stand der Forschung unterrichtet sein will, wird hier f¨ undig. Hilfreiche Internetadressen Weitere aktuelle Informationen u ¨ber ein sich rasant entwickelndes Forschungsgebiet findet man zum Beispiel unter den folgenden Adressen, von wo aus weitere interessante Seiten verlinkt sind. • www.qubit.org Eine von der Universit¨at Oxford gepflegte Seite. • www.research.ibm.com/quantuminfo IBM Research Yorktown (USA). • www.physik.uni-oldenburg.de/qubit/index.htm Quanteninformation in der Schule. • http://qist.lanl.gov Quantum Information Science and Technology Roadmap. • www.cordis.lu/ist/fet/qipc.htm European strategic report
Bildnachweis Den Seitenzahlen folgen die Rechteinhaber. 247 und 248 LMU M¨ unchen; 255 Clendening Library Portrait Collection; 256 Gottfried Wilhelm Leibniz Bibliothek, Hannover; 257 General Libraries, University of Texas at Austin; 258 CERN photo; 262 Werner-Heisenberg-Archiv, M¨ unchen; 259 Niels Bohr Archive, Copenhagen; 263 General Libraries, University of Texas at Austin 265 David Deutsch, 2005; 266 Peter Shor. Wir danken allen Rechteinhabern f¨ ur die freundliche Abdruckgenehmigung!
297
Symbole und Abku ¨rzungen
⊕ x·y x·y A∗ A† x | y |x ⊗ |y |x|y
Addition in der Menge {0, 1}; entspricht dem exklusiven Oder bei ganzen oder komplexen Zahlen x, y : gew¨ ohnliche Multiplikation bei Vektoren x, y ∈ {0, 1}n : Skalarprodukt x1 y1 ⊕ . . . ⊕ xn yn zu A komplex konjugierte Matrix zu A adjungierte Matrix Skalarprodukt zweier Zustandsvektoren |x, |y ∈ Cn Tensorprodukt zweier Zustandsvektoren Tensorprodukt; verk¨ urzte Schreibweise
Seite 16 Seite 24 Seite 24 Seite 32 Seite 38
a = ±b
a = b oder a = −b
N Z C
nat¨ urliche Zahlen 0, 1, 2, . . . ganze Zahlen . . . , −2, −1, 0, 1, 2, . . . komplexe Zahlen
log arcsin
Logarithmus zur Basis 2 Umkehrfunktion des Sinus
O Ω Θ
asymptotisch kleiner gleich asymptotisch gr¨ oßer gleich asymptotisch gleich
Seite 70 Seite 72 Seite 72
ωN Z∗N
komplexe n-te Einheitswurzel e2πi/N multiplikative Gruppe modulo N
Seite 209 Seite 281
298
Quantengatter
1 1
1 −1
H
Hadamard-Transformation
X
Pauli-X-Transformation, Negation
0 1
1 0
Y
Pauli-Y -Transformation
0 i
−i 0
Z
Pauli-Z-Transformation
1 0
0 −1
√1 2
⎛
1 ⎜ 0 ⎜ ⎝ 0 0
gesteuerte Negation (controlled not)
⎛ ⎜ ⎜ ⎝
1 0 0 0
0 1 0 0
0 1 0 0
⎞ 0 0 ⎟ ⎟ 1 ⎠ 0
0 0 0 1
0 0
0 0
U
gesteuertes U
M
Messung
Seite 78
Toffoli-Gatter
Seite 87
U
⎞ ⎟ ⎟ ⎠
299
Namen- und Sachwortverzeichnis
Ω, 72 Θ, 72 CNOT, 30, 53, 79 O-Notation, 70 ¨ Uberlagerung, siehe Superposition abelsche Gruppe, 233 Adams, Douglas, 125 Addition ganzer Zahlen, 10, 101 Additionsschaltkreis, 16 Adleman, Leonard, 194 Algorithmus, 121 amplification, siehe probability amplification Amplifizierung, siehe probability amplification Amplitude, 20 Amplitudenverst¨ arkung, 140 Angriff, 171 asymmetrische Verschl¨ usselung, 194 asymptotisches Wachstum, 70 Authentisierung, 188 Babbage, Charles, 1 Basis, 271 Orthonormal-, 273 Standard-, 271 Basistransformation, 45 Basiswechsel, 45 BB84-Protokoll, 175–188, 190, 244– 246 bedingter Vorzeichenwechsel, 140, 145 Bell, John, 55, 58, 258, 260, 261 Bell-Zustand, 55 Bells Theorem, 58 Bells Ungleichung, 59, 189, 261 Benioff, Paul, 264 Bennett, Charles, 133, 175, 264 Berechnung, 11 deterministische, 105
gest¨ orte, 95–99, 164 nichtdeterministische, 105 randomisierte, 106–113 umkehrbare, 6, 32, 52, 84–93 Berechnungsmodell, 75 Berechnungsproblem, 101 Bernstein, Ethan, 66 Bernstein-Vazirani Algorithmus von, 65 bit, 133 Black Box, siehe Orakel Bohr, Niels, 258–261 Born, Max, 262 Boyer, Michel, 155 BPP, 112 BQP, 119, 166 Bra-Vektor, 275 Brassard, Gilles, 155, 175 Briegel, Hans, 252 Broglie, Louis de, 263 B¨ ohme, Jakob, 193 Carmichael-Zahlen, 109 Chuang, Isaac, 248 Church, Alonzo, 121 Church-Turing-These, siehe Churchsche These Churchsche These, X, 121 Cirac, Ignacio, 250 Datenbank, klassische, 160 Datenbankorakel, 139 Datenbanksuche, 138, 139, 159, 166 Dekoh¨ arenz, 22, 238–241 Dekoh¨ arenzzeit, 240 DES, 3 deterministisch, 105 Deutsch Algorithmus von, 9, 33–37, 50– 51, 234, 254
300
Namen- und Sachwortverzeichnis Deutsch, David, 33, 122, 123, 238, 261, 265 Deutsch-Jozsa Algorithmus von, 9, 62–65 DFT, siehe Fouriertransformation, diskrete dichte Kodierung, 3, 131–133 Dichtematrizen, 240 Diophant, 236 Dirac, Paul, 20 Dirac-Notation, 20 diskrete Exponentialfunktion, 231 diskreter Logarithmus, 231 divide and conquer, 212 Dreiecksungleichung, 272 D¨ urr, Christoph, 157 eavesdropping, siehe lauschen echter Teiler, 279 effizient, 6, 74, 76, 121 Effiziente Potenzierung, 198 Eigenvektor, 232 Eigenwert, 232 Einheitskostenmaß, 73 Einheitsmatrix, 276 Einheitsvektoren, 271 Einheitswurzeln, 209 Halbierungslemma, 211 Summationslemma, 213 Einstein, Albert, 57, 241, 257–259 Einstein-Podolsky-RosenParadoxon, 57, 258 Einweg-Quantenberechnungen, 252 Einzelphotonenquellen, 246 Ekert, Artur, 188 Ekert-Protokoll, 188–192 entanglement, 53 Entropie, 93 Entscheidungsprobleme, 103 Entscheidungsvariante, 103, 114 EPR-Paar, 55, 127, 128, 132 Ersetzungschiffre, 171 Euklids Algorithmus, 279 Euler, Leonard, 282 Euler-Fermat, Satz von, 282 Eulersche φ-Funktion, 195, 282 Everett, Hugh, 260 Faktorisierung, 4, 7, 117, 193, 194, 201–206, 223–231 Fehler, 95–99
fehlerkorrigierende Codes, 98, 183, 240 Fermat Satz von, 108 Fernwirkung, 57, 257–258 Feynman, Richard, 5, 263, 264 FFT, siehe Fouriertransformation, schnelle Fichte, Johann Gottlieb, 261 Fluoreszenz, siehe parametrische Fluoreszenz Fouriertransformation diskrete, 207–213 Quanten-, 214–218, 232, 233 schnelle, 207, 212–213 Fredkin, Edward, 89 Fredkin-Gatter, 89 frontier of feasibility, 112 G-BBHT-Suche, 155, 160 Gatter klassische, 15 Quanten-, 76–81 universelles, 87 Gefangendilemma, 254 gemischter Zustand, 79, 239 gest¨ orte Berechnungen, 95–99, 164 Gleichverteilung, 277 Graph, 116, 158 Grover, Lov, 3–5, 137 Grover-Iteration, 143 Grovers Algorithmus, 3, 146, 137– 167 Grundidee, 143 Gruppe, 233 Gr¨ oßenordnung, 70 G¨ odel, Kurt, 265 Hadamard-Transformation, 40, 42, 60, 59–62, 79, 233, 243 Halbaddierer, 16, 90, 91 Hallgren, Sean, 236 Hallgrens Algorithmus, 236 Hamilton-Kreis, 116 HC, 116 Hegel, G. W. F., 9 Heisenberg, Werner, 261–263 Heisenbergsche Unbestimmtheitsrelation, 262 Hertz, Heinrich, 257 hidden subgroup, 234 Hilbert, David, 265
Namen- und Sachwortverzeichnis Hilbertraum, 274 Holevo, Alexander, 135 Holevoschranke, 135 Høyer, Peter, 155, 157 Informationsmaß, 133 Informationsverlust, 92 inneres Produkt, 272 Interferenz, 3, 37, 120, 241 Interferometer, 241 Interpolation, 208 Ionenfallen, 249 Jozsa, Richard, 63 Kanal klassischer, 126 Quanten-, 126, 130 verrauschter, 127, 130 Kant, Immanuel, 261 Kerckhoffs, Auguste, 171 Kerkhoffssches Prinzip, 171 Kernspinresonanz, 248 Ket-Vektor, 275 Kettenbr¨ uche, 230 Klartext, 170 klassisch, 9 Koeffizientendarstellung, 207 komplex konjugiert, 268 komplexe Zahlen, 267 Komplexit¨ at, 101, 166 klassische Suche, 139 Quantensuche, 162 Komplexit¨ atsklasse, 102 Komplexit¨ atstheorie, 166 kongruent, 279 konjugiert, siehe komplex konjugiert kontrollierte Negation, siehe CNOT kontrollierte Operationen, 80 Kopenhagener Interpretation, 259– 261 Kryptographie, 4, 138, 192, 194– 199, 232 asymmetrische, 194 Quanten-, 175–192, 244–248 Kryptotext, 170 Kubrick, Stanley, 175 Kuschniok, Olaf, 137 Lambda-Kalk¨ ul, 121 Landauer, Rolf, 67, 92 Landauers Prinzip, 92
301 Laufzeit, 68, 68–75 erwartete, 74 im schlechtesten Fall, 74 lineare, 69 polynomiale, 74, 102 quadratische, 69 lauschen, 170 Legget, Anthony, 59 Leibniz, Gottfried Wilhelm, 256 Lichtenberg, Georg Christoph, 101 linear lineare Abbildung, 32, 276 lineare Laufzeit, 69 lineare Transformation, 32, 276 linear unabh¨ ang, 271 lineare H¨ ulle, 270 Linearkombination, 270 logarithmisches Kostenmaß, 73 lokal realistisch, 58 lokale unit¨ are Transformation, 31, 77 Lokalit¨ atsprinzip, 57–59 Mach, Ludwig, 241 Mach-Zehnder-Interferometer, 241– 244 man-in-the-middle attack, 188 Matrix adjungierte, 24 invertierbare, 276 orthogonale, 276 Permutations-, 31 transponierte, 275 unit¨ are, 24, 32, 276 ankt, 57 maximal verschr¨ Mehrheitsvotum, 112 Mergesort, 212 Messbasis, 44 Messung, 3, 18, 26, 29, 46, 44–49, 52, 79 als Observable, 48 als Projektion, 47 bez¨ uglich einer Basis, 45 einzelner Bits, 46 Miller-Rabin Algorithmus von, 109 Miniaturisierung, 1, 93 Minimums, Berechnung des, 156, 160 modulo, 279 multiplikativ Inverses, 281 multiplikative Gruppe, 281
302
Namen- und Sachwortverzeichnis M¨ unzwurf, 26, 42, 107 Newton, Isaac, 241, 257 nichtdeterministisch, 105 NMR-Computer, 248 No-Cloning-Theorem, 6, 81–84, 99, 169 Norm, 32, 272 NP, 104, 160, 166 NP-vollst¨ andig, 6, 114–118, 160, 166 NSA, 172 OBDD, 93 Observable, 48 Occam, William von, 261 One-Time Pads, 5, 173–175, 175 Optimierungsprobleme, 137, 138, 160, 166 Optimierungsvariante, 114 Orakel, 33, 165 Ordnung, 202 orthogonal, 273 Orthonormalbasis, 273 P, 102 parametrische Fluoreszenz, 246, 253 Pauli-Matrizen, 79 Pell, John, 236 Periode, 200, 199–206 PGP, 195 Phase, 22, 269 Phasenbestimmung, 232 photoelektrischer Effekt, 241, 257 Photonen, 241–248, 257 polarisierte, 244, 253 Planck, Max, 1, 255–259 Podolsky, Boris, 57, 258 Polarisation, siehe Photonen, polarisierte Polynome Koeffizientendarstellung, 207 Multiplikation, 207 St¨ utzstellendarstellung, 208 Polynomialzeit, 74, 102 Polynommultiplikation, 207, 207 Primfaktorzerlegung, 4, 7, 117, 193, 194, 194, 201–206, 223– 231 Primzahl, 103, 194, 279 Primzahltest, 107 Privacy amplification, 182
Problem des Handlungsreisenden, 7, 114, 138, 160, 166 Probleminstanz, 74 Problemklasse, 74 Projektion, 47, 274–275 Pseudozufallszahlen, 26, 174 PSPACE, 120 Public Key-Kryptographie, 194, 232 QFT, siehe Quanten-Fouriertransformation Quanten-Fouriertransformation, 214–218, 232, 233 Quanten-Turingmaschine, 122 Quantendatenbanken, 160 Quantenbit, 2, 20, 52, 237 kopieren, 81–84 Quantengatter, 76–81 Quantenkanal, 126 Quantenkryptographie, siehe Kryptographie, QuantenQuantenparallelismus, 2, 12 Quantenregister, 29, 51 Quantenschaltkreise, 76–81 Quantensuche Komplexit¨ at der, 162 Quantenteleportation, 3, 125–131, 246 Quicksort, 106, 212 randomisiert, 107, 106–113 randomisierte Algorithmen, 101 Raussendorf, Robert, 252 Realismus, lokaler, siehe lokal realistisch Rechenschritt, 11, 52 Redundanz, 172 Register, 28 reiner Zustand, 239 reversibel, siehe Berechnung, umkehrbare Rivest, Ronald, 194 Rosen, Nathan, 57, 258 RSA-Kryptographie, 4, 193–199, 205 Rutherford, Ernest, 258 Schaltkreise klassische, 14–17, 75–76 umkehrbare, 84–93 uniforme, 75 Schl¨ usselerzeugung, 178
Namen- und Sachwortverzeichnis Schl¨ usselverteilung, 178 schnelle Fouriertransformation, 212– 213 Schr¨ odinger, Erwin, 18, 20, 53, 263– 264 Schr¨ odingers Katze, 17–20, 22, 49, 238, 259, 260 Sch¨ ussel offentlicher, 194 ¨ geheimer, 171 Shamir, Adi, 194 Shor, Peter, 4, 5, 7, 193, 232 Shors Algorithmus, 159, 204, 193– 231, 249 klassischer Teil, 204 Laufzeit, 230 Quantenteil, 224 Simon, Daniel R., 219 Simons Algorithmus, 218–223, 233 Simulation, 76 Simulation von Quantenprozessen, 5 simulieren, 84 Single Source Shortest Path, 158 Skalar, 270 Skalarprodukt, 32, 43, 272 skalierbar, 249 Speicherverbrauch, 120 Spiegelung am Mittelwert, 141 Spieltheorie, 106, 254 Standardbasis, 44 Stapp, Henry, 258 Strahlteiler, 242 St¨ utzstellendarstellung, 208 Suche nach dem Minimum, 156 superdense coding, siehe dichte Kodierung superdichte Kodierung, 3, siehe dichte Kodierung Superposition, 2, 12, 17, 21, 52 gleichgewichtete, 43 Tapp, Alain, 155 Teiler, 279 Teiler, echter, 279 teilerfremd, 279 Teleportation, siehe Quantenteleportation Tensor- und Skalarprodukt, 43 Tensorprodukt, 37–44 Toffoli, Tommaso, 87 Toffoli-Gatter, 87–93 TSP, 114, 138, 160
303 Turing, Alan, IX, 13, 265 Turingmaschine, 13–14 Quanten-, 123 universelle, 13 umkehrbar, siehe Berechnung, umkehrbare uniform, 75 unit¨ ar, 24, 32 universell, 87 untere Schranken, 161–166 mit Polynomen, 166 unterscheidbare Zust¨ ande, 93–95 unverschr¨ ankt, 55 Vandermonde Matrix, 208 Vazirani, Umesh, 66 Vektorraum, 269–275 verborgene Variablen, 58, 258, 260 Verifikation effiziente, 104 Vernam, Gilbert, 5, 173 Verschl¨ usselung, siehe Kryptographie ankung, 3, 53–59, 127, 133– Verschr¨ 135, 246, 258 maximale, 57 Maß der, 57 Verschr¨ankungsreinigung, 130 Volladdierer, 16 von Neumann, John, IX Wahrscheinlichkeit, 21–22 Wahrscheinlichkeitsverteilung, 277 Walther, Philipp, 253 Weinfurter, Harald, 131, 192, 247 Weinfurther, Harald, 248 Weizs¨ acker, Carl Friedrich von, 261 Wiesner, Stephen, 133 Zahlentheorie, 279 Zehnder, Ludwig, 241 Zeilinger, Anton, 3, 59, 130, 131, 169, 192, 248 Zoller, Peter, 250 Zufallsgenerator, 26, 42 Zufallsvariable, 277 Zufallszahlen, 26 zuf¨ allig w¨ ahlen, 278 Zuse, Konrad, IX, 1 Zustandsvektor, 22 Z¨ ahlen, 159