Top Banner
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
57

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.

Dec 16, 2015

Download

Documents

Breana Stark
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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.

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 Science

University of Maryland

Page 2: 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.

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.

Page 3: 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.

Algorithms not Logarithms!

AL GO R I T H M

Al-Khowarizmi

Samir
Hardware/Software/Algorithms/Logarithms
Page 4: 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.

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.

Page 5: 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.

ALGORITHMS

• Set of instructions for solving a problem, to find a solution.

• What is a problem?

• What is an instruction?

• What is a solution?

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

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.

Page 7: 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.

Outline of talk

• Algorithms and their Applications

• Whom to Marry?

• How to Cook?

• Where to buy gas?

• A few favorite projects of mine..

• Acknowledgements

Page 8: 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.
Page 9: 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.

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…

Page 10: 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.

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!

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

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.

Page 12: 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.

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)

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

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.

Samir
Situation not identical as each hospital has several positions.
Page 14: 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.

Men’s Preference Lists

Brad (B)

George(G)

Vince(V)

Jennifer(J) Laura(L) Angelina(A)1 2 3

Page 15: 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.

Women’s Preference List

Jennifer(J)

Angelina(A)

Laura(L)

1 2 3

Brad(B) George(G) Vince(V)

Page 16: 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.

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?

Page 17: 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.

Stable marriage?(Brad, Jen)

(Vince, Angelina)

(George, Laura)

Unstable since Jen and Vince both prefer each other to their current partners.

Page 18: 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.

Running the Algorithm

FIRST ROUND:

Brad proposes to Jen

Vince proposes to Laura

George proposes to Jen

Page 19: 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.

Brad proposes!

Page 20: 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.

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)

Page 21: 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.

Running the Algorithm

SECOND ROUND:

George proposes to Laura

Laura breaks engagement with Vince, and gets engaged to George

(Brad,Jen) and (George,Laura)

Page 22: 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.

Running the Algorithm

THIRD ROUND:

Vince proposes to Jen

Page 23: 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.
Page 24: 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.

Jen dumps Brad!

Page 25: 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.

Running the Algorithm

THIRD ROUND:

Vince proposes to Jen

Jen breaks engagement with Brad, and gets engaged to Vince

(Vince,Jen) and (George,Laura)

Page 26: 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.

Running the Algorithm

FOURTH ROUND:

Brad proposes to Angelina

Angelina accepts and gets engaged to Brad

(Vince,Jen), (George,Laura) and (Brad,Angelina)

Page 27: 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.

The couples

Page 28: 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.

Stable marriage?(Brad, Angelina)

(Vince, Jen)

(George, Laura)

Page 29: 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.

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.

Page 30: 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.

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…?

Page 31: 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.

Consider a different instanceBrad proposes to Angelina

Vince proposes to Jen

George proposes to Laura

All women accept since they onlyget one offer.

NOTE: Each woman is paired with the worst possible partner.Now run the algorithm with the womenproposing…..

Page 32: 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.

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

Page 33: 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.

What went wrong? People’s preferences change….(?)

Page 34: 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.

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.

Page 35: 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.

Cooking example

Salad:

25m prep, 0m cooking

Chicken noodle:

10m prep, 40 min cooking

Rice pudding:

15 mins prep, 20m cooking

Page 36: 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.

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

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

First try

5:00pm 5:25pm5:35pm

5:50pm

6:15pm 6:10pm

(25,0) (10,40) (15,20)

Prep time Cook time

Page 38: 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.

Second try

5:00pm 5:10pm5:25pm 5:50pm

5:50pm 5:45pm

(10,40) (15,20)(25,0)

First work on dishes with shortest preparation time?

Page 39: 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.

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.

Page 40: 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.

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.

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

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

Page 42: 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.

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)

Page 43: 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.

Where to fill gas?

• 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

The Gas Station Problem (Khuller, Malekian,Mestre), Eur. Symp. of Algorithms

Page 44: 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.

Finding gas prices online

Page 45: 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.

• Two vertices s & t • A fixed path

• Optimal solution involves stops at every station!

• Thus we permit at most stops.

Structure of the Optimal Solution

sv1 v2 v3 vn t

2.99$ 2.97$2.98$ 1.00$

Page 46: 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.

The Problem we want to solve

• Input: – Road map G=(V,E), source s, destination t– U: tank capacity– d: ER+

– c: VR+

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

s’

U -

s

c(s’)= 0

t

Page 47: 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.

Dynamic Programming

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

OPT[x,q,g] =Minimum cost to go from x to t in q stops, starting with g units of gas.

Page 48: 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.

Key Property

uiui+1

c(ui) c(ui+1)

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.

Page 49: 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.

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.

Page 50: 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.

The research process

Page 51: 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.

Problems, Graphs and Algorithms

Is there a way to walk on every bridge exactly once and return to the starting point?

L. Euler (1707—1783)

Page 52: 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.

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 C

DB

Use an algorithm for Maximum matchings in graphs (Edmonds 1965).

Each node hereis a COUPLE

Page 53: 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.

Re-assigning Starbucks employees to reduce commute times

Article from the Washington Post

A

BC

D

D

B

C

A

Page 54: 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.

Energy Minimization

• 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

Regions(Targets)

Sensors A

B

C

D

S1 S2

S3

S4

Work with A. Deshpande, A.Malekian and M. Toossi

Page 55: 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.

Data Placement & Migration

• Data Layout: load balancing– Disks have constraints on space, load, etc.– User data access pattern which changes with time

Primarily joint work with L. Golubchik, S. Kashyap, Y-A. Kim, S. Shargorodskaya, J. Wan, and A. Zhu

Page 56: 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.

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

Page 57: 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.

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.