MS 101: Algorithms

Instructor
Neelima Gupta
[email protected]
Table of Contents
Five representative problems
Five Representative Problems
 Interval Scheduling : can be solved by a greedy approach.
 Weighted Interval Scheduling : Natural greedy doesn’t
work, no other greedy is known, more sophisticated
technique DP solves the problem.
 Maximum Bipartite Matching
 Independent Set
 Competitive Facility Location
Interval Scheduling Problem
P(1)=10
P(2)=3
P(3)=4
P(4)=20
P(5)=2
0
1
2
3
4
5
6
7
Thanks to Neha (16)
8
9
Time
Examples
 Jobs submitted to an operating system, Resource:
CPU.
 An HR of a company needs to schedule meetings of
some committees in a meeting room, resource is
meeting room
 Scheduling classes in a room, resource is class-room
Greedy Approach :Increasing Finishing
Times
P(1)=10
P(2)=3
P(4)=20
P(5)=2
0
1
2
3
4
5
6
7
8
9
Time
.
Thanks to Neha (16)
back
Weighted Interval Scheduling
P(1)=10
P(2)=3
P(3)=4
P(4)=20
P(5)=2
0
1
2
3
4
5
6
7
Thanks to Neha (16)
8
9
Time
Examples
 Jobs submitted to an operating system, Resource:
CPU.
 Weights: profit by executing the job
Greedy Approach
P(1)=10
P(2)=3
P(4)=20
P(5)=2
0
1
2
3
4
5
6
7
.
Thanks to Neha (16)
8
9
Time
Greedy does not work
P(1)=10
P(2)=3
Optimal
schedule
P(4)=20
P(5)=2
Schedule
chosen by
greedy app
Time
7
2
3
4
5
6
8
9
Greedy approach takes job 2, 3 and 5 as best schedule and makes profit of
7. While optimal schedule is job 1 and job4 making profit of 30 (10+20).
Hence greedy will not work
0
1
Thanks to Neha (16)
Example of a Bipartite graph :
u1
u1
v1
u2
v2
u3
v3
u2
u4
V
2
V
1
Edge like this is not acceptable in Bipartite Graph
Figure
1
(Thanks to Aditya(04),Abhishek(03)-Msc 2014)
Examples
 There is a set T of teachers with a set C of courses. A
teacher can teach only some set of courses represented by
the edges in the bipartite graph.
 Thus, bipartite graphs are used to represent relationships
between two distinct sets of objects…teachers and courses
here.
 Jobs/Employers and Applicants: An employer receives
several applications but only few of them qualify for the
interview. Similarly an applicant applies for many jobs but
qualify only for few for them for interview. An edge (a, e) in
the bipartite graph represents that the applicant ‘a’
qualifies for the interview for job ‘e’.
Maximum Matching is a matching of maximum Cardinality.
u1
v1
u2
v2
By Applying the definition of matching,
If we choose the edge (u1,v1) first
And then (u2, v2)
So no more edge can be included,
hence matching in this case is :
u3
v3
(u1,v1) , (u2, v2)
u4
V
1
V2
(Thanks to Aditya(04),Abhishek(03)-Msc 2014)
u1
v1
u2
v2
But instead of picking (u2,v2) , if we pick
• (u2 ,v3) after (u1 , v1) then
•( u4 ,v2) .
u3
v3
Hence the Maximum Matching is :
u4
(u1,v1) , (u2, v3 ) , (u4 , v2)
V
V2
1
So, the problem is to find the Matching with MAXIMUM
CARDINALITY in a given Bipartite graph.
(Thanks to Aditya(04),Abhishek(03)-Msc 2014)
Examples
 There is a set T of teachers with a set C of courses. A
teacher can teach only some set of courses represented by
the edges in the bipartite graph.
 A teacher needs to be assigned at most one course and one
course must be taught by only one teacher.
 Suppose a number of committee meetings are to be
scheduled in various meeting rooms during the time 3pm 4pm. A committee meeting can be held only in few rooms
(may be because other rooms are smaller in size than the
committee size etc). An edge (c, r) represents that
committee ‘c’ can be scheduled in room ‘r’.
 A committee needs to be assigned one room and one room
must be assigned to only one committee.
Maximum Bipartite Matching
from Abhishek Aditya
Maximum Bipartite Matching
from Abhishek Aditya
Maximum Bipartite Matching
from Abhishek Aditya
Independent Set
 Given a graph G = (V, E), a subset S of V is said to
be independent if no two nodes in S are joined by
an edge in G.
Maximal Independent set of
size 2
Thanks to: Sonia Verma (25, MCS
'09)
Maximal Independent set of
size 3 …also Maximum
Thanks to: Sonia Verma (25, MCS
'09)
More on Independent Set and
Comp. FLP from Anurag