Randomisierte Algorithmen

Größe: px
Ab Seite anzeigen:

Download "Randomisierte Algorithmen"

Transkript

1 Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

2 Spieltheoretische Methoden Ein Spielbaum ist ein gewurzelter Baum mit folgenden Eigenschaften: Jedes Blatt ist mit einer reellen Zahl markiert. Knoten mit gerader (bzw. ungerader) Distanz von der Wurzel sind mit MIN (bzw. MAX) markiert. Beispiel: MIN 3 MAX 2 5 MAX MIN MIN 4 Auswertung des obigen Spielbaums MAX Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

3 Spieltheoretische Methoden Hier: 2 Einschränkungen Blätter sind mit 0 oder 1 beschriftet, d.h. MIN =AND und MAX =OR. = AND-OR-Bäume Sei T d,k der Baum mit: Jedes Nicht-Blatt hat genau d Kinder. Jedes Blatt hat Distanz 2k zur Wurzel. Zum Beispiel: T 3,1 =, = T d,k hat d 2k Blätter INPUT: Baum T d,k und d 2k 0/1-Werte für die Blätter ( = eindeutiger AND-OR-Baum) Ziel: Werte Wurzel von T d,k aus. Wir wollen dabei möglichst wenige der 0/1-Werte an den Blättern lesen. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

4 Spieltheoretische Methoden Beispiel: AND OR OR Nach Lesen dieser beiden Blätter müssen diese nicht mehr gelesen werden. Man kann folgendes zeigen: Sei A ein beliebiger deterministischer Auswertungsalgorithmus. Dann gibt es eine 0/1-Beschriftung der Blätter von T d,k, bei der A alle d 2k Blätter lesen muss. Im Folgenden: d = 2 = T 2,k hat 4 k Blätter Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

5 Spieltheoretische Methoden Algorithmus randeval eval(v) % v ist ein Knoten von T 2,k if v ist ein Blatt then return Wert von v else endif Seien v 0 und v 1 die Kinder von v. Wähle zufällig ein i {0, 1}. b := eval(v i ) if v ist ein AND-Knoten then if b = 0 then return (0) else return eval(v 1 i ) endif elseif % v ist also ein OR-Knoten if b = 1 then return (1) else return eval(v 1 i ) endif endif Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

6 Spieltheoretische Methoden Satz Für jede 0/1-Beschriftung der Blätter von T d,k ist der Erwartungswert für die Anzahl der gelesenen Blätter in einem Ablauf von randeval höchstens 3 k. k = 0 T 2,0 = v (ein Blatt) = Anzahl der auszuwertenden Blätter bei Aufruf eval(v) = 1 = 3 0 k > 0 T 2,k: AND OR OR T 2,k 1 T 2,k 1 T 2,k 1 T 2,k 1 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

7 Spieltheoretische Methoden Betrachte zuerst den folgenden Baum: y x OR z T 2,k 1 T 2,k 1 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

8 Spieltheoretische Methoden 1. Fall: eval(x) = 1 = eval(y) = 1 oder eval(z) = 1. Sei z.b. eval(y) = 1. Bei Aufruf eval(x) wird mit Wahrscheinlichkeit 1 /2 eval(y) als erstes aufgerufen. Induktionshypothese: Für v {y, z} E[Anzahl der ausgewerteten Blätter bei Aufruf eval(v)] 3 k 1 = E[Anzahl der ausgewerteten Blätter bei Aufruf eval(x)] 1 /2 3 k /2 2 } {{ 3 k 1 } = 3 /2 3 k 1 (1) Kosten für den Fall eval(y) = 1, eval(z) = 0 und eval(z) wird als erstes aufgerufen. Bemerkung: Wir gehen hier von einem Worst-Case-Input aus: eval(y) = 1 und eval(z) = 0. Der Fall eval(y) = eval(z) = 1 würde einen Erwartungswert für die Anzahl der ausgewerteten Blätter bei Aufruf eval(x) von 3 k 1 < 3 /2 3 k 1 liefern. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

9 Spieltheoretische Methoden 2. Fall: eval(x) = 0 = eval(y) = eval(z) = 0 = E[Anzahl der ausgewerteten Blätter bei Aufruf eval(x)] 2 3 k 1 (2) Nun betrachten wir T 2,k: v OR u AND w OR 1. Fall: eval(u) = 1 = eval(v) = eval(w) = 1 = E[Anzahl der ausgewerteten Blätter bei Aufruf eval(u)] 3 /2 3 k 1 + } {{ } 3 /2 3 k 1 } {{ } = 3k 1 Kosten für Auswertung von v und w nach (1) Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

10 Spieltheoretische Methoden 2. Fall: eval(u) = 0 = eval(v) oder eval(w) = 0 Sei z.b. eval(v) = 0. Mit Wahrscheinlichkeit 1 /2 wird eval(v) als erstes aufgerufen. E[Anzahl der ausgewerteten Blätter bei Aufruf eval(u)] 1 /2 2 } {{ 3 k 1 } + 1 /2(2 } {{ 3 k 1 } + 3 /2 3 k 1 ) } {{ } Kosten für Kosten für Kosten für Auswertung Auswertung Auswertung von v nach von v nach von w, falls (2) (2) eval(w) = 1, nach (1) = 3 k k /4 3 k 1 < 3 k randeval ist ein Las Vegas Algorithmus Im Folgenden wollen wir eine untere Schranke für den Erwartungswert der Laufzeit eines beliebigen Las Vegas Algorithmus für ein Problem ableiten. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

11 MinMax-Prinzip, Spieltheorie Beispiel: Stein-Schere-Papier mit 2 Spielern: Roberta, Charles Darstellung als Gewinn-Matrix: Strategien von Charles Schere Papier Stein Strategien Schere von Papier Roberta Stein Auszahlungsbetrag von Charles an Roberta (Gewinn für Roberta) Stein-Schere-Papier ist ein Null-Summen-Spiel: Gewinn für Roberta = Verlust für Charles Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

12 MinMax-Prinzip, Spieltheorie Jedes Null-Summen Spiel kann durch eine (n m) Gewinn-Matrix M dargestellt werden. n = Anzahl der Zeilen von M = Anzahl der Strategien für Roberta m = Anzahl der Spalten von M = Anzahl der Strategien für Charles M ij = Gewinn für Roberta, falls sie Strategie i und Charles Strategie j wählt Angenommen Roberta wählt Strategie i. = Sie wird mindestens Gewinn min j M ij machen. = i ist optimale Strategie für Roberta, falls min j M ij maximal. Sei V R = max i min j M ij = Mindestgewinn für Roberta, falls sie optimal spielt. j ist optimale Strategie für Charles, falls max i M ij minimal. Sei V C = min j max i M ij = Maximalbetrag den Charles zahlen muss, falls er optimal spielt. Übung: max i min j M ij min j max i M ij Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

13 MinMax-Prinzip, Spieltheorie Bemerkung: Es kann max i min j M ij < min j max i M ij gelten. Für Stein-Schere-Papier gilt z.b. V R = max i min j M ij = 1 und V C = min j max i M ij = 1. Falls V R = V C, dann existiert ein Paar (ρ, γ) mit min j M ρ,j = V R = V C = max i M i,γ = M ρ,γ. (ρ, γ) ist eine reine Lösung des Spiels oder ein Sattelpunkt. Beispiel: V R = 0, V C = 0 (1, 1) ist ein Sattelpunkt für dieses Spiel. Vorsicht: M 1,1 = M 2,2 = M 3,3, aber (2, 2) oder (3, 3) sind keine Sattelpunkte. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

14 MinMax-Prinzip, Spieltheorie Eine randomisierte Strategie für Spieler A {Roberta, Charles} ist eine Wahrscheinlichkeitsverteilung auf den möglichen Strategien von A. randomisierte Strategie für Roberta: p = (p 1,..., p n ) [0, 1] n mit n i=1 p i = 1 p i = Prob[Roberta wählt Strategie i aus] randomisierte Strategie für Charles: q = (q 1,..., q m ) [0, 1] m mit m j=1 q j = 1 q j = Prob[Charles wählt Strategie j aus] Gewinn für Roberta (= Verlust für Charles) ist nun eine Zufalls variable G n m E[G] = p i M ij q j = p M q T i=1 j=1 Wieder seien V R = max p min q p M q T und V C = min q max p p M q T. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

15 MinMax-Prinzip, Spieltheorie Satz (von Neumann's MinMax Theorem) Für jedes 2-Spieler Null-Summen Spiel mit Gewinnmatrix M gilt: max p min q p M q T = min q max p M q T p Ein Paar von randomisierten Strategien (ˆp, ˆq) mit min q ˆp M q T = V R = V C = max p p M ˆq T heiÿt ein Sattelpunkt. ˆp und ˆq sind optimale gemischte Strategien (sind nicht unbedingt eindeutig). Beobachtung: Für eine feste Verteilung p (etwa ˆp) ist p M q T eine lineare Funktion α 1 q 1 + α 2 q α m q m mit α i R, q i [0, 1], q 1 + q q m = 1. Diese wird minimiert durch die Verteilung q = (q 1,..., q m ) mit { 1 falls αi = min{α 1,..., α m } q i = 0 sonst Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

16 MinMax-Prinzip, Spieltheorie Sei e k = (0,..., 0, 1, 0,..., 0). k-te Komponente Also: max p min q p M q T = max p min j p M e T j. Analog: min q max p p M q T = min q max i e i M q T. Konsequenz: Satz (Loomis Theorem) Für jedes 2-Spieler Null-Summen Spiel mit Gewinnmatrix M gilt: max min p p M ej T = min j q max e i M q T i Yaos Prinzip Sei P ein Berechnungsproblem (z.b. Auswerten von AND-OR-Bäumen). Fixiere eine endliche Menge A von deterministischen Algorithmen zur Lösung von P. Sei I die Menge aller Inputs der Länge n für P. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

17 MinMax-Prinzip, Spieltheorie Charles = Algorithmendesigner Eine (reine) Strategie für Charles ist ein deterministischer Algorithmus A A. Eine randomisierte Strategie für Charles ist eine Wahrscheinlichkeitsverteilung q über der Menge A von deterministischen Algorithmen. Diese kann als ein Las Vegas Algorithmus A q betrachtet werden. Roberta = Gegner (Adversary) Eine (reine) Strategie für Roberta ist ein Input I I. Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein Zufallsinput, der gemäÿ der Verteilung p aus I ausgewählt wird. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

18 MinMax-Prinzip, Spieltheorie E[C(I p, A q )] = Erwartungswert für die Laufzeit des Las Vegas Algorithmus A q für einen Zufallsinput I p = p I C(I, A) q A I I A A p i = Prob[Roberta wählt Input I ], C(I, A) = Laufzeit des determinisitschen Algorithmus A bei Input I, q A = Prob[Charles wählt Algorithmus A] = max p min E[C[I p, A q )] = min q q E[C(I p, A)] = min A A q max min p max E[C(I p, A q )] p max I I E[C(I, A q)] (von Neumann) (Loomi) Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

19 MinMax-Prinzip, Spieltheorie Konsequenz: Satz (Yaos MinMax Prinzip) Für jede feste Inputverteilung p über I und jede feste Verteilung q über A ( = Las Vegas Algorithmus) gilt: min E[C(I p, A)] max E[C(I, A q)] A A I I } {{ } } {{ } erwartete laufzeit eines optimalen det. Al- des Las Vegas Algo- worst case Laufzeit gorithmus für Inputverteilunrithmus A q p Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

20 MinMax-Prinzip, Spieltheorie Allgemeines Vorgehen Sei P ein Berechnungsproblem. Sei R ein beliebiger Las Vegas Algorithmus zur Lösung von P. R kann als eine Wahrscheinlichkeitsverteilung q über einer endlichen Menge A von deterministischen Algorithmen angesehen werden (alle Münzen zu Beginn werfen). Wähle nun eine geeignete Verteilung p auf Inputs der Länge n. Yao = Es gibt einen Input I der Länge n mit E[Laufzeit von R auf Input I ] min A A E[C(I p, A)] min A B E[C(I p, A)] wobei B = Menge aller deterministischen Algorithmen zur Lösung von P. Flexibilität von Yaos Methode: Inputverteilung p kann frei gewählt werden. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

21 MinMax-Prinzip, Spieltheorie Anwendung von Yaos MinMax Prinzip auf das Auswerten von AND-OR-Bäumen Beobachtung: Folgende 2 Bäume werten sich zum gleichen Wert an der Wurzel aus: T 2,k, wobei Knoten mit gerader (ungerader) Distanz zur Wurzel mit AND (OR) beschriftet sind. T 2,k, wobei alle Knoten mit NOR (NOT-OR) beschriftet sind. NOR NOR NOR u v w x = NOR NOT OR NOT OR u v w x = AND OR OR u v w x Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

22 MinMax-Prinzip, Spieltheorie Im Folgenden betrachten wir T 2,k wobei alle internen Knoten mit NOR beschriftet sind. Sei p = 3 5 [0, 1]. 2 Markiere jedes Blatt von T 2,k unabhängig mit Wahr-scheinlichkeit p mit 1 (und mit Wahrscheinlichkeit ( ) 1 p mit 0). Beobachtung: Betrachte folgenden Baum: NOR z x y Setze x und y unabh. voneinander mit Wahrscheinlichkeit p jeweils auf 1. = Prob[z = 1] = Prob[x = 0 y = 0] = Prob[x = 0] Prob[y = 0] = (1 p) 2 = p = Jeder Knoten in T 2,k wertet sich mit Wahrscheinlichkeit p zu 1 aus. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

23 MinMax-Prinzip, Spieltheorie Sei nun A ein beliebiger deterministischer Algorithmus zum Auswerten von NOR-Bäumen. Wir beweisen eine untere Schranke für E[Laufzeit von A, falls Input zufällig nach Methode ( ) gewählt wird]. Ein deterministischer Algorithmus A zum Auswerten von NOR-Bäumen ist ein depth-rst pruning Algorithmus, falls für jeden Knoten v mit Kindern v 0, v 1 gilt: Es gibt ein i {0, 1}, so dass A erst nur Blätter unterhalb von v i und danach nur Blätter unterhalb von v 1 i besucht. Satz (ohne Beweis) Für jeden deterministischen Algorithmus A zum Auswerten von NOR-Bäumen gibt es einen depth-rst pruning Algorithmus B mit: [ ] [ ] Laufzeit von A, falls Input zufällig nach ( ) gewählt wird fällig nach ( ) gewählt Laufzeit von B, falls Input zu- E E wird Wir können uns also auf depth-rst pruning Algorithmen beschränken. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

24 MinMax-Prinzip, Spieltheorie Sei A ein depth-rst pruning Algorithmus. Sei w(h) = E [ Anzahl der Blätter eines NOR-Baums der Tiefe h, die A auswertet, falls jedes Blatt mit Wahrscheinlichkeit p auf 1 gesetzt wird ] = w(h) = w(h 1) } {{ } + (1 p) } {{ } w(h 1) } {{ } Aufwand zum Auswerten des ersten dass sich erstes Wahrscheinlichkeit, Kinds der Wurzel Kind der Wurzel zu 0 auswertet = w(h) = (2 p) w(h 1) Da w(0) = 1, folgt w(h) = (2 p) h. h = log 2 (n), wobei n = Anzahl der Blätter. Aufwand zum Auswerten des zweiten Kinds der Wurzel = w(h) = (2 p) log 2 (n) = n log 2 (2 p) n 0,694 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

25 MinMax-Prinzip, Spieltheorie Satz Für jeden randomisierten Las Vegas Algorithmus R zum Auswerten von AND-OR-Bäumen gibt es eine Belegung I der Blätter von T 2,k mit 0/1-Werten, so dass: [ ] Anzahl der Blätter von T2,k die R bei Belegung der Blätter gemäÿ I E n 0,694 auswertet wobei n = 4 k. Erinnerung: Für randeval war der Erwartungswert für die Anzahl der ausgewerteten Blätter von T 2,k bei jeder Belegung der Blätter mit 0/1-Werten 3 k. n = 4 k = 3 k n 0,793 Kann Yaos Methode so angewendet werden, dass wir eine untere Schranke von 3 k erhalten? Ja: Wahrscheinlichkeitsverteilung auf Inputmenge muss cleverer gewählt werden. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

26 Derandomisierung und Nicht-Uniformität Derandomisierung und Nicht-Uniformität Ein Boolescher Schaltkreis mit n Inputs ist ein gerichteter azyklischer Graph mit den folgenden Eigenschaften: 1 Es gibt genau n Knoten mit Eingangsgrad 0 (Inputgatter), diese sind mit x 1,..., x n markiert. 2 Es gibt genau einen Knoten mit Ausgangsgrad 0 (Ausgabegatter). 3 Jeder Knoten, der kein Eingabegatter ist, ist mit AND, OR oder NOT markiert. Ist v mit NOT markiert, so hat v Eingangsgrad 1. Ein Boolescher Schaltkreis mit n Inputs berechnet auf natürliche Weise eine n-stellige Boolesche Funktion f : {0, 1} n {0, 1}. Ein randomisierter Boolescher Schaltkreis mit n Inputs hat zusätzlich zu den n Inputgattern noch m weitere Zufallsgatter r 1,..., r m (m ist hier beliebig) mit Eingangsgrad 0. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

27 Derandomisierung und Nicht-Uniformität Ein randomisierter Boolescher Schaltkreis B mit n Inputs berechnet eine Funktion f : {0, 1} n {0, 1}, falls für jede Belegung von x 1,..., x n mit 0/1-Werten gilt: f (x 1,..., x n ) = 0 = B wertet sich zu 0 aus für jede Belegung der Zufallsgatter. f (x 1,..., x n ) = 1 = B wertet sich zu 1 aus für mindestens die Hälfte aller Belegungen der Zufallsgatter, d.h. [ ] B wertet sich bei zufälliger Belegung Prob 1 der Zufallsgatter zu 1 aus 2 Sei nun f : {0, 1} {0, 1}. Für n 0 sei f n die Einschränkung von f auf {0, 1} n, d.h. f n : {0, 1} n {0, 1} und für alle x {0, 1} n : f n (x) = f (x). Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

28 Derandomisierung und Nicht-Uniformität Sei (B n ) n 0 eine Folge von (randomisierten) Booleschen Schaltkreisen, wobei B n n Inputgatter hat. (B n ) n 0 berechnet f : {0, 1} {0, 1}, falls für alle n 0 gilt: B n berechnet f n. Die Folge (B n ) n 0 ist polynomiell, falls ein Polynom p(n) existiert mit: Anzahl der Gatter von B n p(n). Satz (Adlemans Theorem) Sei f : {0, 1} {0, 1} eine Funktion, die von einer polynomiellen Folge von randomisierten Booleschen Schaltkreisen berechnet wird. Dann wird f von einer polynomiellen Folge von Booleschen Schaltkreisen berechnet. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

29 Derandomisierung und Nicht-Uniformität Beweis: Sei (B n ) n 0 eine polynomielle Folge von randomisierten Booleschen Schaltkreisen, die f : {0, 1} {0, 1} berechnet. Betrachte B n : n Inputgatter x 1,..., x n, m Zufallsgatter r 1,..., r m. Eine 0/1-Belegung der Inputgatter x 1,..., x n (bzw. Zufallsgatter r 1,..., r m ) wird mit einer Zahl x {0,..., 2 n 1} (bzw. r {0,..., 2 m 1}) identiziert. Wir schreiben B n (x, r) = 1, falls sich der Schaltkreis B n unter diesen Belegungen zu 1 auswertet. Deniere Boolesche Matrix M wie folgt: 2 m Spalten 0,..., 2 m 1 M = x M x,r 2 n Zeilen 0,..., 2 n 1 M x,r = { 1 falls Bn (x, r) = 1 0 sonst r Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

30 Derandomisierung und Nicht-Uniformität Lösche in M jede Zeile x mit f (x) = 0. = Danach sind in M in jeder Zeile mindestens die Hälfte aller Einträge 1. = Es existiert Spalte r(1) {0,..., 2 m 1} in der mindestens die Hälfte aller Einträge 1 ist. Sei B n (1) der Schaltkreis, der aus B n entsteht, indem die Zufallsgatter r 1,..., r m entsprechend der Belegung r(1) {0,..., 2 m 1} gesetzt werden. Lösche nun in M Spalte r(1) jede Zeile x {0,..., 2 n 1} mit M x,r(1) = 1 (d.h. B n (x, r(1)) = 1) Danach ist immer noch die Hälfte aller Einträge in jeder Zeile x von M gleich 1: Ist x eine Zeile, die nicht gelöscht wurde, so war M x,r(1) = 0, aber vor dem Löschen war M x,r für mindestens die Hälfte aller r gleich 1. Iteriere obigen Vorgang = Belegungen r(1),..., r(k) {0,..., 2 m 1} (unrandomisierte) Schaltkreise B n (1), B n (2),..., B n (k): B n (i) entsteht aus B n, indem Zufallsgatter r 1,..., r m entsprechend der Belegung r(i) gesetzt werden. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

31 Derandomisierung und Nicht-Uniformität In jeder Phase wird die Anzahl der Zeilen von M mindestens halbiert. = k n Sei nun B n = k i=1 B n(i) (polynomiell groÿer Schaltkreis). (B n) n 0 ist eine polynomielle Folge von (unrandomisierten) Schaltkreisen, die f berechnet. Bemerkung: Der Beweis von Adlemans Theorem ist ein Beispiel für Derandomisierung: Wandle einen randomisierten Algorithmus in einen deterministischen Algorithmus um, wobei eine polynomielle Zeitschranke beibehalten wird. Ist Derandomisierung immer möglich? Antwort: Wahrscheinlich nicht. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

32 Derandomisierung und Nicht-Uniformität Sei C eine Komplexitätsklasse (z.b. P, RP, NP). Deniere die nicht-uniforme Version C /poly von C wie folgt: Eine Sprache L {0, 1} gehört zur Klasse C /poly, falls eine Funktion α : N {0, 1} existiert mit: Es existiert ein Polynom p(n) mit n 0 : α(n) p(n) {(x, α( x )) x L} C α( x ) = Advice-String für Inputs der Länge n = x Satz L P /poly L RP /poly Es existiert eine polynomielle Folge von Booleschen Schaltkreisen, welche χ l (charakteristische Funktion von L) berechnet. Es existiert eine polynomielle Folge von randomisierten Booleschen Schaltkreisen, welche χ l (charakteristische Funktion von L) berechnet. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

33 Derandomisierung und Nicht-Uniformität Beweisidee: 1 Sei (B n ) n 0 eine polynomielle Folge von Booleschen Schaltkreisen, welche χ L berechnet. Deniere Advice-String α(n) wie folgt: α(n) = binäre Kodierung des Schaltkreises B n = {(x, α( x )) x L} P = L P /poly 2 Sei L P /poly. = {(x, α( x )) x L} P wobei α(n) p(n) für ein Polynom p(n). Für jedes n 0 kann ein polynomiell groÿer Schaltkreis B n mit n + p(n) Inputgattern konstruiert werden, der alle Eingaben der Form x α(n) mit x = n, x L akzeptiert (und sonst nichts akzeptiert). Idee: Berechnungen von Turing-Maschinen können durch Boolesche Schaltkreise beschrieben werden (siehe Beweis für SAT ist NP-vollständig). Belege nun die letzten α(n) vielen Inputgatter von B n mit dem Advice-String α(n). = Schaltkreis B n (B n ) n 0 ist eine polynomielle Folge von Booleschen Schaltkreisen, welche χ L berechnet. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

34 Derandomisierung und Nicht-Uniformität Reformulierung von Adlemans Theorem P /poly = RP /poly insbesondere: RP P /poly In einer nichtuniformen Welt kann also stets derandomisiert werden. Andererseits wird vermutet, dass P RP gilt. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/ / 34

5 Zwei spieltheoretische Aspekte

5 Zwei spieltheoretische Aspekte 5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,

Mehr

Spieltheorien und Theoreme

Spieltheorien und Theoreme Spieltheorien und Theoreme Seminar: Randomisierte Algorithmen Prof. Dr. R. Klein Alexander Hombach Eine bilinguale Ausarbeitung von Alexander Hombach, Daniel Herrmann und Ibraguim Kouliev (Teil 1) Rheinische

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:

Mehr

IV. Spieltheorie. H. Weber, FHW, OR SS07, Teil 7, Seite 1

IV. Spieltheorie. H. Weber, FHW, OR SS07, Teil 7, Seite 1 IV. Spieltheorie 1. Gegenstand der Spieltheorie 2. Einführung in Matrixspiele 3. Strategien bei Matrixspielen 4. Weitere Beispiele 5. Mögliche Erweiterungen H. Weber, FHW, OR SS07, Teil 7, Seite 1 1. Gegenstand

Mehr

Teil I: Einführung Motivation Einführendes Beispiel Merkmale eines Spiels Teil II: Mathematische Spieltheorie. Einführung

Teil I: Einführung Motivation Einführendes Beispiel Merkmale eines Spiels Teil II: Mathematische Spieltheorie. Einführung c by Rolf Haenni (2006) Seite 170 Teil I: Motivation Einführendes Beispiel Merkmale eines Spiels Teil II: Mathematische Spieltheorie Neutrale Spiele Die Conway-Theorie Teil III: Spielalgorithmen in der

Mehr

Einführung in die klassische Spieltheorie

Einführung in die klassische Spieltheorie Einführung in die klassische Spieltheorie Seminar Algorithmische Spieltheorie, Wintersemester 2007/2008 Martin Sauerhoff Lehrstuhl 2, Universität Dortmund Übersicht 1. Einleitung 2. Zwei-Personen-Nullsummenspiele

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

Mehr

Spieltheorie. Sebastian Wankerl. 16. Juli 2010

Spieltheorie. Sebastian Wankerl. 16. Juli 2010 Spieltheorie Sebastian Wankerl 16. Juli 2010 Inhalt 1 Einleitung 2 Grundlagen Extensive Form choice functions Strategien Nash-Gleichgewicht Beispiel: Gefangenendillema 3 Algorithmen Minimax Theorem Minimax

Mehr

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08

Mehr

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II. 2013 Thomas Brox, Fabian Kuhn

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II. 2013 Thomas Brox, Fabian Kuhn Optimierung Vorlesung 7 Lineare Programmierung II 1 Lineare Programme Lineares Programm: Lineare Zielfunktion Lineare Nebenbedingungen (Gleichungen oder Ungleichungen) Spezialfall der konvexen Optimierung

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Zweizusammenhang und starker Zusammenhang

Zweizusammenhang und starker Zusammenhang .. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008 Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und

Mehr

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. 8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.

Mehr

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Steinerbäume Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Verfasser Flamur Kastrati Betreuer Prof. Dr. habil. Thomas

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen der Programmierung 2. Bäume Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

Mehr

Komplexität und Komplexitätsklassen

Komplexität und Komplexitätsklassen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 21 vom 21.01.2013 Komplexität und Komplexitätsklassen Die meisten Probleme mit denen wir zu tun haben sind entscheidbar.

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1 Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Praktikum Algorithmen-Entwurf (Teil 7)

Praktikum Algorithmen-Entwurf (Teil 7) Praktikum Algorithmen-Entwurf (Teil 7) 28.11.2005 1 1 Vier gewinnt Die Spielregeln von Vier Gewinnt sind sehr einfach: Das Spielfeld besteht aus 7 Spalten und 6 Reihen. Jeder Spieler erhält zu Beginn des

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Rolf Wanka Sommersemester Vorlesung

Rolf Wanka Sommersemester Vorlesung Peer-to to-peer-netzwerke Rolf Wanka Sommersemester 2007 12. Vorlesung 12.07.2007 rwanka@cs.fau.de basiert auf einer Vorlesung von Christian Schindelhauer an der Uni Freiburg Aufbau Viceroy Knoten in Viceroy

Mehr

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben?

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben? Die Themen 1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben? Er sollte von wirklichen Zufallsgeneratoren nicht unterscheidbar sein?! Eine viel zu starke Forderung: Stattdessen sollte ein

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen und Datenstrukturen (WS 2007/08) 63 Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). 8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Wie komme ich von hier zum Hauptbahnhof?

Wie komme ich von hier zum Hauptbahnhof? NP-Vollständigkeit Wie komme ich von hier zum Hauptbahnhof? P Wie komme ich von hier zum Hauptbahnhof? kann ich verwende für reduzieren auf Finde jemand, der den Weg kennt! Alternativ: Finde eine Stadtkarte!

Mehr

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 NP-Vollständigkeit Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr

Vorlesung: Nicht-kooperative Spieltheorie. Teil 4: 2-Personen-Nullsummenspiele

Vorlesung: Nicht-kooperative Spieltheorie. Teil 4: 2-Personen-Nullsummenspiele Vorlesung: Nicht-kooperative Spieltheorie Teil 4: 2-Personen-Nullsummenspiele Dr. Thomas Krieger Wintertrimester 2009 Dr. Thomas Krieger Vorlesung: Nicht-kooperative Spieltheorie 1 Definition 2-Personen-Nullsummenspiele

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

8 Komplexitätstheorie und Kryptologie

8 Komplexitätstheorie und Kryptologie 8 Komplexitätstheorie und Kryptologie Verschlüsselung, Authentisierung,... müssen schnell berechenbar sein. Formal: polynomiell zeitbeschränkte Funktionen/Algorithmen Angreifer hat beschränkte Ressourcen.

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Binary Decision Diagrams (Einführung)

Binary Decision Diagrams (Einführung) Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Komplexitätstheorie Einführung und Überblick (Wiederholung) Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität

Mehr

12.4 Traveling Salesman Problem

12.4 Traveling Salesman Problem 96 KOMBINATORISCHE SUCHE.4 Traveling Salesman Problem Definition.3(TSP, Problem des Handlungsreisenden): Wir betrachten einen gerichteten, gewichteten Graphen G = (V,E) mit K : V R. K({u,v}) sind die Kosten

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Algorithmentheorie Randomisierung. Robert Elsässer

Algorithmentheorie Randomisierung. Robert Elsässer Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09 Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,

Mehr

Organic Computing: Peer-to-Peer-Netzwerke

Organic Computing: Peer-to-Peer-Netzwerke Organic Computing Peer-to-Peer-Netzwerke Rolf Wanka Sommersemester 2015 rwanka@cs.fau.de Inhalte Kurze Geschichte der Peer-to-Peer- Netzwerke Das Internet: Unter dem Overlay Die ersten Peer-to-Peer-Netzwerke

Mehr

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri Informatik II PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri KAUM JAVA Kaum Java Viel Zeit wird für Java-spezifisches Wissen benützt Wenig wichtig für Prüfung Letztjähriger Assistent

Mehr

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Optimierungsprobleme

Mehr

Abiturvorbereitung Mathematik -Dierentialrechnungc Max. Hoffmann

Abiturvorbereitung Mathematik -Dierentialrechnungc Max. Hoffmann Abiturvorbereitung Mathematik -Dierentialrechnungc Max Hoffmann 1 Ganzrationale Funktionen Im Folgenden wollen wir uns mit ganzrationale Funktionen und der Untersuchung solcher beschäftigen. Dabei werden

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Graphen und Bäume. A.1 Graphen

Graphen und Bäume. A.1 Graphen Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Der Alpha-Beta-Algorithmus

Der Alpha-Beta-Algorithmus Der Alpha-Beta-Algorithmus Maria Hartmann 19. Mai 2017 1 Einführung Wir wollen für bestimmte Spiele algorithmisch die optimale Spielstrategie finden, also die Strategie, die für den betrachteten Spieler

Mehr

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis Optimierungsprobleme Instanz eines Optimierungsproblems zulässiger Bereich (meist implizit definiert) Zielfunktion Optimierungsrichtung opt {max, min} Optimierungsproblem Menge von Instanzen meist implizit

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr