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?

Advanced topics in artificial neural networks
Advanced topics in artificial neural networksAdvanced topics in artificial neural networks
Advanced topics in artificial neural networksswapnac12
 
Data Structures and Algorithm Analysis
Data Structures  and  Algorithm AnalysisData Structures  and  Algorithm Analysis
Data Structures and Algorithm AnalysisMary Margarat
 
Chapter 3 principles of parallel algorithm design
Chapter 3   principles of parallel algorithm designChapter 3   principles of parallel algorithm design
Chapter 3 principles of parallel algorithm designDenisAkbar1
 
Hashing Technique In Data Structures
Hashing Technique In Data StructuresHashing Technique In Data Structures
Hashing Technique In Data StructuresSHAKOOR AB
 
Mathematical Analysis of Non-Recursive Algorithm.
Mathematical Analysis of Non-Recursive Algorithm.Mathematical Analysis of Non-Recursive Algorithm.
Mathematical Analysis of Non-Recursive Algorithm.mohanrathod18
 
Dynamic storage allocation techniques
Dynamic storage allocation techniquesDynamic storage allocation techniques
Dynamic storage allocation techniquesShashwat Shriparv
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYKathirvel Ayyaswamy
 
Study of security attacks in manet
Study of security attacks in manetStudy of security attacks in manet
Study of security attacks in manetKunal Prajapati
 
Chapter 1 Introduction of Cryptography and Network security
Chapter 1 Introduction of Cryptography and Network security Chapter 1 Introduction of Cryptography and Network security
Chapter 1 Introduction of Cryptography and Network security Dr. Kapil Gupta
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniquesDr.Florence Dayana
 
Cryptanalysis and Attacks
Cryptanalysis and AttacksCryptanalysis and Attacks
Cryptanalysis and AttacksShahbaz Anjam
 
Key management and distribution
Key management and distributionKey management and distribution
Key management and distributionRiya Choudhary
 

Was ist angesagt? (20)

Advanced topics in artificial neural networks
Advanced topics in artificial neural networksAdvanced topics in artificial neural networks
Advanced topics in artificial neural networks
 
Data Structures and Algorithm Analysis
Data Structures  and  Algorithm AnalysisData Structures  and  Algorithm Analysis
Data Structures and Algorithm Analysis
 
CNS - Unit - 2 - Stream Ciphers and Block Ciphers
CNS - Unit - 2 - Stream Ciphers and Block CiphersCNS - Unit - 2 - Stream Ciphers and Block Ciphers
CNS - Unit - 2 - Stream Ciphers and Block Ciphers
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
 
Chapter 3 principles of parallel algorithm design
Chapter 3   principles of parallel algorithm designChapter 3   principles of parallel algorithm design
Chapter 3 principles of parallel algorithm design
 
Hashing Technique In Data Structures
Hashing Technique In Data StructuresHashing Technique In Data Structures
Hashing Technique In Data Structures
 
Mathematical Analysis of Non-Recursive Algorithm.
Mathematical Analysis of Non-Recursive Algorithm.Mathematical Analysis of Non-Recursive Algorithm.
Mathematical Analysis of Non-Recursive Algorithm.
 
Dynamic storage allocation techniques
Dynamic storage allocation techniquesDynamic storage allocation techniques
Dynamic storage allocation techniques
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
 
Study of security attacks in manet
Study of security attacks in manetStudy of security attacks in manet
Study of security attacks in manet
 
String matching, naive,
String matching, naive,String matching, naive,
String matching, naive,
 
Parallel Processing Concepts
Parallel Processing Concepts Parallel Processing Concepts
Parallel Processing Concepts
 
Chapter 1 Introduction of Cryptography and Network security
Chapter 1 Introduction of Cryptography and Network security Chapter 1 Introduction of Cryptography and Network security
Chapter 1 Introduction of Cryptography and Network security
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
 
Cryptanalysis and Attacks
Cryptanalysis and AttacksCryptanalysis and Attacks
Cryptanalysis and Attacks
 
Hashing
HashingHashing
Hashing
 
Collision in Hashing.pptx
Collision in Hashing.pptxCollision in Hashing.pptx
Collision in Hashing.pptx
 
Key management and distribution
Key management and distributionKey management and distribution
Key management and distribution
 
Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
 

Ähnlich wie 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
 

Ähnlich wie 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
 

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

DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage examplePragyanshuParadkar1
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
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
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
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
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 

Kürzlich hochgeladen (20)

DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage example
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
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
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
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...
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
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
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 

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.