Skip to main content

Amortized analysis

An amortized analysis is a method for analyzing a given algorithm's complexity, or how much of a resource, especially time or memory, it takes to execute. It guarantees the average performance of each operation in the worst case.

The asymptotic analysis gives worst case analysis of each operation without taking the effect of one operation on the other, whereas amortized analysis focuses on a sequence of operations, an interplay between operations, and thus yielding an analysis which is precise and depicts a micro-level analysis.

Three most common techniques used are aggregate analysis, accounting method and potential method.

The aggregate method, in which the total running time for a sequence of operations is analyzed.

The accounting (or banker's) method, in which an extra charge would be imposed on inexpensive operations and use it to pay for expensive operations later on.

The potential (or physicist's) method, in which a potential function would be derived characterizing the amount of extra work that can be done in each step. This potential either increases or decreases with each successive operation, but cannot be negative.

Popular posts from this blog

Exercise 2 - Amdahl's Law

A programmer has parallelized 99% of a program, but there is no value in increasing the problem size, i.e., the program will always be run with the same problem size regardless of the number of processors or cores used. What is the expected speedup on 20 processors? Solution As per Amdahl's law, the speedup,  N - No of processors = 20 f - % of parallel operation = 99% = 1 / (1 - 0.99) + (0.99 / 20) = 1 / 0.01 + (0.99 / 20) = 16.807 The expected speedup on 20 processors is 16.807

Exercise 1 - Amdahl's Law

A programmer is given the job to write a program on a computer with processor having speedup factor 3.8 on 4 processors. He makes it 95% parallel and goes home dreaming of a big pay raise. Using Amdahl’s law, and assuming the problem size is the same as the serial version, and ignoring communication costs, what is the speedup factor that the programmer will get? Solution Speedup formula as per Amdahl's Law, N - no of processor = 4 f - % of parallel operation = 95% Speedup = 1 / (1 - 0.95) + (0.95/4) = 1 / 0.5 + (0.95/4) Speedup = 3.478 The programmer gets  3.478 as t he speedup factor.

BITS Work Integrated Learning Program - M.Tech Data Science & Engineering

     BITS Pilani offers work integrated learning program (WILP) on M.Tech Data Science and Engineering which is UGC approved. The course is a four semester programme designed to help work professionals to build their skills required for data science engineering which enable them to become a Data Scientist.  It is a 100% online course and lectures would be delivered by BITS Pilani faculty on weekends. Those who are working in software industry as Software Engineer, Programmer, Data Analyst, Business Analyst can apply for the course. Minimum eligibility criteria to apply for the course. Those who are employed holding B.E/B.Tech/MCA/M.Sc or Equivalent with 60% marks and minimum one year relevant work experience. The candidates should have basic programming and engineering mathematics knowledge. The following subjects shall be covered in the course. Semester Subjects Data Mining Mathematical Fundamentals for Data Science Data Structure and Algorithms Design Co...