1 / 79

 From the marriage problem to sailor assignment and Google AdWords problems

 From the marriage problem to sailor assignment and Google AdWords problems. MATCHING PROBLEMS OLD AND NEW:. G. Hernandez UofM / UNAL Colombia. Based on:

kapila
Télécharger la présentation

 From the marriage problem to sailor assignment and Google AdWords problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1.  From the marriage problem to sailor assignment and Google AdWords problems MATCHING PROBLEMS OLD AND NEW: G. Hernandez UofM / UNAL Colombia • Based on: • “The Mathematics Of 1950’s Dating: Who wins The Battle of The Sexes?”` from Great Theoretical Ideas in Computer Science http://www.cs.cmu.edu/~15251/index.html • “New Market Models and Algorithms'‘ talk form V. Vazirani http://www.cc.gatech.edu/~vazirani/

  2. Outline • Matching , Assignment and Correspondence Problems • The Stable Marriage Problem Gale-Shapley Algorithm • Linear Assignment Problem Kuhn-Munkres Algorithm • The Sailor Assignment Problem KM extension EMOAs, HMOAs • The Google AdWords Problem

  3. 1. Matching's , assignments and correspondenceproblems

  4. There are n (agents, boys, sailors, bets, …) and n (tasks, girls, jobs, adwords, …) We may have restrictions on the agents can perform the particular tasks We may have preference lists or a cost of assigning an agent to a task, or both Question: How do we pair, match, assign, make them correspond off in an optimal way ?

  5. 2. The Stable Marriage Problem The Traditional Marriage Problem 1 2 3 Taken from http://www.cs.cmu.edu/~15251/index.html

  6. Dating Scenario There are n boys and n girls Each girl has her own ranked preference list of all the boys Each boy has his own ranked preference list of the girls The lists have no ties Question: How do we pair them off?

  7. 3,2,5,1,4 3,5,2,1,4 1 1 5,2,1,4,3 1,2,5,3,4 2 2 4,3,5,1,2 4,3,2,1,5 3 3 1,2,3,4,5 1,3,4,2,5 4 4 2,3,4,1,5 1,2,4,5,3 5 5

  8. More Than One Notion of What Constitutes A “Good” Pairing Maximizing total satisfaction Hong Kong and to an extent the USA Maximizing the minimum satisfaction Western Europe Minimizing maximum difference in mate ranks Sweden Maximizing people who get their first choice Barbie and Ken Land

  9. Rogue Couples - Instability Suppose we pair off all the boys and girls Now suppose that some boy and some girl prefer each other to the people to whom they are paired They will be called a rogue couple

  10. Why be with them when we can be with each other?

  11. What use is fairness, if it is not stable? • Any list of criteria for a good pairing for “marriage” must include stability. • If the pairing can be challenged in an open marketit is doomed if it contains a rogue couple.

  12. Stable Pairings A pairing of boys and girls is called stable if it contains no rogue couples

  13. Stable Pairings A pairing of boys and girls is called stable if it contains no rogue couples 3,2,1 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  14. Worshipping Males The Traditional Marriage Algorithm Female String

  15. The Traditional Marriage Algorithm Gale-Shapley For each day that some boy gets a “No” do: Morning • Each girl stands on her balcony • Each boy proposes to the best girl whom he has not yet crossed off Afternoon (for girls with at least one suitor) • To today’s best: “Maybe, return tomorrow” • To any others: “No, I will never marry you” Evening • Any rejected boy crosses the girl off his list If no boys get a “No”, each girl marries boy to whom she just said “maybe”

  16. The Traditional Marriage Algorithm 3,1,2 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  17. The Traditional Marriage Algorithm 3,1,2 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  18. The Traditional Marriage Algorithm X 3,1,2 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  19. The Traditional Marriage Algorithm X 3,1,2 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  20. The Traditional Marriage Algorithm X X 3,1,2 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  21. The Traditional Marriage Algorithm X X 3,1,2 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  22. The Traditional Marriage Algorithm X X 3,1,2 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  23. The Traditional Marriage Algorithm 3,1,2 3,2,1 1 1 2,1,3 1,2,3 2 2 3,1,2 3,2,1 3 3

  24. The TMA always terminates in at most n2 days. A “master list” of all n of the boys lists starts with a total of n x n = n2girls on it Each day that at least one boy gets a “No”, so at least one girl gets crossed off the master list Therefore, the number of days is bounded by the original size of the master list TMA always produces a male-optimal, female-pessimal pairing. A boy’s optimal girl is the highest ranked girl for whom there is some stable pairing in which the boy gets her

  25. TMA Related problems! • Weighted matching • Stable roommates • hospitals/residents problem • hospitals/residents problem with couples

  26. Current real applications of TMA! National Resident Matching Program http://www.nrmp.org The National Resident Matching Program (NRMP) is a private, not-for-profit corporation established in 1952 to provide a uniform date of appointment to positions in graduate medical education (GME) in the United States.

  27. 3. The Linear Assignment Problem r1,1r1,2r1,3… r1,n r2,1r2,2r2,3… r2,n : rn,1rn,2 rn,3 … rn,n Tasks Agents r0,0 1 1 . . . . . . . n! assignments 2 2 3 3 . . . . rn,n n n Complete Bipartite Graph

  28. LAP Kuhn-Munkres Algorithm The Kuhn- Munkers (Hungarian) algorithm is used to find an optimum (maximum or minimum weight) matching in a complete bipartite graph in time O(n3 ) Step 1:  For each row of the matrix, find the smallest element and subtract it from every element in its row. 

  29. LAP Kuhn-Munkres Algorithm Step 2:  Find a zero (Z) in the resulting matrix.  If there is no starred zero in its row or column, star Z. Repeat for each element in the matrix. Step 3:  Cover each column containing a starred zero.  If n columns are covered, the starred zeros describe a complete set of unique assignments.  In this case STOP.

  30. LAP Kuhn-Munkres Algorithm Step 2:  Find a zero (Z) in the resulting matrix.  If there is no starred zero in its row or column, star Z. Repeat for each element in the matrix. Step 3:  Cover each column containing a starred zero.  If n columns are covered, the starred zeros describe a complete set of unique assignments.  In this case STOP.

  31. LAP Kuhn-Munkres Algorithm Step 4: Find a uncovered zero and prime it.  If there is no starred zero in the row containing this primed zero, Go to Step 5.  Otherwise, cover this row and uncover the column containing the starred zero. Continue in this manner until there are no uncovered zeros left. Save the smallest uncovered value and Go to Step 6. Step 5:  Construct a series of alternating primed and starred zeros as follows.  Let Z0 represent the uncovered primed zero found in Step 4.  Let Z1 denote the starred zero in the column of Z0 (if any). Let Z2 denote the primed zero in the row of Z1 (there will always be one).  Continue until the series terminates at a primed zero that has no starred zero in its column.  Unstar each starred zero of the series, star each primed zero of the series, erase all primes and uncover every line in the matrix.  Return to Step 3. Step 6:  Add the value found in Step 4 to every element of each covered row, and subtract it from every element of each uncovered column.  Return to Step 4 without altering any stars, primes, or covered lines.

  32. LAP Kuhn-Munkres Algorithm Step: 4 Step: 6 Step: 4 Step: 5 Step: 3 Final Solution

  33. 4. The Sailor Assignment Problem Sailors 120,000/year 1,000-10,000 to be assigned every two weeks Commanders Jobs database XMLDB Four objectives TS PCS SR CR Detailers 200

  34. MK algorithm applied to SAP Problems • SAP is multi-objective whereas LAP is single-objective. • Solution: use of weight vectors • In case of SAP, we do not have a complete bipartite graph (many infinite values for big instances with). • Solution: sparse matrix represent. • Sometimes we do not have a complete matching (conflicts), in those case MK does not work. • Solution: The use of dummy jobs. Sailors Jobs 1 1 2 2 3 3 4 4 5 5 6 7 dummy

  35. Job ID Sailor-Job Information r0,0r0,1 …  rd0  …  r1,0r1,1 …   rd1 …  : : rn,0rn, 1 …   … rdn r0,0r0,1 …  r1,0r1,1 …  : rn,0rn, 1 …  … k 2 1 …. r1,k r1,2 r1,1 …. …. 1 Sailor Array (List) 2 FTS1,1 3 FPCS1,1 Reduced rating . FSR1,1 . Weight vectors FCR1,1 . n Dummy jobs Sparse Matrix representation After adding dummy jobs in the matrix

  36. EMOAs = NSGAII , SPEA2

  37. RESULTS KM(287) NSGAII NGSA(300)-KM (5)

  38. 4. The AdWords Problem Web QUERY • Google • Yahoo! • MSN Paid for each “impression” links! Pais when someone clicks on Advertisers

  39. New algorithmic and game-theoretic questions • Monika Henzinger, 2004: Find on-line algorithm to maximize Google’s revenue. • Queries are coming on-line. Instantaneously decide which bidder gets it.

  40. APP The Adwords Problem

  41. The Adwords Problem: N advertisers; • Daily Budgets B1, B2, …, BN • Each advertiser provides bids for keywords he is interested in. Search Engine

  42. The Adwords Problem: N advertisers; • Daily Budgets B1, B2, …, BN • Each advertiser provides bids for keywords he is interested in. Search Engine queries (online)

  43. The Adwords Problem: N advertisers; • Daily Budgets B1, B2, …, BN • Each advertiser provides bids for keywords he is interested in. Search Engine Select one Ad Advertiser pays his bid queries (online)

  44. The Adwords Problem: N advertisers; • Daily Budgets B1, B2, …, BN • Each advertiser provides bids for keywords he is interested in. Search Engine Select one Ad Advertiser pays his bid queries (online) Maximize total revenue Online competitive analysis - compare with best offline allocation

  45. The Adwords Problem: N advertisers; • Daily Budgets B1, B2, …, BN • Each advertiser provides bids for keywords he is interested in. Search Engine Select one Ad Advertiser pays his bid queries (online) Maximize total revenue Example – Assign to highest bidder: only ½ the offline revenue

  46. Algorithm Greedy Bidder 1 Bidder 2 Example: Bidder1 Bidder 2 Book Queries: 100 Books then 100 CDs CD B1 = B2 = $100 LOST Revenue 100$

  47. Optimal Allocation Bidder 1 Bidder 2 Example: Bidder1 Bidder 2 Book Queries: 100 Books then 100 CDs CD B1 = B2 = $100 Revenue 199$

More Related