Friedrich-Alexander-Universität Erlangen-Nürnberg

Größe: px
Ab Seite anzeigen:

Download "Friedrich-Alexander-Universität Erlangen-Nürnberg"

Transkript

1 Algorithmik 1 M. Philippsen, H. Stoyan, Friedrich-Alexander-Universität Erlangen-Nürnberg Informatik 2/8/9

2 Kapitel 9 - Algorithmenherleitung durch Induktion 9.1 Induktionsformen 9.2 Beispiel einer Summenformel 9.3 Gebiete in der Ebene 9.4 Gray-Codes 9.5 Färben von Gebieten 9.6 Maximale Summe einer zusammenhängenden Teilfolge 9.7 Rucksack-Problem Dynamisches Programmieren 9.8 Münzminimierung Gierige Algorithmen Algorithmik 1, WS 2005/06, Folie 9-2

3 9.1 Induktionsformen Nachweis der Gültigkeit einer Aussage A(n) für alle n0ù (1) a) Basisform der Induktion ( -1 ) Bedingungen: A(1) ist wahr Für jedes n>1: A(n-1) impliziert A(n) Dann gilt A(n) für alle n. b) Basisform der Induktion ( +1 ) Bedingungen: A(1) ist wahr Für jedes n 1: A(n) impliziert A(n+1) Dann gilt A(n) für alle n. c) k-anfangsform der Induktion ( -k ), analog ( +k ) Bedingung A(1) A(k) sind wahr Für jedes n>k: A(n-k) impliziert A(n) Dann gilt A(n) für alle n. Algorithmik 1, WS 2005/06, Folie 9-3 k parallele Pfade durch ù, die ù ganz überdecken

4 9.1 Induktionsformen Nachweis der Gültigkeit einer Aussage A(n) für alle n0ù (2) d) Strenge Induktion Bedingungen: A(1) ist wahr Für jedes n>1: (Für alle m<n: A(m)) impliziert A(n) Dann gilt A(n) für alle n. e) Rückwärtsinduktion Für ein m lässt sich immer ein Bedingungen: größeres k in dieser Teilmenge finden A(n) ist wahr für alle n aus einer unendlichen Teilmenge von ù Für jedes n>2: A(n) impliziert A(n-1) Dann gilt A(n) für alle n. Nicht nur wahr für einen Vorgänger, sondern für alle Von diesem k arbeitet man sich rückwärts bis m vor und zeigt so A(m) Algorithmik 1, WS 2005/06, Folie 9-4

5 9.2 Beispiel einer Summenformel Bestimme für alle n: T(n) = (3 + 5n) Idee: Da 3 1 i = (n²+1)/2 liegt es nahe für T(n) ebenfalls eine quadratische Formel anzunehmen: T(n) = c 2 n² + c 1 n + c 0 Betrachte die ersten Reihenelemente T(0) = 0 T(1) = c 2 + c 1 = 8 T(2) = 4c 2 + 2c 1 = 13 n Y c 2 = 5/2 c 1 = 11/2 c 0 = 0 Behauptung: T(n) = (5 n² + 11 n)/2 Beweis? Algorithmik 1, WS 2005/06, Folie 9-5 Man kann das natürlich direkt lösen: 3 i (3+5i) = 3 3 i i i = 3n + 5 ½ n(n+1) = 5/2 n² + 11/2 n Hier zu Übungszwecken per Induktion

6 9.2 Beispiel einer Summenformen Bestimme für alle n: T(n) = (3 + 5n) Behauptung T(n) = 2,5 n² + 5,5 n Beweis durch vollständige Induktion Induktionsanfang: T(1) = 8 = 2,5 + 5,5 //klar Induktionshypothese: für n>1 gilt T(n) = 2,5 n² + 5,5 n Induktionsschritt n n+1 : T(n+1) = T(n) + (3 + 5(n+1)) //Def. Reihenentwicklung = 2,5 n² + 5,5 n + 5 n + 8 //Induktionsvoraussetzung //2,5(n+1)²=2,5n²+5n+2,5 = 2,5 (n+1)² + 5,5 n + 5,5 //binomische Formel = 2,5 (n+1)² + 5,5 (n+1) //Behauptung gilt für n+1 //q.e.d. Algorithmik 1, WS 2005/06, Folie 9-6

7 9.3 Gebiete in der Ebene Behauptung: n Geraden in der Ebene, die in allgemeiner Position zueinander liegen, bilden n(n+1)/2 + 1 Gebiete Allgemeine Position = Beispiele: Keine 2 Geraden sind parallel Keine 3 Geraden schneiden sich im selben Punkt 2 Gebiete 4 Gebiete 7 Gebiete Gerade Nr. 1 Gerade Nr. 2 Gerade Nr. 3 1 extra Gebiet 2 extra Gebiete 3 extra Gebiete Algorithmik 1, WS 2005/06, Folie 9-7

8 9.3 Gebiete in der Ebene Statt direkt die Gebietszahl zu ermitteln, über das Wachstum der Gebietszahl beim Hinzufügen weiterer Gerade nachdenken. Behauptung: Durch Hinzufügen einer Geraden zu n-1 Geraden in allgemeiner Position in der Ebene erhöht sich die Zahl der Gebiete um n. Beweis durch vollständige Induktion Induktionsanfang: 0 Geraden 1 Gebiet. Kommt die 1. Gerade dazu, dann 2 Gebiete, nämlich rechts und links der Geraden. Induktionsschritt ( n n+1 ): Wegen der allgemeinen Lage gilt, dass eine Gerade ein Gebiet entweder in 2 Teile schneidet, oder nicht einmal berührt. Es muss also gezeigt werden, dass die n+1. Gerade n+1 Gebiete teilt. Algorithmik 1, WS 2005/06, Folie 9-8

9 9.3 Gebiete in der Ebene Induktionsschritt ( n n+1 ), Fortsetzung: Wenn man die n-te Gerade entfernen würde, dann würde die n+1-te Gerade als n-te Gerade eingefügt und laut Induktionsvoraussetzung n Gebiete hinzufügen, also schneiden. Es muss also nur gezeigt werden, dass in Gegenwart der n-ten Geraden die n+1-te Gerade ein zusätzliches Gebiet schneidet. n P Gebiet G Algorithmik 1, WS 2005/06, Folie 9-9 n+1 Es gibt genau ein Gebiet G, in dem sich die n-te und n+1-te Gerade schneiden (Punkt P). Wenn Gerade n nicht vorhanden wäre, dann würde die n+1-te Gerade das Gebiet in 2 Teile schneiden: ein neues Gebiet von insgesamt n neuen. Wenn Gerade n vorhanden ist, dann fügt die n+1-te Gerade zwei neue Gebiete hinzu, also insgesamt n+1 neue Gebiete. //q.e.d.

10 9.3 Gebiete in der Ebene Wir haben gezeigt: Die i-te Gerade fügt i Gebiete hinzu. n Damit erzeugen n Geraden 1+3i = 1+ ½ n(n+1) Gebiete. 1 Gebiet ist auch bei 0 Geraden vorhanden Bemerkungen: i=1 Keine Induktion über Gebietzahl, sondern über Wachstum der Gebietszahl Induktionshypothese wurde doppelt verwendet Für die Gebiete, die durch die n-te Gerade eingeführt werden Für die Gebiete, die durch die n+1-te Gerade eingeführt werden, wenn die n-te Gerade nicht vorhanden ist Algorithmik 1, WS 2005/06, Folie 9-10

11 9.4 Gray-Codes Gray-Code = binärer Code. geschlossener Gray-Code: aufeinander folgende Codewörter unterscheiden sich in genau einem Bit (zyklisch) offener Gray-Code: Es gibt genau zwei (zyklisch) aufeinander folgende Codewörter, die sich in mehr als einem Bit unterscheiden. Alle anderen aufeinander folgenden Codewörter unterscheiden sich in einem Bit. Beispiele für geschlossene Gray-Codes der Länge n = 2: 0, 1 n = 4: 00, 01, 11, 10 n = 8: //zwei Beispiele für einen Gray-Code der Länge 8, //die 3 Bits benötigen Algorithmik 1, WS 2005/06, Folie 9-11 Gibt es für jedes gerade n=2k einen geschlossenen Gray-Code? (Für ungerade n ist es unmöglich.)

12 9.4 Gray-Codes Algorithmenherleitung durch Induktion, 1. Versuch Induktionsanfang: Mit k=1, n=2k=2 ist 0,1 der gesuchte Gray-Code. Induktionshypothese: für k>1 gibt es einen Gray-Code der Länge 2k. Induktionsschritt k k+1 : Gegeben Code der Länge 2k: s 1, s 2,, s 2k Zyklische Darstellung: Leider sind k=n/2 Bits erforderlich; es geht mit weniger Bits! 1 Bit gekippt s 1 s 2k 0s 1 0s 2k s 2 1s 2 0s 2 s 3 s 4 s5 1s 3 0s 3 0s 4 0s5 Gray-Code der Länge 2k existiert nach Induktionsvoraussetzung daraus konstruierter Gray-Code der Länge 2k+2 = 2(k+1) Algorithmik 1, WS 2005/06, Folie 9-12

13 9.4 Gray-Codes Erweiterung eines Gray-Codes, Länge 4 Länge 6 Aufbruchstelle Bits für Länge 4 Algorithmik 1, WS 2005/06, Folie Bits für Länge 6 Das Eingangsbeispiel hatte 2 Gray-Codes der Länge 8, denen 3 Bits genügten.

14 9.4 Gray-Codes Algorithmenherleitung durch Induktion, 2. Versuch Behauptung: Für jedes n > 0, n0ù existiert ein Gray-Code der Länge n, wobei jedes Codewort aus jlog 2 nk Bits besteht. Falls n gerade ist, ist der Gray-Code geschlossen, offen für ein ungerades n. Induktionsanfang: Für n=1 ist 0 der gesuchte Gray-Code, für n=2 ist 0,1 der gesuchte Gray-Code Stärkere Induktionshypothese: Für jedes 0<k<n, k0ù existiert ein Gray-Code der Länge k, wobei jedes Codewort aus jlog 2 kk Bits besteht. Falls k gerade ist, ist der Gray-Code geschlossen, offen für ein ungerades k. Induktionsschritt ( strenge Induktion, œk<n n ) Fall 1, n gerade: Laut Induktionsvoraussetzung gibt es einen (offenen oder geschlossenen) Gray-Code der Länge n/2 mit jlog 2 (n/2)k Bits. Daraus lässt sich ein neuer Gray-Code der Länge n mit den gewünschten Bitanzahl konstruieren Algorithmik 1, WS 2005/06, Folie 9-14

15 9.4 Gray-Codes Konstruktion für gerades n: Falls offener Code, o.b.d.a hier offen s 1 s n/2 s 2 s3 Gray-Code der Länge n/2 existiert nach Induktionsvoraussetzung 1s n/2 1s 1 1s 2 1s 3 0s 2 s 4 s 5 0s 1 0s n/2 0 voranstellen 0s 3 0s 4 0s 5 Verdoppeln, mit führender 1 statt 0 Zyklus 1s 5 1s 4 Algorithmik 1, WS 2005/06, Folie 9-15

16 9.4 Gray-Codes Erweiterung eines Gray-Codes, Länge 4 Länge 8 Aufbruchstelle Bits für Länge 4 Algorithmik 1, WS 2005/06, Folie Bits für Länge 8

17 9.4 Gray-Code Konstruktion für gerades n: Der erzeugte Gray-Code hat die Länge 2*(n/2) = n. Der erzeugte Gray-Code hat ein Bit mehr als die zu seiner Konstruktion verwendeten Gray-Codes, die nach Induktionsvoraussetzung jlog 2 (n/2)k Bits haben. Daher hat der neue Code 1+ jlog 2 (n/2)k = jlog 2 (n)k Bits. Der konstruierte Code ist geschlossen. Fall 2, n ungerade: Es sei 2 k < n < 2 k+1. Laut Induktionsvoraussetzung gibt es einen Gray-Code der Länge 2 k mit jlog 2 (2 k )k=k Bits. Daraus lässt sich wie im Fall 1 ein neuer Gray-Code der Länge 2 k+1 konstruieren, der k+1 Bits benutzt. q.e.d. Streiche aus diesem Code 2 k+1 -n aufeinander folgende Code-Worte. Es bleibt ein offener Gray-Code der Länge n, der k+1=jlog 2 (n)k Bits benutzt. Algorithmik 1, WS 2005/06, Folie 9-17 Besonderheiten: Fallunterscheidung Stärkere Ind.Hypothese liefert besseres Ergebnis Strenge Induktion: Vorausgesetzt werden alle m<n, insbesondere n/2 und größtes 2 k

18 9.5 Färben von Gebieten Gebiete, die durch verschiedene Geraden in einer Ebene geformt werden, können so mit zwei Farben eingefärbt werden, dass keine zwei Gebiete die gleiche Farbe haben, wenn sie eine gemeinsame Kante haben (allgemeine Lage ist nicht erforderlich!). Vergleiche ähnlich klingendes Problem: Landkarten können mit 4 Farben gefärbt werden. Dort Streckenzüge statt Geraden. Algorithmik 1, WS 2005/06, Folie 9-18

19 9.5 Färben von Gebieten Induktionsanfang: Fläche wird von einer Geraden in zwei Teile geteilt, die trivial mit zwei Farben gefärbt werden können. Induktionshypothese: Angenommen Gebiete, die durch weniger als n Geraden geformt werden, können mit 2 Farben gefärbt werden. Induktionsschritt ( strenge Induktion, œk<n n ) Algorithmik 1, WS 2005/06, Folie 9-19

20 9.5 Färben von Gebieten Induktionsschritt ( strenge Induktion, œk<n n ): Wenn die n-te Gerade hinzugefügt wird, werden zwei Gruppen von Gebieten gebildet. Die eine Gruppe befindet sich auf der einen, die andere auf der anderen Seite der n-ten Geraden. Die Farben aller Gebiete in nur einer Gruppe werden vertauscht. Betrachte zwei benachbarte Gebiete R1 und R2: Fall 1: R1 und R2 befinden sich auf einer Seite der n-ten Gerade. Nach Induktionsvoraussetzung hatten sie vor Einführung der n-ten Gerade unterschiedliche Farben. Hinterher immer noch, ggf. aber getauscht. R1 R2 R1 R2 Y R1 R2 R1 R2 Algorithmik 1, WS 2005/06, Folie 9-20 Farbtausch

21 9.5 Färben von Gebieten Fall 2: R1 und R2 entstehen durch die n-te Gerade (d.h. n-te Gerade bildet gemeinsame Kante von R1 und R2). R1 R2 R1 R2 Y Farbtausch Vor Einführung der n-ten Gerade hatten R1 und R2 die gleiche Farbe. Durch den Farbtausch haben sie nach Einführung der n-ten Gerade unterschiedliche Farben. q.e.d. Algorithmik 1, WS 2005/06, Folie 9-21

22 9.6 Maximale Summe einer zusammenhängenden Teilfolge Problemspezifikation: Gegeben: Folge x 1, x 2,, x n von Gleitkommazahlen (ggf. auch negativ). Gesucht: zusammenhängende Teilfolge x i, x i+1,, x j so dass die Summe ihrer Elemente maximal ist (es soll also keine zusammenhängende Teilfolge mit höherer Elementsumme geben.) Die Summe der leeren Teilfolge wird als 0 festgesetzt. 1. Beispiel: 2, -3, 1.5, -1, 3, -2, -3, Algorithmik 1, WS 2005/06, Folie 9-22 Es ist keine gute Idee, mit x 1 zu beginnen, weil x 1 +x 2 die maximale Summe um -1 vermindert. Man kann die Suche nach der Teilfolge gleich bei x2 fortsetzen.

23 9.6 Maximale Summe einer zusammenhängenden Teilfolge 1. Beispiel: 2, -3, 1.5, -1, 3, -2, -3, Die leere Teilfolge würde zu einer höheren Summe (=0) führen = -1.5 würde auch einen negativen Beitrag zur Summe liefern. Daher Suche nach der Teilfolge bei x3 fortsetzen. Keine größere Summe Die Teilfolge (1.5, -1, 3) liefert mit 3.5 die maximale Summe. Algorithmik 1, WS 2005/06, Folie 9-23

24 9.6 Maximale Summe einer zusammenhängenden Teilfolge Nahe liegende Induktionshypothese: Maximale Summe einer zusammenhängenden Teilfolge in einer Folge der Länge <n kann berechnet werden. Basisfall: Bei n=1 ist die Folge ein-elementig Falls x 1 <0: maximale Summe ist 0, leere Teilfolge Andernfalls: maximale Summe ist x 1, Teilfolge = Gesamtfolge. Induktionsschritt n-1 n : Laut Ind.Hypothese kann die maximale Teilfolge in (x 1, x 2,, x n-1 ) berechnet werden. Falls max. Teilfolge leer: betrachte nur x n, wie im Basisfall. Andernfalls sei (x i, x i+1,, x j ) die maximale Teilfolge. Falls j=n-1: //maximale Teilfolge am Ende (Suffix-Folge) Falls x n positiv, verlängern der maximalen Teilfolge um x n Sonst: maximale Teilfolge bleibt unverändert Andernfalls: //maximale Teilfolge irgendwo in der Mitte Tja: Neue Suffixfolge könnte einen höheren Wert liefern Algorithmik 1, WS 2005/06, Folie 9-24

25 9.6 Maximale Summe einer zusammenhängenden Teilfolge 2. Beispiel (a) 2, -3, 1.5, -1, 3, -2, 3, Soll man -2 zur Folge hinzunehmen? Neue Summe wäre dann 1.5 (weniger). 1.5 Da anschließend zwei mal 3 kommt, könnte die maximale Summe über 3.5 liegen Idee: Man merkt sich nicht nur die bisher erreichte maximale Summe, sondern auch die maximale Summe derjenigen Teilfolge, die am aktuellen Betrachungsende aufhört. Hier: maximale Teilfolgensumme: 3.5 maximale Summe der Endfolge: = 1.5 Algorithmik 1, WS 2005/06, Folie 9-25

26 9.6 Maximale Summe einer zusammenhängenden Teilfolge Reihung x xmax xsuffix x n Stärkere Induktionshypothese: Für eine Folge der Länge <n kann berechnet werden: maximale Summe einer zusammenhängenden Teilfolge, maximale Summe einer Suffix-Folge. Basisfall: wie oben Induktionsschritt n-1 n : Größtenteils wie oben Falls maximale Teilfolge irgendwo in der Mitte : maximale Suffixfolge ggf. um x n verlängern, mit der bisherigen maximalen Teilfolge vergleichen, ggf. neue maximale Teilfolge setzen n-1 Algorithmik 1, WS 2005/06, Folie 9-26

27 9.6 Maximale Summe einer zusammenhängenden Teilfolge 2. Beispiel (b) 2, -3, 1.5, -1, 3, -2, 3, Bisherige maximale Teilfolge "irgenwo in der Mitte". Neue maximale Summe durch Verlängerung der Suffixfolge gefunden: 1.5+3=4,5 Die Teilfolge (1.5, -1, 3, -2, 3, 3) liefert mit 7.5 die maximale Summe. Algorithmik 1, WS 2005/06, Folie 9-27

28 9.6 Maximale Summe einer zusammenhängenden Teilfolge Java-Code public double maxsubvektor(double x[]) x[]) { double xmax xmax = 0.0; 0.0; double xsuffix = 0.0; 0.0; Vereinfacht: nur die Summe wird berechnet (nicht die Folge selbst). } for for (int (int i=0; i=0; i < x.length; i++) i++) { xsuffix = Math.max(xSuffix + x[i],0.0); xmax xmax = Math.max(xMax, xsuffix); } return xmax; xmax; Algorithmik 1, WS 2005/06, Folie 9-28

29 9.7 Rucksackproblem Dynamisches Programmieren Problem: Es soll ein Rucksack mit Fassungsvermögen K mit Elementen verschiedener Größe ganz voll gepackt werden (also ohne verbleibenden Leerraum). Existiert eine Lösung? Anwendungen: Schiffe, Flugzeuge, Silizium-Chips etc. Hier: Objekte nur eindimensional, ganzzahlige Größe. Beispiel: Elemente Rucksackgröße K Nicht möglich Nicht möglich oder oder Algorithmik 1, WS 2005/06, Folie 9-29

30 9.7 Rucksackproblem Dynamisches Programmieren Problemspezifikation: Gegeben: Rucksackgröße K0ù, S = {k 1, k 2,..., k n }, k i 0ù Gesucht: Gibt es TfS, so dass 3 k i = K? k i 0T Kurzschreibweise P(n,K) //liefert Elementmenge T oder i Rucksackgröße Elementanzahl, d.h. verwende nur ersten n Elemente Für die Rückführung auf kleinere Probleme ist die tatsächliche Größe der Elemente unerheblich. Die Elemente seien in beliebiger aber fester Reihenfolge durchnummeriert. Algorithmik 1, WS 2005/06, Folie 9-30

31 9.7 Rucksackproblem Dynamisches Programmieren Wichtige Einsichten: P(n,K) = P(n-1,K), falls es eine Lösung für P(n-1,K) gibt //wenn man mit n-1 Elementen den Rucksack voll packen //kann, ist das Element n unerheblich P(2,7) = {2,5} sei schon gefunden. Dann gilt natürlich sofort P(3,7) = {2,5}, egal wie groß das dritte Element ist. 7 P(n,K) = {k n }cp(n-1,k-k n ), falls es Lösung für P(n-1,K-k n ) gibt. //Lege k n in den Rucksack. Versuche mit n-1 Elementen //den nun kleineren Restplatz vollständig zu füllen P(2,7) = {2,5} sei schon gefunden. Dann ist P(3,10) = {3}c{2,5}, wenn das dritte Element die Größe 3 hat. 7 Algorithmik 1, WS 2005/06, Folie 9-31

32 9.7 Rucksackproblem Dynamisches Programmieren Problemspezifikation: Gegeben: Rucksackgröße K0ù, S = {k 1, k 2,..., k n }, k i 0ù Gesucht: Gibt es TfS, so dass 3 k i = K? k i 0T Basisfall n=1: K=0 leere Lösungsmenge K=k>0 falls k=k 1 : die Lösung ist {k 1 }, sonst i Induktionshypothese: P(n-1,k) kann für alle 0 k K gelöst werden. Algorithmik 1, WS 2005/06, Folie 9-32

33 9.7 Rucksackproblem Dynamisches Programmieren Induktionshypothese: P(n-1,k) kann für alle 0 k K gelöst werden. Induktionsschritt: Reduziere P(n, K) auf Teilproblem 1: P(n-1, K) Teilproblem 2: P(n-1, K-k n ) (nur, falls K-k n 0) die beide nach Induktionsvoraussetzung lösbar sind. Zusammenfügung der Ergebnisse: Falls für P(n-1, K) eine Lösung existiert, dann ist sie auch Lösung für P(n, K). Falls für P(n-1, K-k n ) eine Lösung T existiert, dann ist Tc{k n } Lösung für P(n, K). Andernfalls gibt es keine Lösung von P(n, K). Algorithmik 1, WS 2005/06, Folie 9-33

34 9.7 Rucksackproblem Dynamisches Programmieren Bei der Reduktion von P(n, K) entstehen 2 Teilprobleme Teilproblem 1: P(n-1, K) Teilproblem 2: P(n-1, K-k n ) (nur, falls K-k n 0) Im Unterschied zu Teile-und-Herrsche sind diese jedoch nicht deutlich kleiner als das Ausgangsproblem. Es ist daher zu befürchten, dass durch die Reduktion insgesamt sogar mehr zu arbeiten ist! P(n,K) P(n-1,K) P(n-1,K-k n ) exponentiell wachsender Aufwand Algorithmik 1, WS 2005/06, Folie 9-34 P(n-2,K) P(n-2,K-k n-1 ) P(n-2,K-k n ) P(n-2,K-k n -k n-1 ) Jetzt erwartet man eigentlich eine 2.Version der Induktionshypothese, die viel besser ist. Aber: hier liegt die Lösung schon auf dem Tisch!

35 9.7 Rucksackproblem Dynamisches Programmieren P(n,K) P(n-1,K) P(n-1,K-k n ) exponentiell wachsender Aufwand P(n-2,K) P(n-2,K-k n-1 ) P(n-2,K-k n ) P(n-2,K-k n -k n-1 ) Bei k n = k n-1 sind dies identische Probleme Es gibt nur endlich viele Problemgrößen. Schon berechnete Lösungen können wieder verwendet werden, anstatt sie neu zu berechnen. Es gibt genau n K mögliche Problemgrößen und glücklicherweise ist (für realistische K) nk«2 n. Implementierung: Speicherung der schon berechneten Ergebnisse in einer Matrix der Größe n K. Algorithmik 1, WS 2005/06, Folie 9-35

36 9.7 Rucksackproblem Dynamisches Programmieren Matrix P(n,K) - es gibt keine Lösung P(n-1,K) P(n-1,K-k n ) I es gibt eine Lösung, k ist dabei O es gibt eine Lösung, k ist nicht dabei k 1 =2 Rucksackgröße O - I k 2 =3 O - O I - I Elemente k 3 =5 O - O O - O k 4 =6 Zuerst gefundene mögl. Lösungen wird ausgewählt. Algorithmik 1, WS 2005/06, Folie 9-36

37 9.7 Rucksackproblem Dynamisches Programmieren Matrix P(n,K) - es gibt keine Lösung P(n-1,K) P(n-1,K-k n ) I es gibt eine Lösung, k ist dabei O es gibt eine Lösung, k ist nicht dabei k 1 =2 Rucksackgröße O - I K k 2 =3 O - O I - I Elemente k 3 =5 O - O O - O - I I - I k 4 =6 n O - O O - O I O O I O I - I I - I Algorithmik 1, WS 2005/06, Folie 9-37

38 9.7 Rucksackproblem Dynamisches Programmieren Ablesen der Teilmenge Elemente k 1 =2 k 2 =3 k 3 =5 k 4 =6 Rucksackgröße O - I O - O I - I O - O O - O - I I - I O - O O - O I O O I O I - I I - I Wie ist ein Rucksack der Größe 13 zu packen? k 4 gehört in den Rucksack, wegen I Es bleibt ein Rucksack der Größe 13-6=7 k 3 gehört in den Rucksack, wegen I Es bleibt ein Rucksack der Größe 7-5=2 k 1 gehört in den Rucksack, wegen I Der Rucksack ist nun voll: 2-2=0 Algorithmik 1, WS 2005/06, Folie 9-38

39 9.7 Rucksackproblem Dynamisches Programmieren Dynamisches Programmieren = Anwendung des Induktionsprinzips zur Algorithmenkonstruktion Prinzip: Zerlegung des Problems in mehrere (leicht) kleinere Probleme. Diese Probleme sind vorab gelöst, die Ergebnisse können aus einer Tabelle abgelesen werden. Füge Teillösungen zur Gesamtlösung zusammen, wobei die Verschmelzung relativ wenig Aufwand verursacht Erzeuge Tabellen mit (optimalen) Zwischenergebnissen Tabellen werden iterativ aufgebaut. Der Wert einer Zelle ergibt sich durch Kombination aus früher berechneten Wert(en) (in früher vervollständigten Zeilen der Tabelle oder in der gleichen Zeile aber weiter links ) Aufwand: bestimmt durch Tabellengröße. Aufwand des Ablesens des Ergebnisses: abhängig von der Zeilenzahl Algorithmik 1, WS 2005/06, Folie 9-39

40 9.8 Münzminimierung Gierige Algorithmen Problem: Ein Geldbetrag n<1 ist mit möglichst wenigen Münzen auszubezahlen. Basisfall: Der Geldbetrag ist mit einer Münze auszuzahlen. Trivial für n=1,2,5,10,20,50. Induktionshypothese: Für alle Geldbeträge <n ist bekannt, wie sie mit möglichst wenigen Münzen auszubezahlen sind. Induktionsschritt: Zahle die größte Münze mit Wert m aus, die in den Geldbetrag n passt. Nach Induktionshypothese ist klar, wie man den Betrag m-n mit möglichst wenig Münzen auszahlt. Algorithmik 1, WS 2005/06, Folie 9-40

41 9.8 Münzminimierung Gierige Algorithmen Beim Rucksackproblem war nicht klar, dass nach fester Auswahl eines Objekts noch immer für das kleinere Problem eine Lösung finden würde. Es wurde der ganze Lösungsraum betrachtet, indem Lösungen aus optimalen Teillösungen zusammengesetzt wurden Viele in Zwischenschritten gefundene optimale Teillösungen (Zellen in der Tabelle) werden in der Lösung des Gesamtproblems nicht mehr berücksichtigt. Bei der Münzminimierung gibt es sicher eine Lösung für das kleinere Problem. Der Algorithmus entscheidet sich nach Gier : der Schritt Richtung Lösung, der im Moment der Entscheidung am besten zu sein scheint, wird gewählt. Algorithmik 1, WS 2005/06, Folie 9-41

42 9.8 Münzminimierung Gierige Algorithmen Beispiele für Heuristiken, die nicht sicher zum globalen Optimum führen Schach: Wenn eine Figur schlagbar ist, schlage diese. Wenn mehrere Figuren schlagbar sind, dann schlage diejenige mit höchstem Figurenwert. Rucksackproblem: wähle immer das größte noch verfügbare Element aus. Überlegen Sie: Welche Strategie führt im Wartezimmer eines Arztes zur Minimierung der Summe aller Patientenwartezeiten? Algorithmik 1, WS 2005/06, Folie 9-42

43 9.8 Münzminimierung Gierige Algorithmen Gierige Algorithmen ( greedy algorithms ) = Anwendung des Induktionsprinzips zur Algorithmenkonstruktion Prinzip: Wende Bewertungsfunktion ( greedy heuristics ) an, um das zur Zeit am besten passende Element auszuwählen und füge es zur Ergebnismenge hinzu. Wiederholen bis Eingabemenge leer ist. Lösung wird schrittweise aufgebaut. Eine einmal getroffene Entscheidung wird nicht mehr revidiert. Für manche Optimierungsprobleme wird das globale Optimum gefunden, für andere nur ein lokales. Anderer Name: schrittweises Ausschöpfen. Algorithmik 1, WS 2005/06, Folie 9-43

Michael Philippsen 1. Algorithmen und Datenstrukturen. 9. Algorithmenherleitung durch Induktion. 9. Algorithmenherleitung durch Induktion

Michael Philippsen 1. Algorithmen und Datenstrukturen. 9. Algorithmenherleitung durch Induktion. 9. Algorithmenherleitung durch Induktion 9. Algorithmenherleitung durch Induktion Algorithmen und Datenstrukturen 9. Algorithmenherleitung durch Induktion Prof. Dr. Christoph Pflaum Department Informatik Martensstraße 3 958 Erlangen 9. Induktionsformen

Mehr

Vorlesung. Vollständige Induktion 1

Vorlesung. Vollständige Induktion 1 WS 015/16 Vorlesung Vollständige Induktion 1 1 Einführung Bei der vollständigen Induktion handelt es sich um ein wichtiges mathematisches Beweisverfahren, mit dem man Aussagen, die für alle natürlichen

Mehr

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen

Übersicht. Aktivitäten-Auswahl-Problem. Greedy Algorithmen. Aktivitäten-Auswahl-Problem. Aktivitäten-Auswahl-Problem. Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Übersicht Greedy Algorithmen Einführung Aktivitäten-Auswahl-Problem Huffman Codierung Matthias Zwicker Universität Bern Frühling 2009 2 Greedy Algorithmen Entwurfsstrategie

Mehr

Vollständige Induktion. Analysis I. Guofang Wang. Universität Freiburg

Vollständige Induktion. Analysis I. Guofang Wang. Universität Freiburg Universität Freiburg 26.10.2011 Vollständige Induktion Wir unterbrechen jetzt die Diskussion der Axiome der reellen Zahlen, um das Beweisverfahren der vollständigen Induktion kennenzulernen. Wir setzen

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2/212 2.9. - 3.9.2 17.1. - 21.1.2 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 3 aus "Abenteuer Informatik" von Jens Gallenbacher

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

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

Mehr

Konzepte der Informatik

Konzepte der Informatik Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Konzepte der Informatik Vorkurs Informatik zum WS 213/214 1.9. - 27.9.213 Dr. Werner Struckmann / Hendrik Freytag 1. April 21 Referent

Mehr

Fachwissenschaftliche Grundlagen

Fachwissenschaftliche Grundlagen Fachwissenschaftliche Grundlagen Vorlesung im Wintersemester 2011/2012, Universität Landau Roland Gunesch 9. Vorlesung Roland Gunesch (Mathematik) Fachwissenschaftliche Grundlagen 9. Vorlesung 1 / 17 Themen

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen

Mehr

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den x > 1 3x > 3 3x + 3 > 6 6x + 3 > 3x + 6.

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den x > 1 3x > 3 3x + 3 > 6 6x + 3 > 3x + 6. Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den 7.9.01 Vorkurs Mathematik WS 01/13 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität) Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 05 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen Grundlagen

Mehr

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den 8.9.011 Vorkurs Mathematik WS 011/1 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen

Mehr

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Einführung Grundlagen von Algorithmen Grundlagen

Mehr

Vervollständigung Lateinischer Quadrate

Vervollständigung Lateinischer Quadrate Vervollständigung Lateinischer Quadrate Elisabeth Schmidhofer 01.12.2013 Inhaltsverzeichnis 1 Vorwort 3 2 Einleitung 4 2.1 Beispele.............................................. 4 3 Lateinische Quadrate

Mehr

3 Vom Zählen zur Induktion

3 Vom Zählen zur Induktion 7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,

Mehr

Induktion und Rekursion

Induktion und Rekursion Induktion und Rekursion Induktion und Rekursion Vorkurs Informatik Theoretischer Teil WS 013/14. Oktober 013 Vorkurs Informatik WS 013/14 1/1 Vollständige Induktion Vorkurs Informatik WS 013/14 /1 Ziel

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen

Mehr

Serie 4 2 = 10. ) ist). Dann gilt für alle n n 0

Serie 4 2 = 10. ) ist). Dann gilt für alle n n 0 Serie 4. Aufgabe 336 Punkte) Gegeben seien zwei reelle Zahlenfolgen durch a n : 0 n, n N b n : n n, n N Bestimmen Sie die Grenzwerte a bzw. b der Folgen a n ) n N bzw. b n ) n N. Geben Sie jeweils zu gegebenem

Mehr

Zahlentheorie. Stefan Takacs Linz, am 2. Juni 2004

Zahlentheorie. Stefan Takacs Linz, am 2. Juni 2004 Zahlentheorie Anna Rieger 0355556 Stefan Takacs 0356104 Daniela Weberndorfer 0355362 Linz, am 2. Juni 2004 Zusammenfassung Die vorliegende Arbeit über die grundlegenden Sätze der Zahlentheorie beschäftigt

Mehr

2. Hausübung Diskrete Mathematik SS 2003

2. Hausübung Diskrete Mathematik SS 2003 2. Hausübung Diskrete Mathematik SS 2003 Lösungsvorschläge 6. Zunächst bestimmen wir die Anzahl der verschiedenen möglichen Ergebnisse für die Differenzen a i a j. Wegen 1 a 1 < < a 21 100 gibt es 99 Möglichkeiten

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9

Mehr

Grundlagen der Mathematik

Grundlagen der Mathematik Universität Hamburg Winter 016/17 Fachbereich Mathematik Janko Latschev Lösungsskizzen 6 Grundlagen der Mathematik Präsenzaufgaben (P9) Die Ordnung der natürlichen Zahlen I Wir hatten in der Vorlesung

Mehr

Algorithmentheorie. 10 Greedy Verfahren

Algorithmentheorie. 10 Greedy Verfahren Algorithmentheorie 0 Greedy Verfahren Prof. Dr. S. Albers Greedy Verfahren. Allgemeine Vorbemerkungen 2. Einfache Beispiele Münzwechselproblem Handlungsreisenden-Problem 3. Das Aktivitäten Auswahlproblem

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 07.10.2016 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Rucksackproblem Dynamische Programmierung 07.10.2016

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 9, Donnerstag 18. Dezember 2014 (Teile und Herrsche, Mastertheorem) Junior-Prof. Dr.

Mehr

Serie 5. Lineare Algebra D-MATH, HS Prof. Richard Pink. 1. [Aufgabe] Invertieren Sie folgende Matrizen über Q:

Serie 5. Lineare Algebra D-MATH, HS Prof. Richard Pink. 1. [Aufgabe] Invertieren Sie folgende Matrizen über Q: Lineare Algebra D-MATH, HS 214 Prof Richard Pink Serie 5 1 [Aufgabe] Invertieren Sie folgende Matrizen über Q: 1 a) 1 1 1 1 1 2 1 1 1 b) 1 2 1 1 1 1 2 1 1 1 1 2 1 2 3 1 c) 1 3 3 2 2 1 5 3 1 2 6 1 [Lösung]

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

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 15.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Das Rucksackproblem 15.10.2015 Dr. Werner Struckmann

Mehr

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Saskia Klaus 07.10.016 1 Motivation In den ersten beiden Vorträgen des Vorkurses haben wir gesehen, wie man aus schon bekannten Wahrheiten

Mehr

Fünf-Farben-Satz. Seminar aus reiner Mathematik, WS 13/14. Schweighofer Lukas, November Seite 1

Fünf-Farben-Satz. Seminar aus reiner Mathematik, WS 13/14. Schweighofer Lukas, November Seite 1 Der Fünf- Farben-Satz Seminar aus reiner Mathematik, WS 13/14 Schweighofer Lukas, November 2013 Seite 1 Inhaltsverzeichnis Vorwort...3 Graphentheoretische Grundlagen...4 Satz 2 (Eulerscher Polyedersatz)...7

Mehr

1. Beschreiben Sie folgende Zahlenmengen durch Markierung auf der Zahlengeraden, der Zahlenebene bzw. durch Aufzählen der Elemente:

1. Beschreiben Sie folgende Zahlenmengen durch Markierung auf der Zahlengeraden, der Zahlenebene bzw. durch Aufzählen der Elemente: Lösung 1. Übung Elemente der Algebra WS017/18 1. Beschreiben Sie folgende Zahlenmengen durch Markierung auf der Zahlengeraden, der Zahlenebene bzw. durch Aufzählen der Elemente: (e) {(x,y) IR 3x+4y 1}.

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

3 Vollständige Induktion

3 Vollständige Induktion 3.1 Natürliche Zahlen In den vorherigen Kapiteln haben wir die Menge der natürlichen Zahlen schon mehrfach als Beispiel benutzt. Das Konzept der natürlichen Zahlen erscheint uns einfach, da wir es schon

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Technische Universität München Zentrum Mathematik Mathematik 1 (Elektrotechnik) Übungsblatt 1

Technische Universität München Zentrum Mathematik Mathematik 1 (Elektrotechnik) Übungsblatt 1 Technische Universität München Zentrum Mathematik Mathematik 1 (Elektrotechnik) Prof. Dr. Anusch Taraz Dr. Michael Ritter Übungsblatt 1 Hausaufgaben Aufgabe 1.1 Zeigen Sie mit vollständiger Induktion:

Mehr

Universität Innsbruck WS 2013/2014. Brückenkurs. Formale Konzepte. 3. Auflage. Harald Zankl. 15. Januar 2014

Universität Innsbruck WS 2013/2014. Brückenkurs. Formale Konzepte. 3. Auflage. Harald Zankl. 15. Januar 2014 Universität Innsbruck WS 013/014 Brückenkurs Formale Konzepte 3. Auflage Harald Zankl 15. Januar 014 Institut für Informatik Innsbruck, Österreich Inhaltsverzeichnis 1 Definition, Satz, Beweis 1.1 Aufgaben................................

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 .. ADS: Algorithmen und Datenstrukturen 2 8. Vorlesung Uwe Quasthoff Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität Leipzig 6. Juni 2012 1 / 25 Editier-Distanz Beobachtungen:

Mehr

Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy

Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy 2.2 Entwurfsparadigmen Top-down Bottom-up Divide & Conquer Dynamisches Programmieren Caching (Memoization) Branch-and-Bound Greedy 1 Top-Down Zerlege das gegebene Problem in Teilschritte Zerlege Teilschritte

Mehr

Einführung, III: Verschiedenes

Einführung, III: Verschiedenes Einführung, III: Verschiedenes.1 Summennotation... 22.2 Regeln für Summen, Newtons Binomische Formeln... 22. Doppelsummen... 2.4 Einige Aspekte der Logik... 2.5 Mathematische Beweise.... 24.6 Wesentliches

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Greedy Algorithms - Gierige Algorithmen

Greedy Algorithms - Gierige Algorithmen Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2

Mehr

Der Fünf-Farben-Satz. Lukas Schweighofer. Feb.2014

Der Fünf-Farben-Satz. Lukas Schweighofer. Feb.2014 Der Fünf-Farben-Satz Lukas Schweighofer Feb.2014 1 Contents 1 Vorwort 3 2 Graphentheoretische Grundlagen 4 3 Satz 2 (Eulerscher Polyedersatz) 8 4 Satz 3 9 5 Der Fnf-Farben-Satz 10 5.1 Beweis 1..............................

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)!

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)! WS 015/1 Hausaufgaben zur Vorlesung Vollständige Induktion 1. Beweist folgende Formeln zu beweisen ist nur die Gleichheit mit dem! -Zeichen : a 5 + + 7 + 8 + + 4 + n n 4 + i! nn+9 b 1 + + 9 + + n 1 n 1

Mehr

Höhere Mathematik I für die Fachrichtung Informatik. Lösungsvorschläge zum 4. Übungsblatt

Höhere Mathematik I für die Fachrichtung Informatik. Lösungsvorschläge zum 4. Übungsblatt KARLSRUHER INSTITUT FÜR TECHNOLOGIE INSTITUT FÜR ANALYSIS Dr. Christoph Schmoeger Heiko Hoffmann WS 0/4 Höhere Mathematik I für die Fachrichtung Informatik Lösungsvorschläge zum 4. Übungsblatt Aufgabe

Mehr

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule Berufsfeldbezogenes Fachseminar - Zahlentheorie Lisa Laudan Prof. Dr. Jürg Kramer Wintersemester 2014/2015 Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule 1.1

Mehr

Mengenlehre und vollständige Induktion

Mengenlehre und vollständige Induktion Fachschaft MathPhys Heidelberg Mengenlehre und vollständige Induktion Vladislav Olkhovskiy Vorkurs 018 Inhaltsverzeichnis 1 Motivation 1 Mengen.1 Grundbegriffe.................................. Kostruktionen

Mehr

Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Jennifer Naumann. 11.Juni 2013

Gierige Algorithmen. Seminar Hallo Welt! für Fortgeschrittene. Jennifer Naumann. 11.Juni 2013 Gierige Algorithmen Seminar Hallo Welt! für Fortgeschrittene Jennifer Naumann 11.Juni 2013 Jennifer Naumann Gierige Algorithmen 11.Juni 2013 1 / 44 Übersicht 1 Einführung Definition Wann darf man gierige

Mehr

Christian Rieck, Arne Schmidt

Christian Rieck, Arne Schmidt Institute of Operating Systems and Computer Networks Algorithms Group Algorithmen und Datenstrukturen Wintersemester 207/208 Übung#2, 09..207 Christian Rieck, Arne Schmidt Organisatorisches Anmeldung Mailingliste

Mehr

Kapitel 16. Invertierbare Matrizen

Kapitel 16. Invertierbare Matrizen Kapitel 16. Invertierbare Matrizen Die drei Schritte des Gauß-Algorithmus Bringe erweiterte Matrix [A b] des Gleichungssystems A x auf Zeilenstufenform [A b ]. Das System A x = b ist genau dann lösbar,

Mehr

2. Symmetrische Gruppen

2. Symmetrische Gruppen 14 Andreas Gathmann 2 Symmetrische Gruppen Im letzten Kapitel haben wir Gruppen eingeführt und ihre elementaren Eigenschaften untersucht Wir wollen nun eine neue wichtige Klasse von Beispielen von Gruppen

Mehr

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/03 Institut für Informatik Aufgabenblatt 6 Prof. Dr. J. Csirik 18. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am

Mehr

3 Primzahlen. j,... stets Primzahlen. 3.1 Satz. Jedes a > 1 ist als Produkt von Primzahlen darstellbar (Primfaktorzerlegung. n=1

3 Primzahlen. j,... stets Primzahlen. 3.1 Satz. Jedes a > 1 ist als Produkt von Primzahlen darstellbar (Primfaktorzerlegung. n=1 3 Primzahlen Die Zahl 1 hat nur einen positiven Teiler, nämlich 1. Jede Zahl a > 1 hat mindestens zwei positive Teiler: 1 und a. Definition. Eine Primzahl ist eine Zahl a > 1, welche nur die Teiler 1 und

Mehr

A N A L Y S I S I F Ü R T P H, U E ( ) 1. Übungstest (FR, ) (mit Lösung )

A N A L Y S I S I F Ü R T P H, U E ( ) 1. Übungstest (FR, ) (mit Lösung ) Institut für Analysis und Scientific Computing TU Wien W. Auzinger WS 05/6 A N A L Y S I S I F Ü R T P H, U E (03.088). Übungstest (FR, 6..05) (mit Lösung ) Aufgabe. a ) Wandeln Sie die periodische Dezimalzahl

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Logik/Beweistechniken

Logik/Beweistechniken Mathematikvorkurs bei Marcos Soriano Logik/Beweistechniken erstellt von: Daniel Edler -II- Inhaltsverzeichnis 1 Logik/Beweistechniken 1 1.1 Allgemeine Vorgehensweise......................... 1 2 Konjunktion/Disjunktion

Mehr

piiq oder p 8, aq, p 8, as, pa, `8q, ra, `8q mit einer reellen Zahl a; piiiq oder p 8, `8q R. [6 Punkte] Achtung: Denken Sie auch an den Fall I!

piiq oder p 8, aq, p 8, as, pa, `8q, ra, `8q mit einer reellen Zahl a; piiiq oder p 8, `8q R. [6 Punkte] Achtung: Denken Sie auch an den Fall I! Analysis I Wintersemester 2015/16 9. Übungsblatt, Lösungsbeispiele Jun. Prof. Dr. Christian Reiher, Pascal Gollin Alexander Block, Hendrik Niehaus, Jakob Kneip, Jakob Schnitzer Aufgabe 5 Es sei I Ď R eine

Mehr

Der mathematische Beweis

Der mathematische Beweis Der mathematische Beweis Im Studium wird man wesentlich häufiger als in der Schule Beweise führen müssen. Deshalb empfiehlt es sich, verschiedene Beweisverfahren intensiv zu trainieren. Beweisstruktur

Mehr

Vollständige Induktion

Vollständige Induktion Schweizer Mathematik-Olympiade smo osm Vollständige Induktion Aktualisiert: 1 Dezember 01 vers 100 Eine der wichtigsten Beweistechniken der Mathematik überhaupt ist die (vollständige) Induktion Wir nehmen

Mehr

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25.

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25. Operations Research Rainer Schrader Ganzzahlige lineare Programme Zentrum für Angewandte Informatik Köln 25. Juni 2007 1 / 49 2 / 49 Ganzzahlige lineare Programme Gliederung ganzzahlige lineare Programme

Mehr

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt.

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Abschätzung für die Rekursion von SELECT Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Wir nehmen erst einmal an, dass eine Konstante d existiert,

Mehr

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv

Mehr

Übungsaufgaben Blatt 3

Übungsaufgaben Blatt 3 Departement Informatik Open Class Sieben Wunder der Informatik Prof Dr Juraj Hromkovič Übungsaufgaben Blatt 3 Zürich, 23 November 26 Zusammenfassung und Aufgaben Ein Entscheidungsproblem besteht darin,

Mehr

2. Teilbarkeit. Euklidischer Algorithmus

2. Teilbarkeit. Euklidischer Algorithmus O. Forster: Einführung in die Zahlentheorie 2. Teilbarkeit. Euklidischer Algorithmus 2.1. Wir benutzen die folgenden Bezeichnungen: Z = {0, ±1, ±2, ±3,...} Menge aller ganzen Zahlen N 0 = {0, 1, 2, 3,...}

Mehr

Themen: Kubische Gleichungen, Ungleichungen, Induktion

Themen: Kubische Gleichungen, Ungleichungen, Induktion Lo sungen zu U bungsblatt Mathematik fu r Ingenieure Maschinenbauer und Sicherheitstechniker), 1. Semester, bei Prof. Dr. G. Herbort im WiSe1/14 Dipl.-Math. T. Pawlaschyk, 05.11.1 Themen: Kubische Gleichungen,

Mehr

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { } Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird

Mehr

Lösungen 4.Übungsblatt

Lösungen 4.Übungsblatt Karlsruher Institut für Technology (KIT) WS 2011/2012 Institut für Analysis Priv.-Doz. Dr. Gerd Herzog Dipl.-Math.techn. Rainer Mandel Lösungen 4.Übungsblatt Aufgabe 13 (K) Bestimmen Sie sämtliche Häufungswerte

Mehr

Grundlagen der Mathematik

Grundlagen der Mathematik Universität Hamburg Winter 2016/17 Fachbereich Mathematik Janko Latschev Lösungsskizzen 8 Grundlagen der Mathematik Präsenzaufgaben (P13) Primfaktorzerlegungen Die Primfaktorzerlegungen lauten: a) 66 =

Mehr

Zahlenmengen. Bemerkung. R Menge aller Dezimalbrüche: reelle Zahlen, C = {a + i b : a, b R} mit i 2 = 1 komplexe Zahlen.

Zahlenmengen. Bemerkung. R Menge aller Dezimalbrüche: reelle Zahlen, C = {a + i b : a, b R} mit i 2 = 1 komplexe Zahlen. Zahlenmengen N = {0, 1,, 3,...} natürliche Zahlen, Z = {...,, 1, 0, 1,,...} ganze Zahlen, Q = {p/q : p Z, q N \ {0}} rationale Zahlen, R Menge aller Dezimalbrüche: reelle Zahlen, C = {a + i b : a, b R}

Mehr

Algorithmen und Komplexität

Algorithmen und Komplexität Algorithmen und Komplexität Dynamische Programmierung Markus Ullrich Norbert Baum Fachbereich Informatik - IIb07 Hochschule Zittau/Görlitz 28. Mai 2009 1 / 29 Wie sieht es mit langen Ketten aus? A 1 A

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 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/ws0809

Mehr

Tutoraufgabe 1 (Suchen in Graphen):

Tutoraufgabe 1 (Suchen in Graphen): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Sven Grothklags University of Paderborn 10. Juli 2006 Sven Grothklags (University of Paderborn) DuA Übungsblatt 13 10. Juli 2006 1

Mehr

mathe plus Aussagenlogik Seite 1

mathe plus Aussagenlogik Seite 1 mathe plus Aussagenlogik Seite 1 1 Aussagenlogik 1.1 Grundbegriffe Def 1 Aussage Eine Aussage ist ein beschriebener Sachverhalt, dem eindeutig einer der Wahrheitswerte entweder wahr oder falsch zugeordnet

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

,...) ist eine Folge, deren Glieder der Null beliebig nahe kommen. (iii) Die Folge a n = ( 1) n + 1 n oder (a n) = (0, 3 2, 2 3, 5 4, 4 5

,...) ist eine Folge, deren Glieder der Null beliebig nahe kommen. (iii) Die Folge a n = ( 1) n + 1 n oder (a n) = (0, 3 2, 2 3, 5 4, 4 5 3 Folgen 3.1 Definition und Beispiele Eine Abbildung a : Æ Ê heißt (reelle) Zahlenfolge. Statt a(n) schreiben wir kürzer a n und bezeichnen die ganze Folge mit (a n ) n Æ oder einfach (a n ), was aber

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Lösungen Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Kapitel I: Mengen Aufgabe

Mehr

2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form.

2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form. für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Vollständige Induktion): Finden Sie eine geschlossene Form für die

Mehr

Natürliche, ganze und rationale Zahlen

Natürliche, ganze und rationale Zahlen Natürliche, ganze und rationale Zahlen Zunächst haben die zum Zählen verwendeten natürlichen Zahlen 0, 1, 2, 3,... nichts mit dem reellen Zahlen zu tun. Durch die ausgezeichnete reelle Zahl 1 (Maßeinheit!)

Mehr

Lösungen zu Ungerade Muster in Pyramiden. Muster: Die Summe der ungeraden Zahlen (in jeder Teilpyramide) ist stets eine Quadratzahl.

Lösungen zu Ungerade Muster in Pyramiden. Muster: Die Summe der ungeraden Zahlen (in jeder Teilpyramide) ist stets eine Quadratzahl. Lösungen zu Ungerade Muster in Pyramiden Aufgabe Muster: Die Summe der ungeraden Zahlen (in jeder Teilpyramide) ist stets eine Quadratzahl. Begründung : Zunächst schauen wir eine Abbildung an, in der die

Mehr

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl. Unterräume und Lineare Hülle 59 3. Unterräume und Lineare Hülle Definition.1 Eine Teilmenge U eines R-Vektorraums V heißt von V, wenn gilt: Unterraum (U 1) 0 U. (U ) U + U U, d.h. x, y U x + y U. (U )

Mehr

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung Kapitel : Fallstudie Bipartite Graphen Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und. Minimal spannende Bäume. Kürzeste Wege 6. Traveling Salesman

Mehr

Vollständige Induktion

Vollständige Induktion 30. September 008 Gliederung 1 3 4 Die Peano Axiome für die Menge der Natürlichen Zahlen N I. 0 ist eine natürliche Zahl, d.h. 0 N. II. Jede natürliche Zahl hat genau einen Nachfolger d.h. n : (n N! n

Mehr

Vollständige Induktion

Vollständige Induktion 30. September 008 Gliederung 1 3 4 Gliederung 1 3 4 Gliederung 1 3 4 Gliederung 1 3 4 Die Peano Axiome für die Menge der Natürlichen Zahlen N I. 0 ist eine natürliche Zahl, d.h. 0 N. II. Jede natürliche

Mehr

Hilfsmittel aus der Kombinatorik, Reelle Zahlenfolgen, Vollständige Induktion

Hilfsmittel aus der Kombinatorik, Reelle Zahlenfolgen, Vollständige Induktion 3. Vorlesung im Brückenkurs Mathematik 2018 Hilfsmittel aus der Kombinatorik, Reelle Zahlenfolgen, Vollständige Induktion Dr. Markus Herrich Markus Herrich Kombinatorik, Zahlenfolgen, Induktion 1 Hilfsmittel

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Ein fundamentales mathematisches Beweisprinzip p ist die vollständige Induktion: Sei p : Falls

Ein fundamentales mathematisches Beweisprinzip p ist die vollständige Induktion: Sei p : Falls Beweisprinzip der vollständigen Induktion Ein fundamentales mathematisches Beweisprinzip p ist die vollständige Induktion: Sei p : Falls ein totales Prädikat. 1. p(0) (Induktionsanfang) und 2. für beliebiges

Mehr

Hilfsmittel aus der Kombinatorik, Vollständige Induktion, Reelle Zahlenfolgen

Hilfsmittel aus der Kombinatorik, Vollständige Induktion, Reelle Zahlenfolgen 7. Vorlesung im Brückenkurs Mathematik 2017 Hilfsmittel aus der Kombinatorik, Vollständige Induktion, Reelle Zahlenfolgen Dr. Markus Herrich Markus Herrich Kombinatorik, Vollständige Induktion, Zahlenfolgen

Mehr

Hackenbusch und Spieltheorie

Hackenbusch und Spieltheorie Hackenbusch und Spieltheorie Was sind Spiele? Definition. Ein Spiel besteht für uns aus zwei Spielern, Positionen oder Stellungen, in welchen sich das Spiel befinden kann (insbesondere eine besondere Startposition)

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

Übungen Mathematik I, M

Übungen Mathematik I, M Übungen Mathematik I, M Übungsblatt, Lösungen (Stoff aus Mathematik 0) 09.0.0. Kommissar K hat 3 Tatverdächtige P, Q und R. Er weiß: (a) Wenn sich Q oder R als Täter herausstellen, dann ist P unschuldig.

Mehr

Algorithmen I - Tutorium 28 Nr. 12

Algorithmen I - Tutorium 28 Nr. 12 Algorithmen I - Tutorium 28 Nr. 12 20.07.2017: Spaß mit Dynamischer und Linearer Programmierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN

Mehr