Amortized Complexity: Potential Function and Accounting Method, Slides of Computer Science

The concepts of amortized complexity, focusing on the potential function method and accounting method. The potential function method involves calculating the potential function p(i) for each operation i, while the accounting method guesses the amortized cost and proves that the potential difference p(i) - p(i-1) is non-negative for all i. Examples to illustrate these methods.

Typology: Slides

2012/2013

Uploaded on 03/19/2013

dharmakeerti
dharmakeerti 🇮🇳

4.2

(27)

89 documents

1 / 11

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Amortized Complexity
9Aggregate method.
Accounting method.
Potential function method.
Potential Function
P(i) = amortizedCost(i) – actualCost(i) + P(i – 1)
Σ(P(i) – P(i – 1)) =
Σ(amortizedCost(i) –actualCost(i))
P(n) – P(0) = Σ(amortizedCost(i) –actualCost(i))
P(n) – P(0) >= 0
When P(0) = 0,P(i) is the amount by which the
first ioperations have been over charged.
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Amortized Complexity: Potential Function and Accounting Method and more Slides Computer Science in PDF only on Docsity!

Amortized Complexity

WAggregate method.

  • Accounting method.
  • Potential function method.

Potential Function

  • P(i) = amortizedCost(i) – actualCost(i) + P(i – 1)
  • Σ(P(i) – P(i – 1)) = Σ(amortizedCost(i) –actualCost(i))
  • P(n) – P(0) = Σ(amortizedCost(i) –actualCost(i))
  • P(n) – P(0) >= 0
  • When P(0) = 0, P(i) is the amount by which the first i operations have been over charged.

Potential Function Example

a = x + ( ( a + b ) * c + d ) + y ; actual cost amortized cost potential

1 2 3 4 5 67 8 9 6 7 8 9^10 5 6 7 2

Potential = stack size except at end.

Accounting Method

  • Guess the amortized cost.
  • Show that P(n) – P(0) >= 0.

Potential Method

  • Guess a suitable potential function for which P(n) – P(0) >= 0 for all n.
  • Derive amortized cost of ith operation using ∆P = P(i) – P(i–1) = amortized cost – actual cost
  • amortized cost = actual cost + ∆P

Potential Method Example

  • Guess that the potential function is P(i) = number of elements on stack after ith^ symbol is processed (exception is P(n) = 2).
  • P(0) = 0 and P(i) – P(0) >= 0 for all i.

create an empty stack; for (int i = 1; i <= n; i++) // n is number of symbols in statement processNextSymbol();

ith^ Symbol Is Not ) or ;

  • Actual cost of processNextSymbol is 1.
  • Number of elements on stack increases by 1.
  • ∆P = P(i) – P(i–1) = 1.
  • amortized cost = actual cost + ∆P = 1 + 1 = 2

ith^ Symbol Is )

  • Actual cost of processNextSymbol is #unstacked + 1.
  • Number of elements on stack decreases by #unstacked –1.
  • ∆P = P(i) – P(i–1) = 1 – #unstacked.
  • amortized cost = actual cost + ∆P = #unstacked + 1 + (1 – #unstacked) = 2

Worst-Case Method

  • Worst-case cost of an increment is n.
  • Cost of 011111 => 100000 is 6.
  • So, the cost of m increments is at most mn.

Aggregate Method

  • Each increment changes bit 0 (i.e., the right most bit).
  • Exactly floor(m/2) increments change bit 1 (i.e., second bit from right).
  • Exactly floor(m/4) increments change bit 2.

counter

Aggregate Method

  • Exactly floor(m/8) increments change bit 3.
  • So, the cost of m increments is m + floor(m/2) + floor(m/4) + .... < 2m
  • Amortized cost of an increment is 2m/m = 2.

counter

Accounting Method

  • Guess that the amortized cost of an increment is 2.
  • Now show that P(m) – P(0) >= 0 for all m.
  • 1 st^ increment: ƒ one unit of amortized cost is used to pay for the change in bit 0 from 0 to 1. ƒ the other unit remains as a credit on bit 0 and is used later to pay for the time when bit 0 changes from 1 to 0. bits credits

4 th^ Increment.

ƒ one unit of amortized cost is used to pay for the change in bit 2 from 0 to 1 ƒ the other unit remains as a credit on bit 2 and is used later to pay for the time when bit 2 changes from 1 to 0 ƒ the change in bits 0 and 1 from 1 to 0 is paid for by the credits on these bits

bits credits

Accounting Method

  • P(m) – P(0) = Σ(amortizedCost(i) –actualCost(i)) = amount by which the first m increments have been over charged = number of credits = number of 1 s

    = 0

Potential Method

  • Guess a suitable potential function for which P(n) – P(0) >= 0 for all n.
  • Derive amortized cost of ith operation using ∆P = P(i) – P(i–1) = amortized cost – actual cost
  • amortized cost = actual cost + ∆P

Potential Method

  • Guess P(i) = number of 1 s in counter after ith increment.
  • P(i) >= 0 and P(0) = 0.
  • Let q = # of 1 s at right end of counter just before ith increment ( 01001111 => q = 4).
  • Actual cost of ith increment is 1+q.
  • ∆P = P(i) – P(i – 1) = 1 – q ( 0100111 => 0101000 )
  • amortized cost = actual cost + ∆P = 1+q + (1 – q) = 2