28
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1.

Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Embed Size (px)

Citation preview

Page 1: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Quantum Computing

Hartmut KlauckUniversität FrankfurtWS 05/0626.1.

Page 2: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Approximative Polynome

Wenn der Quantenalgorithmus mit T Fragen Fehler 1/3 hat, dann gibt es ein Polynom p mit Grad 2T mit p(x)2[0,1/3] für f(x)=0 und p(x)2[2/3,1] für f(x)=1

adeg(f) sei der minimale Grad eines solchen Polynoms

Wir erhalten: Q(f)¸ adeg(f)/2 Beispiel OR von 2 Bits: x1/3+x2/3+1/3,

somit adeg(OR2)=1

Page 3: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Symmetrisierung

Sei f eine symmetrische Funktion, also f konstant auf allen x mit |x|=k, d.h. es existieren Funktionswerte f0,…,fn

Betrachte Polynom p mit einer reellen Variablen, das p(k)2[0,1/3] für fk=0 und p(k)2[2/3,1] für fk=1

Aus einem Polynom für f erhalten wir ein solches Polynom gleichen Grades

Page 4: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Approximative Polynome uns symmetrische Funktionen Sei (f)=min {|2k-n+1|: fk fk+1} für

symm. f Paturi: adeg(f)=( (n (n-(f)))1/2 )

Beispiel: OR: (OR)=n-1, also adeg:

Beispiel MAJORITY:

Page 5: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Charakterisierung Q(f) für symmetrische Funktionen Paturi gibt uns Q(f)¸((n (n-(f)))1/2

Es gilt auch: Q(f)· O((n (n-(f)))1/2

Beweis: Beobachtung: Es reicht, zu wissen:

• |x|, wenn |x|· (n-(f))/2• |x|, wenn |x|¸ (n+(f))/2• Ansonsten: f ist konstant zwischen (n-(f))/2

und |x|¸ (n+(f))/2

Page 6: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Charakterisierung Q(f) für symmetrische Funktionen

Beobachtung: Es reicht, zu wissen:• |x|, wenn |x|· (n-(f))/2• |x|, wenn |x|¸ (n+(f))/2• Ansonsten: f ist konstant zwischen (n-(f))/2 und

|x|¸ (n+(f))/2

Suche i mit x_i=1 bis (n-(f))/2 viele gefunden oder keine mehr vorhanden

Suche i mit x_i=0 bis (n-(f))/2 viele gefunden oder keine mehr vorhanden

Entscheide Laufzeit: Finde t markierte Positionen: O( ) Daher:

Page 7: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Wie gut sind untere Schranken mit der Polynom Methode? Behauptung: adeg(f) und Q(f) sind

polynomiell verwandt für totale Funktionen f Für partielle Funktionen ist dies falsch!

Plan: Zeigen: Untere Schranken für adeg via „block-

sensitivity“ bs(f) Zeigen obere Schranken für D(f) via bs(f)

Weiteres Korollar: D(f) und Q(f) polynomiell verwandt!

Page 8: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

(Block)-Sensitivität

s(f,x) sei die Anzahl von Bits, die man in x flippen kann, so dass für das erhaltene x‘ gilt f(x‘) f(x)

Beispiel: s(OR,0n)=n

s(f)=maxx(s(f,x) )

Blocksensitivität: Erlaube ganze Blöcke zu flippen

Page 9: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

(Block)-Sensitivität

Blocksensitivität: Erlaube ganze Blöcke zu flippen

bs(f,x): max k, so dass folgendes möglich: Bilde k disjunkte Mengen von Variablen

(Blöcke) Flippe alle Variablen in Block i) f-Wert

wechselt bs(f) is Maximum über alle x von bs(f,x)

Page 10: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Unterschied s(f) und bs(f) Es gibt eine Boolesche Funktion f mit s(f)=n1/2 und

bs(f)=n/2 Beweis:

f: n1/2 Blöcke von n1/2 Variablen f(x)=1, wenn es einen Block gibt mit 2 Einsen

nacheinander und sonst Nullen bs(f)¸ n/2: 0n ist sensitive Eingabe s(f)· n1/2: Übung

Page 11: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Wir zeigen:

Q(f)¸ ( bs1/2(f) )

Beispiel: bs(OR)=s(OR)=n

Dann: D(f)· C2(f) C(f): Zertifikatskomplexität

Und C(f)· s(f) bs(f)

Damit: Q(f)¸ D1/8 (f)

Page 12: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Die untere Schranke via bs(f) FAKT [Ehlich und Zeller]:

Sei p ein Polynom mit b1· p(i)· b2 für alle ganzen Zahlen 0· i· n

Es gelte |p‘(x)|¸ c für ein reelles 0· x· N Dann ist deg(p)¸

Theorem: adeg(f)¸ (bs(f)/4)1/2

Page 13: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Die untere Schranke via bs(f) Sei x eine Eingabe mit bs(f,x)=bs(f) ObdA nehmen wir an, x=0k, bs(f)=k Betrachte Symmetrisierung eines

Polynoms mit minimalem Grad, erhalten univariates p

0· (0)· 1/3 1¸ p(1)¸ 2/3 1¸ p(i)¸ 0 für i=2,…,n Daher: p‘(z)¸ 1/3 für z aus [0,1] Dann gilt: deg(p)¸

Page 14: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Die untere Schranke via bs(f) FAKT [Ehlich und Zeller]:

Sei p ein Polynom mit b1(x)· p(i)· b2 für alle ganzen Zahlen 0· i· n

Es gelte |p‘(x)|¸ c für ein reelles 0· x· N Dann ist deg(p)¸

Folgt aus Markov‘s Theorem: Sei p ein univariates Polynom vom Grad d, so dass

für alle a· x· b gilt: c· p(x)· e. Dann gilt |p‘(x)|· d2(e-c)/(b-a)

Beweis: Es gilt: für alle reellen x aus [0,n]: b1-c/2· p(x)· b2+c/2

Markov: c· deg2(p)(c+b2-b1)/n Damit: deg2(p)¸

Page 15: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Die obere Schranke durch bs(f) Wollen zeigen: D(f)· bs4(f)

Dazu betrachten wir die Zertifikatskomplexität C(f)

Wir zeigen D(f)· C2(f) Und C(f)· bs2(f)

Page 16: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Zertifikate

Definition Ein Term der Form

c=(xi(1)=b1 Æ…Æ xi(k)=bi(k)) heisse ein a-Zertifikat für eine Boolesche Funktion f, wenn für alle Eingaben x2 {0,1}n die mit dem Term übereinstimmen, f(x)=a gilt

Eingabe x hat Zertifikat c, wenn c auf x wahr k sei die Länge des Zertifikates f habe Zertifikatskomplexität k, wenn es für

alle Eingaben ein Zertifikat der Länge k gibt, und für kleinere k‘ dies nicht gilt

Dann sei C(f)=k

Page 17: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Zertifikate

Definition f habe a-Zertifikatskomplexität k, wenn

es für alle Eingaben mit f(x)=a ein Zertifikat der Länge k gibt, und für kleinere k‘ dies nicht gilt

Dann sei Ca(f)=k

Page 18: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Beispiel

C1(OR)=1,

Verwende Zertifikate xi=1

C0(OR)=n Wenn nicht alle Bits auf 0 gesetzt sind, ist

OR(x)=1 möglich C(OR)=n

Page 19: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

C(f) vs. D(f)

Theorem D(f)· C0(f) C1(f)

D(f) gross: wenn C0(f) klein, dann ist C1(f) gross Beispiel:

AND(OR(…),OR(…),…,OR(…)) Formel Tiefe 2 mit Grad n1/2

Page 20: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Beispiel

C0(f),C1(f)=n1/2

C0: fix. OR C1: fix. 1 per AND

Aber: D(f)=n Also Theorem optimal

Page 21: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Beweis

Beobachtung: Jedes Paar von 1-Zertifikat und 0-Zertifikat hat

gemeinsame Variable Denn sonst gibt es eine Eingabe, die mit

beiden konsistent! Algorithmus:

Exponiere 1-Zertifikat Kürze alle 0-Zertifikate Bis nicht mehr möglich

Page 22: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Der Algorithmus

C1(f)=k, C0(f)=l K:Menge von 1-Zertifikaten der Länge k, die 1-Eingaben

überdeckt L:Menge von 0-Eingaben …

Wähle c aus K, Frage alle Variablen in c c erfüllt: Akzeptiere Sonst: Entferne c aus K Für alle d aus L: wenn d noch konsistent mit

gelesenen Var., dann entferne aus d bekannte Variablen, sonst entferne d

Wenn L leer ist: akzeptiere Wenn L nur noch triviale Zertifikate enthält:

Verwerfe Wenn K leer ist: verwerfe

Page 23: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Analyse

Korrektheit: Für alle Eingaben x gibt es ein 0-Zert. oder ein 1-

Zert. f(x)=0, dann wird 0-Zert. nie entfernt, also wird

verworfen f(x)=1, mit 1-Zert. c: Entweder

c wird gefragt, dann wird akz. Oder: Es werden andere c‘ aus K gefragt, bis L

leer Es wird akzeptiert

Page 24: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Laufzeit

Wenn c aus K gefragt wird, werden alle d aus L entweder gestrichen, oder um 1 Variable gekürzt

Kosten des Fragens von c: k Anzahl der Runden, bis L leer: höchstens l In allen anderen Fällen wird vorher entschieden Gesamt: D(f)· kl=C0(f)C1(f)

Page 25: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Zusammengefasst

C(f)· D(f)· C2(f) C1(f),C0(f)· D(f)· C0(f)C1(f)

Nichtdeterminismus entspricht C1

Page 26: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

C(f) vs. bs(f)

Theorem C(f) · bs(f) s(f)

Beobachtung: Wenn (für f und x) B ein minimaler Block von

Variablen ist, den zu flippen den Funktionswert ändert,dann ist s(f)¸ |B|.

Denn: Sei x‘ wie x mit B geflippt Dann ändert auf x‘ jede Variable in B den

Funktionswert, d.h. s(f,x‘) ¸ |B|

Page 27: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Beweis

Idee: für jedes x konstruiere ein kurzes Zertifikat Wenn für alle x ein Zertifikat der Länge s(f)bs(f,x)

existiert, gilt C(f)· s(f) bs(f) Sei x gegeben, B1,..., Bk Blöcke wie in Def mit

k=bs(f,x) Blöcke seien minimal, d.h. |Bi|· s(f)

Setze alle Variablen in [i Bi wie in x Klar: Monom c mit s(f)bs(f,x) Variablen

Page 28: Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/06 26.1

Beweis

Ist c ein korrektes Zertifikat? Sei x‘ eine Eingabe mit f(x‘) f(x) und x‘

konsistent mit c Sei Bk+1 die Menge der Variablen, wo x, x‘

unterschiedlich Klar: auf x ist f für Bk+1 sensitiv

Aber Bk+1 ist disjunkt von den Variablen in c, denn dort sind x und x‘ gleich!

Also ist bs(x)>k, Widerspruch!