Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät."—  Präsentation transkript:

1 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

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

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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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 =

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

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

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

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

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

17 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:

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

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

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


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

Ähnliche Präsentationen


Google-Anzeigen