SlideShare a Scribd company logo
1 of 13
Download to read offline
Design & Analysis of Algorithm 
Amortized Analysis 
Kamalesh Karmakar 
Assistant Professor 
Department of C.S.E. 
MeghnadSahaInstitute of Technology 
Kolkata.
Design & Analysis of Algorithm 
Inanamortizedanalysis,thetimerequiredtoperformasequenceofdata- structureoperationsisaveragedoveralltheoperationsperformed.Amortizedanalysiscanbeusedtoshowthattheaveragecostofanoperationissmall,ifoneaveragesoverasequenceofoperations,eventhoughasingleoperationwithinthesequencemightbeexpensive. 
Amortizedanalysisdiffersfromaverage-caseanalysisinthatprobabilityisnotinvolved;anamortizedanalysisguaranteestheaverageperformanceofeachoperationintheworstcase. 
A.Aggregateanalysis 
B.Theaccountingmethod 
C.Thepotentialmethod 
D.Dynamictables 
Amortized Analysis
Design & Analysis of Algorithm 
InAggregateAnalysis,weshowthatforalln,asequenceofnoperationstakesworst-casetimeT(n)intotal. 
Intheworstcase,theaveragecost,oramortizedcost,peroperationisthereforeT(n)/n. 
Notethatthisamortizedcostappliestoeachoperation,evenwhenthereareseveraltypesofoperationsinthesequence. 
Amortized Analysis
Design & Analysis of Algorithm 
Example:Incrementingabinarycounter 
As another example of aggregate analysis, consider the problem of implementing a k-bit binary counter that counts upward from 0. We use an array A[0 . . k −1] of bits, where length[A] = k, as the counter. A binary number x that is stored in the counter has its lowest-order bit in A[0] and its highest-order bit in A[k −1], so that 
푥= 푖=0 푘−1퐴푖.2푖 
Initially, x = 0, and thus A[i] = 0 for i= 0, 1, . . . , k −1. To add 1(modulo 2k) to the value in the counter, we use the following procedure. 
Amortized Analysis
Design & Analysis of Algorithm 
Amortized Analysis 
 The cost of each INCREMENT 
operation is linear in the number of 
bits flipped. 
 A single execution of INCREMENT 
takes time (k) in the worst case, in 
which array A contains all 1’s. 
 Thus, a sequence of n INCREMENT 
operations on an initially zero 
counter takes time O(nk) in the worst 
case.
Design & Analysis of Algorithm 
Amortized Analysis 
Wecantightenouranalysistoyieldaworst-casecostofO(n)forasequenceofnINCREMENT’sbyobservingthatnotallbitsflipeachtimeINCREMENTiscalled. AsFigureshows,A[0]doesflipeachtimeINCREMENTiscalled. 
Thenext-highest-orderbit,A[1],flipsonlyeveryothertime:asequenceofnINCREMENToperationsonaninitiallyzerocountercausesA[1]toflip푛/2times. 
Similarly,bitA[2]flipsonlyeveryfourthtime,or푛/4timesinasequenceofnINCREMENT’s.Ingeneral,fori=0,1,...,lg푛/2,bitA[i]flips푛/2푖timesinasequenceofnINCREMENToperationsonaninitiallyzerocounter. 
Fori>푙푔푛,bitA[i]neverflipsatall.Thetotalnumberofflipsinthesequenceisthus 
Theworst-casetimeforasequenceofnINCREMENToperationsonaninitiallyzerocounteristhereforeO(n).Theaveragecostofeachoperation,andthereforetheamortizedcostperoperation,isO(n)/n=O(1).
Design & Analysis of Algorithm 
Amortized Analysis 
Intheaccountingmethodofamortizedanalysis,weassigndifferingchargestodifferentoperations,withsomeoperationschargedmoreorlessthantheyactuallycost. 
Theamountwechargeanoperationiscalleditsamortizedcost. 
Whenanoperation’samortizedcostexceedsitsactualcost,thedifferenceisassignedtospecificobjectsinthedatastructureascredit. 
Creditcanbeusedlaterontohelppayforoperationswhoseamortizedcostislessthantheiractualcost.Thus,onecanviewtheamortizedcostofanoperationasbeingsplitbetweenitsactualcostandcreditthatiseitherdepositedorusedup. 
Thismethodisverydifferentfromaggregateanalysis,inwhichalloperationshavethesameamortizedcost.
Design & Analysis of Algorithm 
Amortized Analysis 
 One must choose the amortized costs of operations carefully. If we want analysis 
with amortized costs to show that in the worst case the average cost per 
operation is small, the total amortized cost of a sequence of operations must be 
an upper bound on the total actual cost of the sequence. Moreover, as in 
aggregate analysis, this relationship must hold for all sequences of operations. If 
we denote the actual cost of the ith operation by ci and the amortized cost of the 
ith operation by , we require 
for all sequences of n operations. The total credit stored in the data structure is the 
difference between the total amortized cost and the total actual cost, or 
 By inequality the total credit associated with the data structure must be 
nonnegative at all times. If the total credit were ever allowed to become negative, 
then the total amortized costs incurred at that time would be below the total 
actual costs incurred; for the sequence of operations up to that time, the total 
amortized cost would not be an upper bound on the total actual cost. Thus, we 
must take care that the total credit in the data structure never becomes negative.
Design & Analysis of Algorithm 
Amortized Analysis 
Example:Incrementingabinarycounter 
Asanotherillustrationoftheaccountingmethod,weanalyzetheINCREMENToperationonabinarycounterthatstartsatzero.Asweobservedearlier,therunningtimeofthisoperationisproportionaltothenumberofbitsflipped,whichweshalluseasourcostforthisexample.Letusonceagainuseadollarbilltorepresenteachunitofcost. 
Fortheamortizedanalysis,letuschargeanamortizedcostof2dollarstosetabitto1. 
Whenabitisset,weuse1dollartopaytoflipthebitbackto0. 
TheamortizedcostofINCREMENTcannowbedetermined.Thecostofresettingthebitswithinthewhileloopispaidforbythedollarsonthebitsthatarereset. 
Thenumberof1’sinthecounterisnevernegative,andthustheamountofcreditisalwaysnonnegative.Thus,fornINCREMENToperations,thetotalamortizedcostisO(n),whichboundsthetotalactualcost.
Design & Analysis of Algorithm 
Amortized Analysis 
 Instead of representing prepaid work as credit stored with specific objects in the 
data structure, the potential method of amortized analysis represents the 
prepaid work as “potential energy,” or just “potential,” that can be released to pay 
for future operations. The potential is associated with the data structure as a 
whole rather than with specific objects within the data structure. 
 The potential method works as follows. We start with an initial data structure D0 
on which n operations are performed. For each i = 1, 2, . . . , n, we let ci be the 
actual cost of the ith operation and Di be the data structure that results after 
applying the ith operation to data structure Di−1. 
 A potential function ф maps each data structure Di to a real number ф(Di ), 
which is the potential associated with data structure Di. The amortized cost of 
the ith operation with respect to potential function ф is defined by
Design & Analysis of Algorithm 
Amortized Analysis 
 The amortized cost of each operation is therefore its actual cost plus the increase 
in potential due to the operation.The total amortized cost of the n operations is 
 If we can define a potential function ф so that (Dn) ≥ (D0), then the total 
amortized cost is an upper bound on the total actual cost 
 In practice, we do not always know how many operations might be performed. 
Therefore, if we require that ф(Di) ≥ ф(D0) for all i , then we guarantee, as in the 
accounting method, that we pay in advance. It is often convenient to define ф(D0) 
to be 0 and then to show that ф(Di ) ≥ 0 for all i . 
 Intuitively, if the potential difference ф(Di ) − ф(Di−1) of the ith operation is 
positive, then the amortized cost ci represents an overcharge to the ith operation, 
and the potential of the data structure increases. If the potential difference is 
negative, then the amortized cost represents an undercharge to the ith operation, 
and the actual cost of the operation is paid by the decrease in the potential.
Design & Analysis of Algorithm 
Amortized Analysis 
Example: Incrementing a binary counter 
 As another example of the potential method, we again look at incrementing a 
binary counter. This time, we define the potential of the counter after the ith 
INCREMENT operation to be bi , the number of 1’s in the counter after the ith 
operation. Let us compute the amortized cost of an INCREMENT operation. 
Suppose that the ith INCREMENT operation resets ti bits. The actual cost of the 
operation is therefore at most ti + 1, since in addition to resetting ti bits, it sets at 
most one bit to 1. 
 If bi = 0, then the ith operation resets all k bits, and so bi−1 = ti = k. 
 If bi > 0, then bi = bi−1 −ti +1. 
 In either case, bi ≤ bi−1 −ti +1, and the potential difference is 
 The amortized cost is therefore
Design & Analysis of Algorithm 
Amortized Analysis 
 If the counter starts at zero, then ф(D0) = 0. Since ф(Di ) ≥ 0 for all i , the total 
amortized cost of a sequence of n INCREMENT operations is an upper bound on 
the total actual cost, and so the worst-case cost of n INCREMENT operations is 
O(n). 
 The potential method gives us an easy way to analyze the counter even when it 
does not start at zero. There are initially b0 1’s, and after n INCREMENT 
operations there are bn 1’s, where 0 ≤ b0, bn ≤ k. (Recall that k is the number of 
bits in the counter.)We can rewrite equation as 
 We have for all 1 ≤ i ≤ n. Since ф(D0) = b0 and ф(Dn) = bn, the total actual 
cost of n INCREMENT operations is 
 Note in particular that since b0 ≤ k, as long as k = O(n), the total actual cost is 
O(n). In other words, if we execute at least n = (k) INCREMENT operations, the 
total actual cost is O(n), no matter what initial value the counter contains.

More Related Content

What's hot

Asymptotic analysis
Asymptotic analysisAsymptotic analysis
Asymptotic analysisSoujanya V
 
Infix to Prefix (Conversion, Evaluation, Code)
Infix to Prefix (Conversion, Evaluation, Code)Infix to Prefix (Conversion, Evaluation, Code)
Infix to Prefix (Conversion, Evaluation, Code)Ahmed Khateeb
 
Amortized analysis
Amortized analysisAmortized analysis
Amortized analysisajmalcs
 
Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure Janki Shah
 
Asymptotic notations
Asymptotic notationsAsymptotic notations
Asymptotic notationsNikhil Sharma
 
Logic microoperations
Logic microoperationsLogic microoperations
Logic microoperationsNitesh Singh
 
Applications of stack
Applications of stackApplications of stack
Applications of stackeShikshak
 
Dinive conquer algorithm
Dinive conquer algorithmDinive conquer algorithm
Dinive conquer algorithmMohd Arif
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)Naman Joshi
 
Searching and Sorting Techniques in Data Structure
Searching and Sorting Techniques in Data StructureSearching and Sorting Techniques in Data Structure
Searching and Sorting Techniques in Data StructureBalwant Gorad
 
LR(1) and SLR(1) parsing
LR(1) and SLR(1) parsingLR(1) and SLR(1) parsing
LR(1) and SLR(1) parsingR Islam
 

What's hot (20)

Asymptotic analysis
Asymptotic analysisAsymptotic analysis
Asymptotic analysis
 
Managing I/O in c++
Managing I/O in c++Managing I/O in c++
Managing I/O in c++
 
Infix to Prefix (Conversion, Evaluation, Code)
Infix to Prefix (Conversion, Evaluation, Code)Infix to Prefix (Conversion, Evaluation, Code)
Infix to Prefix (Conversion, Evaluation, Code)
 
Amortized analysis
Amortized analysisAmortized analysis
Amortized analysis
 
Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure
 
Asymptotic notations
Asymptotic notationsAsymptotic notations
Asymptotic notations
 
Python - variable types
Python - variable typesPython - variable types
Python - variable types
 
Logic microoperations
Logic microoperationsLogic microoperations
Logic microoperations
 
Applications of stack
Applications of stackApplications of stack
Applications of stack
 
LR Parsing
LR ParsingLR Parsing
LR Parsing
 
Dinive conquer algorithm
Dinive conquer algorithmDinive conquer algorithm
Dinive conquer algorithm
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)
 
stack presentation
stack presentationstack presentation
stack presentation
 
Abstract Data Types
Abstract Data TypesAbstract Data Types
Abstract Data Types
 
Python exception handling
Python   exception handlingPython   exception handling
Python exception handling
 
Searching and Sorting Techniques in Data Structure
Searching and Sorting Techniques in Data StructureSearching and Sorting Techniques in Data Structure
Searching and Sorting Techniques in Data Structure
 
Space complexity
Space complexitySpace complexity
Space complexity
 
2's complement
2's complement2's complement
2's complement
 
Complexity of Algorithm
Complexity of AlgorithmComplexity of Algorithm
Complexity of Algorithm
 
LR(1) and SLR(1) parsing
LR(1) and SLR(1) parsingLR(1) and SLR(1) parsing
LR(1) and SLR(1) parsing
 

Similar to 09. amortized analysis

DOC-20230417-WA0013.-7-27.pptx
DOC-20230417-WA0013.-7-27.pptxDOC-20230417-WA0013.-7-27.pptx
DOC-20230417-WA0013.-7-27.pptx03Shrishti
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexityparamita30
 
Aoa amortized analysis
Aoa amortized analysisAoa amortized analysis
Aoa amortized analysisSalabat Khan
 
Aad introduction
Aad introductionAad introduction
Aad introductionMr SMAK
 
Algorithm Analysis.pdf
Algorithm Analysis.pdfAlgorithm Analysis.pdf
Algorithm Analysis.pdfMemMem25
 
VCE Unit 01 (2).pptx
VCE Unit 01 (2).pptxVCE Unit 01 (2).pptx
VCE Unit 01 (2).pptxskilljiolms
 
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
TIME EXECUTION   OF  DIFFERENT SORTED ALGORITHMSTIME EXECUTION   OF  DIFFERENT SORTED ALGORITHMS
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMSTanya Makkar
 
ALGORITHMS - SHORT NOTES
ALGORITHMS - SHORT NOTESALGORITHMS - SHORT NOTES
ALGORITHMS - SHORT NOTESsuthi
 
Data structures using C
Data structures using CData structures using C
Data structures using CPdr Patnaik
 

Similar to 09. amortized analysis (20)

DOC-20230417-WA0013.-7-27.pptx
DOC-20230417-WA0013.-7-27.pptxDOC-20230417-WA0013.-7-27.pptx
DOC-20230417-WA0013.-7-27.pptx
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Aoa amortized analysis
Aoa amortized analysisAoa amortized analysis
Aoa amortized analysis
 
Aad introduction
Aad introductionAad introduction
Aad introduction
 
Algorithm Analysis.pdf
Algorithm Analysis.pdfAlgorithm Analysis.pdf
Algorithm Analysis.pdf
 
VCE Unit 01 (2).pptx
VCE Unit 01 (2).pptxVCE Unit 01 (2).pptx
VCE Unit 01 (2).pptx
 
AA_Unit 1_part-I.pptx
AA_Unit 1_part-I.pptxAA_Unit 1_part-I.pptx
AA_Unit 1_part-I.pptx
 
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
TIME EXECUTION   OF  DIFFERENT SORTED ALGORITHMSTIME EXECUTION   OF  DIFFERENT SORTED ALGORITHMS
TIME EXECUTION OF DIFFERENT SORTED ALGORITHMS
 
Amortized analysis
Amortized analysisAmortized analysis
Amortized analysis
 
ALGORITHMS - SHORT NOTES
ALGORITHMS - SHORT NOTESALGORITHMS - SHORT NOTES
ALGORITHMS - SHORT NOTES
 
Data structures using C
Data structures using CData structures using C
Data structures using C
 

More from Onkar Nath Sharma

More from Onkar Nath Sharma (9)

08. graph traversal
08. graph traversal08. graph traversal
08. graph traversal
 
07. disjoint set
07. disjoint set07. disjoint set
07. disjoint set
 
06. string matching
06. string matching06. string matching
06. string matching
 
05. greedy method
05. greedy method05. greedy method
05. greedy method
 
04. backtracking
04. backtracking04. backtracking
04. backtracking
 
03. dynamic programming
03. dynamic programming03. dynamic programming
03. dynamic programming
 
02. divide and conquer
02. divide and conquer02. divide and conquer
02. divide and conquer
 
01. design & analysis of agorithm intro & complexity analysis
01. design & analysis of agorithm intro & complexity analysis01. design & analysis of agorithm intro & complexity analysis
01. design & analysis of agorithm intro & complexity analysis
 
Analyzing algorithms
Analyzing algorithmsAnalyzing algorithms
Analyzing algorithms
 

Recently uploaded

welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsDILIPKUMARMONDAL6
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadaditya806802
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 

Recently uploaded (20)

welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teams
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasad
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 

09. amortized analysis

  • 1. Design & Analysis of Algorithm Amortized Analysis Kamalesh Karmakar Assistant Professor Department of C.S.E. MeghnadSahaInstitute of Technology Kolkata.
  • 2. Design & Analysis of Algorithm Inanamortizedanalysis,thetimerequiredtoperformasequenceofdata- structureoperationsisaveragedoveralltheoperationsperformed.Amortizedanalysiscanbeusedtoshowthattheaveragecostofanoperationissmall,ifoneaveragesoverasequenceofoperations,eventhoughasingleoperationwithinthesequencemightbeexpensive. Amortizedanalysisdiffersfromaverage-caseanalysisinthatprobabilityisnotinvolved;anamortizedanalysisguaranteestheaverageperformanceofeachoperationintheworstcase. A.Aggregateanalysis B.Theaccountingmethod C.Thepotentialmethod D.Dynamictables Amortized Analysis
  • 3. Design & Analysis of Algorithm InAggregateAnalysis,weshowthatforalln,asequenceofnoperationstakesworst-casetimeT(n)intotal. Intheworstcase,theaveragecost,oramortizedcost,peroperationisthereforeT(n)/n. Notethatthisamortizedcostappliestoeachoperation,evenwhenthereareseveraltypesofoperationsinthesequence. Amortized Analysis
  • 4. Design & Analysis of Algorithm Example:Incrementingabinarycounter As another example of aggregate analysis, consider the problem of implementing a k-bit binary counter that counts upward from 0. We use an array A[0 . . k −1] of bits, where length[A] = k, as the counter. A binary number x that is stored in the counter has its lowest-order bit in A[0] and its highest-order bit in A[k −1], so that 푥= 푖=0 푘−1퐴푖.2푖 Initially, x = 0, and thus A[i] = 0 for i= 0, 1, . . . , k −1. To add 1(modulo 2k) to the value in the counter, we use the following procedure. Amortized Analysis
  • 5. Design & Analysis of Algorithm Amortized Analysis  The cost of each INCREMENT operation is linear in the number of bits flipped.  A single execution of INCREMENT takes time (k) in the worst case, in which array A contains all 1’s.  Thus, a sequence of n INCREMENT operations on an initially zero counter takes time O(nk) in the worst case.
  • 6. Design & Analysis of Algorithm Amortized Analysis Wecantightenouranalysistoyieldaworst-casecostofO(n)forasequenceofnINCREMENT’sbyobservingthatnotallbitsflipeachtimeINCREMENTiscalled. AsFigureshows,A[0]doesflipeachtimeINCREMENTiscalled. Thenext-highest-orderbit,A[1],flipsonlyeveryothertime:asequenceofnINCREMENToperationsonaninitiallyzerocountercausesA[1]toflip푛/2times. Similarly,bitA[2]flipsonlyeveryfourthtime,or푛/4timesinasequenceofnINCREMENT’s.Ingeneral,fori=0,1,...,lg푛/2,bitA[i]flips푛/2푖timesinasequenceofnINCREMENToperationsonaninitiallyzerocounter. Fori>푙푔푛,bitA[i]neverflipsatall.Thetotalnumberofflipsinthesequenceisthus Theworst-casetimeforasequenceofnINCREMENToperationsonaninitiallyzerocounteristhereforeO(n).Theaveragecostofeachoperation,andthereforetheamortizedcostperoperation,isO(n)/n=O(1).
  • 7. Design & Analysis of Algorithm Amortized Analysis Intheaccountingmethodofamortizedanalysis,weassigndifferingchargestodifferentoperations,withsomeoperationschargedmoreorlessthantheyactuallycost. Theamountwechargeanoperationiscalleditsamortizedcost. Whenanoperation’samortizedcostexceedsitsactualcost,thedifferenceisassignedtospecificobjectsinthedatastructureascredit. Creditcanbeusedlaterontohelppayforoperationswhoseamortizedcostislessthantheiractualcost.Thus,onecanviewtheamortizedcostofanoperationasbeingsplitbetweenitsactualcostandcreditthatiseitherdepositedorusedup. Thismethodisverydifferentfromaggregateanalysis,inwhichalloperationshavethesameamortizedcost.
  • 8. Design & Analysis of Algorithm Amortized Analysis  One must choose the amortized costs of operations carefully. If we want analysis with amortized costs to show that in the worst case the average cost per operation is small, the total amortized cost of a sequence of operations must be an upper bound on the total actual cost of the sequence. Moreover, as in aggregate analysis, this relationship must hold for all sequences of operations. If we denote the actual cost of the ith operation by ci and the amortized cost of the ith operation by , we require for all sequences of n operations. The total credit stored in the data structure is the difference between the total amortized cost and the total actual cost, or  By inequality the total credit associated with the data structure must be nonnegative at all times. If the total credit were ever allowed to become negative, then the total amortized costs incurred at that time would be below the total actual costs incurred; for the sequence of operations up to that time, the total amortized cost would not be an upper bound on the total actual cost. Thus, we must take care that the total credit in the data structure never becomes negative.
  • 9. Design & Analysis of Algorithm Amortized Analysis Example:Incrementingabinarycounter Asanotherillustrationoftheaccountingmethod,weanalyzetheINCREMENToperationonabinarycounterthatstartsatzero.Asweobservedearlier,therunningtimeofthisoperationisproportionaltothenumberofbitsflipped,whichweshalluseasourcostforthisexample.Letusonceagainuseadollarbilltorepresenteachunitofcost. Fortheamortizedanalysis,letuschargeanamortizedcostof2dollarstosetabitto1. Whenabitisset,weuse1dollartopaytoflipthebitbackto0. TheamortizedcostofINCREMENTcannowbedetermined.Thecostofresettingthebitswithinthewhileloopispaidforbythedollarsonthebitsthatarereset. Thenumberof1’sinthecounterisnevernegative,andthustheamountofcreditisalwaysnonnegative.Thus,fornINCREMENToperations,thetotalamortizedcostisO(n),whichboundsthetotalactualcost.
  • 10. Design & Analysis of Algorithm Amortized Analysis  Instead of representing prepaid work as credit stored with specific objects in the data structure, the potential method of amortized analysis represents the prepaid work as “potential energy,” or just “potential,” that can be released to pay for future operations. The potential is associated with the data structure as a whole rather than with specific objects within the data structure.  The potential method works as follows. We start with an initial data structure D0 on which n operations are performed. For each i = 1, 2, . . . , n, we let ci be the actual cost of the ith operation and Di be the data structure that results after applying the ith operation to data structure Di−1.  A potential function ф maps each data structure Di to a real number ф(Di ), which is the potential associated with data structure Di. The amortized cost of the ith operation with respect to potential function ф is defined by
  • 11. Design & Analysis of Algorithm Amortized Analysis  The amortized cost of each operation is therefore its actual cost plus the increase in potential due to the operation.The total amortized cost of the n operations is  If we can define a potential function ф so that (Dn) ≥ (D0), then the total amortized cost is an upper bound on the total actual cost  In practice, we do not always know how many operations might be performed. Therefore, if we require that ф(Di) ≥ ф(D0) for all i , then we guarantee, as in the accounting method, that we pay in advance. It is often convenient to define ф(D0) to be 0 and then to show that ф(Di ) ≥ 0 for all i .  Intuitively, if the potential difference ф(Di ) − ф(Di−1) of the ith operation is positive, then the amortized cost ci represents an overcharge to the ith operation, and the potential of the data structure increases. If the potential difference is negative, then the amortized cost represents an undercharge to the ith operation, and the actual cost of the operation is paid by the decrease in the potential.
  • 12. Design & Analysis of Algorithm Amortized Analysis Example: Incrementing a binary counter  As another example of the potential method, we again look at incrementing a binary counter. This time, we define the potential of the counter after the ith INCREMENT operation to be bi , the number of 1’s in the counter after the ith operation. Let us compute the amortized cost of an INCREMENT operation. Suppose that the ith INCREMENT operation resets ti bits. The actual cost of the operation is therefore at most ti + 1, since in addition to resetting ti bits, it sets at most one bit to 1.  If bi = 0, then the ith operation resets all k bits, and so bi−1 = ti = k.  If bi > 0, then bi = bi−1 −ti +1.  In either case, bi ≤ bi−1 −ti +1, and the potential difference is  The amortized cost is therefore
  • 13. Design & Analysis of Algorithm Amortized Analysis  If the counter starts at zero, then ф(D0) = 0. Since ф(Di ) ≥ 0 for all i , the total amortized cost of a sequence of n INCREMENT operations is an upper bound on the total actual cost, and so the worst-case cost of n INCREMENT operations is O(n).  The potential method gives us an easy way to analyze the counter even when it does not start at zero. There are initially b0 1’s, and after n INCREMENT operations there are bn 1’s, where 0 ≤ b0, bn ≤ k. (Recall that k is the number of bits in the counter.)We can rewrite equation as  We have for all 1 ≤ i ≤ n. Since ф(D0) = b0 and ф(Dn) = bn, the total actual cost of n INCREMENT operations is  Note in particular that since b0 ≤ k, as long as k = O(n), the total actual cost is O(n). In other words, if we execute at least n = (k) INCREMENT operations, the total actual cost is O(n), no matter what initial value the counter contains.