Title: Whom to marry, how to cook and where to buy gas: solving dilemmas of daily life, one algorithm at a time SAMIR KHULLER Dept. of Computer Science University of Maryland
1Whom to marry, how to cook and where to buy gas
solving dilemmas of daily life, one algorithm at
a time SAMIR KHULLERDept. of Computer
ScienceUniversity of Maryland
2A typical conversation
- Person What do you do?
- Me I am a computer science professor.
- Person I have a problem with my PC, can you fix
it? - Me No, I dont think I can do that.
- Person You will not fix my PC?
- Me I cannot fix my PC, let alone yours.
- Person Then what exactly do you do?
- Me I study algorithms.
- Person Oh, I know that.
- Me Really?
- Person Yes! I learnt logarithms in high school.
3Algorithms not Logarithms!
A
L
G
O
R I T H M
Al-Khowarizmi
4Algorithms Introduction
- Recipe for baking a cake.
- 2 sticks butter
- 2 cups flour
- 1 cup sugar
- 4 eggs
- 1 cup milk
- 1 tsp baking powder
- Cocoa powder (1/2 pound)
- Mix the sugar, baking powder and flour, mix in
beaten eggs, melted butter and bake at 325F for
40 mins.
5ALGORITHMS
- Set of instructions for solving a problem, to
find a solution. - What is a problem?
- What is an instruction?
- What is a solution?
6Computer Science
- What is the computer actually doing?
- Its running a program (a set of instructions),
but what is the program doing? - Typically, an algorithm is what the program
implements.
7Outline of talk
- Algorithms and their Applications
- Whom to Marry?
- How to Cook?
- Where to buy gas?
- A few favorite projects of mine..
- Acknowledgements
8(No Transcript)
9Why are algorithms central to computing?
- An airport shuttle company needs to schedule
pickups delivering everyone to the airport on
time. Who goes in which shuttle, and in what
order do the pickups occur? - A delivery company has several customers and
trucks that can carry objects. How should they
schedule deliveries to the customers to minimize
their cost? - This leads to interesting algorithmic problems
10There are lots of feasible solutions!
- How should we pick amongst these solutions?
- Some solutions are cheap, and others may be
expensive or undesirable. - The number of potential solutions is so large
that even a fast computer cannot evaluate all
these solutions. - Algorithms tell us how to find good solutions!
11A disclaimer
- I have chosen a set of problems whose algorithms
are quite simple. - Towards the end of the talk I will also mention
some recent projects that are a little more
involved, and its hard to really describe the
algorithms and methods used since they are quite
complex.
12The Marriage Problem
- N men, N women
- Each person provides a ranking of the members of
the opposite sex - Can we find a good marriage?
- First studied by Gale and Shapley (1962)
13An application resident matching program
- Each resident rank orders the hospitals, and each
hospital rank orders the residents. - How do we choose an assignment of residents to
hospitals? - We do not want a situation that a resident
prefers another hospital, and that hospital
preferred this resident to the person assigned to
them.
14Mens Preference Lists
Brad (B)
Vince(V)
2
3
1
George(G)
Jennifer(J)
Laura(L)
Angelina(A)
15Womens Preference List
Jennifer(J)
Angelina(A)
1
2
3
Laura(L)
George(G)
Vince(V)
Brad(B)
16Stable Marriage Problem
- A marriage is unstable if there is a pair of
people, not married to each other, such that both
prefer each other to their current partners. In
other words, they have an incentive to elope. - Can we find a stable marriage?
17Unstable Pairing
- Consider the following pairing
- NOTE Angelina prefers Brad to Vince, but Brad
still prefers Jen to Angelina.
18Stable marriage?
(Brad, Jen) (Vince, Angelina) (George, Laura)
Unstable since Jen and Vince both prefer each
other to their current partners.
19Running the Algorithm
FIRST ROUND Brad proposes to Jen Vince proposes
to Laura George proposes to Jen
20Brad proposes!
21Running the Algorithm
FIRST ROUND Brad proposes to Jen Vince proposes
to Laura George proposes to Jen
Jen rejects George, engaged to Brad Laura
engaged to Vince Angelina gets no
proposals. (Brad,Jen) and (Vince, Laura)
22Running the Algorithm
SECOND ROUND George proposes to Laura
Laura breaks engagement with Vince, and gets
engaged to George (Brad,Jen) and (George,Laura)
23Running the Algorithm
THIRD ROUND Vince proposes to Jen
24(No Transcript)
25Jen dumps Brad!
26Running the Algorithm
THIRD ROUND Vince proposes to Jen
Jen breaks engagement with Brad, and gets engaged
to Vince (Vince,Jen) and (George,Laura)
27Running the Algorithm
FOURTH ROUND Brad proposes to Angelina
Angelina accepts and gets engaged to
Brad (Vince,Jen), (George,Laura) and
(Brad,Angelina)
28The couples
29Stable marriage?
(Brad, Angelina) (Vince, Jen) (George, Laura)
30This solution is stable!
- (Vince, Jen) (George, Laura) (Brad, Angelina)
- Vince prefers Laura to his partner Jen, but Laura
would rather be with George. - Brad prefers Jen to Angelina, but Jen would
rather be with Vince. - George prefers Jen to Laura, but Jen would rather
be with Vince.
31Optimal from the mens point of view
- Each man gets the best possible partner in ANY
stable solution. - Unintuitive looks like the marriage is a good
one for the women as well, or is it?
32Consider a different instance
Brad proposes to Angelina Vince proposes to
Jen George proposes to Laura
All women accept since they only get one
offer. NOTE Each woman is paired with the
worst possible partner. Now run the algorithm
with the women proposing..
33Online stable marriages
- Assume that womens preferences are known in
advance. The men arrive one at a time and pick
their most preferred available partner. - This does not give a stable solution, and in fact
may have MANY unstable pairs. - Paper by Khuller, Mitchell and Vazirani (1991).
34What went wrong? Peoples preferences change.(?)
35Scheduling Problems
- Arise in many industrial applications.
- Computers schedule multiple tasks, people
multi-task, complex projects have several
interacting sub-parts. - With large companies manufacturing many products,
many interesting scheduling problems arise.
36Cooking example
- Salad
- 25m prep, 0m cooking
- Chicken noodle
- 10m prep, 40 min cooking
- Rice pudding
- 15 mins prep, 20m cooking
37In what order should Martha make the dishes?
- Martha can work on preparing one dish at a time,
however once something is cooking, she can
prepare another dish. - How quickly can she get all the dishes ready?
- She starts at 5pm, and her guests will arrive at
6pm.
38First try
Prep time
Cook time
(10,40)
(25,0)
(15,20)
500pm
525pm
535pm
550pm
615pm
610pm
39Second try
(15,20)
(10,40)
(25,0)
500pm
510pm
525pm
550pm
550pm
545pm
First work on dishes with shortest preparation
time?
40This rule may not work all the time
- Suppose the required times are
- Bulgur (5,10) Lentils (10, 60) Lamb (15, 75)
- Shortest prep time order start at 5pm, and
finish lamb at 645pm - Longest cooking time first food ready at 630pm.
41What if she had to make several dishes?
- For 3 dishes, there are only 6 possible orders.
SCR,SRC,RSC,RCS,CSR,CRS. - The number of possible orderings of 10 dishes is
3,628,800. - For 15 dishes the number of possible orderings is
1,307,674,368,000! - This leads to a combinatorial explosion.
42Key Idea
- Order dishes in longest cooking time order.
- Chicken noodle soup goes first (40 mins of cook
time), next is the Rice pudding (20 mins of cook
time), followed by the Salad (0 mins of cook
time). - This is the best ordering. In other words, no
other order can take less time. - This does not work if there are very few
stovetops (now the problem becomes really
difficult).
43What if we had a small number of burners?
- Problem becomes very difficult if we have 2, 3, 4
burners.. - Problem can be solved optimally if we only have
one burner (Johnson, 1954)
44Where to fill gas?
The Gas Station Problem (Khuller,
Malekian,Mestre), Eur. Symp. of Algorithms
- Suppose you want to go on a road trip across the
US. You start from New York City and would like
to drive to San Francisco. - You have
- roadmap
- gas station locations and their gas prices
- Want to
- minimize travel cost
45Finding gas prices online
46Structure of the Optimal Solution
- Two vertices s t
- A fixed path
- Optimal solution involves stops at every station!
- Thus we permit at most ? stops.
v1
v2
v3
vn
t
s
1.00
2.99
2.97
2.98
47The Problem we want to solve
- Input
- Road map G(V,E), source s, destination t
- U tank capacity
- d E?R
- c V?R
- ? No. of stops allowed
- ? The initial amount of gas at s
- Goal
- Minimize the cost to go from s to t.
- Output
- The chosen path
- The stops
- The amount of gas filled at each stop
- Gas cost is per mile and U is the range of the
car in miles. - We can assume we start with 0 gas at s.
c(s) 0
s
t
s
U - ?
48Dynamic Programming
- Minimum cost to go from x to t in q stops,
starting with g units of gas.
OPTx,q,g
- Assuming all values are integral, we can find an
optimal solution in O(n2 ? U2) time. - Not strongly polynomial time.The problem could
be weakly NP-hard!
49Why not Shortest Path?
- Shortest path is of length 17. Cost 37 4?7
3?3 - Cheapest path is of length 18. Cost 28 4?2
2?7 2?3
7
3
2
7
2
50Key Property
Suppose the optimal sequence of stops is
u1,u2,,u?.
- If c(ui) lt c(ui1) ? Fill up the whole tank
- If c(ui) gt c(ui1) ? Just fill enough to reach
ui1.
ui1
ui
c(ui)
c(ui1)
51Solution
- Minimum cost to go from x to t in q stops,
starting with g units of gas.
OPTx,q,g
- Suppose the stop before x was y.The amount of
gas we reach x with is - For each x we need to keep track of at most n
different values of g.
At most q stops
reach x with g units of gas
t
y
x
d( y, x)
0 U - d(y,x)
52Tour Gas Station problem
- Would like to visit a set of cities T.
- We have access to set of gas stations S.
- Assume gas prices are uniform.
- The problem is extremely hard even with this
restriction. - We may have a deal with a particular gas company.
53The research process
54The research process
55Problems, Graphs and Algorithms
L. Euler (17071783)
- Is there a way to walk on every bridge exactly
once and return to the starting point?
56Konigsberg Bridge Problem
A
C
D
B
- Model each land mass as a node, each bridge as a
link between the two nodes. - If we start and end at the same node, we must
enter and leave each node on a distinct edge each
time hence each node should have an EVEN number
of links. - This condition is required and is sufficient.
57More on Graphs
- Draw this figure without lifting your pencil, and
without repeating a line.
- It cannot be done since there are FOUR nodes of
odd degree. Possible only if there were TWO.
58Applications of Euler tours
59Energy Minimization for Sensors
- Sensors monitor targets.
- We can extend the lifetime of the system by
creating an on/off schedule for the sensors.
60New England Kidney Exchange
- A donors kidney may not match the person they
wish to donate to. - In this case, perhaps another pair has the same
problem and the kidneys can be swapped.
C
A
D
B
Each node here is a COUPLE
Use an algorithm for Maximum matchings in graphs
(Edmonds 1965).
61Re-assigning Starbucks employees to reduce
commute times Article from the Washington Post
A
A
B
B
C
C
D
D
62Energy Minimization
Sensors
S1
S2
A
Work with A. Deshpande, A.Malekian and M. Toossi
B
Regions(Targets)
D
- Consider fire monitoring. Sensors have
- Fixed locations
- Limited battery power
- If sensors are always on
- Full coverage over the regions
- Short system life time
- Better solution
- Activating sensors in multiple time slots
- Benefits
- Make use of overlap
- Turning sensors on and off increase their life
time
S4
C
S3
63Disjoint Paths
- Given a graph, how can we find k disjoint
paths between two nodes?
64Data Placement Migration
Primarily joint work with L. Golubchik, S.
Kashyap, Y-A. Kim, S. Shargorodskaya,
J. Wan, and A. Zhu
- Data Layout load balancing
- Disks have constraints on space, load, etc.
- User data access pattern which changes with time
65Scheduling Meetings for Visit Day
- Applicants visit, each will have 3 individual
meetings with faculty. Applicants tell us which
three faculty they would like to meet with. - Assume for simplicity that at most 3 applicants
want to meet a faculty member. - How do we schedule the meetings between 2 and
330pm? Each meeting will last 30 mins.
66Example Schedule
200-230 230-300 300-330
Castro Dr. Mount Dr. Spring Dr. Katz
Gandhi Dr. Davis Dr. Mount Dr. Jacobs
Clinton Dr. Spring Dr. Davis Dr. Bobby
Don Dr. Bobby Dr. Getoor Dr. Mount
67Now Don wants to meet Dr. Spring instead of Dr.
Bobby
200-230 230-300 300-330
Castro Dr. Mount Dr. Spring Dr. Katz
Gandhi Dr. Davis Dr. Mount Dr. Jacobs
Clinton Dr. Spring Dr. Davis Dr. Bobby
Don Dr. Getoor Dr. Mount
68Graph Edge Coloring
- Color each edge, so that colors that share end
points have distinct colors.
69Graph Edge Coloring
- Color each edge, so that colors that share end
points have distinct colors.
70Level of Difficulty
- Problem is easy if faculty do not give
constraints as to when they are available. - Otherwise the problem becomes computationally
very difficult. In other words, we have to search
an extremely large search space to solve it.
71Approximation Algorithms
- For many problems, no simple (or complex!) rules
seem to work. - Such problems arise very frequently the famous
Traveling Salesperson Problem is an example. - How should we cope with this?
- Our attempt is to develop a set of tools that
would give rise to methods for approaching such
problems. Even if we cannot find the optimal
solutions quickly, perhaps we can find almost
optimal solutions quickly? - Greedy Methods, LP rounding methods, Primal-Dual
methods. - In general, these methods also provide lower
bounding methods
72Acknowledgements
- Lecture dedicated to the memory of my
grandfather, Prof. Ish Kumar (19021999). -
- Academic Influence
- Prof. R. Karp, Prof. V. Vazirani, Prof. J.
Mitchell, Prof. E. Arkin, Prof. U. Vishkin -
- My wonderful co-authors, especially, B.
Raghavachari, N. Young, A. Srinivasan, L.
Golubchik, B.Bhattacharjee, D. Mount, S.
Mitchell, B. Schieber, A. Rosenfeld, J. Naor,
R. Hassin, S. Guha, M. Charikar, R. Thurimella,
R. Pless, M Shayman, G. Kortsarz. - My Ph.D. students R. Bhatia, Y.Sussmann, R.
Gandhi, Y-A. Kim, J. Wan, J. Mestre, S. Kashyap,
A. Malekian. - Undergrads K. Matherly, D. Hakim, J. Pierce,
B. Wulfe, A. Zhu, S. Shargorodskaya, C. Dixon, J.
Chang, M. McCutchen. -
- Above all, a BIG thanks to all members of my
family, friends and relatives. I cannot express
my thanks deeply enough. -