SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

02 order of growth
02 order of growth02 order of growth
02 order of growthHira Gul
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihmSajid Marwat
 
Complexity analysis - The Big O Notation
Complexity analysis - The Big O NotationComplexity analysis - The Big O Notation
Complexity analysis - The Big O NotationJawad Khan
 
Greedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptGreedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptRuchika Sinha
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithmsGanesh Solanke
 
Finite automata-for-lexical-analysis
Finite automata-for-lexical-analysisFinite automata-for-lexical-analysis
Finite automata-for-lexical-analysisDattatray Gandhmal
 
Algorithm analysis
Algorithm analysisAlgorithm analysis
Algorithm analysissumitbardhan
 
Deadlock Avoidance - OS
Deadlock Avoidance - OSDeadlock Avoidance - OS
Deadlock Avoidance - OSMsAnita2
 
Randomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced AlgorithmRandomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced AlgorithmMahbubur Rahman
 
Array operations
Array operationsArray operations
Array operationsZAFAR444
 
Algorithm Complexity and Main Concepts
Algorithm Complexity and Main ConceptsAlgorithm Complexity and Main Concepts
Algorithm Complexity and Main ConceptsAdelina Ahadova
 
Quick sort Algorithm Discussion And Analysis
Quick sort Algorithm Discussion And AnalysisQuick sort Algorithm Discussion And Analysis
Quick sort Algorithm Discussion And AnalysisSNJ Chaudhary
 
12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMSkoolkampus
 

Was ist angesagt? (20)

pushdown automata
pushdown automatapushdown automata
pushdown automata
 
02 order of growth
02 order of growth02 order of growth
02 order of growth
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihm
 
Complexity analysis - The Big O Notation
Complexity analysis - The Big O NotationComplexity analysis - The Big O Notation
Complexity analysis - The Big O Notation
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
Greedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.pptGreedy with Task Scheduling Algorithm.ppt
Greedy with Task Scheduling Algorithm.ppt
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithms
 
Finite automata-for-lexical-analysis
Finite automata-for-lexical-analysisFinite automata-for-lexical-analysis
Finite automata-for-lexical-analysis
 
Algorithm analysis
Algorithm analysisAlgorithm analysis
Algorithm analysis
 
Randomized algorithms ver 1.0
Randomized algorithms ver 1.0Randomized algorithms ver 1.0
Randomized algorithms ver 1.0
 
Deadlock Avoidance - OS
Deadlock Avoidance - OSDeadlock Avoidance - OS
Deadlock Avoidance - OS
 
Randomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced AlgorithmRandomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced Algorithm
 
Array operations
Array operationsArray operations
Array operations
 
Knapsack Problem
Knapsack ProblemKnapsack Problem
Knapsack Problem
 
Arrays in java
Arrays in javaArrays in java
Arrays in java
 
Algorithm Complexity and Main Concepts
Algorithm Complexity and Main ConceptsAlgorithm Complexity and Main Concepts
Algorithm Complexity and Main Concepts
 
Merge sort
Merge sortMerge sort
Merge sort
 
Quick sort Algorithm Discussion And Analysis
Quick sort Algorithm Discussion And AnalysisQuick sort Algorithm Discussion And Analysis
Quick sort Algorithm Discussion And Analysis
 
12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS
 

Ähnlich wie 09. amortized analysis

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
 
Ds12 140715025807-phpapp02
Ds12 140715025807-phpapp02Ds12 140715025807-phpapp02
Ds12 140715025807-phpapp02Salman Qamar
 

Ähnlich wie 09. amortized analysis (20)

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
 
Ds12 140715025807-phpapp02
Ds12 140715025807-phpapp02Ds12 140715025807-phpapp02
Ds12 140715025807-phpapp02
 

Mehr von Onkar Nath Sharma

Mehr von 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
 

Kürzlich hochgeladen

Power System electrical and electronics .pptx
Power System electrical and electronics .pptxPower System electrical and electronics .pptx
Power System electrical and electronics .pptxMUKULKUMAR210
 
Strategies of Urban Morphologyfor Improving Outdoor Thermal Comfort and Susta...
Strategies of Urban Morphologyfor Improving Outdoor Thermal Comfort and Susta...Strategies of Urban Morphologyfor Improving Outdoor Thermal Comfort and Susta...
Strategies of Urban Morphologyfor Improving Outdoor Thermal Comfort and Susta...amrabdallah9
 
me3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part Ame3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part Akarthi keyan
 
Modelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovationsModelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovationsYusuf Yıldız
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingMarian Marinov
 
Nodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxNodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxwendy cai
 
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratoryدليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide LaboratoryBahzad5
 
A Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationA Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationMohsinKhanA
 
EPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxEPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxJoseeMusabyimana
 
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...soginsider
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchrohitcse52
 
Test of Significance of Large Samples for Mean = µ.pptx
Test of Significance of Large Samples for Mean = µ.pptxTest of Significance of Large Samples for Mean = µ.pptx
Test of Significance of Large Samples for Mean = µ.pptxHome
 
Phase noise transfer functions.pptx
Phase noise transfer      functions.pptxPhase noise transfer      functions.pptx
Phase noise transfer functions.pptxSaiGouthamSunkara
 
solar wireless electric vechicle charging system
solar wireless electric vechicle charging systemsolar wireless electric vechicle charging system
solar wireless electric vechicle charging systemgokuldongala
 
Gender Bias in Engineer, Honors 203 Project
Gender Bias in Engineer, Honors 203 ProjectGender Bias in Engineer, Honors 203 Project
Gender Bias in Engineer, Honors 203 Projectreemakb03
 
Multicomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfMulticomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfGiovanaGhasary1
 
How to Write a Good Scientific Paper.pdf
How to Write a Good Scientific Paper.pdfHow to Write a Good Scientific Paper.pdf
How to Write a Good Scientific Paper.pdfRedhwan Qasem Shaddad
 
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptxIT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptxSAJITHABANUS
 

Kürzlich hochgeladen (20)

Power System electrical and electronics .pptx
Power System electrical and electronics .pptxPower System electrical and electronics .pptx
Power System electrical and electronics .pptx
 
Strategies of Urban Morphologyfor Improving Outdoor Thermal Comfort and Susta...
Strategies of Urban Morphologyfor Improving Outdoor Thermal Comfort and Susta...Strategies of Urban Morphologyfor Improving Outdoor Thermal Comfort and Susta...
Strategies of Urban Morphologyfor Improving Outdoor Thermal Comfort and Susta...
 
me3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part Ame3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part A
 
Modelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovationsModelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovations
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & Logging
 
Nodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxNodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptx
 
Lecture 2 .pptx
Lecture 2                            .pptxLecture 2                            .pptx
Lecture 2 .pptx
 
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratoryدليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
 
A Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationA Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software Simulation
 
EPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxEPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptx
 
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
 
Test of Significance of Large Samples for Mean = µ.pptx
Test of Significance of Large Samples for Mean = µ.pptxTest of Significance of Large Samples for Mean = µ.pptx
Test of Significance of Large Samples for Mean = µ.pptx
 
Phase noise transfer functions.pptx
Phase noise transfer      functions.pptxPhase noise transfer      functions.pptx
Phase noise transfer functions.pptx
 
solar wireless electric vechicle charging system
solar wireless electric vechicle charging systemsolar wireless electric vechicle charging system
solar wireless electric vechicle charging system
 
Gender Bias in Engineer, Honors 203 Project
Gender Bias in Engineer, Honors 203 ProjectGender Bias in Engineer, Honors 203 Project
Gender Bias in Engineer, Honors 203 Project
 
Multicomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfMulticomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdf
 
How to Write a Good Scientific Paper.pdf
How to Write a Good Scientific Paper.pdfHow to Write a Good Scientific Paper.pdf
How to Write a Good Scientific Paper.pdf
 
Lecture 2 .pdf
Lecture 2                           .pdfLecture 2                           .pdf
Lecture 2 .pdf
 
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptxIT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
 

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.