Randomisierte Algorithmen

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener Seminar: Randomisierte Algorithmen Auswerten von Sielbäumen Nele Küsener In diesem Vortrag wird die Laufzeit von Las-Vegas-Algorithmen analysiert. Das Ergebnis ist eine obere und eine untere Schranke für

Mehr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekte mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.

Kurs 1663 Datenstrukturen Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur

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

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

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

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

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

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

Übersicht: 6.1 Einleitung 6.2 Klassische Theorie nichtkooperativer Spiele 6.3 Egoistisches Routing 6.4 Mechanismen-Entwurf 6.

Übersicht: 6.1 Einleitung 6.2 Klassische Theorie nichtkooperativer Spiele 6.3 Egoistisches Routing 6.4 Mechanismen-Entwurf 6. 6. Algorithmische Spieltheorie Übersicht: 6.1 Einleitung 6.2 Klassische Theorie nichtkooperativer Spiele 6.3 Egoistisches Routing 6.4 Mechanismen-Entwurf 6.5 Auktionen 561 6.1 Einleitung Übliche Modelle:

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

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

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

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

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Spieltheorien und Theoreme

Spieltheorien und Theoreme Sieltheorien heoreme Für das Seminar: Randomized Algorithms bei Prof. Dr. R. Klein on Daniel Herrmann (Anknüfend an den Beitrag von Alexander Hombach) Inhalt: Blickunkt auf randomisierte Strategien von

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

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

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

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

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

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V11, 16.1.2012 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

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

Eigenwerte und Eigenvektoren von Matrizen

Eigenwerte und Eigenvektoren von Matrizen Eigenwerte und Eigenvektoren von Matrizen Das Eigenwertproblem Sei A eine quadratische Matrix vom Typ m,m. Die Aufgabe, eine Zahl λ und einen dazugehörigen Vektor x zu finden, damit Ax = λx ist, nennt

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

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

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

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

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

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

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

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

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

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen und Algorithmen 2. Klausur SS 2001 UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................

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

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

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Übungen zum Ferienkurs Lineare Algebra WS 14/15

Übungen zum Ferienkurs Lineare Algebra WS 14/15 Übungen zum Ferienkurs Lineare Algebra WS 14/15 Linearkombinationen, Basen, Lineare Abbildungen 2.1 Lineare Unabhängigkeit Sind die folgenden Vektoren linear unabhängig? (a) 1, 2, 3 im Q Vektorraum R (b)

Mehr

7 Die Determinante einer Matrix

7 Die Determinante einer Matrix 7 Die Determinante einer Matrix ( ) a11 a Die Determinante einer 2 2 Matrix A = 12 ist erklärt als a 21 a 22 det A := a 11 a 22 a 12 a 21 Es ist S 2 = { id, τ}, τ = (1, 2) und sign (id) = 1, sign (τ) =

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

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.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

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

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

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

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

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 4.2: Binäre Suchbäume Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:

Mehr

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 4 Woche Decodierung; Maximale, Perfekte und Optimale Codes 4 Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 Szenario für fehlerkorrigierende Codes Definition (n, M)-Code Sei C {0, 1}

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

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

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

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

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

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

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

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

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

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon

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

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

Leitfaden Lineare Algebra: Determinanten

Leitfaden Lineare Algebra: Determinanten Leitfaden Lineare Algebra: Determinanten Die symmetrische Gruppe S n. Eine Permutation σ der Menge S ist eine bijektive Abbildung σ : S S. Ist S eine endliche Menge, so reicht es zu verlangen, dass σ injektiv

Mehr

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

Mehr