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 - PowerPoint PPT Presentation

About This Presentation
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

Description:

Whom to marry, how to cook and where to buy gas: solving dilemmas of daily life, ... Whom to Marry? How to Cook? Where to buy gas? A few favorite projects of mine. ... – PowerPoint PPT presentation

Number of Views:138
Avg rating:3.0/5.0
Slides: 58
Provided by: Sam66
Learn more at: http://www.cs.umd.edu
Category:

less

Transcript and Presenter's Notes

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


1
Whom 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
2
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 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.

3
Algorithms not Logarithms!
A
L
G
O
R I T H M
Al-Khowarizmi
4
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.

5
ALGORITHMS
  • Set of instructions for solving a problem, to
    find a solution.
  • What is a problem?
  • What is an instruction?
  • What is a solution?

6
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.

7
Outline 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)
9
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

10
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!

11
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.

12
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)

13
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.

14
Mens Preference Lists
Brad (B)
Vince(V)
2
3
1
George(G)
Jennifer(J)
Laura(L)
Angelina(A)
15
Womens Preference List
Jennifer(J)
Angelina(A)
1
2
3
Laura(L)
George(G)
Vince(V)
Brad(B)
16
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?

17
Unstable Pairing
  • Consider the following pairing
  • NOTE Angelina prefers Brad to Vince, but Brad
    still prefers Jen to Angelina.

18
Stable marriage?
(Brad, Jen) (Vince, Angelina) (George, Laura)
Unstable since Jen and Vince both prefer each
other to their current partners.
19
Running the Algorithm
FIRST ROUND Brad proposes to Jen Vince proposes
to Laura George proposes to Jen
20
Brad proposes!
21
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)
22
Running the Algorithm
SECOND ROUND George proposes to Laura
Laura breaks engagement with Vince, and gets
engaged to George (Brad,Jen) and (George,Laura)
23
Running the Algorithm
THIRD ROUND Vince proposes to Jen
24
(No Transcript)
25
Jen dumps Brad!
26
Running the Algorithm
THIRD ROUND Vince proposes to Jen
Jen breaks engagement with Brad, and gets engaged
to Vince (Vince,Jen) and (George,Laura)
27
Running the Algorithm
FOURTH ROUND Brad proposes to Angelina
Angelina accepts and gets engaged to
Brad (Vince,Jen), (George,Laura) and
(Brad,Angelina)
28
The couples
29
Stable marriage?
(Brad, Angelina) (Vince, Jen) (George, Laura)
30
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.

31
Optimal 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?

32
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..
33
Online 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).

34
What went wrong? Peoples preferences change.(?)
35
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.

36
Cooking example
  • Salad
  • 25m prep, 0m cooking
  • Chicken noodle
  • 10m prep, 40 min cooking
  • Rice pudding
  • 15 mins prep, 20m cooking

37
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.

38
First try
Prep time
Cook time
(10,40)
(25,0)
(15,20)
500pm
525pm
535pm
550pm
615pm
610pm
39
Second try
(15,20)
(10,40)
(25,0)
500pm
510pm
525pm
550pm
550pm
545pm
First work on dishes with shortest preparation
time?
40
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 645pm
  • Longest cooking time first food ready at 630pm.

41
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.

42
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).

43
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)

44
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

45
Finding gas prices online
46
Structure 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
47
The 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 - ?
48
Dynamic 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!

49
Why 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
50
Key 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)
51
Solution
  • 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)
52
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.

53
The research process
54
The research process
55
Problems, Graphs and Algorithms
L. Euler (17071783)
  • Is there a way to walk on every bridge exactly
    once and return to the starting point?

56
Konigsberg 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.

57
More 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.

58
Applications of Euler tours
59
Energy Minimization for Sensors
  • Sensors monitor targets.
  • We can extend the lifetime of the system by
    creating an on/off schedule for the sensors.

60
New 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).
61
Re-assigning Starbucks employees to reduce
commute times Article from the Washington Post
A
A
B
B
C
C
D
D
62
Energy 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
63
Disjoint Paths
  • Given a graph, how can we find k disjoint
    paths between two nodes?

64
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

65
Scheduling 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.

66
Example 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
67
Now 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
68
Graph Edge Coloring
  • Color each edge, so that colors that share end
    points have distinct colors.

69
Graph Edge Coloring
  • Color each edge, so that colors that share end
    points have distinct colors.

70
Level 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.

71
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

72
Acknowledgements
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com