+ All Categories
Home > Documents > DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Date post: 03-Jan-2016
Category:
Upload: jeremy-poole
View: 224 times
Download: 1 times
Share this document with a friend
18
DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)
Transcript
Page 1: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

DR. Gatot F. Hertono, MSc.

Design and Analysis of ALGORITHM(Session 2)

Page 2: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Our Machine Model: Assumptions

Generic Random Access Machine (RAM) Executes operations sequentially Set of basic operations:

Arithmetic. Logical, Comparisons, Function calls

Simplifying assumption: all ops cost 1 unit

Eliminates dependence on the speed of our computer, otherwise impossible to verify and to compare

Notes:

Page 3: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Running time

• The running time depends on the input. Example: an already sorted sequence is easier to

sort.• Major Simplifying Convention: Parameterize the

running time by the size of the input. TA(n) = time of A on length n inputs

• Generally, we seek upper bounds on the running time, to have a guarantee of performance.

Page 4: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Examples of Basic Operations

Algorithm Input Types Basic Operations

List Searching List with n elements Comparation

List Sorting List with n elements Comparation

Matrix Product n x n matrices Scalar Products

Prime Factorisation n digit numbers Scalar Division

Polynomial Evaluation n degree polynomial Scalar Products

Tree Traversal Tree with n nodes Visiting a node

Notes: The running time of an algorithm is determined by its input size n

Page 5: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Time Complexity

The complexity of an algorithm is determined by the number of basic operations and how many time the algorithm computes those basic operations.

Notes: The complexity analysis is machine independent.

Time complexity of an algorithm will determine the running time depends on its input size, i.e. the time complexity is a function of input size.

Time Complexity maps “input size”

to “time” T(n) executed.

Page 6: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Purpose

To estimate how long a program will run. To estimate the largest input that can reasonably be

given to the program. To compare the efficiency of different algorithms. To help focus on the parts of code that are executed

the largest number of times. To choose an algorithm for an application.

Page 7: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Time Complexity: an example

Page 8: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Best, Worst and Average Case

Sometimes, given two different inputs with a same size, an algorithm can have different running time.

Example: Suppose a sorting algorithm has some inputs with a same size but different order:

-Input 1: 10, 5, 23, 45, 1, 100

-Input 2: 1,5,10, 23,45, 100

-Input 3: 100, 45, 23, 10, 5, 1

Do those inputs give the same running time?

In ascending order

Average case

Best case

Worst case

Page 9: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Best, Worst and Average Case (cont.)

Page 10: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Best, Worst and Average Cases (cont.)

Best-case Complexity: is a function B(n) B(n) = min{ (i) i In }

Let In denote a set of all input with size n of an algorithm and (i) denote the number of primitive operations of the corresponding algorithm when given input i.

Worst-case Complexity: is a function W(n) W(n) = max{ (i) i In }

Average-case Complexity: is a function A(n) A(n) = nIi

ipi )().(

where p(i) is the probability of i occurs as an input of an algorithm.

Mathematically, we can define:

Page 11: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Example of insertion sort8 2 4 9 3 6

2 8 4 9 3 6

2 4 8 9 3 6

2 4 8 9 3 6

2 3 4 8 9 6

2 3 4 6 8 9 done

Page 12: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Running Time of Insertion Sort

n

j jt2

1Insertion_Sort(A)

for j 2 to length(A)Costc1

Timesn

2 key A(j) c2 n-1

3 i j-1 c3 n-1

4 while i > 0 and A(i) > key

c4

5 A(i+1) A(i) c5

6 i i – 1 c6

7 A(i+1) key c7 n-1

12

n

j jt

12

n

j jt

n = length(A)

tj = number of while loop execution for a certain value j

Page 13: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Insertion Sort: an analysis

n

j j

n

j

n

j jj

nctc

tctcncncncnT

2 76

2 254321

)1()1(

)1()1()1()(

)()()( 743274321 ccccncccccnT Best case: in an ordered list (i.e tj = 1, for j = 2, …, n)

Worst case: in a reverse ordered list (i.e tj = j, for j = 2, …, n)

)(

)222

()222

()(

7432

7654

3212654

cccc

ncccc

cccnccc

nT

Page 14: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Time Complexity: a comparison

Page 15: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Machine-independent time

What is insertion sort’s worst-case time?BIG IDEAS:

• Ignore machine dependent constants, otherwise impossible to verify and to compare algorithms

• Look at growth of T(n) as n → ∞ .

“Asymptotic Analysis”“Asymptotic Analysis”

Page 16: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Analysis

Simplifications Ignore actual and abstract statement

costs Order of growth is the interesting

measure: Highest-order term is what counts

Remember, we are doing asymptotic analysis As the input size grows larger it is the high

order term that dominates

Page 17: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Assignment 1

In order to show that an algorithm is not unique, design two different algorithms of a specific problem.

Design an algorithm and show its time complexity to compute a product of two n x n matrices (how is the time complexity in the best and worst cases?)

Page 18: DR. Gatot F. Hertono, MSc. Design and Analysis of ALGORITHM (Session 2)

Performance & Speed


Recommended