Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

21
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Transcript of Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Page 1: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Quantum Computing

Hartmut KlauckUniversität FrankfurtWS 05/0619.12./2.1.

Page 2: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Element Distinctness

Problem: Gegeben n Zahlen von [1...10n] Sind die n Zahlen paarweise verschieden? Lösung zum Beispiel durch Sortieren

(Counting Sort), lineare Zeit Schneller Quantenalgorithmus? Lösung in Zeit O(n3/4 log n) Benutze Amplituden Amplifikation

Page 3: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Element Distinctness

Problem: Gegeben Menge T von n Zahlen aus [1...10n]

Sind die n Zahlen paarweise verschieden?

Ziehe n1/2 Elemente zufällig, lese sie und sortiere sie in Zeit O(n1/2), Menge A

Wenn zwei gleiche Elemente gefunden, Ausgabe

Benutze Grover Algorithmus, um festzustellen, ob es in T-A ein Element gibt, dass auch in A liegt, Zeit O(n1/2 log n), da A sortiert

Prozedur findet zwei gleiche Elemente mit Wahrscheinlichkeit 1/n1/2 wenn vorhanden

Amplituden Amplifikation! Laufzeit O(n1/2 log n¢ n1/4)

Page 4: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Element Distinctness

Wir haben Algorithmus mit O(n3/4 log n)Zeit gesehen (und SpeicherplatzO(n1/2 log n))

Tatsächlich können wir mit weniger Speicher, aber mehr Zeit auskommen

Page 5: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Time-Space Tradeoff

Speicherplatz für S Indizes sei erlaubt Problem: Gegeben Menge T von n Zahlen aus [1...10n] Sind die n Zahlen paarweise verschieden?

Ziehe S<n1/2 Elemente zufällig, lese sie und sortiere sie in Zeit O(S log S), Ergebnis Menge A

Wenn zwei gleiche Elemente gefunden, Ausgabe Benutze Grover Algorithmus, um festzustellen, ob es

in T-A ein Element gibt, das auch in A liegt, ZeitO(n1/2 log S), da A sortiert

Prozedur findet zwei gleiche Elemente mit Wahrscheinlichkeit s/n, wenn vorhanden

Amplituden Amplifikation! Laufzeit also O(n1/2log S ¢ (n/S)1/2)=O(n log n/S1/2) für

beliebiges S < n1/2

Page 6: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Graphalgorithmen mit Quantensuche

Page 7: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Minimale Spannbäume

Ein ungerichteter Graph sei als Adjazenzmatrix/liste mit Gewichten gegeben

Gesucht ist eine Menge von maximal vielen Kanten, die Bäume bilden, und minimales Gewicht haben (spannender Wald)

Der Graph sei im Speicher abgelegt, d.h. keine Rechenzeit für das Lesen der Eingabe

Page 8: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Minimale Spannbäume

Klassische Algorithmen: Boruvka, Prim, Kruskal O(|E| log |V|) im Adjazenzlistenmodell O(n2 log n) im Adjazenzmatrixmodell Es gibt (fast) Linearzeit Algorithmen

Wir verwenden Boruvka Algorithmus

Page 9: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Minimale Spannbäume

Algorithmus von Boruvka Zu Beginn betrachte jeden Knoten als einen

Baum Gegeben also Menge von Bäumen In jeder Iteration wähle für jeden

Baum eine minimale adjazente Kante aus, (die den Baum verlässt)

Verschmelze die Bäume entsprechend Anzahl der Phasen: jede Iteration halbiert die

Anzahl der Bäume (mindestens), daher höchstens log n Phasen

Laufzeit somit O(m log n)

Page 10: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Vorbereitungen

Wir wollen die Minimum Algorithmus mit Laufzeit O(n1/2) verwenden

Der Algorithmus rechet mit beschränktem Fehler

Zunächst versuchen wir nur die Anzahl Fragen zu minimieren

Betrachte zusammenhängende Graphen

Page 11: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Algorithmus

Zu Beginn ist jeder Knoten ein Baum Seien T1,…,Tk Bäume Wiederhole bis es nur noch einen Baum gibt

Finde Kanten e1,…,ek so dass ej minimal und Tj verlassend

Unterbreche, wenn mehr als O(n3/2 log n) Fragen gestellt

Füge Kanten ein und verschmelze Bäume Ausgabe T1

Page 12: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Algorithmus

Verwalte Bäume als Mengen von Spalten der Adjazenzmatrix

k Bäume: Suche aus <n Nachbarn nicht im Baum) k mal Minimum aus <n2 Kanten

Seien Anzahl der ausgehenden Kanten m1,…,mk, dann ist mi<n2

Kosten der k Minimum Suchen: mi1/2 · (n2/k)1/2 ¢ k

Tatsächlich notwendig, Fehler auf z.B. 1/n2 zu senken, Kosten: log n Faktor

Weiterhin log n Iterationen, k=n maximal, also insgesamt O(n3/2log n), da erste Iteration geometrisch dominiert

Page 13: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Weitere Idee

Modifikation von Boruvka Iteration l hat Fehler 1/2l+2

Gesamtfehler dann ¼ Minimum Algorithmus hat Fehler 1/2l+2,

wenn Laufzeit O(l n1/2) Iteration l einen Faktor von O(l) teurer,

insgesamt vernachlässigbar

Page 14: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Verfeinerung des Algorithmus Zu Beginn ist jeder Knoten ein Baum l=0 Seien T1,…,Tk Bäume Wiederhole bis es nur noch einen Baum gibt

Erhöhe l Finde Kanten e1,…,ek so dass ej minimal und Tj

verlassend Unterbreche, wenn mehr als O((l+2)k1/2n)

Fragen gestellt Füge Kanten ein und verschmelze Bäume

Ausgabe T1

Page 15: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Insgesamt

O(n3/2) Fragen an die Black Box und Fehler ¼

Zeit: Brauchen Datenstruktur, die es erlaubt, per Iteration alle zu einem Baum Ti adjazenten Kanten zu identifizieren und eine Superposition über diese zu erstellen

Dazu reicht es, Superposition über alle Knoten in einem Baum zu erstellen

Zeit: O(n) per Iteration hierzu

Page 16: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Auf Adjazenzlisten

Möglich, Zeit O((mn)1/2) zu erreichen Modell:

Array von Graden der Knoten Pro Knoten ein Array der Nachbarn mit

Gewichten Funktion f bilde 1,…2m ab auf die Gewichte

der Kanten, wenn in verschiedenem Baum Funktion g bilde 1,…,2m auf Baumindex ab Suchen d Elemente verschiedenen Typs mit

minimalem Wert (bzgl. g und f)

Page 17: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Abstrahiertes Suchproblem Gegeben zwei Funktionen f,g Finde eine Menge I von d Positionen, so

dass alle bzgl. g verschieden sind, und wenn esj nicht in I gibt und f(j)<f(i) für ein i aus I, dann gibt es k aus I mit f(k)<f(j) und g(k)=g(j)

Es gibt Quantenalgorithmus, der dies in O((dn)1/2) löst

Page 18: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Abstrahiertes Suchproblem Greedy Ansatz mit Quantensuche Ein Index j heisse „gut“ für eine Menge I

von Indizes, wenn g(i)=g(j) und f(j)<f(i) für ein i aus I ODER g(j) neu und f(j)<f(i) für ein i aus

I Idee: Finde gutes j, und ersetze ein i

durch j

Page 19: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Algorithmus

Anfang: I={n+1,..,n+d}, fiktive Indizes Wiederhole:

t sei die Anzahl der guten Indizes für I Suche einen guten Index j Wenn ein i2I existiert mit g(i)=g(j) ,

dann ersetze i durch j, sonst ersetze das i mit f(i)

grösstmöglich Breche ab nach O((dn)1/2) Schritten

Page 20: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Analyse

LemmaSei I beliebig mit d Elementen, t Anzahl der guten Elemente, diese haben e verschiedene g-Werte.Dann sind nach erwartet O(min{d,e}) Iterationen nur noch ¾t gute Elemente vorhanden.

Dann: Nach O(d (n/t)1/2) Fragen ist die Anzahl der guten Elemente nur noch t/2.

Zeit: Nach O((dn)1/2) Schritten nur noch 2d gute

Elemente übrig Restliche Laufzeit:

(Finde alle)

Page 21: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 19.12./2.1.

Anwendung auf Spannbäume In jeder Iteration halbiert sich die Anzahl

der Spannbäume n/2l Bäume in Iteration l Mit Fehler Schranke Laufzeit jeweils

O(l (m n/2l)1/2) Summiert: