Download presentation
Presentation is loading. Please wait.
1
CSC 380: Design and Analysis of Algorithms
Dr. Curry Guinn
2
Quick Info Dr. Curry Guinn CIS 2015 guinnc@uncw.edu
Office Hours: MWF: 10:00am-11:00m and by appointment
3
Outline of today Fancy sorting Scheduling problems
One where a greedy algorithm works And then One a very, very similar problem where the greedy algorithm doesn’t work and, in fact, there is no “good” solution
4
A Fancy Sorting Algorithm
TwoPivotQuicksort with other modifications
5
Optimization problems
An optimization problem is one in which you want to find, not just a solution, but the best solution A “greedy algorithm” sometimes works well for optimization problems A greedy algorithm works in phases. At each phase: You take the best you can get right now, without regard for future consequences You hope that by choosing a local optimum at each step, you will end up at a global optimum 2
6
Scheduling Given jobs j1, j2, j3, ..., jn with known running times t1, t2, t3, ..., tn – what is the best way to schedule the jobs to minimize average completion time? Job Time j1 15 j2 8 j3 3 j4 10
7
Optimality Proof Total cost of a schedule is N ∑(N-k+1)tk k=1
t1 + (t1+t2) + (t1+t2+t3) ... (t1+t2+...+tn) N N (N+1)∑tk - ∑k*tk k= k=1 First term independent of ordering, as second term increases, total cost becomes smaller
8
More Scheduling Multiple processor case Algorithm?
You have to run nine jobs, with running times of 3, 5, 6, 10, 11, 14, 15, 18, and 20 minutes You have three processors on which you can run these jobs Minimize the average completion time.
9
A different multi-processor scheduling problem
You have to run nine jobs, with running times of 3, 5, 6, 10, 11, 14, 15, 18, and 20 minutes You have three processors on which you can run these jobs You want to minimize the total running time. You decide to do the longest-running jobs first, on whatever processor is available P1 P2 P3 20 10 3 18 11 6 15 14 5 Time to completion: = 35 minutes This solution isn’t bad, but we might be able to do better 5
10
Another approach What would be the result if you ran the shortest job first? Again, the running times are 3, 5, 6, 10, 11, 14, 15, 18, and 20 minutes P1 P2 P3 3 10 15 5 11 18 6 14 20 That wasn’t such a good idea; time to completion is now = 40 minutes Note, however, that the greedy algorithm itself is fast All we had to do at each stage was pick the minimum or maximum 6
11
An optimum solution Better solutions do exist: 20 18 15 14 11 10 6 5 3
This solution is clearly optimal (why?) Clearly, there are other optimal solutions (why?) How do we find such a solution? One way: Try all possible assignments of jobs to processors Unfortunately, this approach can take exponential time 7
12
Summary of Scheduling Multiple processor case, Minimize Average Completion Time Algorithm: order jobs shortest first schedule jobs round-robin Minimizing final completion time How is this different? Problem is NP-Complete!
13
For Next Class, Friday Chapter 11: Limitations of Algorithm Power
Homework 5 due Thursday
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.