From the marriage problem to sailor assignment and google adwords problems
Download
1 / 79

From the marriage problem to sailor assignment and Google AdWords problems - PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'From the marriage problem to sailor assignment and Google AdWords problems' - kapila


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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:

    • “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/


Outline
Outline AdWords problems

  • 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



From the marriage problem to sailor assignment and google adwords problems

There are AdWords problemsn (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 ?


2 the stable marriage problem
2. The Stable Marriage Problem AdWords problems

The Traditional Marriage Problem

1

2

3

Taken from http://www.cs.cmu.edu/~15251/index.html


From the marriage problem to sailor assignment and google adwords problems

Dating Scenario AdWords problems

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?


From the marriage problem to sailor assignment and google adwords problems

3,2,5,1,4 AdWords problems

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


From the marriage problem to sailor assignment and google adwords problems

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


From the marriage problem to sailor assignment and google adwords problems

Rogue Couples - Instability Pairing

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



From the marriage problem to sailor assignment and google adwords problems

What use is fairness, Pairingif 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.


From the marriage problem to sailor assignment and google adwords problems

Stable Pairings Pairing

A pairing of boys and girls is called stable if it contains no rogue couples


From the marriage problem to sailor assignment and google adwords problems

Stable Pairings Pairing

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


From the marriage problem to sailor assignment and google adwords problems

Worshipping Males Pairing

The Traditional Marriage Algorithm

Female

String


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

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”


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

3,1,2

3,2,1

1

1

2,1,3

1,2,3

2

2

3,1,2

3,2,1

3

3


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

3,1,2

3,2,1

1

1

2,1,3

1,2,3

2

2

3,1,2

3,2,1

3

3


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

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


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

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


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

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


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

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


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

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


From the marriage problem to sailor assignment and google adwords problems

The Traditional Marriage Algorithm Pairing

3,1,2

3,2,1

1

1

2,1,3

1,2,3

2

2

3,1,2

3,2,1

3

3


From the marriage problem to sailor assignment and google adwords problems

The TMA always terminates in at most n Pairing2 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


From the marriage problem to sailor assignment and google adwords problems

TMA Pairing Related problems!

  • Weighted matching

  • Stable roommates

  • hospitals/residents problem

  • hospitals/residents problem with couples


From the marriage problem to sailor assignment and google adwords problems

Current real applications of TMA! Pairing

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.


3 the linear assignment problem
3. The Linear Assignment Problem Pairing

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


From the marriage problem to sailor assignment and google adwords problems

LAP Kuhn-Munkres Algorithm Pairing

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. 


From the marriage problem to sailor assignment and google adwords problems

LAP Kuhn-Munkres Algorithm Pairing

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.


From the marriage problem to sailor assignment and google adwords problems

LAP Kuhn-Munkres Algorithm Pairing

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.


From the marriage problem to sailor assignment and google adwords problems

LAP Kuhn-Munkres Algorithm Pairing

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.


From the marriage problem to sailor assignment and google adwords problems

LAP Kuhn-Munkres Algorithm Pairing

Step: 4

Step: 6

Step: 4

Step: 5

Step: 3

Final Solution


4 the sailor assignment problem
4. The Sailor Assignment Problem Pairing

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


From the marriage problem to sailor assignment and google adwords problems

MK algorithm applied to SAP Pairing

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


From the marriage problem to sailor assignment and google adwords problems

Job ID Pairing

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



From the marriage problem to sailor assignment and google adwords problems

RESULTS Pairing

KM(287)

NSGAII

NGSA(300)-KM (5)


4 the adwords problem
4. The AdWords Problem Pairing

Web

QUERY

  • Google

  • Yahoo!

  • MSN

Paid for each “impression”

links!

Pais when someone clicks on

Advertisers


New algorithmic and game theoretic questions
New algorithmic and Pairinggame-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.


From the marriage problem to sailor assignment and google adwords problems
APP Pairing

The Adwords Problem


The adwords problem
The Adwords Problem: Pairing

N advertisers;

  • Daily Budgets B1, B2, …, BN

  • Each advertiser provides bids for keywords he is interested in.

Search Engine


The adwords problem1
The Adwords Problem: Pairing

N advertisers;

  • Daily Budgets B1, B2, …, BN

  • Each advertiser provides bids for keywords he is interested in.

Search Engine

queries

(online)


The adwords problem2
The Adwords Problem: Pairing

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)


The adwords problem3
The Adwords Problem: Pairing

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


The adwords problem4
The Adwords Problem: Pairing

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


Example

Algorithm Greedy Pairing

Bidder 1 Bidder 2

Example:

Bidder1

Bidder 2

Book

Queries: 100 Books then 100 CDs

CD

B1 = B2 = $100

LOST

Revenue

100$


Example1

Optimal Allocation Pairing

Bidder 1 Bidder 2

Example:

Bidder1

Bidder 2

Book

Queries: 100 Books then 100 CDs

CD

B1 = B2 = $100

Revenue

199$


Generalizes online bipartite matching
Generalizes online bipartite matching Pairing

  • Each daily budget is $1, and

    each bid is $0/1.


Online bipartite matching
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)


Online bipartite matching1
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)


Online bipartite matching2
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)


Online bipartite matching3
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)


Online bipartite matching4
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)


Online bipartite matching5
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)


Online bipartite matching6
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)


Online bipartite matching7
Online bipartite matching Pairing

  • Karp, Vazirani & Vazirani, 1990:

    Online optimal (1-1/e =0.63)n matching .

    • 2n nodes bipartite graph

    • Perfect matching (n pairs).

    • Any deterministic online algorithm has expected value <=

    • RANDOM (adversary) 1/2n


Random algorithm

Online bipartite matching Pairing

RANDOM Algorithm

1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0

0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0

  • .

  • .

  • .

    1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

  • .

  • .

  • .

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0


Online bipartite matching8
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)

n/2

:

:

n/2

:

:


Online bipartite matching9
Online bipartite matching Pairing

queries

(girls)

advertisers

(boys)

n/2

:

:

n/2

:

:


Online bipartite matching10
Online bipartite matching Pairing

advertisers

(boys)

queries

(girls)

  • Any deterministic online algorithm has expected value on this instance <= (1-1/e)n

n/2

:

:

:

:


Online bipartite matching11
Online bipartite matching Pairing

  • Karp, Vazirani & Vazirani, 1990:

    • RANKING:

      • Rank by random permutation the boys vertices at the beging

      • As each girl arrives, match her to the eligible boy, if any, of highest rank.

        Expected number of pairs n (1-1/e) + o(n)

        Optimal.


Online bipartite matching12
Online bipartite matching Pairing

  • Kalyanasundaram & Pruhs, 2000:

    On-line deterministic algorithm:

    1-1/e factor algorithm for b-matching:

    Daily budgets $b, bids $0/1, b>>1

    • Awards the query to the interested

      advertiser who has the highest unspent budget.


Adwords problem
Adwords Problem Pairing

  • Mehta, Saberi, Vazirani & Vazirani, 2005:

    1-1/e algorithm, assuming

    budgets>>bids.

    bids = 0, 1 or 2.

    • Natural extension of KP00 that assigns the query to the highest bidder, in case of ties: the largest remaining budget. strictly smaller and Bounded Away from 1-1/e.


Adwords problem1
Adwords Problem Pairing

  • Mehta, Saberi, Vazirani & Vazirani, 2007:

    1-1/e algorithm, assuming budgets>>bids.

  • A bidder pays only if the user clicks on his ad.

  • Advertisers have different daily budgets.

  • Instead of charging a bidder his actual bid, the search engine company charges him the next highest bid.

  • Multiple ads can appear with the results of a query.

  • Advertisers enter at different times.

    Optimal!


New algorithmic technique
New Algorithmic Technique Pairing

  • Idea: Use both bid and

    fraction of left-over budget


New algorithmic technique1
New Algorithmic Technique Pairing

  • Idea: Use both bid and

    fraction of left-over budget

  • Correct tradeoff given by

    tradeoff-revealing family of LP’s


New algorithmic technique2
New Algorithmic Technique Pairing

The optimal tradeoff function is:

ψ(x) = 1 – e -x


Algorithm
Algorithm Pairing

  • Allocate the next query to the bidder i maximizing the product of his bid and ψ(T(i)), where T(i) is the fraction of the bidder´s budget which has been spent so far, i.e., T(i) = mi / bi , where bi is the total budget of bidder i, mi is the amount of money spent by bidder i when the query arrives.

    The algorithm assumes that the daily budget of advertisers is large compared to their bids.


Randomized technique
Randomized Technique Pairing

  • The randomized algorithm CHOSES a random permutation of ADVERTISERS in advance, and rank the ads in order of

    Where d is the bid and n is the total number of advertisers and rank is the advertiser’s rank in the permutation

d*ψ(rank / n)


Algorithm1
Algorithm Pairing

Google, then, will maximize its profits if it allocates queries to the advertiser with the highest value of d*ψ(f), where d is the bid and f is rank of the fraction of the budget that has not yet been spent.


Research directions
Research directions Pairing

  • The current algorithm assumes that Google has no advance information about each day´s sequence of queries when, in fact, it does.

  • Theoretic Angle: A ranking algorithm should minimize manipulation of the market by encouraging advertisers to reveal their true valuations for a given keyword and their true daily budgets.


What is needed today
What is needed today? Pairing

  • An inherently algorithmic theory of

    market equilibrium

  • New models that capture new markets


From the marriage problem to sailor assignment and google adwords problems


Open issues
Open issues Pairing

  • Strongly poly algs for approximating

    • nonlinear convex programs

    • equilibria

  • Insights into congestion control protocols?


Open issues1
Open issues Pairing

  • Borgs et al, gave some evidence that it is impossible to design a truthful mechanism in the presence of budget constraints. [BCI+05]


References
References Pairing

  • D. Gale and L. S. Shapley: College Admissions and the Stability of Marriage, American Mathematical Monthly 69, 9-14, 1962.

  • R.M. Karp, U.V. Vazirani, and V.V. Vazirani. An optimal algorithm for online bipartite matching. In proceedings of the 22nd Annual ACM Symposium on Theory of Computing, 1990.

  • Mehta, A.   Saberi, A.   Vazirani, U.   Vazirani, V.   AdWords and Generalized On-line Matching. Journal of the ACM 2007.

  • C. Borgs, J. Chayes, N. Inmmorlica, M. Mahdian, and A. Saberi. Multi-unit auctions with budget-constrained bidders. In ACM conference on electronic commerce. 2005.

  • B. Kalyanasundaram and K.R. Pruhs. An optimal deterministic algorithm for online b -matching. Theoretical Computer Science, 233(1{2):319{-25, 2000.

  • Computer Scientists Optimize Innovative Ad Auction, SIAM News, Volume 38, Number 3, April 2005.