Dein Lernbereich wird geladen
App wird gestartet …
Dein Lernbereich wird geladen
App wird gestartet …
Die Potentialmethode verteilt seltene teure Operationen über eine Operationsfolge und zeigt eine Worst-Case-Gesamtschranke ohne Wahrscheinlichkeitsannahme.
Ansehen kostenlos · Karteikarten oder Multiple-Choice-Test · übernehmen ab Essential
Formel
Kosten c in gewählten Operationseinheiten; Potential Φ nichtnegativ und in denselben abstrakten Kosteneinheiten
| Symbol | Bedeutung | Einheit |
|---|---|---|
| Reale Kosten der i-ten Operation | Operationen oder Kosten | |
| Potential nach der i-ten Operation | Kostenpotential | |
| Amortisierte Kosten der i-ten Operation | Kosten | |
| Position in einer Operationsfolge | Index |
\widehat c_i=c_i+\Phi_i-\Phi_{i-1}Summiert man ĉi=ci+Φi−Φi−1, teleskopieren die Potentiale: Σci=Σĉi+Φ0−Φm. Bei Φ0=0 und Φm≥0 begrenzt eine obere Schranke für Σĉi die realen Gesamtkosten. Ein dynamisches Array mit Verdopplung kopiert zwar bei einzelnen Erweiterungen Θ(n) Elemente, benötigt über m Anhänge aber O(m) Kopierarbeit plus m Einfügungen; damit sind die amortisierten Kosten O(1) pro append. Das ist keine erwartete Laufzeit.
Summiert man ĉi=ci+Φi−Φi−1, teleskopieren die Potentiale: Σci=Σĉi+Φ0−Φm. Bei Φ0=0 und Φm≥0 begrenzt eine obere Schranke für Σĉi die realen Gesamtkosten. Ein dynamisches Array mit Verdopplung kopiert zwar bei einzelnen Erweiterungen Θ(n) Elemente, benötigt über m Anhänge aber O(m) Kopierarbeit plus m Einfügungen; damit sind die amortisierten Kosten O(1) pro append. Das ist keine erwartete Laufzeit.
Die Potentialmethode verteilt seltene teure Operationen über eine Operationsfolge und zeigt eine Worst-Case-Gesamtschranke ohne Wahrscheinlichkeitsannahme.
reale Kosten aus amortisierten Kosten
Use a nonnegative potential and include the initial and final state.
Erkläre am Beispiel zu Amortisierte Analyse dynamischer Arrays, welche Eingabegrößen zur gesuchten Ausgabe führen.
Das Beispiel verknüpft konkrete Eingaben mit dem Ergebnis.
Die Potentialmethode verteilt seltene teure Operationen über eine Operationsfolge und zeigt eine Worst-Case-Gesamtschranke ohne Wahrscheinlichkeitsannahme.
Gültig ist die Beziehung nur unter den genannten Voraussetzungen.
Die Beziehung ohne ihre angegebenen Voraussetzungen auf einen anderen Fall übertragen.
Prüfe vor dem Einsetzen den Gültigkeitsbereich: Summiert man ĉi=ci+Φi−Φi−1, teleskopieren die Potentiale: Σci=Σĉi+Φ0−Φm. Bei Φ0=0 und Φm≥0 begrenzt eine obere Schranke für Σĉi die realen Gesamtkosten. Ein dynamisches Array mit Verdopplung kopiert zwar bei einzelnen Erweiterungen.
Formelcluster
Die Potentialmethode verteilt seltene teure Operationen über eine Operationsfolge und zeigt eine Worst-Case-Gesamtschranke ohne Wahrscheinlichkeitsannahme.
Bei Kapazität 4 und Größe 4 kostet der fünfte append eine Erweiterung mit vier Kopien plus Einfügen, also etwa 5 Einheiten. Die nächsten drei Anhänge kosten je 1. Über diese vier Operationen sind es 8 Einheiten, also im Mittel 2; bei Verdopplung bleibt die Folge asymptotisch linear.
Operationen mit seltenen Arraykopien oder gelegentlichen Reorganisationen als Sequenz analysieren.
Eine typische Aufgabe Schritt für Schritt: Amortisierte Analyse dynamischer Arrays (amortisierte Kosten = reale Kosten + Potentialänderung).
Aufgabe
Erkläre am Beispiel zu Amortisierte Analyse dynamischer Arrays, welche Eingabegrößen zur gesuchten Ausgabe führen.
Rechenweg
Das Beispiel verknüpft konkrete Eingaben mit dem Ergebnis.
Die Potentialmethode verteilt seltene teure Operationen über eine Operationsfolge und zeigt eine Worst-Case-Gesamtschranke ohne Wahrscheinlichkeitsannahme.
Gültig ist die Beziehung nur unter den genannten Voraussetzungen.
Amortisierte Analyse ist kein Erwartungswert. Erwartete Laufzeit mittelt über eine Wahrscheinlichkeitsverteilung oder Zufallsentscheidungen; amortisierte Analyse beschränkt die Gesamtkosten jeder zulässigen Operationsfolge. Bei dynamischen Arrays kann ein einzelnes Anhängen wegen einer Vergrößerung Θ(n) kosten. Über viele Anhänge verteilen sich diese Kopierkosten aber auf die ganze Folge. Die Garantie braucht also keine Zufallsannahme und sagt trotzdem nicht, dass jeder einzelne Aufruf schnell ist. Eine zufällige Eingabeverteilung ist für diesen Beweis nicht erforderlich; die Schranke gilt selbst für die ungünstige Folge. Auch ein ungünstiger Eingabeverlauf erfüllt diese Worst-Case-Garantie.
Definiere für Zustand i eine Potentialfunktion Φi. Die amortisierten Kosten sind ĉi=ci+Φi−Φi−1. Beim Summieren heben sich alle inneren Potentialterme paarweise auf; übrig bleiben Σĉ=Σc+Φm−Φ0. Damit gilt Σc=Σĉ+Φ0−Φm. Ist das Anfangspotential null und das Endpotential nichtnegativ, sind die tatsächlichen Gesamtkosten höchstens die amortisierten Gesamtkosten. Das Potential bildet dabei angesammeltes Guthaben ab, das spätere teure Operationen bezahlt. Die Teleskopsumme macht sichtbar, dass Guthaben zwischen aufeinanderfolgenden Zuständen verschoben wird, nicht verloren geht. Das anfängliche Guthaben darf dabei nicht stillschweigend positiv angenommen werden. Es muss im Beweis explizit berücksichtigt sein.
Verdoppelt ein Array seine Kapazität, werden Kopiervorgänge mit wachsendem Abstand seltener. Für m Anhänge addieren sich kopierte Kapazitäten wie eine geometrische Reihe; ihre Summe bleibt kleiner als ungefähr 2m. Dazu kommen m direkte Schreiboperationen. Insgesamt entsteht O(m) Arbeit und damit O(1) amortisierte Kosten je Anhängen. Würde man die Kapazität dagegen bei jedem vollen Array nur um einen Platz erhöhen, summierten sich Kopien zu 1+2+…+m und verursachten Θ(m2) Gesamtarbeit. Die direkte Arbeit umfasst auch die regulären Schreibzugriffe, nicht nur die seltenen Kopieroperationen.
Wenn das Array voll ist, reserviert die Implementierung einen größeren Speicherblock und kopiert die vorhandenen Elemente. Bei n belegten Plätzen kann genau dieser Anhängevorgang Θ(n) Zeit benötigen. Die amortisierte Schranke beschreibt die Summe einer Operationsfolge, nicht die maximale Latenz jedes Aufrufs. Für Echtzeitanwendungen mit engen Pausengrenzen können inkrementelles Kopieren oder andere Datenstrukturen geeigneter sein. Der Unterschied zwischen Gesamtdurchsatz und Einzellatenz ist deshalb bei der Wahl der Struktur wichtig. Bei strikten Antwortzeitvorgaben muss deshalb die teuerste Einzeloperation separat betrachtet werden. Die Gesamtsumme sagt folglich nichts über eine harte maximale Aufrufzeit aus.
Die Potentialmethode eignet sich gut, wenn ein Zustand eine messbare Reserve enthält, etwa freie Plätze oder noch nicht verbrauchtes Guthaben. Bei einem dynamischen Array kann man Potential proportional zur Zahl belegter Plätze seit der letzten Verdopplung wählen. Ein Anhängen erhöht die Reserve; eine Vergrößerung verbraucht sie für Kopien. Die konkrete Funktion muss nichtnegativ bleiben und den teuren Schritt tatsächlich abdecken. Verschiedene gültige Potentiale können denselben asymptotischen Grenzwert beweisen. Wichtig ist, dass die gewählte Potentialfunktion jede mögliche Zustandsfolge abdeckt und nicht nur das Beispiel.
Quanta-Prüfungsset
Kuratiertes Prüfungsset für "Amortisierte Analyse dynamischer Arrays":
Frage (Vorderseite)
Welche Formel beschreibt Amortisierte Analyse dynamischer Arrays?
Antwort in deinem Set
Frage (Vorderseite)
Wie stellst du amortisierte Kosten = reale Kosten + Potentialänderung nach reale Kosten aus amortisierten Kosten um?
Antwort in deinem Set
Frage (Vorderseite)
Welcher typische Fehler passiert bei amortisierte Kosten = reale Kosten + Potentialänderung?
Antwort in deinem Set
+ 7 weitere Karten: Einheiten, Variablen, Herleitung, Beispiel, Klausuraufgabe
Das Formelset enthält 10 Karten. Nach der Übernahme kannst du sie prüfen und lernen; deine Bewertungen bestimmen die weiteren Wiederholungen.
Die Liste nennt Fachquellen und weiterführende Literatur. Eine Seiten- oder Abschnittsnummer steht dabei, wenn sie Teil der Literaturangabe ist; es handelt sich nicht um wörtliche Zitate.
Erstelle ein kuratiertes FSRS-Prüfungsset für amortisierte Kosten = reale Kosten + Potentialänderung: Formelabruf, Variablen, Herleitung, Umstellung, Beispiel, typische Fehler und Klausurkontext.
Kuratiertes Formelset · LaTeX · FSRS Spaced Repetition · übernehmen ab Essential