Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Eine dynamische Menge, die diese Operationen unterstützt,
Vorlesung Programmieren II
Schnelle Matrizenoperationen von Christian Büttner
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Algorithmen und Datenstrukturen
3. Kapitel: Komplexität und Komplexitätsklassen
<d,a,s, ,i,s,t, ,e,i,n,e, ,L,i,s,t,e>
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Algorithmentheorie 04 –Hashing
Funktionenklassen zur Messung der Komplexität
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 24 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
Halbzeit: Kurze Wiederholung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Sortieren vorsortierter Daten
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (24 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 19 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 9 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Anwendungen von Stapeln und Schlangen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen 09 - Weitere Sortierverfahren Heapsort-Nachtrag Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-3 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-1 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Online Competitive Algorithms
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (15 Hashverfahren: Verkettung der Überläufer) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 – Dynamische Tabellen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (14 Amortisierte worst-case-Analyse Beispiel: Bitwechselkosten eines Dualzählers) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Fibonacci-Heaps – Analyse) Tobias Lauer.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 13 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 12 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Union-Find-Strukturen
WS Algorithmentheorie 15 – Fibonacci-Heaps Tobias Lauer.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Minimum Spanning Tree: MST
Effiziente Algorithmen
Splay Trees Von Projdakov Benjamin.
Einführung in die Programmierung
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Mehrkriterielle Optimierung mit Metaheuristiken
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Grundlagen der Algorithmen und Datenstrukturen Kapitel
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Voronoi-Diagramme.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
 Präsentation transkript:

Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für Angewandte Wissenschaften Albert-Ludwigs-Universität Freiburg Selbstanordnende lineare Listen

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann2 Problemstellung Gegeben sei eine Menge von Objekten (Schlüsseln), auf die mit zeitlich veränderlichen unbekannten Häufigkeiten zugegriffen wird. Problem: Finde eine Speicherungsform, die die Zugriffskosten minimiert! Lösungsidee: Speichere Schlüssel in eine sich selbst anordnenden linearen Liste! (Sequentiell gespeichert)

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann3 Strategien für Selbstanordnung MF (Move to front): Mache aktuelles Element zum ersten Listenelement T (Transpose): Vertausche aktuelles Element mit seinem Vorgänger FC (Frequency count): Führe eine Zugriffsstatistik mit und sortiere nach jedem Zugriff neu!

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann4 Beispiel für Anwendung von MF (1) Gegeben Liste L = Zugriffskosten für Element an Position i seien i. Zugriffsfolge s: 1, 2,..., 7, 1, 2,..., 7,......, 1, 2,..., 7 Kosten der Zugriffsfolge s: 10 mal

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann5 Beispiel für Anwendung von MF (2) Gegeben Liste L = Zugriffskosten für Element an Position i seien i. Zugriffsfolge s: 1,..., 1, 2,..., 2,......, 7,..., 7 Kosten der Zugriffsfolge s: 10 mal

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann6 Beispiel für Anwendung von MF (3) Gegeben Liste L = Zugriffskosten für Element an Position i seien i. 10 maliger Zugriff auf jedes der Elemente 1,..., 7 (in beliebiger Reihenfolge) Kosten bei statischer Anordnung: Ergebnis: MF kann besser sein, als ein (jede) statische Anordnung, besonders, wenn die Zugriffe gehäuft auftreten

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann7 Beobachtungen MF-Regel ist radikal, aber (vielleicht) nicht schlecht! T-Regel ist vorsichtiger, aber: Für L = liefert die Zugriffsfolge N, N-1, N, N-1,... die durchschnittlichen Zugriffskosten N. FC-Regel benötigt zusätzlichen, prinzipiell nicht beschränkten Speicherplatz Experimentelle Resultate zeigen: T schlechter als FC, MF und FC ungefähr gleich gut MF hat Vorteile Analyse: Mit Hilfe der amortisierten worst-case-Analyse

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann8 Analyse der MF-Regel MF (Move to front): Mache aktuelles Element zum ersten Listenelement. Ziel: Vergleich von MF mit beliebiger Strategie A zur Selbstanordnung. Für eine Folge s = s 1, s 2,..., s m von m Zugriffsoperationen und für eine Strategie A zur Selbstanordnung bezeichne: C A (s) = Gesamtkosten (gesamte Zugriffskosten) zur Durchführung aller m Operationen von s gemäß Strategie A X A (s) = # kostenpflichtiger Vertauschungen (nach hinten) F A (s) = # kostenfreier Vertauschungen (nach vorn) Satz: Für jede Strategie A zur Selbstanordnung und jede Folge s vom m Zugriffs-Operationen gilt: C MF (s) 2 C A (s) + X A (s) – F A (s) - m

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann9 Analyse der Zugriffsregeln Kostenmodell: Zugriff auf Element an Position i verursacht Kosten i (1) Für MF, T, FC gilt: Für jede beliebige Zugriffsfolge s ist X MF (s) = X T (s) = FC(s) = 0 (2) Für eine einzelne Zugriffsoperation o, die das Element an Position i betrifft, ist F A (o) C A (o) -1, und daher für eine Folge s von m Zugriffsoperationen F A (s) C A (s) -m

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann10 Amortisierte Worst-Case-Analyse Unter den amortisierten worst-case Kosten einer Folge o 1,..., o n von Operationen, die auf einer gegebenen Struktur ausgeführt werden, versteht man die durchschnittlichen Kosten pro Operation für eine schlechtest mögliche Wahl der Folge o 1,..., o n. Genauer als simple, oft zu pessimistische worst-case-Analyse Mögliche Vorgehensweisen bei der amortisierten worst-case-Analyse: Gesamtkosten der Operationsfolge berechnen und Durchschnitt bilden (Aggregat Methode) Bankkonto Paradigma: Bezahle für die billigen Operationen (freiwillig) etwas mehr und bezahle die teueren von den Ersparnissen Potentialmethode

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann11 Potentialmethode Sei : D IR, D Menge der Zustände der Datenstruktur Sei i das Potential der Datenstruktur nach der i-ten Zugriffs Operation. t i = wirkliche Kosten der i-ten Operation Definiere die amortisierten Kosten a i der i-ten Zugriffs Operation durch: a i =

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann12 Vergleich einer Strategie A mit MF Seien eine Zugriffsstrategie A und eine Zugriffsfolge gegeben. Wende die Zugriffsfolge gemäß A und MF parallel an, beginnend mit der Liste L, und betrachte jeweils das Paar von Listen, das sich nach jeder Operation ergibt: L L A L MF Ordne jedem Paar (L A, L MF ) ein Potential zu!

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann13 Analyse mit Potentialfunktion Betrachte die Wirkungen der Strategien MF und A bei Ausführung von s 1, s 2,... für eine Ausgangsfolge L, und ordne jedem nach Ausführung der ersten l Operationen erreichten Zustand ein Potential l zu.

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann14 Balance bal(L 1, L 2 ) Definiere die Balance bal(L 1, L 2 ) zweier Listen L 1 und L 2, die dieselben Elemente in ggfs. unterschiedlicher Reihenfolge enthalten, als die Anzahl der Inversionen von Elementen in L 1 bzgl. L 2.

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann15 Beispiel für die Berechnung der Balance L 1 = L 2 =

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann16 Normierung der Balance-Berechnung Zur Berechnung der Balance bal(L 1, L 2 ) für zwei Listen L 1 und L 2 von n Zahlen kann man o.E. annehmen, dass L 1 die Liste ist.

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann17 Definition der Potentialfunktion Das einem Paar von Listen, die nach der l-ten Operation mit Strategie MF und A entstehen, zugeordnete Potential l ist:

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann18 Wirkung einer Zugriffsoperation, MF LALA L MF

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann19 Wirkung einer Zugriffsoperation, A LALA L MF

Informatik II: Algorithmen und Datenstrukturen, SS 2008 Prof. Dr. Thomas Ottmann20 Berechnung der Potentialänderung