Title: MS 101: Algorithms
1MS 101 Algorithms
- Instructor
- Neelima Gupta
- ngupta_at_cs.du.ac.in
2Table of Contents
- Five representative problems
3Five Representative Problems
- Interval Scheduling can be solved by a greedy
approach. - Weighted Interval Scheduling Natural greedy
doesnt work, no other greedy is known, more
sophisticated technique DP solves the problem. - Maximum Bipartite Matching
- Independent Set
- Competitive Facility Location
4 Interval Scheduling Problem
P(1)10
P(2)3
P(3)4
P(4)20
P(5)2
Time
0
1
7
2
3
4
5
6
8
9
5Examples
- 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
6Greedy Approach Increasing Finishing Times
P(1)10
P(2)3
P(3)4
P(4)20
P(5)2
Time
0
1
7
2
3
4
5
6
8
9
.
back
7Weighted Interval Scheduling
P(1)10
P(2)3
P(3)4
P(4)20
P(5)2
Time
0
1
7
2
3
4
5
6
8
9
8Examples
- Jobs submitted to an operating system, Resource
CPU. - Weights profit by executing the job
9Greedy Approach
P(1)10
P(2)3
P(3)4
P(4)20
P(5)2
Time
0
1
7
2
3
4
5
6
8
9
.
10Greedy does not work
P(1)10
P(2)3
Optimal schedule
P(3)4
P(4)20
Schedule chosen by greedy app
P(5)2
Time
0
1
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
(1020). Hence greedy will not work
11Example of a Bipartite graph
u1
u1
v1
u2
v2
u3
v3
u2
u4
V2
V1
Edge like this is not acceptable in Bipartite
Graph
Figure 1
12Examples
- 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
objectsteachers 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.
13Maximum Bipartite Matching Problem
Maximum Matching is a matching of maximum
Cardinality.
By Applying the definition of matching, If we
choose the edge (u1,v1) first
u1
And then (u2, v2)
v1
u2
So no more edge can be included, hence matching
in this case is
v2
u3
v3
(u1,v1) , (u2, v2)
u4
V1
V2
14u1
v1
- But instead of picking (u2,v2) , if we pick
- (u2 ,v3) after (u1 , v1) then
- ( u4 ,v2) .
u2
v2
u3
v3
Hence the Maximum Matching is
(u1,v1) , (u2, v3 ) , (u4 , v2)
u4
V1
V2
So, the problem is to find the Matching with
MAXIMUM CARDINALITY in a given Bipartite graph.
15Examples
- 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.
16Maximum Bipartite Matching from Abhishek Aditya
17Maximum Bipartite Matching from Abhishek Aditya
18Maximum Bipartite Matching from Abhishek Aditya
19Independent 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.
20Maximal Independent set of size 2
21Maximal Independent set of size 3 also Maximum
22More on Independent Set and Comp. FLP from Anurag