Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Whom to marry, how to cook and where to by bbu87850


									Whom to marry, how to cook and
  where to buy gas: solving
  dilemmas of daily life, one
      algorithm at a time

  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

        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.
•  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
•  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
•  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
              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
•  Each resident rank orders the hospitals,
   and each hospital rank orders the
•  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)


               1             2          3
George(G)   Jennifer(J)   Laura(L)   Angelina(A)
  Women’s Preference List



                1          2        3
  Laura(L)    Brad(B)   George(G)   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?
           Unstable Pairing
Consider the following pairing:

NOTE: Angelina prefers Brad to Vince, but
 Brad still prefers Jen to Angelina.
Stable marriage?
         (Brad, Jen)

         (Vince, Angelina)

         (George, Laura)

           Unstable since
           Jen and Vince
           both prefer
           each other to
           their current
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

              (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
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
•  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
       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
    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
•  She starts at 5pm, and her guests will
   arrive at 6pm….
Prep time     Cook time   First try
            (25,0)          (10,40)    (15,20)

5:00pm           5:25pm

                            6:15pm     6:10pm
                       Second try

5:00pm        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
  What if she had to make several

•  For 3 dishes, there are only 6 possible
•  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
•  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
 What if we had a small number of
•  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

         v1 v2 v3                              vn
  s                                                   t

        2.99$   2.98$ 2.97$                   1.00$

•  Optimal solution involves stops at every
•  Thus we permit at most Δ stops.
     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       t
     –    Δ: 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
•  We can assume we start with 0 gas at s.
      Dynamic Programming

             Minimum cost to go from x to t in q stops,
OPT[x,q,g] =
             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!
           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

                           2           6

      Start with 7         4
    Tank capacity= 7               7
                           2                        3
                       7                                  3

              s                                               t
                       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)
                  Minimum cost to go from x to t in q stops,
OPT[x,q,g] =      starting with g units of gas.

•  Suppose the stop before x was y.     0                           if c(x) < c(y)
   The amount of gas we reach x with is U - d(y,x)                  if c(x) ≥ c(y)

•  For each x we need to keep track of at most n different values

  of g.           reach x with g                    At most q
                   units of gas                       stops
          y                        x                            t

                d( y, x)
                                       U - d(y,x)
    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
  –  We may have a deal with a particular gas
The research process
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?
    Konigsberg Bridge Problem

                                   C              D


•  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.
             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.
Applications of Euler tours
Energy Minimization for Sensors
                •  Sensors monitor
                •  We can extend the
                   lifetime of the system
                   by creating an on/off
                   schedule for the
New England Kidney Exchange
•  A donor’s kidney                            A            C

   may not match the
   person they wish to
   donate to.                                   B               D

•  In this case, perhaps
   another pair has the                                             Each node here
                                                                    is a COUPLE
   same problem and
   the kidneys can be
  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

                                            Sensors    S1       A        S2

Energy Minimization
Work with A. Deshpande, A.Malekian
and M. Toossi                                                                 B
                                      (Targets)             D

 •  Consider fire monitoring.
    Sensors have:                                 S4
      –  Fixed locations                                        C   S3
      –  Limited battery power
 •  If sensors are always on:
      –  Full coverage over the regions
      –  Short system life time
 •  Better solution:
      –  Activating sensors in multiple time
 •  Benefits:
      –  Make use of overlap
      –  Turning sensors on and off
         increase their life time
           Disjoint Paths
Given a graph, how can we find k disjoint
paths between two nodes?
 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
 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
•  Assume for simplicity that at most 3
   applicants want to meet a faculty member.
•  How do we schedule the meetings
   between 2 and 3:30pm? Each meeting will
   last 30 mins.
          Example Schedule
           2:00-2:30    2:30-3:00    3:00-3:30

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
Now Don wants to meet Dr. Spring
     instead of Dr. Bobby
          2:00-2:30     2:30-3:00   3:00-3:30

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
Graph Edge Coloring
          •  Color each edge, so
             that colors that share
             end points have
             distinct colors.
Graph Edge Coloring
          •  Color each edge, so
             that colors that share
             end points have
             distinct colors.
           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.
      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
•  In general, these methods also provide lower bounding
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.

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.

To top