4 Greedy-Algorithmen (gierige Algorithmen)
|
|
- Gundi Lehmann
- vor 8 Jahren
- Abrufe
Transkript
1 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 Lösung Komponente für Komponente, wobei der Wert einer einmal gesetzten Komponente nie zurückgenommen wird. Beispiele: die Algorithmus von Kruskal, die Konstruktion eines Huffman-Codes und der Approximationsalgorithmus für das Binpacking Problem Best-Fit.
2 Philosophie von Greedy-Verfahren Iterative Konstruktion einer Lösung unter Verwendung lokaler Optimalitätskriterien. Hoffnung: Lokale Optimalität führt auch zur globalen Optimalität oder zumindest zu einer guten Approximation. Verschiedene lokale Kriterien führen zu verschiedenen Algorithmen. Analysemethoden für Greedy-Verfahren Um zu zeigen, dass ein Greedy-Verfahren eine optimale Lösung findet, werden im wesentlichen zwei Analysemethoden eingesetzt:. the greedy algorithm stays ahead: In jedem Schritt ist die gefundene partielle Lösung des Greedy-Verfahrens mindestens so gut wie jede andere partielle Lösung.. exchange argument: Jede Lösung kann Schrittweise in die Lösung des Greedy-Verfahrens transformiert werden, ohne dass hierbei die Güte der Lösung abnimmt. 5
3 . Minimale Spannbäume Gegeben ist ein ungerichteter, zusammenhängender, gewichteter Graph G = (V, E) mit einer positiven Kostenfunktion f : E R +. Wir nehmen an, dass für alle Kanten e E f (e) > 0 ist. Wir nennen T = (V, E ) einen Spannbaum von G, wenn V = V und T ein Baum ist. Gesucht ist ein Baum T = (V, E ) mit E E, so dass, e E f (e) minimal unter allen Spannbäumen von G ist. Ist f (e) konstant, so können wir dieses Problem wieder mit Hilfe der Breiten- oder Tiefensuche lösen. Wir werden im Folgenden das Verfahren von Kruskal vorstellen. 6
4 Zur effizienten Implementation benutzen wir die Datenstruktur der Priorityqueue und der Partition. Die letztere Datenstruktur ist auch unter dem Namen UNION/FIND-Datenstruktur bekannt. Wir starten mit V einelementigen Mengen, von denen jede einen anderen Knoten des Graphen enthält. Diese Mengen werden als Bäume mit jeweils einem Knoten interpretiert. Sukzessive verschmelzen wir diese Mengen durch Hinzunahme einer Kante mit minimalen Kosten: Finde die minimale Kante, die zwei Knoten aus unterschiedlichen Mengen verbindet und vereinige die beiden Mengen. 7
5 Was ist eine Priorityqueue? Wir betrachten eine Teilmenge M eines Universums U, wobei jedem Element m M eine Priorität p(m) (oder kurz p) zugeordnet wird. insert(m, p): fügt m U mit Priorität p in M ein. deletemin: gibt das Element aus M mit minimaler Priorität zurück und entfernt dieses aus M. readmin: gibt das Element aus M mit minimaler Priorität zurück ohne es zu entfernen. decpriority(m, d): die Priorität von m in M wird um d reduziert. Eine Priorityqueue kann mit Hilfe eines Heaps (Heapsort) so implementiert werden, dass die Laufzeiten der Initialisierung in O( M ), von readmin in O() und der drei verbleibenden Operationen in O(log M ) liegen. 8
6 9 Andreas Jakoby Was ist eine UNION/FIND-Datenstruktur bzw. eine Partition? Partitionen stellen eine eingeschränkte Form von Mengen dar. Der abstrakten Datentyp ist wie folgt definiert: U = {,..., n} sei ein Universum. P = {P,..., P k } sei eine Menge von disjunkten, nicht leeren Teilmengen von U mit U = S n i= P i. Wir nennen diese Teilmengen Partitionsblöcke oder kurz Blöcke. Jedem Partitionsblock Pi wird ein Element n i P i als Repräsentant (bzw. als Name) zugeordnet. Auf P sind die folgenden zwei Prozeduren definiert: Sei x U und n i, n j Repräsentanten zweier Partitionsblöcke P i und P j. find(x) liefert den Repräsentanten n i der Menge P i mit x P i. union(n i, n j ) vereinigt die Blöcke mit den Repräsentanten n i und n j. Diese Operation verändert die Menge P, d.h. P = (P \ {P i, P j }) {P i P j }. Der Repräsentant der neuen Menge ist entweder n i oder n j.
7 Die UNION/FIND-Datenstruktur kann recht einfach so implementiert werden, dass die Initialisierung in Zeit O( U ), jede union-operation in konstanter Zeit und jede find-operation in Zeit O(log U ) ausgeführt werden kann. Einige aufwendigere Implementierungen erlauben es die Laufzeit der find-operation erheblich zu reduzieren. 0
8 Algorithmus MST-Kruskal() Eingabe: global gegebener Graph G Ergebnis: minimaler Spannbaum T = (V, E ) : Bilde die Priorityqueue Q aller e E mit Prioritäten f (e). : Initialisiere die Partitionen {v} für alle v V. : E :=, k = V : while k > do 5: {v, w} := deletemin(q); v 0 := find(v); w 0 := find(w); 6: if v 0 w 0 then 7: union(v 0, w 0 ); E := E {{v, w}}; k := k ; 8: end if 9: end while 0: Return(T = (V, E ))
9 Andreas Jakoby Beispiel Initialisierung. deletemin= {, 6} find() find(6). deletemin= {, } find() find()
10 Andreas Jakoby. deletemin= {5, } find(5) find() deletemin= {, 6} find() = find(6) 6 5. deletemin= {5, 6} find(5) find(6) deletemin= {, } find() = find() deletemin= {, 6} find() = find(6) deletemin= {, } find() find() 6 5 9
11 Korrektheit Lemma Sei G = (V, E) ein ungerichteter Graph, T = (V, E T ) ein minimaler Spannbaum für G, W = (V, E W ) ein Wald der in T enthalten ist, d.h. E W E T und S V eine Knotenmenge, so dass keine Kante aus E W zwischen den Mengen S und V \ S verläuft. Wir nennen eine Kante aus E kreuzend, wenn sie einen Knoten aus S mit einem Knoten aus V \ S verbindet. Ist e E eine kreuzende Kante, die minimale Kosten unter allen kreuzenden Kanten besitzt, dann ist auch W := (V, E W {e}) in einem minimalen Spannbaum enthalten.
12 5 Andreas Jakoby S Beweis von Lemma : Angenommen, T enthält W aber nicht W. e V \ S Dann gilt e E T. T ist ein Spannbaum, somit gibt es von jedem Knoten in V einen Weg zu jedem anderen Knoten in V. Addieren wir e zu T, so schließen wir einen Kreis C. C besitzt neben e noch eine kreuzende Kante e. Sei T := (V, (E T {e}) \ {e }). T ist ein Spannbaum von G, da T wieder zyklenfrei ist und V Kanten hat. Da f (e) minimal unter allen kreuzenden Kanten ist, gilt f (e) f (e ).
13 6 Andreas Jakoby Beweis von Lemma (Teil ) Ist f (e) < f (e ), so gilt w E f (w) < T w E T f (w) für E T = (E T {e}) \ {e }. Dieses widerspricht der Annahme, dass T ein minimaler Spannbaum ist. Wir können somit ausschließen, dass f (e) < f (e ) ist. Ist f (e) = f (e ), so haben T und T die gleichen Kosten. Da T ein minimaler Spannbaum ist, muss auch T ein minimaler Spannbaum sein. Wir haben somit gezeigt, dass W in einem minimalen Spannbaum enthalten ist.
14 7 Andreas Jakoby Korrektheit vom Kruskals Algorithmus Der MST-Algorithmus nimmt immer eine minimale kreuzende Kante in den bereits konstruierten Wald W auf. Sei e = {u, v} = deletemin(q). Über die Abfrage find(u) = find(v) wird überprüft, ob u und v bereits in einer Komponente von W liegen. Beachte: Mit jeder eingefügten Kante {u, v } vereinigen wir die entsprechenden Mengen find(u ) und find(v ). Somit repräsentiert jede Menge der Partition einen Baum des konstruierten Walds. Ist find(u) = find(v), so verwerfen wir die Kante. Ist find(u) find(v), so stellt S die Knotenmenge des Teilbaums dar, in dem u liegt. Somit ist e eine minimale kreuzende Kante. Aus Lemma können wir nun schließen, dass W = (V, E W {e}) in einem minimalen Spannbaum enthalten ist, wenn auch W = (V, E W ) in einem minimalen Spannbaum enthalten ist.
15 Laufzeit von Kruskals Algorithmus Die Initialisierung der Priorityqueue gelingt in Zeit O( E ). Die Initialisierung der Partitionen gelingt in Zeit O( V ). Die While-Schleife muss im Worst-Case E mal durchlaufen werden. Bei jedem Durchlauf werden einmal die Operationen deletemin und zweimal die Operation find aufgerufen. Nach unseren Annahmen über die Priorityqueue und der UNION/FIND-Datenstruktur können wir diese Operationen in Zeit O( E log E ) ausführen. In V Durchläufen der While-Schleife wird jeweils einmal eine union-operation aufgerufen. Zusammen erhalten wir eine Laufzeit von O( E log E ). 8
16 Satz Sei G = (V, E) ein zusammenhängender, ungerichteter, gewichteter Graph. Dann berechnet Kruskals Algorithmus einen minimalen Spannbaum für G in Zeit O( E log E ). Beobachtung Betrachten wir die Aussage von Lemma und den Korrektheitsbeweis von Kruskals Algorithmus, so erkennen wir, dass wir hierbei ein exchange argument angewendet haben. 9
17 . Intervall-Scheduling Definition [Intervall-Scheduling Problem] Gegeben sei eine Menge R = {,..., n} von n Jobs und zwei Funktionen s, f : R N. Hierbei gilt für alle Jobs i s(i) f (i) s(i) nennen wir die Startzeit von Job i und f (i) nennen wir die Endzeit von Job i. Job i steht im Konflikt mit Job j, wenn i j und die Intervalle [s(i), f (i)[ und [s(j), f (j)[ sich überlappen. Mit [s(i), f (i)[ bezeichnen wir das nach rechts offene reelle Intervall. 0
18 Definition (Teil ) Eine Teilmenge S R ist eine zulässige Schedule, wenn S konfliktfrei ist, d.h. für alle i, j S steht i nicht im Konflikt zu j. Eine Teilmenge S R ist eine optimale Schedule, wenn S eine zulässige Schedule maximaler Kardinalität ist, d.h. S ist maximal. Aufgabe: Bestimme eine optimale Schedule!
19 Wir starten mit einem Grundgerüst für einen Greedy-Algorithmus für das Intervall-Scheduling Problem: Algorithmus Greedy-Intervall-Schedule(R) Eingabe: Menge R Ergebnis: optimale Schedule S : S := : while R do : wähle ein eine Job i R : S := S {i}; 5: entferne alle Jobs aus R, die zu i im Konflikt stehen 6: R := R \ {i} 7: end while 8: Return(S) Unsere Aufgabe besteht jetzt darin, den Auswahlmechanismus in Zeile näher zu beschreiben.
20 Wir starten mit einer einfachen Beobachtung: Beobachtung Für alle Auswahlmechanismen ist das Ergebnis S eine zulässige Schedule. Diese Beobachtung folgt unmittelbar daraus, dass wir in Zeile 5 alle Jobs löschen, die zu einem einmal in die Schedule aufgenommenen Job im Konflikt stehen.
21 Einfache Auswahlmechanismen:. wähle i mit s(i) = min j R s(j). wähle i mit f (i) s(i) = min j R f (j) s(j). wähle das i, welches mit den wenigsten Jobs in R im Konflikt steht. wähle i mit f (i) = min j R f (j)
22 Anhand der nachfolgenden Graphik können wir leicht erkennen, dass die ersten drei Auswahlmechanismen auf Folie keine optimale Schedule liefern.... Behauptung Benutzen wir jedoch den vierten Mechanismus in Zeile von Algorithmus Greedy-Intervall-Schedule, so erhalten wir eine optimale Schedule. Dieses muss aber noch bewiesen werden! 5
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
MehrS=[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
MehrAlgorithmen 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
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrGraphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
Mehr1 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
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 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/ws1314
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrEntscheidungsbä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
MehrKonzepte 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
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrSeminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn
Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:
MehrAlgorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrLenstras 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
Mehra n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:
Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrCodierung, Codes (variabler Länge)
Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrInformationsblatt 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
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrAlgorithmische Mathematik
Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)
MehrBasis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.
Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren
MehrGuten 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
Mehr7 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
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
Mehr3. Zusammenhang. 22 Andreas Gathmann
22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
Mehr1. 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:
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
MehrERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN
ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,
MehrProgrammierkurs 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
MehrDivision Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
MehrPrimzahlen 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
MehrInstallation des Authorware Webplayers für den Internet Explorer unter Windows Vista
Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung
MehrVorlesung 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
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
MehrKompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
MehrAbschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1
B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,
MehrLernziele: 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
Mehr15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit
5.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit Einführendes Beispiel ( Erhöhung der Sicherheit bei Flugreisen ) Die statistische Wahrscheinlichkeit, dass während eines Fluges ein Sprengsatz an Bord
MehrAnleitung: Einrichtung der Fritz!Box 7272 mit VoIP Telefonanschluss
Schließen Sie die AVM Fritz!Box, wie auf dem der Fritz!Box beiliegenden Schaubild beschrieben, an. Starten Sie den Internet Explorer oder einen beliebigen Browser (Mozilla Firefox, Google Chrome, Safari)
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrLineare 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
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des
MehrWS 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
MehrWü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
MehrDas Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!
Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck
MehrRente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen
1 3.2. entenrechnung Definition: ente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren entenperiode = Zeitabstand zwischen zwei entenzahlungen Finanzmathematisch sind
Mehr50. 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
MehrAbamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER
Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrVorkurs Informatik WiSe 15/16
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner
MehrTeil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29
1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrSecond Steps in eport 2.0 So ordern Sie Credits und Berichte
Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrAbiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1
Abiturprüfung Mathematik (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe Für jedes t f t () + t R ist die Funktion f t gegeben durch = mit R. Das Schaubild von f t heißt K t.. (6 Punkte)
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
MehrInhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
MehrEinfü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
MehrTheoretische Informatik SS 04 Übung 1
Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrAlgorithmen 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
MehrData Mining: Einige Grundlagen aus der Stochastik
Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener
MehrLeitfaden zur Einrichtung za-mail mit IMAP auf dem iphone
Dieser Leitfaden zeigt die einzelnen Schritte der Konfiguration des iphones für die Abfrage von Emails bei der za-internet GmbH. Grundsätzlich gelten diese Schritte auch für andere Geräte, wie dem ipod
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrMusterlösungen zur Linearen Algebra II Blatt 5
Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische
MehrInformation Systems Engineering Seminar
Information Systems Engineering Seminar Algorithmische Prüfung der Planarität eines Graphen Marcel Stüttgen, 22.10.2012 FH AACHEN UNIVERSITY OF APPLIED SCIENCES 1 Planarität - Definition Ein Graph heißt
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrText-Zahlen-Formatieren
Text-Zahlen-Formatieren Beobachtung: Bei der Formatierung einer Zahl in eine Textzahl und umgekehrt zeigt Excel ein merkwürdiges Verhalten, welches nachfolgend skizziert werden soll: Wir öffnen eine neue
MehrKapitalerhöhung - Verbuchung
Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.
MehrAlgorithmik. Andreas Jakoby WS 06/07. Sprechstunde: Dienstags 10:00-12:00. Algorithmik WS 06/07 1. Vorlesung,
1 1. Vorlesung, 16.10.2006 Algorithmik jakoby@tcs.uni-luebeck.de Sprechstunde: Dienstags 10:00-12:00 WS 06/07 2 1. Vorlesung, 16.10.2006 1 Einleitung Motivation Eine wesentliche Aufgabe der Informatik
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrSatz. 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
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrUniversal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.
ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrAbituraufgabe zur Analysis, Hessen 2009, Grundkurs (TR)
Abituraufgabe zur Analysis, Hessen 2009, Grundkurs (TR) Gegeben ist die trigonometrische Funktion f mit f(x) = 2 sin(2x) 1 (vgl. Material 1). 1.) Geben Sie für die Funktion f den Schnittpunkt mit der y
MehrPartnerportal Installateure Registrierung
Partnerportal Installateure Registrierung Ein Tochterunternehmen der Süwag Energie AG Allgemeine Hinweise Diese Anleitung zeigt Ihnen, wie Sie sich als Nutzer für das Partnerportal Installateure registrieren
MehrDefinition und Begriffe
Merkblatt: Das Dreieck Definition und Begriffe Das Dreieck ist ein Vieleck. In der Ebene ist es die einfachste Figur, die von geraden Linien begrenzt wird. Ecken: Jedes Dreieck hat drei Ecken, die meist
MehrWindows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse
Windows XP Jugendschutz einrichten Monika Pross Molberger PC-Kurse Um ein Benutzerkonto mit Jugendschutzeinstellungen zu verwenden, braucht man ein Eltern- Konto (Administrator) und eine Kinderkonto (Standard).
MehrKünstliche Intelligenz Maschinelles Lernen
Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen
Mehr16. 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
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
Mehr