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

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

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

Transkript

1 9. Algorithmenherleitung durch Induktion Algorithmen und Datenstrukturen 9. Algorithmenherleitung durch Induktion Prof. Dr. Christoph Pflaum Department Informatik Martensstraße Erlangen 9. Induktionsformen 9.2 Beispiel einer Summenformel 9.3 Gebiete in der Ebene 9.4 Numerische Integration 9.5 GrayCodes 9.6 Färben von Gebieten 9.7 Polynomauswertung HornerSchema 9.8 Maximale Summe einer zusammenhängenden Teilfolge 9.9 RucksackProblem Dynamisches Programmieren 9. Münzminimierung Gierige Algorithmen 9. Prominentenproblem Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Induktionsformen Nachweis der Gültigkeit einer Aussage A(n) für alle nù a) Basisform der Induktion ( ) Bedingungen: A() ist wahr Für jedes n > : A(n ) impliziert A(n) Dann gilt A(n) für alle n. b) Basisform der Induktion ( + ) Bedingungen: A() ist wahr Für jedes n : A(n) impliziert A(n + ) Dann gilt A(n) für alle n. c) kanfangsform der Induktion ( k ), analog ( +k ) Bedingung A() A(k) sind wahr Für jedes n > k: A(n k) impliziert A(n) Dann gilt A(n) für alle n. k parallele Pfade durch ù, die ù ganz überdecken. 9. Induktionsformen Nachweis der Gültigkeit einer Aussage A(n) für alle nù d) Strenge Induktion Bedingungen: A() ist wahr Für jedes n > : (Für alle m < n: A(m)) impliziert A(n) Dann gilt A(n) für alle n. e) ZweierpotenzInduktion Bedingungen: A() ist wahr Für jedes n = 2 k > : A(n / 2) impliziert A(n) Dann gilt A(n) für alle n = 2 k. Nicht nur wahr für einen Vorgänger, sondern für alle. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 93 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 94 Michael Philippsen

2 9. Induktionsformen Nachweis der Gültigkeit einer Aussage A(n) für alle nù f) 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 ) Von diesem k arbeitet Dann gilt A(n) für alle n. man sich rückwärts bis m g) Strukturelle Induktion vor und zeigt so A(m). Beweis über die Konstruktionsregeln einer Struktur. Mehr dazu in Abschnitt 2. Abstrakte Datentypen. 9.2 Beispiel einer Summenformel Bestimme für alle n: T(n) = (3 + 5n) n Idee: Da 3 i = (n²+) / 2 liegt es nahe für T(n) ebenfalls eine quadratische Formel anzunehmen: T(n) = c 2 n² + c n + c Betrachte die ersten Reihenelemente T() = T() = c 2 + c = 8 T(2) = 4c 2 + 2c = 3 Y c 2 = 5/2 c = /2 c = Behauptung: T(n) = (5 n² + n)/2 Beweis? Man kann das natürlich direkt lösen: 3 i (3+5i) = 3 3 i i i = 3n + 5 ½ n(n+) = 5/2 n² + /2 n Hier zu Übungszwecken per Induktion Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 95 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Beispiel einer Summenformel 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() = 8 = 2,5 + 5,5 // klar Induktionshypothese: für n > gilt T(n) = 2,5 n² + 5,5 n Induktionsschritt n n + : T(n+) = T(n) + (3 + 5 (n+)) // Def. Reihenentwicklung = 2,5 n² + 5,5 n + 5 n + 8 // Induktionsvoraussetzung // 2,5(n+)²=2,5n²+5n+2,5 = 2,5 (n+)² + 5,5 n + 5,5 // binomische Formel = 2,5 (n+)² + 5,5 (n+) // Behauptung gilt für n+ // q.e.d. 9.3 Gebiete in der Ebene Behauptung: n Geraden in der Ebene, die in allgemeiner Position zueinander liegen, bilden (n*(n+) / 2) + Gebiete. Allgemeine Position = Keine 2 Geraden sind parallel Keine 3 Geraden schneiden sich im selben Punkt Beispiele: 2 Gebiete 4 Gebiete 7 Gebiete Gerade Nr. Gerade Nr. 2 Gerade Nr. 3 extra Gebiet 2 extra Gebiete 3 extra Gebiete Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 97 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 98 Michael Philippsen 2

3 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 Geraden in allgemeiner Position in der Ebene erhöht sich die Zahl der Gebiete um n. 9.3 Gebiete in der Ebene Induktionsschritt ( n n + ), Fortsetzung: Wenn man die nte Gerade entfernen würde, dann würde die n+te Gerade als nte Gerade eingefügt und laut Induktionsvoraussetzung n Gebiete hinzufügen, also schneiden. Es muss also nur gezeigt werden, dass in Gegenwart der nten Geraden die n+te Gerade ein zusätzliches Gebiet schneidet. Beweis durch vollständige Induktion Induktionsanfang: Geraden Gebiet. Kommt die. Gerade dazu, dann 2 Gebiete, nämlich rechts und links der Geraden. Induktionsschritt ( n n + ): 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+. Gerade n+ Gebiete teilt. n P Gebiet G n+ Es gibt genau ein Gebiet G, in dem sich die nte und n+te Gerade schneiden (Punkt P). Wenn Gerade n nicht vorhanden wäre, dann würde die n+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+te Gerade zwei neue Gebiete hinzu, also insgesamt n+ neue Gebiete. //q.e.d. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 99 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Gebiete in der Ebene Wir haben gezeigt: Die ite Gerade fügt i Gebiete hinzu. n Damit erzeugen n Geraden +3i = + ½ n(n+) Gebiete. i= Gebiet ist auch bei Geraden vorhanden Bemerkungen: Keine Induktion über Gebietzahl, sondern über Wachstum der Gebietszahl Induktionshypothese wurde doppelt verwendet Für die Gebiete, die durch die nte Gerade eingeführt werden Für die Gebiete, die durch die n+te Gerade eingeführt werden, wenn die nte Gerade nicht vorhanden ist 9.4 Numerische Integration Gegeben: Funktion Gesucht: Bestimme Integral Rekursive Lösung: Zerlege in zwei Teile: b a f ( x) dx = f : [ a, b] R b a ( b+ a) / 2 a f ( x) dx f ( x) dx Löse beide Integrale rekursiv bis ( b a) klein genug. Dann setze b' b' a' f ( x) dx ( b' a' ) f 2 a' + b ( a+ b) / 2 f ( x) dx Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 9 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 92 Michael Philippsen 3

4 9.4 Numerische Integration 9.5 GrayCodes public class Integration { static double Integrate(double a, double b, double eps) { double mitte = (a + b) / 2.; if ((b a) < eps) { return f(mitte) * (b a); } else { return Integrate(a, mitte, eps) + Integrate(mitte, b, eps); } } GrayCode ist ein binärer Code Problematik bei der Übertragung von digitalen Daten: Temperaturmessung Analog Digital Wandler 8bit Datenleitung Recheneinheit } static double f(double x) {... }... Übertragungsfehler!! Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 93 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie GrayCodes GrayCode ist ein binärer Code GrayCode: aufeinander folgende CodeWörter unterscheiden sich in genau einem Bit (zyklisch). Bei GrayCodes entstehen keine Übertragungsfehler bei stetig veränderlichen Signalen. Beispiele für GrayCodes der Länge n = 2:, n = 4:,,, n = 8: // zwei Beispiele für einen GrayCode der Länge 8, // die 3 Bits benötigen. Für gerade n, die keine Zweierpotenzen sind, gibt es auch eine erweiterte GrayCodeDefiniiton. 9.5 GrayCodes Algorithmenherleitung durch Induktion Behauptung: Für jedes n =2 s >, nù existiert ein GrayCode der Länge n, wobei jedes Codewort aus s = log 2 n Bits besteht. Beweis: Induktionsanfang: Für n = ist der gesuchte GrayCode, für n = 2 ist, der gesuchte GrayCode Induktionsschritt: Verdopple GrayCode mit Suffix bzw. und füge beide zusammen. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 95 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 96 Michael Philippsen 4

5 9.5 GrayCodes 9.5 GrayCodes Erweiterung eines GrayCodes, Länge 4 Länge 8 s s n/2 s n/2 s s 2 s 2 s3 s 4 s 5 GrayCode der Länge n/2 existiert nach Induktionsvoraussetzung s n/2 voranstellen s Verdoppeln, mit s führender statt 2 Zyklus Aufbruchstelle s 5 s 3 s 4 s 3 s 4 s 5 2 Bits für Länge 4 3 Bits für Länge 8 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 97 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 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!). 9.6 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. Vergleiche ähnlich klingendes Problem: Landkarten können mit 4 Farben gefärbt werden. Dort Streckenzüge statt Geraden. 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 ) Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 99 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 92 Michael Philippsen 5

6 9.6 Färben von Gebieten Induktionsschritt ( strenge Induktion, œk < n n ): Wenn die nte 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 nten Geraden. Die Farben aller Gebiete in nur einer Gruppe werden vertauscht. Betrachte zwei benachbarte Gebiete R und R2: Fall : R und R2 befinden sich auf einer Seite der nten Gerade. Nach Induktionsvoraussetzung hatten sie vor Einführung der nten Gerade unterschiedliche Farben. Hinterher immer noch, ggf. aber getauscht. R R2 R R2 Y R R2 R R2 9.6 Färben von Gebieten Fall 2: R und R2 entstehen durch die nte Gerade (d.h. nte Gerade bildet gemeinsame Kante von R und R2). R R2 R R2 Y Farbtausch Vor Einführung der nten Gerade hatten R und R2 die gleiche Farbe. Durch den Farbtausch haben sie nach Einführung der nten Gerade unterschiedliche Farben. q.e.d. Farbtausch Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 92 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Polynomauswertung HornerSchema 9.7 Polynomauswertung HornerSchema Gegeben: x, a n, a n,..., a Gesucht: P n (x) = a n x n + a n x n a x + a. Idee zur Algo.herleitung per Induktion: Rückführung auf P n Basisfall: P (x) = a Induktionshypothese: P n (x) kann berechnet werden Induktionsschritt: P n (x) = a n x n + P n (x) Beispiel: Werte P 3 (x) = 4x 3 +3x 2 +2x+ für x=7 aus P (7) = P (7) = P (7) = 4 + = 5 P 2 (7) = P (7) = = 62 P 3 (7) = P 2 (7) = = 534 Add Mult Beispiel: Werte P 3 (x) = 4x 3 +3x 2 +2x+ für x=7 aus P (7) = P (7) = P (7) = 4 + = 5 P 2 (7) = P (7) = = 62 P 3 (7) = P 2 (7) = = 534 Die einfache Lösung, das Polynom einfach von links nach rechts auszuwerten, wird durch die Rückführung auf P n verkompliziert, obwohl im Endeffekt genau dasselbe gerechnet wird. Anzahl Multiplikationen: n + n + n2 + + = n(n+)/2 Anzahl Additionen: n Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 923 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 924 Michael Philippsen 6

7 9.7 Polynomauswertung HornerSchema 2. Idee = Variante der. Idee Statt x n mit n Multiplikationen auszurechnen, wird ein schnellerer Algorithmus eingesetzt: x, x², x 4, x 8, x 6, können jeweils mit einer Multiplikation zum Quadrieren berechnet werden. Betrachte die Binärdarstellung von n und multipliziere jeweils diejenigen Potenzen von x, an deren Position in der Binärdarstellung eine steht. Beispiel: 9 = binär // Einsen auf Positionen 4,, 9.7 Polynomauswertung HornerSchema Beispiel: Werte P 3 (x) = 4x 3 +3x 2 +2x+ für x=7 aus vorab: 7 =7, 7 2 =7 7=49, 7 3 =7 7 2 =343 P (7) = P (7) = P (7) = 4 + = 5 P 2 (7) = P (7) = = 62 P 3 (7) = P 2 (7) = = 534 Add Mult x 9 = x 24. x 2. x 2 = x 6. x 2. x Zweierpotenzen NichtZweierpotenzen Anzahl Multiplikationen: Anzahl Additionen: log 2 n+?+n n n Rekursionsschritte Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 925 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Polynomauswertung HornerSchema 3. Idee: Strengere Invariante Statt nur Rückführung auf Auswertung von P n (x), zusätzlich Rückführung auf Berechnung von x n Basisfall: x =, P (x) = a Induktionshypothese: x n und P n (x) können berechnet werden Induktionsschritt: x n = x. x n P n (x) = a. n x n + P n (x) Beispiel: Werte P 3 (x) = 4x 3 +3x 2 +2x+ für x=7 aus x = P (7) = x = x 7 = 7 P (7) = P (7) = 4 + = 5 x 2 = x 7 = 49 P 2 (7) = P (7) = = 62 x 3 = x 2 7 = 343 P 3 (7) = P 2 (7) = = Polynomauswertung HornerSchema Es geht noch besser: Problemgrößenreduktion nicht durch Abtrennung von a n, sondern durch Abtrennung von a Problemreduktion von rechts statt von links 4. Idee HornerSchema Betrachte P' i (x) = a n x i + a n x i + + a ni Es gilt: P' i (x) = x. P i (x) + a ni // Multiplikation u. Addition Basisfall: P' (x) = a n Induktionshypothese: P' n (x) kann berechnet werden Induktionsschritt: P' n (x) = x. P' n (x) + a n bei großen n viel schneller: 2n Multiplikationen, n Additionen Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 927 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 928 Michael Philippsen 7

8 9.7 Polynomauswertung HornerSchema 4. Idee HornerSchema Basisfall: P' (x) = a n Induktionsschritt: P' n (x) = x. P' n (x) + a n Beispiel: Werte P 3 (x) = 4x 3 +3x 2 +2x+ für x=7 aus P' (7) = 4 P' (7) = 7 P' (7) + 3 = P' 2 (7) = 7 P' (7) + 2 = 7 ( ) + 2 = P' 3 (7) = 7 P' 2 (7) + = 7 ( ) + = n Multiplikationen, n Additionen JavaCode: p = a[n]; for (int i = n ; i >= ; i){ p = p * x + a[i]; } Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Maximale Summe einer zusammenhängenden Teilfolge Problemspezifikation: Gegeben: Folge x, x 2,, x n von Gleitkommazahlen (ggf. auch negativ). Gesucht: zusammenhängende Teilfolge x i, x i+,, 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 festgesetzt.. Beispiel: 2, 3,.5,, 3, 2, 3, Es ist keine gute Idee, mit x zu beginnen, weil x +x 2 die maximale Summe um vermindert. Man kann die Suche nach der Teilfolge gleich bei x 2 fortsetzen. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Maximale Summe einer zusammenhängenden Teilfolge 9.8 Maximale Summe einer zusammenhängenden Teilfolge. Beispiel: 2, 3,.5,, 3, 2, 3, Die leere Teilfolge würde zu einer höheren Summe (=) führen =.5 würde auch einen negativen Beitrag zur Summe liefern. Daher Suche nach der Teilfolge bei x 2 fortsetzen. Keine größere Summe Die Teilfolge (.5,, 3) liefert mit 3.5 die maximale Summe. Algorithmen: Aufwändiger Algorithmus: Teste alle Teilfolgen. Rekursiver Algorithmus: Induktive Vorgehensweise. Idee: Man merkt sich nicht nur die bisher erreichte maximale Summe, sondern auch die maximale Summe derjenigen Teilfolgen, die am aktuellen Betrachungsende aufhört (SuffixFolge). Allgemeinere Aufgabenstellung und Rekursiver Algorithmus: Für eine Folge der Länge <n kann berechnet werden: maximale Summe einer zusammenhängenden Teilfolge, maximale Summe einer SuffixFolge. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 93 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 932 Michael Philippsen 8

9 9.8 Maximale Summe einer zusammenhängenden Teilfolge 2. Beispiel (a) 2, 3,.5,, 3, 2, 3, Soll man 2 zur Folge hinzunehmen? Neue Summe wäre dann.5 (weniger). Da anschließend zwei mal 3 kommt, könnte.5 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: = Maximale Summe einer zusammenhängenden Teilfolge Reihung x xmax xsuffix Allgemeinere Aufgabenstellung, Induktionshypothese: Für eine Folge der Länge <n kann berechnet werden: maximale Summe einer zusammenhängenden Teilfolge, maximale Summe einer SuffixFolge. Basisfall: wie oben Induktionsschritt n 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 x n Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 933 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Maximale Summe einer zusammenhängenden Teilfolge 2. Beispiel (b) 2, 3,.5,, 3, 2, 3, Bisherige maximale Teilfolge irgendwo in der Mitte. Neue maximale Summe durch Verlängerung der Suffixfolge gefunden: = 4,5 9.8 Maximale Summe einer zusammenhängenden Teilfolge JavaCode public double maxsubvektor(double x[]) { double xmax =.; double xsuffix =.; } for (int i = ; i < x.length; i++) { xsuffix = Math.max(xSuffix + x[i],.); xmax = Math.max(xMax, xsuffix); } return xmax; Vereinfacht: nur die Summe wird berechnet (nicht die Folge selbst). Die Teilfolge (.5,, 3, 2, 3, 3) liefert mit 7.5 die maximale Summe. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 935 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 936 Michael Philippsen 9

10 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, SiliziumChips etc. Hier: Objekte nur eindimensional, ganzzahlige Größe. Beispiel: Elemente Rucksackgröße K Nicht möglich Nicht möglich oder oder Problemspezifikation: Gegeben: Rucksackgröße Kù, S = {k, k 2,..., k n }, k i ù Gesucht: Gibt es TfS, so dass 3 k i = K? k i T 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. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 937 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 938 Wichtige Einsichten: P(n, K) = P(n, K), falls es eine Lösung für P(n, K) gibt // wenn man mit n 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, K k n ), falls Lösung für P(n, K k n ) // Lege k n in den Rucksack. Versuche mit n Elementen // den nun kleineren Restplatz vollständig zu füllen Problemspezifikation: Gegeben: Rucksackgröße Kù, S = {k, k 2,..., k n }, k i ù Gesucht: Gibt es TfS, so dass 3 k i = K? k i T Basisfall n = : K= leere Lösungsmenge K=k> falls k=k : die Lösung ist {k }, sonst i Induktionshypothese: P(n, k) kann für alle k K gelöst werden. P(2, 7) = {2, 5} sei schon gefunden. Dann ist P(3,) = {3}c{2, 5}, wenn das dritte Element die Größe 3 hat. 7 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 939 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 94 Michael Philippsen

11 Induktionshypothese: P(n, k) kann für alle k K gelöst werden. Induktionsschritt: Reduziere P(n, K) auf Teilproblem : P(n, K) Teilproblem 2: P(n, K k n ) (nur, falls K k n ) die beide nach Induktionsvoraussetzung lösbar sind. Zusammenfügung der Ergebnisse: Falls für P(n, K) eine Lösung existiert, dann ist sie auch Lösung für P(n, K). Falls für P(n, 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). Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 94 Bei der Reduktion von P(n, K) entstehen 2 Teilprobleme ( ) Teilproblem : P(n, K) Teilproblem 2: P(n, K k n ) (nur, falls K k n ) Im Unterschied zu TeileundHerrsche 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) exponentiell wachsender P(n, K) P(n, K k n ) Aufwand P(n 2, K) P(n 2, K k n ) P(n 2, K k n ) P(n 2, K k n k n ) Jetzt erwartet man eigentlich eine 2.Version der Induktionshypothese, die viel besser ist. Aber: hier liegt die Lösung schon auf dem Tisch! Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 942 P(n, K) P(n, K) P(n, K k n ) exponentiell wachsender Aufwand Matrix P(n,K) P(n,K) P(n,Kk n ) es gibt keine Lösung I es gibt eine Lösung, k ist dabei O es gibt eine Lösung, k ist nicht dabei P(n 2, K) P(n 2, K k n ) P(n 2, K k n ) P(n2, K k n k n ) Bei k n = k n sind dies identische Probleme k =2 Rucksackgröße O I 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 Elemente k 2 =3 k 3 =5 O O I I Datenfluss beim Zusammenführen der O O O O Teilproblemergebnisse Implementierung: Speicherung der schon berechneten Ergebnisse in einer Matrix der Größe n * K. k 4 =6 Zuerst gefundene mögl. Lösung wird ausgewählt. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 943 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 944 Michael Philippsen

12 Matrix P(n,K) P(n,K) P(n,Kk n ) k =2 es gibt keine Lösung I es gibt eine Lösung, k ist dabei O es gibt eine Lösung, k ist nicht dabei Rucksackgröße O I K Ablesen der Teilmenge Elemente k =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 Elemente k 2 =3 k 3 =5 k 4 =6 n O O I I O O O O I I I O O O O I O O I O I I I I Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 945 Wie ist ein Rucksack der Größe 3 zu packen? k 4 gehört in den Rucksack, wegen I Es bleibt ein Rucksack der Größe 36=7 k 3 gehört in den Rucksack, wegen I Es bleibt ein Rucksack der Größe 75=2 k gehört in den Rucksack, wegen I Der Rucksack ist nun voll: 22= Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 946 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 9. Münzminimierung Gierige Algorithmen Problem: Ein Geldbetrag n < ist mit möglichst wenigen Münzen auszubezahlen. Basisfall: Der Geldbetrag ist mit einer Münze auszuzahlen. Trivial für n=, 2, 5,, 2, 5. 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 mn mit möglichst wenig Münzen auszahlt. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 947 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 948 Michael Philippsen 2

13 9. 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. 9. 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? Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 949 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 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. 9. Prominentenproblem Gegeben sind n Personen. Ein Prominenter unter den Personen ist eine Person, die jeder kennt, die aber selbst keinen anderen kennt. Die Identifizierung des Prominenten findet durch Fragen der Art: Kennt Person A Person B? statt. Ziel: Minimierung der Zahl der Fragen. Beachte: Die Beziehung sich kennen ist asymmetrisch. Der Prominente kennt sich selbst. Für manche Optimierungsprobleme wird das globale Optimum gefunden, für andere nur ein lokales. Anderer Name: schrittweises Ausschöpfen. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 95 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 952 Michael Philippsen 3

14 9. Prominentenproblem Ziel ist die Minimierung der Anzahl der Fragen. Ein naiver Algorithmus benötigt n*(n) Fragen zum vollständigen Aufbau der Beziehungsmatrix. Beispiel: A B C D E A B E kennt B nicht C D E Diagonale: jeder kennt sich selbst D ist Prominenter, nur Einträge in Spalte, nur Einträge in Zeile (außer bei D selbst). Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Prominentenproblem Problemspezifikation Gegeben: n*nbeziehungsmatrix K Gesucht: Bestimme, ob ein j existiert, sodass gilt: für alle i gilt: K[i, j] = // Spalte mit lauter Einträgen für alle k j gilt: K[j, k] = // Zeile mit lauter Einträgen, // außer bei j selbst Induktionsansatz,. Versuch Basisfall: in einelementiger Menge ist Person prominent. Jeder aus der Menge kennt die Person. Die Person kennt keinen der anderen was kein Wunder ist, weil es keinen anderen in der Menge gibt. Die Beziehungsmatrix erfüllt obige Forderungen. Induktionshypothese: Man kann in den ersten n Personen bestimmen, ob es einen Prominenten gibt und wer dies ist. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie Prominentenproblem Induktionsschritt n n : Fall : Der Prominente ist unter den ersten n Personen. Prüfe, dass die nte Person den Prominenten kennt, aber nicht umgekehrt. Fall 2: Der Prominente ist die nte Person. 2 (n ) Fragen müssen gestellt werden! Fall 3: Es gibt unter den n Personen keinen Prominenten. 2 (n ) Fragen müssen gestellt werden (schlimmstenfalls; zur Berechnung der kompletten Matrix)! Für Person n braucht man 2(n) Fragen. Für Person n daher 2(n2) Insgesamt ähnlich viele Fragen wie beim Trivialansatz. Benötigt wird eine schlauere Methode, um die Problemgröße von n auf n zu reduzieren. Einfache Verwendung des letzten Elements ist (oft) ungeeignet. 9. Prominentenproblem Einsicht (für unterschiedliche Personen A und B): Falls K(A, B) =, kann A kein Prominenter sein (A kennt jemanden). Falls K(A, B) =, kann B kein Prominenter sein (A kennt B nicht). Mit einer Frage kann also für eine der beiden Person (entweder A oder B) ausgeschlossen werden, dass sie der Prominente ist. Bei der Reduktion von n auf n wird nicht die nte Person weg gelassen, sondern der NichtProminente von A und B. Damit treten weniger Fälle auf Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 955 Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 956 Michael Philippsen 4

15 9. Prominentenproblem Um die Problemgröße von n auf n zu reduzieren, fragt man die nte Person nach irgendeiner Person p der übrigen n Personen. Nach obiger Einsicht entweder die nte Person oder p als NichtPromi entlarven neue npersonenmenge ohne diesen NichtPromi. Löse das Problem gemäß Induktionsvoraussetzung. Dann Fall : Der Prominente ist unter den n Personen. Es kann mit zwei Fragen leicht festgestellt werden, ob dieser Prominente auch innerhalb der n Personen prominent ist. Fall 2: Der Prominente ist die nte Person. Kann nicht auftreten: Durch Auswahl gemäß Einsicht, wird ein NichtProminenter entfernt. Fall 3: Es gibt unter den n Personen keinen Prominenten. Dann gibt es auch keinen Prominenten innerhalb der n Personen, weil bei Auswahl gemäß Einsicht ein NichtProminenter entfernt wurde. Pro Induktionsschritt: Eine Frage zur Vorbereitung der Auswahl, eventuell zwei weiteren Frage im Fall. Arbeit zur Reduktion der Problemgröße lohnend. Algorithmen und Datenstrukturen Philippsen/Stamminger/Pflaum WS 28/9 Folie 957 Michael Philippsen 5

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

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

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

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

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

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

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten?

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Ich habe diesen Sommer mein Abi gemacht und möchte zum Herbst mit dem Studium beginnen Informatik natürlich! Da es in meinem kleinen Ort keine

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

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

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in

Mehr

Beispiellösungen zu Blatt 111

Beispiellösungen zu Blatt 111 µ κ Mathematisches Institut Georg-August-Universität Göttingen Beispiellösungen zu Blatt 111 Aufgabe 1 Ludwigshafen hat einen Bahnhof in Dreiecksform. Markus, Sabine und Wilhelm beobachten den Zugverkehr

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

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

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

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

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

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München WS /3 Institut für Informatik Prof Dr Hans-Joachim Bungartz Dipl-Inf Christoph Riesinger Dipl-Inf Dipl-Math Jürgen Bräckle Numerisches Programmieren Programmieraufgabe: Polnominterpolation,

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

11. Primfaktorzerlegungen

11. Primfaktorzerlegungen 78 Andreas Gathmann 11 Primfaktorzerlegungen Euch ist sicher aus der Schule bekannt, dass sich jede positive ganze Zahl a als Produkt a = p 1 p n von Primzahlen schreiben lässt, und dass diese Darstellung

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

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf))

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf)) Formale Methoden der Informatik WS / Lehrstuhl für Datenbanken und Künstliche Intelligenz Prof.Dr.Dr.F.J.Radermacher H. Ünver T. Rehfeld J. Dollinger 8. Aufgabenblatt Besprechung in den Tutorien vom..

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

In ein quadratisches Blech werden Löcher gestanzt. Insgesamt sind es 85 Löcher. Wie viele Löcher sind in der untersten Reihe?

In ein quadratisches Blech werden Löcher gestanzt. Insgesamt sind es 85 Löcher. Wie viele Löcher sind in der untersten Reihe? Aufgabe 1: Das Stanzblech: Löcher In ein quadratisches Blech werden Löcher gestanzt. Insgesamt sind es 85 Löcher. Wie viele Löcher sind in der untersten Reihe? Bei dieser Aufgabe kann rückwärts gearbeitet

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

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

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

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

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

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

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

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

PROSEMINAR ONLINE ALGORITHMEN

PROSEMINAR ONLINE ALGORITHMEN PROSEMINAR ONLINE ALGORITHMEN im Wintersemester 2000/2001 Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans (Betreuer) Vortrag vom 15.11.2000 von Jan Schmitt Thema : Finden eines

Mehr

24. Algorithmus der Woche Bin Packing Wie bekomme ich die Klamotten in die Kisten?

24. Algorithmus der Woche Bin Packing Wie bekomme ich die Klamotten in die Kisten? 24. Algorithmus der Woche Wie bekomme ich die Klamotten in die Kisten? Autor Prof. Dr. Friedhelm Meyer auf der Heide, Universität Paderborn Joachim Gehweiler, Universität Paderborn Ich habe diesen Sommer

Mehr

Ergänzungen zur Analysis I

Ergänzungen zur Analysis I 537. Ergänzungsstunde Logik, Mengen Ergänzungen zur Analysis I Die Behauptungen in Satz 0.2 über die Verknüpfung von Mengen werden auf die entsprechenden Regelnfür die Verknüpfung von Aussagen zurückgeführt.

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also kann nur A ist roter Südler und B ist grüner Nordler gelten. Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf

Mehr

Vorlesung 12 22. bzw. 23. Januar 2014. Determinanten 1. Cramersche Regel

Vorlesung 12 22. bzw. 23. Januar 2014. Determinanten 1. Cramersche Regel Vorlesung 2 22 bzw 23 Januar 204 Lineares Gleichungssystem a a 2 b b 2 = F a a 2 a 3 b b 2 b 3 c c 2 c 3 = V V =< a, b c > c b a b a F V Seite 70 a x + a 2 x 2 + a 3 x 3 b = 0 < a x + a 2 x 2 + a 3 x 3

Mehr

Algorithmen zur Integer-Multiplikation

Algorithmen zur Integer-Multiplikation Algorithmen zur Integer-Multiplikation Multiplikation zweier n-bit Zahlen ist zurückführbar auf wiederholte bedingte Additionen und Schiebeoperationen (in einfachen Prozessoren wird daher oft auf Multiplizierwerke

Mehr

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Seminararbeit für das SE Reine Mathematik- Graphentheorie Seminararbeit für das SE Reine Mathematik- Graphentheorie Der binäre Rang, der symplektische Graph, die Spektralzerlegung und rationale Funktionen Vortrag am 24.01.2012 Heike Farkas 0410052 Inhaltsverzeichnis

Mehr

7. Übung zu Algorithmen und Datenstrukturen

7. Übung zu Algorithmen und Datenstrukturen 7. Übung zu Algorithmen und Datenstrukturen Dynamisches Programmieren Greedy Algorithms Exceptions 1 Dynamische Programmierung nutzt gezielt aus, dass man bei manchen Problemen den Rechenaufwand extrem

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

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

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Vorlesung Analysis I / Lehramt

Vorlesung Analysis I / Lehramt Vorlesung Analysis I / Lehramt TU Dortmund, Wintersemester 2012/ 13 Winfried Kaballo Die Vorlesung Analysis I für Lehramtsstudiengänge im Wintersemester 2012/13 an der TU Dortmund basiert auf meinem Buch

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

2.12 Potenzreihen. 1. Definitionen. 2. Berechnung 2.12. POTENZREIHEN 207. Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen.

2.12 Potenzreihen. 1. Definitionen. 2. Berechnung 2.12. POTENZREIHEN 207. Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen. 2.2. POTENZREIHEN 207 2.2 Potenzreihen. Definitionen Der wichtigste Spezialfall von Funktionenreihen sind Potenzreihen. Eine Potenzreihe mit Entwicklungspunkt x 0 ist eine Reihe a n x x 0 n. Es gilt: es

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet 22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart

Mehr

Algorithmen und Datenstrukturen 2

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

Mehr

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

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik Abitur 8 II. Insektenpopulation LA/AG In den Tropen legen die Weibchen einer in Deutschland unbekannten Insektenpopulation jedes Jahr kurz vor Beginn der Regenzeit jeweils 9 Eier und sterben bald darauf.

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

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

Schleifeninvarianten. Dezimal zu Binär

Schleifeninvarianten. Dezimal zu Binär Schleifeninvarianten Mit vollstandiger Induktion lasst sich auch die Korrektheit von Algorithmen nachweisen. Will man die Werte verfolgen, die die Variablen beim Ablauf eines Algorithmus annehmen, dann

Mehr

Approximationsalgorithmen

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

Mehr

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

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft.

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft. Vorlesung 1 Einführung 1.1 Praktisches Zeiten: 10:00-12:00 Uhr Vorlesung 12:00-13:00 Uhr Mittagspause 13:00-14:30 Uhr Präsenzübung 14:30-16:00 Uhr Übungsgruppen Material: Papier und Stift wacher Verstand

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

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

Rekursionen (Teschl/Teschl 8.1-8.2)

Rekursionen (Teschl/Teschl 8.1-8.2) Rekursionen (Teschl/Teschl 8.1-8.2) Eine Rekursion kter Ordnung für k N ist eine Folge x 1, x 2, x 3,... deniert durch eine Rekursionsvorschrift x n = f n (x n 1,..., x n k ) für n > k, d. h. jedes Folgenglied

Mehr

2 3 x3 17. x k dx = x k x k+1 k +1. Mit jeder weiteren partiellen Integration reduziert sich der Grad des Faktors x n, induktiv erhalten wir also

2 3 x3 17. x k dx = x k x k+1 k +1. Mit jeder weiteren partiellen Integration reduziert sich der Grad des Faktors x n, induktiv erhalten wir also Universität Konstanz Fachbereich Mathematik und Statistik Repetitorium Analysis 0 Dr DK Huynh Blatt 8 Aufgabe 6 Bestimmen Sie (a) (x + x 7x+)dx (c) (f) x n exp(x)dx (n N fest) sin (x)dx (g) (b) (d) ln(x)dx

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

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

SUDOKU - Strategien zur Lösung

SUDOKU - Strategien zur Lösung SUDOKU Strategien v. /00 SUDOKU - Strategien zur Lösung. Naked Single (Eindeutiger Wert)? "Es gibt nur einen einzigen Wert, der hier stehen kann". Sind alle anderen Werte bis auf einen für eine Zelle unmöglich,

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Primzahlzertifikat von Pratt

Primzahlzertifikat von Pratt Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren

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

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

Institut für Stochastik Prof. Dr. N. Bäuerle Dipl.-Math. S. Urban

Institut für Stochastik Prof. Dr. N. Bäuerle Dipl.-Math. S. Urban Institut für Stochastik Prof. Dr. N. Bäuerle Dipl.-Math. S. Urban Lösungsvorschlag 8. Übungsblatt zur Vorlesung Finanzmathematik I Aufgabe Hedging Amerikanischer Optionen Wir sind in einem arbitragefreien

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Einfache Varianzanalyse für abhängige

Einfache Varianzanalyse für abhängige Einfache Varianzanalyse für abhängige Stichproben Wie beim t-test gibt es auch bei der VA eine Alternative für abhängige Stichproben. Anmerkung: Was man unter abhängigen Stichproben versteht und wie diese

Mehr

6 Conways Chequerboard-Armee

6 Conways Chequerboard-Armee 6 Conways Chequerboard-Armee Spiele gehören zu den interessantesten Schöpfungen des menschlichen Geistes und die Analyse ihrer Struktur ist voller Abenteuer und Überraschungen. James R. Newman Es ist sehr

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

Betragsgleichungen und die Methode der Fallunterscheidungen

Betragsgleichungen und die Methode der Fallunterscheidungen mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: franz.embacher@univie.ac.at

Mehr

Analysis I für Studierende der Ingenieurwissenschaften

Analysis I für Studierende der Ingenieurwissenschaften Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen

Mehr

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Vorkurs: Mathematik für Informatiker Steven Köhler, Anja Moldenhauer, Marcel Morisse

Vorkurs: Mathematik für Informatiker Steven Köhler, Anja Moldenhauer, Marcel Morisse Vorkurs: Mathematik für Informatiker Steven Köhler, Anja Moldenhauer, Marcel Morisse Wintersemester 2014/15 Aufgaben I-1. Es seien die folgenden Mengen A = {5,7,9}, B = {5,6,7} und C = {1,3,5,7,9} gegeben.

Mehr

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen

Mehr

SWP Prüfungsvorbereitung

SWP Prüfungsvorbereitung 20. Juni 2011 1 Grammatiken 2 LL(1) 3 EXP 4 Datentypen 5 LP Grammatiken Angabe Erstellen Sie First- und Follow-Mengen aller Non-Terminale der folgenden Grammatik. S a S S B y B A C A A b b A x A ɛ C c

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

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die

Mehr

Bericht vom 1. Leipziger Seminar am 25. November 2006

Bericht vom 1. Leipziger Seminar am 25. November 2006 Bericht vom 1. Leipziger Seminar am 25. November 2006 Das Wythoff-Nim-Spiel Wir wollen uns ein Spiel für zwei Personen ansehen, welches sich W.A.Wythoff 1907 ausgedacht hat: Vor den Spielern liegen zwei

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr