Potentialfunktionmethode

Potentialfunktionmethode

Die Potential- bzw. Potentialfunktionmethode ist eine Verfahrensweise der amortisierten Laufzeitanalyse.

Ziel dabei ist es, jeder Operation auf der betrachteten Datenstruktur einen mittleren Kostenwert zuzuweisen, um über diese die erwartete Laufzeit einer beliebigen Folge von Operationen nach oben abzuschätzen. Im Unterschied zur Bankkonto-Methode werden die Kosten ai einer Operation Opi nicht im Voraus festgesetzt, sondern hergeleitet. Hierzu wird eine Potentialfunktion \Phi: D_i \to \mathbb{N} eingeführt. Diese ordnet jedem inneren Zustand Di der Datenstruktur ihr Potential zu. Seien ci nun die maximalen realen Kosten der Operation Opi, so ergibt sich der amortisierte Aufwand ai als:

a_i = c_i + \Phi\left(D_i\right) - \Phi(D_{i-1})

Gilt nun, dass das Potential des Initialzustandes D0 für alle Operationen Opi einer beliebigen Operationenfolge nie unterschritten wird:

 \forall i \in \{1,\dots,n\}: \Phi(D_0) \le \Phi(D_i)

Dann ist die Summe der realen Kosten nie höher als die der amortisierten Kosten:

\sum_{i=1}^n c_i \le \sum_{i=1}^n a_i

Existiert nun eine Konstante C, welche die obere Grenze der amortisierten Kosten jeder Operation angibt:

 i \in \{1,\dots,n\}: a_i \le C

So können die Gesamtkosten der Operationenfolge mit n Operationen mit:

\sum_{i=1}^n c_i \le n \cdot C

angegeben werden.

Literatur


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Account-Methode — Die Account Methode (oder auch Bankkonto Paradigma bzw. Buchungsmethode) ist eine Verfahrensweise der amortisierten Laufzeitanalyse. Nach der Account Methode werden den realen Kosten einzelner Operationen eines Algorithmus amortisierte Kosten… …   Deutsch Wikipedia

  • Amortisierte Laufzeitanalyse — In der theoretischen Informatik betrachtet die amortisierte Laufzeitanalyse die durchschnittlichen Kosten von Operationen in Folgen. Im Unterschied zur allgemeinen Laufzeitanalyse werden nicht nur die maximalen Kosten der einzelnen Schritte… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”