Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS 05 15.5.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Christian Scheideler SS 2009
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Christian Schindelhauer
Minimum Spanning Tree: MST
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Chromatische Zahl.
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Analyse der Laufzeit von Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
 Präsentation transkript:

Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS

Property Testing Property Testing: Alle Graphen mit der Eigenschaft sollen akzeptiert werden (mit Ws. 2/3) Alle Graphen, die weit von der Eigenschaft sind, sollen verworfen werden (mit Ws. 2/3) Alle anderen Graphen: egal Komplexität eines Testers: Anzahl der Fragen/Zeit Im allgemeinen sind Tester randomisiert! Eine Eigenschaft heisst testbar, wenn sie einen Tester besitzt, der obigen Anforderungen genügt, und der in Zeit f(1/ ) läuft Zeit/Fragen zum Beispiel log(1/ ) oder poly(1/ ) oder exp(1/ ) [wichtig!]

Property Testing Allgemeiner: Eingaben aus X n Boolesche Funktion f auf der Menge Distanzfunktion D auf X n Eingaben mit f(x)=1 werden akzeptiert mit Ws. 2/3 Eingaben mit D(x,y)¸ für alle y mit f(y)=1 werden verworfen mit Ws. 2/3 Kosten: Anzahl der Fragen nach Position i der Eingabe (Element von X)

Für Grapheigenschaften G,H Graphen, P Eigenschaft D(G,H)=# zu verändernde Kanten/ Entspricht normalisierter Hamming Distanz zwischen Matrizen G und H D(G,P)=min{D(G,H): H hat P}

Graphzusammenhang Ein ungerichteter Graph heisst zusammenhängend, wenn es zwischen jedem Paar von Knoten einen Weg gibt Sei Connect das Problem zu entscheiden, ob ein Graph zusammenhängend ist (dann Connect(G)=1) Klar: Connect ist monotone Grapheigenschaft Theorem 2.1: D(Connect)=

Beweis Adversary Methode: Algorithmus fragt Kanten, Gegner beantwortet Fragen Angenommen Algo stellt weniger als Fragen Strategie des Gegners: Sage immer: Keine Kante, ausser dadurch wird der Graph unzusammenhängend

Beweis Genauer: Im Spiel werden Kanten des vollständigen Graphen gefärbt Algo wählt nächste Kante, Gegner entscheidet, ob Kante rot oder blau (rot: ist nicht vorhanden, blau: ist vorhanden) Gegner gewinnt, wenn die letzte Kante entscheidet, ob blaue Kanten alle Knoten als zusammenhängenden Graphen verbinden oder nicht

Beweis Strategie des Gegners: Auf Frage nach einer Kante (u,v): Wenn es noch einen möglichen Spannbaum für alle Knoten mit ungefärbten und blauen Kanten gibt, ohne (u,v), dann rot, sonst blau Behauptung: Gegner gewinnt Angenommen (i,j) wurde nicht gefragt/gefärbt, aber Algo gibt eine Antwort Dann muss der Graph der blauen Kanten zusammenhängend sein, Antwort also: ja Invariant: es gibt einen Spannbaum aus blauen und ungefärbten Kanten Daher muss schon ein Weg i nach j bekannt sein (blaue Kanten) Sei (k,l) letzte gefragte Kante auf einem solchen Weg Widerspruch, denn Gegner hätte (k,l) nicht blau gefärbt

Property Tester für Connect? Angenommen zusammenhängende Graphen sollen akzeptiert werden Jeder Graph ist höchstens n-1 Kanten von einem zusammenhängenden entfernt, also Distanz ¼ 1/n Für >1/n reicht es also aus, jeden Graphen zu akzeptieren Umgekehrt, angenommen nicht zusammenhängende Graphen sollen akzeptiert werden, weit davon entfernte nicht Hier kann ein Knoten mit n-1 Kantenentfernungen isoliert werden Ist das Problem trivial?

Adjazenz listen modell Gegeben sei Graph mit Grad d durch n ungeordnete Arrays von jeweils bis zu d anderen Knoten Freier Zugriff auf Arrays Einzelne Arrayelemente sind entweder Knotennamen oder leer dn Eingaben 2{1,…,n,;} Untere Schranke: D(Connect)=dn Beweis: Übung

Adjazenz listen modell Distanz in der neuen Repräsentation: Anzahl der Einträge, die geändert werden müssen Also sind Graphen weit entfernt, wenn dn Einträge verändert werden müssen Beachte: dn · n, also d· 1/

Property Tester für Connect Idee: Wenn ein Graph weit entfernt davon ist, zusammenhängend zu sein, gibt es viele Komponenten Werkzeug: Zusammenhang kann in linearer Zeit durch Breitensuche entschieden werden Breitensuche im Modell: Finde alle Nachbarn in Zeit d

Property Tester für Connect Algorithmus: Wähle m=16/( d) Knoten zufällig Für alle Knoten mache eine Breitensuche, und teste, ob mindestens 8/( d) Knoten gesehen werden oder Komponente erschöpft Wenn zweiter Fall jemals auftaucht, Ausgabe nein, sonst ja Idee: Weit von connected, dann viele Komponenten, also normalerweise klein, sonst gar keine kleine Komponente

Property Tester für Connect Klar: Wenn G zusammenhängend, dann wird nie verworfen Wenn G weit von zusammenh., dann gibt es viele Komponenten, formal: Lemma 2.1: Sei G -weit entfernt von Zusammenhang, dann hat G mindestens dn/4 Komponenten hat G mindestens dn/8 Komponenten der Grösse · 8/( d) Also: viele Komponenten sind klein, Tester wird eine kleine mit hoher Ws. finden und den Graphen verwerfen

Analyse Lemma 2.1.: Sei G -weit entfernt von Zusammenhang, dann hat G mindestens dn/4 Komponenten hat G mindestens dn/8 Komponenten der Grösse ·8/( d) Beweis Teil 2 aus 1: Wenn es · dn/8 Komponenten mit ·8/( d) Knoten gibt, gibt es mehr als dn/8 Komponenten mit mehr als 8/( d) Knoten, also mehr als n Knoten!

Analyse Angenommen Lemma 2.1. gilt: Sei G -weit von Zusammenhang entfernt und habe daher mindestens dn/8 Komponenten der Grösse ·8/( d) Wahrscheinlichkeit eines Knoten, in einer kleinen Komponente zu liegen, ist Also mindestens #kleine Komponenten / n ¸ d/8 Also ist mit hoher Wahrscheinlichkeit einer der zufällig gewählten Knoten in einer solchen. Dann wird verworfen!

Analyse Anzahl Fragen: Sample size: m=16/( d) Aufgeben, wenn 8/( d) Knoten in Komponente, jeweils Zeit d um Nachbarn zu finden Also ·m ¢ 8/( d) ¢ d · O(1/(d 2 )) Fragen Somit testbar, beachte d · 1/

Beweis: Lemma 2.1. G sei -weit entfernt von Zusammenhang Dann hat G mindestens dn/4 Komponenten Intuition: Sei Grad <d überall Dann sind < dn durch< dn Kanten verbindbar, Distanz also < dn

Beweis: Lemma 2.1. Habe also G < dn/4 Komponenten Komponenten C 1,...,C l Behauptung: dn/2 Kanten reichen, um G zu verbinden Einfacher Fall: In jeder Komponente Summe der Grade d|C |-2, dann verbinde jeweils C i mit C i+1, Kanten: < dn/4 Sonst: C i habe Grad > d|C i |-2 Finde Spannbaum T i in C i Es gibt mind. 1 Kante in C i, die nicht in T i liegt Entferne diese Anzahl Kanten rein/raus: dn/2

Bipartitheit Ein Graph heisst bipartit, wenn es eine Partition der Knoten in zwei Mengen gibt, so dass alle Kanten zwischen den zwei Mengen verlaufen Betrachten Adjazenzmatrixmodell Distanz: Anzahl zu verändernde Kanten/ Bipartitheitsproblem Bip: Entscheide, ob Graph bipartit ist Bip ist antimonotone Grapheigenschaft, also schwer D(Bip) maximal Linearzeitalgorithmus existiert (Breitensuche)

Bipartitheit -weit von Bip heisst: n 2 Kanten müssen entfernt werden, um bipartit zu werden D.h. für alle Partitionen V 1,V 2 der Knoten sind n 2 Kanten innerhalb V 1 oder innerhalb V 2

Tester Ziehe m zufällig Knoten m=O(log(1/ )/ 2 ) Frage alle Kanten zwischen solchen Knoten Teste, ob der Subgraph bipartit ist Wenn ja: akzeptiere, nein: verwerfe Laufzeit hängt nur von ab Klar: G ist bipartit, dann auch alle Subgraphen, d.h., bipartite Graphen werden immer akzeptiert Z.z.: -weit entfernte Graphen mit Ws. 2/3 verworfen