Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design and Analysis of Algorithms (DAA) (6 cp)

Similar presentations


Presentation on theme: "Design and Analysis of Algorithms (DAA) (6 cp)"— Presentation transcript:

1 Design and Analysis of Algorithms (DAA) 3621511 (6 cp)
Pasi Fränti

2 DAA course at Autumn 2018 Web: http://cs.uef.fi/pages/franti/asa/
ETCS 6 Lectures (34h): - Mon 14-17 - Tue 14-16 Exercises (16h): - Fri 10-12 Exam dates:

3 Motivation Design Analysis
90% cases simple algorithms found from Bachelor level courses Focus on the 10% tough ones Analysis Why not just measure processing time? Time vs. space complexity analyses Upper and lower limits

4 Key concepts Problem Algorithm Instance Can the problem be solved?
How difficult is the problem? Real-life problems to algorithmic problems Algorithm How to find suitable algorithm? How to make it efficient? Instance Upper and lower limits

5 Graph problems Coloring problem Shortest path Traveling salesman 117
216 110 246 Coloring problem Shortest path Traveling salesman 199 182 170 121 315 231 142 79 242 136 191 148 78 191 126 120 178 149 89 116 234 170 51 112 79 131 109 73 163 72 86 90 143 63 53 105 27 59 58 135 116

6 Clustering problem Input Output

7 What is algorithm? We need a well-specified problem that tells what needs to be achieved Algorithm solves the problem It consists of a sequence of commands that takes an input and gives output Algorithm Input Output

8 Non-solvable problems
Give list of all rational numbers in [0..1] Longest sequence of  without the 0 digit Stopping problem Does algorithm A stop always? Any algorithm Solve Stopping A B TRUE FALSE

9 Non-solvable problems
Give list of all rational numbers in [0..1] Longest sequence of  without the 0 digit Stopping problem Algorithm C does NOT stop always! Any algorithm Solve Stopping Algorithm “Vice Versa” A B TRUE C Eternal loop FALSE Stop

10 Algorithm principles Sequence Condition Loops One command at a time
Parallel and distributed computing Condition IF CASE Loops FOR WHILE REPEAT

11 Complexity Time complexity: How much time it takes to compute
Measured by a function T(N) Space complexity: How much memory it takes to compute Measured by a function S(N)

12 Time complexity N = Size of the input T(N) = Time complexity function
Order of magnitude: How rapidly T(N) grows when N grows For example: O(N) O(logN) O(N²) O(2N)

13 Examples: Bubble sort (N²), Quicksort (N∙logN)
Asymptotic analysis N3 --- cubic N² --- quadratic N logN 2N --- exponential N --- linear log N --- sub-linear Examples: Bubble sort (N²), Quicksort (N∙logN)

14 Problem size vs. processing time
Processing power increases → f(N) T(N) = 1,000 T(N)=10,000 Growth rate 100N N = 10 N=100 10 x 5N² 14 44 3.1 x ½N³ 12 27 2.3 x 2N 9 13 1.4 x logN 21,000 210,000 Very high!!

15 Exponential time complexity
1 2 4 8 16 32 64 128 1k 2k 256 512 1M Halfway…? 1G 1T 1P 1E Large than Everest 264 = 18.4 ∙ 1018

16 Graph algorithms

17 Graph algorithms

18


Download ppt "Design and Analysis of Algorithms (DAA) (6 cp)"

Similar presentations


Ads by Google