Kapitel 5: Dynamisches Programmieren Gliederung



Ähnliche Dokumente
Kapitel 6: Graphalgorithmen Gliederung

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Kapiteltests zum Leitprogramm Binäre Suchbäume

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

Datenstrukturen & Algorithmen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Nachtrag zu binären Suchbäumen

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

t 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 )

13. Binäre Suchbäume

Professionelle Seminare im Bereich MS-Office

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

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

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

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

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II

Kap. 4.2: Binäre Suchbäume

WS 2009/10. Diskrete Strukturen

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

How to do? Projekte - Zeiterfassung

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

15 Optimales Kodieren

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

q = 1 p = k k k = 0, 1,..., = [ ] = 0.678

1 topologisches Sortieren

Markovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse

In konstanten Modellen wird davon ausgegangen, dass die zu prognostizierende Größe sich über die Zeit hinweg nicht verändert.

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung bis

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

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Datenstrukturen und Algorithmen

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

3. Ziel der Vorlesung

W-Rechnung und Statistik für Ingenieure Übung 11

Fit in Mathe. Juni 2014 Klassenstufe 9. Lineare Funktionen

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Algorithmen und Datenstrukturen

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

Algorithmen und Datenstrukturen Balancierte Suchbäume

Wie Sie mit Mastern arbeiten

Algorithmen und Datenstrukturen Suchbaum

1. Wie viel Zinsen bekommt man, wenn man 7000,00 1 Jahr lang mit 6 % anlegt?

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Leichte-Sprache-Bilder

Binäre Bäume Darstellung und Traversierung

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Numerische Verfahren und Grundlagen der Analysis

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Benutzerkonto unter Windows 2000

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

1 Mathematische Grundlagen

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Schranken für zulässige Lösungen

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

Algorithmen und Datenstrukturen

Lineare Gleichungssysteme

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Grundbegriffe der Informatik

Das Briefträgerproblem

Spezifikation für Coaching Funktion in OpenOLAT

Lineare Gleichungssysteme

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Voll homomorpe Verschlüsselung

WS 2008/09. Diskrete Strukturen

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Trackaufzeichnungen können als Active-Logs oder mit eigenen Namen versehene und auf max. 500 Punkte begrenzte Saved-Tracks gespeichert werden.

Nutzung von GiS BasePac 8 im Netzwerk

2.11 Kontextfreie Grammatiken und Parsebäume

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Programmiersprachen und Übersetzer

Die Bundes-Zentrale für politische Bildung stellt sich vor

Mediumwechsel - VR-NetWorld Software

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

MATHEMATISCHE ANALYSE VON ALGORITHMEN

Über das Hüten von Geheimnissen

11. Das RSA Verfahren und andere Verfahren

Programmieren I. Kapitel 7. Sortieren und Suchen

Informatik-Sommercamp Mastermind mit dem Android SDK

Programmiertechnik II

Übungsaufgaben Tilgungsrechnung

Beispiel zu Datenstrukturen

Anmerkungen zur Übergangsprüfung

Anforderungsanalyse: Tutor

Algorithmik - Kompaktkurs

Lizenzierung von System Center 2012

Universität Bonn 28. Juli 2010 Fachbereich Rechts- und Wirtschaftswissenschaften Statistische Abteilung Prof. Dr. A. Kneip. KLAUSUR Statistik B

Konzepte der Informatik

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Whitepaper. Produkt: address manager Outlook AddIn für den address manager Zuordnung. combit GmbH Untere Laube Konstanz

Transkript:

Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen 9. Lineare Programmierung 5/2, Folie 1 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Problemstellung feste Menge S von Schlüsseln s 1,...,s n eine Wahrscheinlichkeitsverteilung über der Menge S (/* jedem Schlüssel s i wird seine Zugriffswahrscheinlichkeit p i zugeordnet, d.h. die Wahrscheinlichkeit, mit der s i nachgefragt wird */)... Beispiel: Online-Wörterbuch für Englisch/Deutsch Schlüssel (/* englische Wörter */) zugehörige Satellitendaten (/* deutsche Übersetzung(en) */) Annahme: die Wörter, zu denen es keine deutsche Übersetzung gibt, sind alle gleichwahrscheinlich (/* das kann man auch anders modellieren... */)... Ziel: Schlüsselmenge so organisieren, daß die (einzige) zeitkritische Operation Suchen effizient realisiert werden kann 5/2, Folie 2 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

mögliche Ansätze höhenbalancierte binäre Suchbäume (/* die bekannten Zugriffswahrscheinlichkeiten werden ignoriert */) optimale binäre Suchbäume (/* bei der Anordnung der Schlüssel in einem binären Suchbaum werden die Zugriffswahrscheinlichkeiten benutzt */)... Anmerkung die Idee der direkten Adressierung kann nicht unmittelbar angewendet werden (/* Hashing wäre eine sinnvolle Option */) 5/2, Folie 3 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel s 2 s 2 s 1 s 4 s 1 s 3 s 3 s 5 s 4 Erwartete Zugriffskosten: s 5 0.3+2*0.4+2*0.05+3*0.2+3*0.05 = 1.95 0.3+2*0.4+2*0.2+3*0.05+4*0.05 = 1.85 5/2, Folie 4 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Erwartete Zugriffskosten eines binären Suchbaums es seien s 1,...,s n die gespeicherten Schlüssel eines binären Suchbaums und p 1,...,p n die zugehörigen Zugriffswahrscheinlichkeiten die erwarteten Zugriffskosten ek(s i ) für einen Schlüssel s i mit der Tiefe t(s i ) ergeben sich als ek(s i )= (t(s i )+1)*p i die erwarteten Zugriffskosten ek(b) des Suchbaums B ergeben sich als Summe der erwarteten Zugriffskosten ek(s i ) für alle Schlüssel s i Hinweis: die Wurzel hat hier die Tiefe 0... 5/2, Folie 5 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Aufgabenstellung es seien s 1,...,s n die in einem binären Suchbaum B zu speichernden Schlüssel und p 1,...,p n die zugehörigen Zugriffswahrscheinlichkeiten... bestimme einen binären Suchbaum, der die Schlüssel s 1,...,s n speichert und minimale erwartete Zugriffskosten hat (/* d.h. es ist ein in diesem Sinn optimaler binärer Suchbaum zu bestimmen */) Beobachtungen (/* Schwierigkeiten */) binäre Suchbäume mit kleinere Tiefe sind nicht immer besser (/* siehe Beispiel... */) binäre Suchbäume, die in der Wurzel den Schlüssel mit der maximaler Zugriffswahrscheinlichkeit speichern, sind nicht immer besser (/* siehe Beispiel... */) 5/2, Folie 6 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Lösungsmöglichkeit (/* Variante 1 */) es seien s 1,...,s n die in einem binären Suchbaum B zu speichernden Schlüssel und p 1,...,p n die zugehörigen Zugriffswahrscheinlichkeiten bestimme alle binären Suchbäume B 1,...,B z, die genau die Schlüssel s 1,...,s n speichern bestimme die erwartete Zugriffskosten von B 1,...,B z wähle einen binären Suchbaum B i mit minimalen Zugriffskosten aus... ineffizient, da es exponentiell viele binäre Suchbäume gibt, welche genau die Schlüssel s 1,...,s n speichern 5/2, Folie 7 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Lösungsmöglichkeit (/* Variante 2 */) es seien s 1,...,s n die zu speichernden Schlüssel und p 1,...,p n die zugehörigen Zugriffswahrscheinlichkeiten... wir verwenden den Ansatz der dynamischen Programmierung... damit das geht, muß das Bellmannsche Optimalitätskriterium erfüllt sein (/* hier bedeutet das: jeder Teilbaum eines optimalen Suchbaums ist eine optimaler Suchbaum für die in diesem Teilbaum gespeicherten Schlüssel */) 5/2, Folie 8 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

zugrunde liegende Beobachtung es seien s 1,...,s n die zu speichernden Schlüssel und p 1,...,p n die zugehörigen Zugriffswahrscheinlichkeiten es sei B <1..n> ein binärer Suchbaum für s 1,...,s n s k Dann gilt: ek(b <1..n> ) = (p 1 +...+p n ) + ek(b <1..k-1> ) + ek(b <k+1..n> ) B <1..k-1> B <k+1..n> 5/2, Folie 9 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

zugrunde liegende rekursive Berechnungsvorschrift es seien s 1,...,s n die zu speichernden Schlüssel und p 1,...,p n die zugehörigen Zugriffswahrscheinlichkeiten es sei B <i..j> bezeichne einen binären Suchbaum, welcher die Schlüssel s i,...,s j speichert Dann gilt: ek(b <i..j> ) = 0, falls i > j ek(b <i..j> ) = p i, falls i = j ek(b <i..j> ) = (p i +... + p j ) + min { ek(b <1..k-1> ) + ek(b <k+1..j> ) i k j } 5/2, Folie 10 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Verwendung zur Bestimmung eines optimalen binären Suchbaums es seien s 1,...,s 5 die zu speichernden Schlüssel und p 1,...,p 5 die zugehörigen Zugriffswahrscheinlichkeiten in der Tabellenzelle T[i][j] werden sich die erwarteten Zugriffskosten für den optimalen Suchbaum B <i..j> sowie dessen Wurzel gemerkt 5/2, Folie 11 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel zur Bestimmung eines optimalen binären Suchbaums 5/2, Folie 12 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel zur Bestimmung eines optimalen binären Suchbaums (cont.) 1.0 / 1 (0.4 + 0.3) + min { (0 + 0.3), (0.4. + 0) } 5/2, Folie 13 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel zur Bestimmung eines optimalen binären Suchbaums (cont.) 1.0 / 1 0.7 / 2 0.3 / 3 0.15 / 4 5/2, Folie 14 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel zur Bestimmung eines optimalen binären Suchbaums (cont.) 1.0 / 1 1.5 / 2 0.7 / 2 0.3 / 3 0.15 / 4 (0.4 + 0.3 + 0.2) + min { (0 + 0.7), (0.4. + 0.2), (1.0 + 0) } 5/2, Folie 15 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel zur Bestimmung eines optimalen binären Suchbaums (cont.) 1.0 / 1 1.5 / 2 0.7 / 2 0.85 / 2 0.3 / 3 0.45 / 3 0.15 / 4 5/2, Folie 16 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel zur Bestimmung eines optimalen binären Suchbaums (cont.) 1.0 / 1 1.5 / 2 1.65 / 2 0.7 / 2 0.85 / 2 0.3 / 3 0.45 / 3 0.15 / 4 (0.4 + 0.3 + 0.2 + 0.05) + min { (0 + 0.85), (0.4. + 0.3), (1.0 + 0.05), (1.5 + 0) } 5/2, Folie 17 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel zur Bestimmung eines optimalen binären Suchbaums (cont.) 1.0 / 1 1.5 / 2 1.65 / 2 0.7 / 2 0.85 / 2 1.05 / 3 0.3 / 3 0.45 / 3 0.15 / 4 5/2, Folie 18 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Beispiel zur Bestimmung eines optimalen binären Suchbaums (cont.) 1.0 / 1 1.5 / 2 1.65 / 2 1.85 / 2 0.7 / 2 0.85 / 2 1.05 / 3 0.3 / 3 0.45 / 3 0.15 / 4 (0.4 + 0.3 + 0.2 + 0.05 + 0.05) + min { (0 + 1.05), (0.4. + 0.45), (1.0 + 0.15), (1.5 + 0.05), (1.65 + 0) } 5/2, Folie 19 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Abschluß (/* Auslesen des optimalen binären Suchbaums */) 1.0 / 1 1.5 / 2 1.65 / 2 1.85 / 2 0.7 / 2 0.85 / 2 1.05 / 3 0.3 / 3 0.45 / 3 0.15 / 4 5/2, Folie 20 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Abschluß (/* Auslesen des optimalen binären Suchbaums */) 1.0 / 1 1.5 / 2 1.65 / 2 1.85 / 2 0.7 / 2 0.85 / 2 1.05 / 3 0.3 / 3 0.45 / 3 0.15 / 4 5/2, Folie 21 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Abschluß (/* Auslesen des optimalen binären Suchbaums */) 1.0 / 1 1.5 / 2 1.65 / 2 1.85 / 2 0.7 / 2 0.85 / 2 1.05 / 3 0.3 / 3 0.45 / 3 0.15 / 4 5/2, Folie 22 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Abschluß (/* Auslesen des optimalen binären Suchbaums */) 1.0 / 1 1.5 / 2 1.65 / 2 1.85 / 2 0.7 / 2 0.85 / 2 1.05 / 3 0.3 / 3 0.45 / 3 0.15 / 4 5/2, Folie 23 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Abschluß (/* Auslesen des optimalen binären Suchbaums */) 1.0 / 1 1.5 / 2 1.65 / 2 1.85 / 2 0.7 / 2 0.85 / 2 1.05 / 3 s 2 0.3 / 3 0.45 / 3 0.15 / 4 s 1 s 3 s 4 s 5 5/2, Folie 24 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Zusammenfassung offenbar benötigt der beschriebene Algorithmus zusätzlich O(n 2 ) viel Speicherplatz (/* Speicherung der Zwischenergebnisse */) das Ausfüllen einer Zelle der Tabelle benötigt der beschriebene Algorithmus im worst case die Zeit O(n)... da das Bellmannsche Optimalitätsprinzip erfüllt ist, kann man unter Anwendung des Paradigmas der dynamischen Programmierung optimale Suchbäume in der Zeit O(n 3 ) bestimmen 5/2, Folie 25 2010 Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen