next up previous contents
Next: Gli Heap Up: Analisi della Complessità Ammortizzata Previous: Analisi della Complessità Ammortizzata   Indice

Metodo del Potenziale

Data una struttura dati e una sequenza di $n$ operazioni su di essa, si definisca come $D_{0}$ la struttura iniziale, per $D_{i}$ la struttura dati che si ottiene eseguendo l'$i$-esima operazione sulla struttura $D_{i-1}$. Per ogni $1 \leq i \leq n$, sia $c_{i}$ é il costo effettivo della $i$-esima operazione della sequenza. È possibile definire una funzione potenziale (o più semplicemente potenziale) $\Phi(D)$ che associa allo stato della struttura un numero reale detto appunto potenziale1.
Il costo ammortizzato è cosí definito:


\begin{displaymath}
\hat{c_i} = c_i + \Phi(D_{i}) - \Phi(D_{i-1})
\end{displaymath}

Il costo ammortizzato delle $n$ operazioni quindi sará:

\begin{displaymath}
\sum_{i=1}^n\hat{c_i} = \sum_{i=1}^n (c_i+\Phi(D_{i})-\Phi(D_{i-1}))
\end{displaymath}


\begin{displaymath}
\qquad = \sum_{i=1}^n c_i+\Phi(D_{n})-\Phi(D_{0})
\end{displaymath}

Per garantire che $\sum_{i=1}^n\hat{c_i}$ domini il costo effettivo totale deve valere che $\Phi(D_n)\geq\Phi(D_0)$ cioè che l'analisi della complessità è terminata con un ``credito'' anzichè con un ``debito''.
Non essendo sempre noto il numero di operazioni che potrebbero essere eseguite, è indispensabile garantire che $\Phi(D_i)\geq\Phi(D_0)$ per tutti i valori di $i$. Per semplicità spesso si definisce $\Phi(D_0)=0$ e basta poi dimostrare che $\Phi(D_i)\geq 0$ $\forall{i}$ per essere sicuri di avere ottenuto un limite superiore al costo effettivo totale.


next up previous contents
Next: Gli Heap Up: Analisi della Complessità Ammortizzata Previous: Analisi della Complessità Ammortizzata   Indice
Paolo Larcheri 2002-01-26