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; (P(n) converges to ‘0’ ,. Hence , it fulfills the requirement of amortized complexity ) .
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) - P(N-1)= d(1-q*1) ;
So the amortized cost for the display change = actual cost + P(N) - P(N-1)= (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

PDF
13 Amortized Analysis
PDF
09. amortized analysis
PPT
Aoa amortized analysis
PPT
Amortized Analysis of Algorithms
PPT
Amortized
PPT
Amortized analysis
PDF
12 Greeddy Method
PPT
Amortized Analysis
13 Amortized Analysis
09. amortized analysis
Aoa amortized analysis
Amortized Analysis of Algorithms
Amortized
Amortized analysis
12 Greeddy Method
Amortized Analysis

What's hot (19)

RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
RTF
Amortized complexity
PPT
Amortized analysis
PPTX
Electrical Engineering Exam Help
PDF
Computing Information Flow Using Symbolic-Model-Checking_.pdf
DOCX
BIometrics- plotting DET and EER curve using Matlab
PPTX
Asymptotic Analysis in Data Structure using C
PPTX
Design and analysis of algorithms
PPT
Complexity of Algorithm
PPT
Chap07alg
PPTX
Algorithm big o
PDF
Introduction to Approximation Algorithms
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized complexity
Amortized analysis
Electrical Engineering Exam Help
Computing Information Flow Using Symbolic-Model-Checking_.pdf
BIometrics- plotting DET and EER curve using Matlab
Asymptotic Analysis in Data Structure using C
Design and analysis of algorithms
Complexity of Algorithm
Chap07alg
Algorithm big o
Introduction to Approximation Algorithms
Ad

Viewers also liked (11)

PDF
03 Analysis of Algorithms: Probabilistic Analysis
PPTX
9 big o-notation
PPTX
Big o notation
PPTX
Asymptotic notations
PPTX
Asymptotic Notations
PPT
Asymptotic notations
PPTX
Asymptotic Notation and Data Structures
PPTX
Divide and Conquer - Part 1
PPTX
Algorithm and pseudo codes
PDF
Writing algorithms
PPTX
Introduction to Pseudocode
03 Analysis of Algorithms: Probabilistic Analysis
9 big o-notation
Big o notation
Asymptotic notations
Asymptotic Notations
Asymptotic notations
Asymptotic Notation and Data Structures
Divide and Conquer - Part 1
Algorithm and pseudo codes
Writing algorithms
Introduction to Pseudocode
Ad

Similar to Amortized complexity (20)

PPTX
DOC-20230417-WA0013.-7-27.pptx
PPT
Lec-32 Recursion - Divide and Conquer in Queue
PDF
Bellmon Ford Algorithm
PPTX
5.2 Least Squares Linear Regression.pptx
PDF
Amortized Analysis in Advanced Data Structure
PPT
Asymptotic Notation
DOCX
Basic Computer Engineering Unit II as per RGPV Syllabus
PDF
Cs6402 daa-2 marks set 1
PPT
algo_vc_lecture8.ppt
PPT
Lec03 04-time complexity
PPT
Big-O notations, Algorithm and complexity analaysis
PDF
economic load dispatch and unit commitment power_system_operation.pdf
PPT
PDF
International Journal of Engineering Research and Development (IJERD)
DOC
Time and space complexity
PPTX
Unit i basic concepts of algorithms
PPTX
Intro to super. advance algorithm..pptx
PPTX
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
PPTX
DSA Complexity.pptx What is Complexity Analysis? What is the need for Compl...
PDF
WVKULAK13_submission_14
DOC-20230417-WA0013.-7-27.pptx
Lec-32 Recursion - Divide and Conquer in Queue
Bellmon Ford Algorithm
5.2 Least Squares Linear Regression.pptx
Amortized Analysis in Advanced Data Structure
Asymptotic Notation
Basic Computer Engineering Unit II as per RGPV Syllabus
Cs6402 daa-2 marks set 1
algo_vc_lecture8.ppt
Lec03 04-time complexity
Big-O notations, Algorithm and complexity analaysis
economic load dispatch and unit commitment power_system_operation.pdf
International Journal of Engineering Research and Development (IJERD)
Time and space complexity
Unit i basic concepts of algorithms
Intro to super. advance algorithm..pptx
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
DSA Complexity.pptx What is Complexity Analysis? What is the need for Compl...
WVKULAK13_submission_14

Recently uploaded (20)

PDF
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
PDF
COURSE DESCRIPTOR OF SURVEYING R24 SYLLABUS
PPTX
CURRICULAM DESIGN engineering FOR CSE 2025.pptx
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
737-MAX_SRG.pdf student reference guides
PDF
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Artificial Intelligence
PPTX
UNIT - 3 Total quality Management .pptx
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PPTX
Safety Seminar civil to be ensured for safe working.
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPT
Occupational Health and Safety Management System
PDF
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
COURSE DESCRIPTOR OF SURVEYING R24 SYLLABUS
CURRICULAM DESIGN engineering FOR CSE 2025.pptx
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
737-MAX_SRG.pdf student reference guides
UNIT no 1 INTRODUCTION TO DBMS NOTES.pdf
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Automation-in-Manufacturing-Chapter-Introduction.pdf
Artificial Intelligence
UNIT - 3 Total quality Management .pptx
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
III.4.1.2_The_Space_Environment.p pdffdf
Exploratory_Data_Analysis_Fundamentals.pdf
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Fundamentals of safety and accident prevention -final (1).pptx
Safety Seminar civil to be ensured for safe working.
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Occupational Health and Safety Management System
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...

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; (P(n) converges to ‘0’ ,. Hence , it fulfills the requirement of amortized complexity ) . 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) - P(N-1)= d(1-q*1) ; So the amortized cost for the display change = actual cost + P(N) - P(N-1)= (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 .