16-SelbstanordnendeLL

Werbung
Selbstanordnende lineare Listen
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
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 Ottmann
2
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 Ottmann
3
Beispiel für Anwendung von MF (1)
Gegeben Liste L = < 1, 2, 3, 4, 5, 6, 7>
Zugriffskosten für Element an Position i seien i.
Zugriffsfolge s: 1, 2, ..., 7, 1, 2, ..., 7, ... ..., 1, 2, ..., 7
10 mal
Kosten der Zugriffsfolge s:
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
4
Beispiel für Anwendung von MF (2)
Gegeben Liste L = < 1, 2, 3, 4, 5, 6, 7>
Zugriffskosten für Element an Position i seien i.
Zugriffsfolge s‘: 1, ..., 1, 2, ..., 2, ... ..., 7, ..., 7
10 mal
10 mal
10 mal
Kosten der Zugriffsfolge s‘:
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
5
Beispiel für Anwendung von MF (3)
Gegeben Liste L = < 1, 2, 3, 4, 5, 6, 7>
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 Ottmann
6
Beobachtungen
•
MF-Regel ist „radikal“, aber (vielleicht) nicht schlecht!
•
T-Regel ist „vorsichtiger“, aber:
Für L = <1, 2, ..., N-1, N> 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 Ottmann
7
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 = s1, s2, ..., sm von m Zugriffsoperationen und für eine
Strategie A zur Selbstanordnung bezeichne:
CA(s) = Gesamtkosten (gesamte Zugriffskosten) zur Durchführung aller m
Operationen von s gemäß Strategie A
XA(s) = # kostenpflichtiger Vertauschungen (nach hinten)
FA(s) = # kostenfreier Vertauschungen (nach vorn)
Satz: Für jede Strategie A zur Selbstanordnung und jede Folge s vom m
Zugriffs-Operationen gilt:
CMF(s) ≤ 2 CA(s) + XA(s) – FA(s) - m
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
8
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
XMF(s) = XT(s) = FC(s) = 0
(2) Für eine einzelne Zugriffsoperation o, die das Element an Position i betrifft,
ist FA(o) ≤ CA(o) -1, und daher für eine Folge s von m Zugriffsoperationen
FA(s) ≤ CA(s) -m
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
9
Amortisierte Worst-Case-Analyse
Unter den amortisierten worst-case Kosten einer Folge o1, ..., on 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 o1, ..., on .
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 Ottmann
10
Potentialmethode
Sei F: D  IR, D Menge der Zustände der Datenstruktur
Sei Fi das „Potential“ der Datenstruktur nach der i-ten Zugriffs Operation.
ti = wirkliche Kosten der i-ten Operation
Definiere die amortisierten Kosten ai der i-ten Zugriffs Operation durch:
ai =
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
11
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
LA
LMF
LA
LMF
Ordne jedem Paar (LA, LMF) ein Potential zu!
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
12
Analyse mit Potentialfunktion
Betrachte die Wirkungen der Strategien MF und A bei Ausführung von s1, s2, ...
für eine Ausgangsfolge L,
und ordne jedem nach Ausführung der ersten l Operationen erreichten Zustand
ein Potential Fl zu.
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
13
Balance bal(L1, L2)
Definiere die Balance bal(L1, L2) zweier Listen L1 und L2, die dieselben
Elemente in ggfs. unterschiedlicher Reihenfolge enthalten, als die Anzahl
der Inversionen von Elementen in L1 bzgl. L2.
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
14
Beispiel für die Berechnung der Balance
L1 = <3, 2, 1, 4, 6, 7, 5>
L2 = <2, 1, 3, 6, 4, 7, 5>
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
15
Normierung der Balance-Berechnung
Zur Berechnung der Balance bal(L1, L2) für zwei Listen L1 und L2 von n Zahlen
kann man o.E. annehmen, dass L1 die Liste <1, 2, 3. ..., n> ist.
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
16
Definition der Potentialfunktion
Das einem Paar von Listen, die nach der l-ten Operation mit Strategie MF und
A entstehen, zugeordnete Potential Fl ist:
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
17
Wirkung einer Zugriffsoperation, MF
LA
LMF
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
18
Wirkung einer Zugriffsoperation, A
LA
LMF
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
19
Berechnung der Potentialänderung
Informatik II: Algorithmen und Datenstrukturen, SS 2008
Prof. Dr. Thomas Ottmann
20
Herunterladen