Aggregat-Methode: Methode, die in der theoretischen Informatik genutzt wird

Die Aggregat-Methode (auch Aggregationsmethode oder Ganzheitsmethode) ist ein Vorgehen der amortisierten (Laufzeit-)Analyse.

Bei der Aggregat-Methode wird versucht die durchschnittlichen Kosten einer Einzeloperation zu ermitteln, indem man zunächst die Gesamtkosten aller Operationen ermittelt und diese dann durch die Anzahl der Operationen dividiert.

Beispiele

Binärzähler

Die Aggregat-Methode wird am Beispiel eines Binärzählers, dessen einzig mögliche Operation eine Inkrementation ist, durchgeführt.

Der Worst Case bei einem Binärzähler mit k Bit tritt dann auf, wenn bei einer Inkrementation alle k Bit gekippt werden müssen. Seien die Kosten für einen Bitwechsel 1. Dann würden nach der Worst-Case-Abschätzung bei n Operationen Kosten von nk entstehen. Diese Abschätzung ist allerdings zu pessimistisch. Mittels der amortisierten Analyse wird versucht eine realistischere und weniger pessimistische Abschätzung der Kosten nach oben zu erreichen.

Betrachten wir die Anzahl der Bitwechsel bei einem Zähler mit 4 Bit:

Zähler Anzahl Bitwechsel
0000 -
0001 1
0010 2
0011 1
0100 3
0101 1
0110 2
0111 1
1000 4
...

Wenn man sich die Folge der Bitwechsel anschaut, fällt auf, dass sich das niedrigste Bit bei jeder Inkrementation ändert, das nächsthöhere bei jeder zweiten, das wiederum nächsthöhere bei jeder vierten usw. Damit ergibt sich bei n Inkrementationen folgende Summe von Bitwechseln:

Aggregat-Methode: Beispiele, Abgrenzung, Literatur 

Diese Summe können wir nach oben abschätzen:

Aggregat-Methode: Beispiele, Abgrenzung, Literatur 

Die Summe dieser unendlichen Reihe ist wohlbekannt und lautet 2. Daraus folgt:

Aggregat-Methode: Beispiele, Abgrenzung, Literatur 

Betrachten wir nun die amortisierten Kosten Aggregat-Methode: Beispiele, Abgrenzung, Literatur  für eine einzelne Operation Aggregat-Methode: Beispiele, Abgrenzung, Literatur  der insgesamt n Operationen, indem wir die bereits ermittelten Gesamtkosten durch die Anzahl n der Operationen teilen, erhalten wir:

Aggregat-Methode: Beispiele, Abgrenzung, Literatur 

Damit sind die amortisierten Kosten für eine Operation höchstens 2 und somit in O(1), egal, wie viele Bits der Zähler insgesamt hat.

Wörterbuch

Eine außerordentlich verbreitete Sorte von Datenstrukturen sind die binären Suchbäume. Sie lösen bspw. das “Wörterbuch”problem (s. Binärer Suchbaum#Motivation), und zwar die balancierten unter ihnen die wichtigsten Operationen im schlechtesten Fall (worst case) in logarithmischer Zeit. Eine Aussage über amortisiertes Laufzeitverhalten findet sich ggf. im entsprechenden Artikel.

Hier werde eine Datenstruktur, genannt amortisierte Wörterbuch-Datenstruktur (englisch amortized dictionary data structure), vorgestellt, deren amortisiertes Laufzeitverhalten für das Suchen in O(log2 n) und für das Einfügen in O(log n) ist.

Die Anzahl n der Einträge sei in der binären Darstellung:

    Aggregat-Methode: Beispiele, Abgrenzung, Literatur  mit Aggregat-Methode: Beispiele, Abgrenzung, Literatur 

Die Datenstruktur besteht dann aus k+1 sortierten Folgen, die entweder ganz leer (λi=0) oder ganz voll (λi=1) sind. Die einzelnen Elemente der Datenstruktur werden beliebig auf diese Folgen verteilt.

Beispiel: Es sei n = 11 (dann ist 11 = 1 + 2 + 8 und k = 3). Die Elemente seien C,D,E,F,H,J,M,P,S,W und Y, die wie folgt über die Datenstruktur verteilt seien:

    Λ0: [E] λ0 = 1
    Λ1: [D,H] λ1 = 1
    Λ2: leer λ2 = 0
    Λ3: [C,F,J,M,P,S,W,Y]   λ3 = 1

Eine Suchoperation geschieht durch binäres Suchen in jeder Folge Λi dar, plus einer logischen Zusammenfassung, so dass sich im schlechtesten Fall das Laufzeitverhalten

    Aggregat-Methode: Beispiele, Abgrenzung, Literatur  = O(log2 n)

ergibt.

Eine Einfügung verwendet Mergesort, dessen Aufwand durch die Summe der beiden Längen gegeben ist. Um den Buchstaben K einzufügen, wird eine Folge Λ der Länge 1 mit dem Inhalt K gebildet. Ist nun Λ0 leer (Häufigkeit 1/2), machen wir Λ zu Λ0 und sind fertig. Wenn nicht (wie im obigen Beispiel) (Häufigkeit 1/2), mischen (englisch merge) wir Λ mit Λ0 mit Aufwand 1 + 1; der Name des Ergebnisses sei wieder Λ. Ist dann Λ1 leer (Häufigkeit 1/4), machen wir Λ zu Λ1 und sind fertig. Wenn nicht (Häufigkeit 1/4), mischen wir Λ mit Λ1 mit Aufwand 2 + 2 und neuem Namen Λ. Ist dann Λ2 leer (wie im obigen Beispiel) (Häufigkeit 1/8), machen wir Λ zu Λ2 und sind fertig. Wenn nicht (Häufigkeit 1/8), geht es weiter wie gehabt. Im obigen Beispiel ergibt die Einfügung von K:

    Λ0: leer λ0 = 0
    Λ1: leer λ1 = 0
    Λ2: [D,E,H,K] λ2 = 1
    Λ3: [C,F,J,M,P,S,W,Y]   λ3 = 1

Der Gesamtaufwand ist maximal

    1/2·(1 + 1) + 1/4·(2 + 2) + ... + 2k·2k = k + 1 in O(log n)
    Ergebnis

Bei der vorgestellten Datenstruktur sind die amortisierten Kosten für eine Einfügung in O(log n).

    Bemerkung

Sie sind damit nicht besser als bei AVL- oder Rot-Schwarz-Bäumen, bei denen reine Einfügungen (reine Baumänderungen) amortisiert konstant sind, das Aufsuchen der Einfügeposition mit O(log n) aber noch hinzugerechnet werden muss.
Bemerkenswerterweise sind die Einfügekosten jedoch kleiner als zugehörige reine Suchkosten.

Abgrenzung

Im Gegensatz zur Account-Methode werden bei der Aggregat-Methode die amortisierten Kosten auch von unterschiedlichen Arten von Operationen gleichgesetzt. D. h., mit der Account-Methode können verschiedenen Arten von Operationen unterschiedliche amortisierte Kosten zugeordnet werden. Außerdem wird bei der Account-Methode die Differenz zwischen amortisierten und realen Kosten auf einem Konto gebucht.

Literatur

  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Introduction to Algorithms. 2. Auflage. MIT Press and McGraw-Hill, 2001, ISBN 0-262-03293-7, S. 406–410.

Einzelnachweise

Tags:

Aggregat-Methode BeispieleAggregat-Methode AbgrenzungAggregat-Methode LiteraturAggregat-Methode EinzelnachweiseAggregat-MethodeAmortisierte Laufzeitanalyse

🔥 Trending searches on Wiki Deutsch:

Elon MuskFlorence Griffith-JoynerRudolf MittereggerErlkönig (Ballade)Fritz Mandl (Industrieller)Otto von BismarckHolocaustFC EvertonMellotronJohann Wolfgang von GoetheVölkermord an den ArmeniernJulia SchwanholzWienUlrich MatthesPolizistenmord von HeilbronnNiners ChemnitzHedy LamarrHoniggelber HallimaschRheinwiesenlagerArmin LaschetLuxemburgKlitorisSüdwestrundfunkSpeed (1994)Priesterbruderschaft St. Pius X.RingelrötelnWerner CatelGriechisches AlphabetSexMarkus (Evangelist)Kanton (Schweiz)La GomeraKosovoSowjetunionMark WahlbergEin Colt für alle FälleOdine JohneGefragt – GejagtEurovision Song Contest 2024All of Us Strangers72er-RegelLionel MessiRobert HabeckDas Spiel der MachtBundespräsident (Deutschland)Lea WagnerPedro SánchezKapverdische InselnEntartete KunstIn aller Freundschaft – Die jungen ÄrzteAntifaschismusShogun (Roman)Doris Schröder-KöpfFußball-EuropameisterschaftPeriodensystemSylvia LimmerVeteranentagAdriane RickelAmon-Ra St. BrownJana PareigisLand (Deutschland)Nathan FillionPatrick KalupaTierkreiszeichenChryssanthi KavaziElisabeth Baume-SchneiderDie drei SonnenDer talentierte Mr. Ripley (Film)Dune (2021)Bundesregierung (Deutschland)Georgina ChapmanMultiple SkleroseAnnegret SchenkelElisabeth von Österreich-UngarnCornelia PolettoYouTubeEva Mendes🡆 More