SlideShare a Scribd company logo
Amortized Computational Complexity
Abstract : A powerful technique in the complexity analysis of various algorithms is amortization
or averaging over time. Amortized running time is a realistic measure of complexity of a
sequence of operations . It will not provide you with the exact computational time . Instead , it
lets you calculate a tight upper bound and lower bound of algorithms . Based on the result
obtained, varieties of algorithms can be compared for performance analysis . This white-paper
describes several methods of evaluating amortized complexity .
Introduction : In many uses of data structures , a sequence of operations , rather than a single
operation, is performed . So, the final goal is to evaluate the amortized time complexity of that
sequence . The only requirement is that the sum of the amortized complexity of all elements in
a sequence is greater than the sum of the actual complexities of the elements . So, we can
conclude :
Sum(amortized(i)) >= Sum(actual(i)) ........... (1.1)
Relative to actual cost and amortized cost of an operation in a sequence of n operations , we
define a potential function as below :
P(i) = amortized(i) - actual (i) - P(i-1) ...........(1.2)
Taking sum of the equation , we obtain :
P(n) = Sum(amortized(i)) - Sum(actual(i)) ..........(1.3)
From (1.1) & (1.3) , we conclude :
P(n) >= 0 ........(1.4)
To make the idea of amortization and motivation behind it more concrete , let us consider the
example of evaluating the amortized complexity of an algorithm , which displays number of toys
available in binary format . To update every digit of the display the algorithm takes d unit of
time . Assuming that the number of current toys is N and initial no. of toys is 0, we need to
evaluate the amortized complexity of the algorithm used to display the number of toys . There
are three popular methods to arrive at the amortized complexity of the operations, namely , (1)
aggregate method , (2) accounting method and (3) potential method .
Aggregate Method : In the aggregate method ,we determine the
UpperBoundOnSumOfActualCosts(N) for the sum of the actual costs of the n operations.The
amortized cost is amounted to UpperBoundOnSumOfActualCosts(N) /N .
Let N be the number of toys manufactured ; the number of digits used to display the number of
toys is n or 'Base-2 logN' . The least significant bit of the display has been changed N times ; the
second least significant bit changes once for every 2 toys ; the third least significant bit changes
once for every 4 times and so on...
So, the aggregate number of digits that have been changed is bounded by N (1+1/2+1/4+...)d or
d2N. So, the amortized cost is amounted to 2dN/N = 2d.
Accounting Method : To proceed using accounting method , we must first assign an amortized
cost and then prove that this assignment satisfies eq - (1.1). Generally we start by assigning an
amortized cost obtained by a good guess . Once we have shown this , we obtain an upper bound
on the cost of any operation sequence by computing Sum(f(i)*amortized(i)) , where f(i) be the
frequency of the operation and amortized(i) the amortized cost of the operation .
Suppose , we assign a guessed amortized cost of 2d for each display change . Then the potential
function
P(n) = Sum(amortized(i)) - Sum(actual(i))
= 2dN - d(1+1/2+1/4+.......)
> = 0;
So, the accounting method proved that the amortized cost of the display can be reduced to 2d.
Potential Method : In this approach , we postulate a function for the analysis and use the
function to satisfy eq - (1) .
Consider the example given in the introduction section . When the first toy is available , we can
use the amortized cost 2d to pay for the update , in which d amount is spent and remaining d
amount is retained as a credit to the first least significant bit. Following the update of the second
toy , the amount spent is 2d*2 in which 3d is spent to update two least significant digits and the
second least significant bit now has credit d and the first least significant bit has credit 0 .
Proceeding in this way , we can sum up credit on each digit of the display always equal (2d-d)v ,
where 2d be the amortized cost , d the actual cost and v the value of the digit. So, we should
use the potential function
P(N) = (2d-d)*Sum(v(i)) , where v(i) = face value of the i-th digit
Let q be the number of 1’s at the rightmost places and the j th display and it has been changed
from jth to (j+1) th no.So, when the display changes from j th to j+1 th value, where j = 1111011
the potential change incurred
P(N) = d(1-q*1) ;
So the amortized cost for the display change = actual cost + p(N) = (q+1)d +P(N) = (q+1)d + d(1-
2*1) = 2d .
Conclusion : A worst case analysis ,in which we sum the worst-case time of individual
operations, may be unduly pessimistic ; it ignores correlated effect on data structures. On the
other hand, average case analysis can be inaccurate , as the probabilistic assumptions needed to
carry out the analysis may be false . In such a scenario, amortized analysis , in which we average
the running time over per operation , yield an answer that is both realistic and robust .

More Related Content

RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity

What's hot (19)

PPT
Amortized Analysis of Algorithms
PDF
09. amortized analysis
PPT
Amortized analysis
PPT
Amortized
PDF
13 Amortized Analysis
PPT
Aoa amortized analysis
PPT
Amortized Analysis
RTF
Amortized complexity
PPTX
Adauctions
PDF
12 Greeddy Method
DOCX
BIometrics- plotting DET and EER curve using Matlab
PPT
Amortized analysis
PDF
Synchronous Loadable Up and Down Counter
PPT
Solving a “Transportation Planning” Problem through the Programming Language “C”
PDF
Hw5 2017-spring
PDF
Vb scripting
PPTX
Dynamic Program Problems
PDF
ELECTRICAL POWER SYSTEMS ECONOMICS
Amortized Analysis of Algorithms
09. amortized analysis
Amortized analysis
Amortized
13 Amortized Analysis
Aoa amortized analysis
Amortized Analysis
Amortized complexity
Adauctions
12 Greeddy Method
BIometrics- plotting DET and EER curve using Matlab
Amortized analysis
Synchronous Loadable Up and Down Counter
Solving a “Transportation Planning” Problem through the Programming Language “C”
Hw5 2017-spring
Vb scripting
Dynamic Program Problems
ELECTRICAL POWER SYSTEMS ECONOMICS
Ad

Viewers also liked (6)

PPTX
Junior Seminar 2013
DOC
Asset accounting
PPTX
Outoftheboxdeck
PDF
Wwf2012990
PDF
PPTX
Using Social Software to Make Blended Learning a Success
Junior Seminar 2013
Asset accounting
Outoftheboxdeck
Wwf2012990
Using Social Software to Make Blended Learning a Success
Ad

Similar to Amortized complexity (20)

PPTX
AA_Unit 1_part-I.pptx
PPT
Amortized analysis
PPTX
DOC-20230417-WA0013.-7-27.pptx
PDF
Amortize full greedy and Analysis.pptx.pdf
PPTX
Amortized analysis
PDF
Amortized Analysis in Advanced Data Structure
PDF
AA_Unit 1_part-II.pdf
PDF
AmortizedAnalysis
PPT
introduction to data structure is providing a basic
PDF
Bellmon Ford Algorithm
PPTX
Design and Analysis of Algorithms.pptx
PDF
exam6.pdf
PDF
Algorithms Analysis.pdf
PPT
Eit orginal
PPT
Eit orginal
PPTX
Performance analysis and randamized agoritham
PPT
Leland_Tarquin_Engineering_Economy_Chapter_2_Factors_Effect_Time_Interest_Mon...
PDF
A gentle introduction to algorithm complexity analysis
PPT
Amortized analysis
PDF
Advanced Algorithms Lecture Notes Mit 6854j Itebooks
AA_Unit 1_part-I.pptx
Amortized analysis
DOC-20230417-WA0013.-7-27.pptx
Amortize full greedy and Analysis.pptx.pdf
Amortized analysis
Amortized Analysis in Advanced Data Structure
AA_Unit 1_part-II.pdf
AmortizedAnalysis
introduction to data structure is providing a basic
Bellmon Ford Algorithm
Design and Analysis of Algorithms.pptx
exam6.pdf
Algorithms Analysis.pdf
Eit orginal
Eit orginal
Performance analysis and randamized agoritham
Leland_Tarquin_Engineering_Economy_Chapter_2_Factors_Effect_Time_Interest_Mon...
A gentle introduction to algorithm complexity analysis
Amortized analysis
Advanced Algorithms Lecture Notes Mit 6854j Itebooks

Recently uploaded (20)

PPTX
Construction Project Organization Group 2.pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Artificial Intelligence
PPT
introduction to datamining and warehousing
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Sustainable Sites - Green Building Construction
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
PDF
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Safety Seminar civil to be ensured for safe working.
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
Construction Project Organization Group 2.pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Artificial Intelligence
introduction to datamining and warehousing
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Internet of Things (IOT) - A guide to understanding
Sustainable Sites - Green Building Construction
CYBER-CRIMES AND SECURITY A guide to understanding
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Safety Seminar civil to be ensured for safe working.
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
Foundation to blockchain - A guide to Blockchain Tech

Amortized complexity

  • 1. Amortized Computational Complexity Abstract : A powerful technique in the complexity analysis of various algorithms is amortization or averaging over time. Amortized running time is a realistic measure of complexity of a sequence of operations . It will not provide you with the exact computational time . Instead , it lets you calculate a tight upper bound and lower bound of algorithms . Based on the result obtained, varieties of algorithms can be compared for performance analysis . This white-paper describes several methods of evaluating amortized complexity . Introduction : In many uses of data structures , a sequence of operations , rather than a single operation, is performed . So, the final goal is to evaluate the amortized time complexity of that sequence . The only requirement is that the sum of the amortized complexity of all elements in a sequence is greater than the sum of the actual complexities of the elements . So, we can conclude : Sum(amortized(i)) >= Sum(actual(i)) ........... (1.1) Relative to actual cost and amortized cost of an operation in a sequence of n operations , we define a potential function as below : P(i) = amortized(i) - actual (i) - P(i-1) ...........(1.2) Taking sum of the equation , we obtain : P(n) = Sum(amortized(i)) - Sum(actual(i)) ..........(1.3) From (1.1) & (1.3) , we conclude : P(n) >= 0 ........(1.4) To make the idea of amortization and motivation behind it more concrete , let us consider the example of evaluating the amortized complexity of an algorithm , which displays number of toys available in binary format . To update every digit of the display the algorithm takes d unit of time . Assuming that the number of current toys is N and initial no. of toys is 0, we need to evaluate the amortized complexity of the algorithm used to display the number of toys . There are three popular methods to arrive at the amortized complexity of the operations, namely , (1) aggregate method , (2) accounting method and (3) potential method .
  • 2. Aggregate Method : In the aggregate method ,we determine the UpperBoundOnSumOfActualCosts(N) for the sum of the actual costs of the n operations.The amortized cost is amounted to UpperBoundOnSumOfActualCosts(N) /N . Let N be the number of toys manufactured ; the number of digits used to display the number of toys is n or 'Base-2 logN' . The least significant bit of the display has been changed N times ; the second least significant bit changes once for every 2 toys ; the third least significant bit changes once for every 4 times and so on... So, the aggregate number of digits that have been changed is bounded by N (1+1/2+1/4+...)d or d2N. So, the amortized cost is amounted to 2dN/N = 2d. Accounting Method : To proceed using accounting method , we must first assign an amortized cost and then prove that this assignment satisfies eq - (1.1). Generally we start by assigning an amortized cost obtained by a good guess . Once we have shown this , we obtain an upper bound on the cost of any operation sequence by computing Sum(f(i)*amortized(i)) , where f(i) be the frequency of the operation and amortized(i) the amortized cost of the operation . Suppose , we assign a guessed amortized cost of 2d for each display change . Then the potential function P(n) = Sum(amortized(i)) - Sum(actual(i)) = 2dN - d(1+1/2+1/4+.......) > = 0; So, the accounting method proved that the amortized cost of the display can be reduced to 2d.
  • 3. Potential Method : In this approach , we postulate a function for the analysis and use the function to satisfy eq - (1) . Consider the example given in the introduction section . When the first toy is available , we can use the amortized cost 2d to pay for the update , in which d amount is spent and remaining d amount is retained as a credit to the first least significant bit. Following the update of the second toy , the amount spent is 2d*2 in which 3d is spent to update two least significant digits and the second least significant bit now has credit d and the first least significant bit has credit 0 . Proceeding in this way , we can sum up credit on each digit of the display always equal (2d-d)v , where 2d be the amortized cost , d the actual cost and v the value of the digit. So, we should use the potential function P(N) = (2d-d)*Sum(v(i)) , where v(i) = face value of the i-th digit Let q be the number of 1’s at the rightmost places and the j th display and it has been changed from jth to (j+1) th no.So, when the display changes from j th to j+1 th value, where j = 1111011 the potential change incurred P(N) = d(1-q*1) ; So the amortized cost for the display change = actual cost + p(N) = (q+1)d +P(N) = (q+1)d + d(1- 2*1) = 2d .
  • 4. Conclusion : A worst case analysis ,in which we sum the worst-case time of individual operations, may be unduly pessimistic ; it ignores correlated effect on data structures. On the other hand, average case analysis can be inaccurate , as the probabilistic assumptions needed to carry out the analysis may be false . In such a scenario, amortized analysis , in which we average the running time over per operation , yield an answer that is both realistic and robust .