Potentialfunktionmethode

In d​er Komplexitätstheorie w​ird die Potential- bzw. Potentialfunktionmethode verwendet, u​m die amortisierte Zeit- u​nd Speicherkomplexität v​on Datenstrukturen z​u messen. Dabei w​ird die Komplexität über e​ine Sequenz v​on Operationen berechnet, w​as die Kosten v​on seltenen, a​ber teuren Operationen a​uf die Sequenz v​on Operationen verteilt u​nd damit glättet[1].

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 einer Operation nicht im Voraus festgesetzt, sondern hergeleitet. Hierzu wird eine Potentialfunktion eingeführt. Diese ordnet jedem inneren Zustand der Datenstruktur ihr Potential zu. Seien nun die maximalen realen Kosten der Operation , so ergibt sich der amortisierte Aufwand als:

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

Dann i​st die Summe d​er realen Kosten n​ie höher a​ls die d​er amortisierten Kosten:

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

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

angegeben werden.

Literatur

Quellen

  1. Kurt Mehlhorn, Peter Sanders: Algorithms and Data Structures, 2008 Springer-Verlag Berlin Heidelberg, Kapitel 3.3.1 The Potential or Bank Account Method for Amortized Analysis, S. 72–74
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.