Whom to marry, how to cook and algorithm at a time

advertisement
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
A 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 don’t 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.
Algorithms not Logarithms!
L O G A R I T H M
Al-Khowarizmi
Algorithms 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.
ALGORITHMS
• Set of instructions for solving a problem, to
find a solution.
• What is a problem?
• What is an instruction?
• What is a solution?
Computer 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.
Outline of talk
•
•
•
•
•
•
Algorithms and their Applications
Whom to Marry?
How to Cook?
Where to buy gas?
A few favorite projects of mine..
Acknowledgements
Why 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…
There 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!
A 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.
The 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)
An 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.
Men’s Preference Lists
Brad (B)
Vince(V)
George(G)
1
Jennifer(J)
2
Laura(L)
3
Angelina(A)
Women’s Preference List
Jennifer(J)
Angelina(A)
1
Laura(L)
Brad(B)
2
George(G)
3
Vince(V)
Stable 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?
Stable marriage?
(Brad, Jen)
(Vince, Angelina)
(George, Laura)
Unstable since
Jen and Vince
both prefer
each other to
their current
partners.
Running the Algorithm
FIRST ROUND:
Brad proposes to Jen
Vince proposes to Laura
George proposes to Jen
Brad proposes!
Running 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)
Running the Algorithm
SECOND ROUND:
George proposes to Laura
Laura breaks engagement with
Vince, and gets engaged to
George
(Brad,Jen) and (George,Laura)
Running the Algorithm
THIRD ROUND:
Vince proposes to Jen
Jen dumps Brad!
Running the Algorithm
THIRD ROUND:
Vince proposes to Jen
Jen breaks engagement with
Brad, and gets engaged to
Vince
(Vince,Jen) and (George,Laura)
Running the Algorithm
FOURTH ROUND:
Brad proposes to Angelina
Angelina accepts and gets
engaged to Brad
(Vince,Jen), (George,Laura) and
(Brad,Angelina)
The couples
Stable marriage?
(Brad, Angelina)
(Vince, Jen)
(George, Laura)
This 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.
Optimal from the men’s point of
view
• Each man gets the “best” possible partner
in ANY stable solution.
• Unintuitive: look’s like the marriage is a
good one for the women as well, or is it…?
Consider 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…..
Online stable marriages
• Assume that women’s 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).
What went wrong? People’s preferences change….(?)
Scheduling 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.
Cooking example
Salad:
25m prep, 0m cooking
Chicken noodle:
10m prep, 40 min cooking
Rice pudding:
15 mins prep, 20m cooking
In 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….
Prep time
Cook time
(25,0)
5:00pm
First try
(10,40)
(15,20)
5:25pm
5:35pm
5:50pm
6:15pm
6:10pm
Second
try
(15,20)
(10,40)
5:00pm
(25,0)
5:10pm
5:25pm
5:50pm
5:50pm
5:45pm
First work on dishes with shortest preparation time?
This 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 6:45pm
Longest cooking time first: food ready at
6:30pm.
What 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.
Key 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).
What 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)
Where 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
Finding gas prices online
Structure of the Optimal Solution
• Two vertices s & t
• A fixed path
s
v1 v2 v3
2.99$
2.98$ 2.97$
• Optimal solution involves stops at every
station!
• Thus we permit at most  stops.
vn
1.00$
t
The Problem we want to solve
•
Input:
–
–
–
–
–
–
Road map G=(V,E), source s, destination t
U: tank capacity
d: ER+
c(s’)= 0
c: VR+
s
s’
: No. of stops allowed
: The initial amount of gas at s
U-
• 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.
t
Dynamic Programming
OPT[x,q,g] =
Minimum cost to go from x to t in q stops,
starting with g units of gas.
• 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!
Key Property
Suppose the optimal sequence of stops is u1,u2,…,u.

If c(ui) < c(ui+1)  Fill up the whole tank

If c(ui) > c(ui+1)  Just fill enough to reach ui+1.
ui
ui+1
c(ui)
c(ui+1)
Tour 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.
The research process
Problems, Graphs and Algorithms
L. Euler (1707—1783)
Is there a way to walk on every bridge exactly
once and return to the starting point?
New England Kidney Exchange
• A donor’s 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.
A
B
C
D
Each node here
is a COUPLE
Use an algorithm for Maximum matchings in graphs (Edmonds 1965).
Re-assigning Starbucks employees
to reduce commute times
Article from the Washington Post
A
A
B
C
B
C
D
D
Sensors
S1
S2
A
Energy Minimization
Work with A. Deshpande, A.Malekian
and M. Toossi
B
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
Data 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
Approximation 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
Acknowledgements
Lecture dedicated to the memory of my grandfather, Prof. Ish Kumar (1902—1999).
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.
Download