Upload
shaylee-whinnery
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
How to Rank with Fewer Errors
A PTAS for Minimum Feedback Arc Set in Tournaments
Claire Mathieu, Warren Warren SchudySchudy
Brown University
Thanks to:Nir Ailon, Marek Karpinski, and Eli Upfal (for useful discussions)
Cora Borradaile, Aparna Das, Micha Elsner, Dave McClosky, Fabio Vandin, and Matt Wronka (for useful comments on practice talks)
Feedback arc set in Feedback arc set in tournamentstournaments
•FAS problem: minimize number of upsets
•NP-hard [Ailon Charikar Newman ’05, Alon ’06, Charbit Thomassè Yeo ‘07]
•Applications– Ranking by pairwise comparisons– Kemeny rank aggregation
A
B
C DA B C D
1 upset
(Animating…)
Best … Worst
Algorithms for FAS-TAlgorithms for FAS-T
• Slater and Alway 1961– Heuristic algorithm
• Fernandez de la Vega ’96, Arora Frieze Kaplan ’96 and many others– small additive error
• Ailon Charikar Newman ‘05– Quicksort 3 approx– LP + quicksort 2.5 approx
• Coppersmith Fleischer Rudra ‘06– Sort by Wins 5-approx
• Our Main Result: a PTAS for FAS-T:
OPTCOST 1
OPTnCOST 2
OPTCOST 3
Aside: FAS in general Aside: FAS in general graphsgraphs
•Log n log log n approx [Seymour ‘95, Even, Noar, Rao, Schieber ‘95]
•At least as hard as vertex cover, which cannot be approximated better than 1.36 [Karp ’72, Dinur ‘02]
A B C D
OutlineOutline
• Intro
•Algorithm
•Analysis
•Application (Kemeny Rank Aggregation)
Towards our algorithm (1/6)Towards our algorithm (1/6)• An easy instance: when there is an
ordering with zero upsets
B D A C
1 win
Algorithm 1: Sort by Wins5-approx [CFR]
A
B
C
D
3 wins
0 wins
2 wins
This means David beat
Charlie
23 1 0Wins:
Towards our algorithm (2/6)Towards our algorithm (2/6)
• A difficult instance for sort by wins
• Cost Θ(n²), so additive approx Θ(εn²) works!• Algorithm 2: return better of additive
approximation and sort by wins
Sort by Wins
A B C D2 2 2 2
E2
E D C B2 2 2 2
A2
OPT
Towards our algorithm (3/6)Towards our algorithm (3/6)
• A hard instance for Algorithm 2:
• Algorithm 3: Sort by wins. Recursively divide in two until Cost=Ω(n²), then run additive approximation
E F G HA B C D I J7 4 3 17 7 7 7 1 1AE D C B F G J I H
Sorted by wins:
Additive Approx
(Animating…)
Towards our algorithm (4/6)Towards our algorithm (4/6)
• Algorithm 4: like Algorithm 3 but divide into two parts of random sizes
E F G HA B C D I J5 4 3 28 8 7 6 1 1
Uh-oh, we just “committed” ourselves to paying 3 but
OPT=2
• A hard instance for algorithm 3:
Sorted by wins:
(Animating…)
Towards our algorithm (5/6)Towards our algorithm (5/6)
E F G HA B C D I J
OPTn 5/
K L M N OSorted by wins
Uh-oh, with constant probability we commit to paying Θ(n)
(Animating…)
E F GA B C D I J
5/n
K L M N OHH
• Final ingredient: after sorting by wins do single vertex move local optimization
Towards our algorithm (6/6)Towards our algorithm (6/6)
(Animating…)
Our algorithmOur algorithmAlgorithm:• Sort by Wins• Single vertex moves• Result ordering: • ImproveRec(all)
ImproveRec(vertex set S):If (Cost(S, )≤Θ(ε²|S|²))
Choose k at random between 1 and |S|Recurse on the first k vertices of SRecurse on the other vertices
elseRun additive approx. Θ(ε³|S|²) on S
E F G HA B C D I J6 3 3 37 7 7 7 2 0AE D C B
Etc…
loc
loc
(Animating…)
OutlineOutline
• Intro
•Algorithm
•Analysis
•Application (Kemeny Rank Aggregation)
Proof planProof plan• After first divide step “commit” to putting some
vertices before others. For talk, will show there is a good ordering “consistent” with the first divide step
• Therefore
verticesof pairsorder -second #)()( :1 Lemma * OCC good
2
)()(pairsorder -second # :2 Lemma
n
CCO
locloc E
)()(
)()(
)()(
*
2*
COCO
Cn
COCC
loc
locloc
good
E
good
Defined later Lemmas
Non-Stopping condition Constant-factor approx
Example 1Example 1
BB CC FF DD EE
loc :ImproveRec Input to
* :Optimal
AA BB CC
good
locA
locA AA ))(( *
kk
DD EE FF
BB CC FF DD AA EE
AA
BB CC DD AA EE FF
1 so
F, extrabut S.V.M. Same* CC good
For this section of talk, “align” permutations.
Ignore this detail.
otherwise)(
is if)()(
* u
splituuu
locgood
)( and )(between is if is where
*loc uuksplitu
It is cheaper to put A to the left of B,C,D than to
the right
(Animating…)
Example 2Example 2
loc
*
good
kk
AA BB CC DD EE
EE AA CC BB DD
AA BB CC DD EE
'good EE AA BB CC DD)'C()C( and
)C()'C( implies
of optimality Local
good*
goodgood
loc
Example 3Example 3
loc
*
good
kk
AA BB CC DD EE FF
BB EE CC AA DD FF
AA BB EE CC DD FF 1)C()C( implies of optimality Local
*good loc
Second order pairsSecond order pairs
Ex. 1
BB CC FF DD AA EE
AA BB CC DD EE FF
AA BB CC DD EE
EE AA CC BB DD
AA BB CC DD EE FF
BB EE CC AA DD FF
Ex. 2
Ex. 3
loc
*
loc*
loc
*
1 Recall * CC good
* Recall CC good
1 Recall * CC good
AFAF alternating, A split-> {A, F} 2nd order pair
EBBE not alternating-> {B, E} not 2nd order pair
AEAE alternating, A split-> {A, E} 2nd order pair
AA BB CC DD EE FF
BB EE CC AA DD FF
Ex. 3’ loc* * good
AEAE alternating, neither split-> {A, E} not 2nd order pair
Definition: {u,v} are second order pair if u and v are alternating and at least one of them is split
are the root of all evilare the root of all evil errorerror
Bound this
Bounding (1/2)Bounding (1/2)
TCC
πCπC
ππ ππππ
locE
locB
good
loclocE
loclocB
*good
locloc
*
C C
suggestswhich
notation Abusing
loc
*
good
AA BB CC DD EE
EE AA CC BB DD
AA BB CC DD EE
AA CC BB DD EElocB
EE AA BB CC DDlocE
0Csplit
Csplit Csplit :generalIn
loc
,
locloc
u vuv
locuuv
u vwwv
locuwv
u
locu
Cu
CuCuT
1
11
uvlocvuv
loc
vuuv
locuuv
locuv
*uv
good
*good*good
πCπCv
πCπCuπCπC
TπCπCπCπC
split
split
)optimality local(by
,
1
1
(Example 2 again))()( * CC good
BB CC EE AA DD
BB AA EE CC DD
AA BB CC DD EE
AA CC BB DD EE
BB CC AA DD EE
uv
locvuv
loc
vuuv
locuuv
locuv
*uv
good
*good
πCπCvπCπCuπCπC
πCπC
split split
slide previous From
,
11
• If {u,v} second-order pair, bound by 3
• Otherwise, show zero by cases:– e.g. {E,D} (Neither split)
• Proof: by def’ns and
– e.g. {C,D} (u<u<v<v pattern)• Proof: edge {D,C} oriented same
way in all orderings so terms cancel
– e.g. {C,A} (u<v<v<u pattern)• Proof:
and
loc
*
EDED ,*
,good )C()C(
0split split DE 11
good
CACACACA ,locA,
loc,
*,
good )C()C()C()C(
locC
locA
AClocCAC
loc πCπC
Bounding (2/2)Bounding (2/2))()( * CC good
(Animating…)
OutlineOutline
• Intro
•Algorithm
•Analysis–
–
•Application (Kemeny Rank Aggregation)
pairsorder -2 #)()( :1 Lemma nd* OCC good
2
)()(pairsorder -second # :2 Lemma
n
CCO
locloc E
Bounding (1/2)Bounding (1/2)
•Def’n: u
loc uuF *
loc AA BB CC DD EE
BB CC EE AA DD*
21113 F
galternatin : #split Prpairsorder second # u,vvuuE
n
uuu
loc |)()(|split Pr
*
paper) (see galternatin : # FOu,vv
n
FFOFO
n
uu
u
loc |)()(|pairsorder second #
*E
pairs s.o. #E
•Claim: •Proof:
– [Diaconis and Graham ’77]:
– If the pair are in different orders, at least one of the orders has to pay for the pair(This is where the restriction to tournament graphs helps)
)(4)(2)(2 * locloc CCCF
} and in ordersdifferent in and :},{{2* locyxyxF
loc AA BB CC DD EE
BB CC EE AA DD*Bounding (2/2)Bounding (2/2) pairs s.o. #E
Reminder: overall proofReminder: overall proof
verticesof pairsorder -second #)()( :1 Lemma * CC good
2
)()(pairsorder -second # :2 Lemma
n
CCO
locloc E
)()(
)()(
)()(
*
2*
COCO
Cn
COCC
loc
locloc
good
E
Lemmas
Non-Stopping condition Constant-factor approx
Questions on proof?
OutlineOutline
• Intro
•Algorithm
•Analysis
•Application (Kemeny Rank Aggregation)
An application to votingAn application to voting• Kemeny Rank Aggregation:
(1959) – Voters submit rankings of candidates
– Translate rankings into tournaments
– Add those tournaments together
– Find feedback arc set of resulting weighted tourney
– Nice properties, e.g. ranks Condorcet winner first [Young & Levenglick ’78, Young ‘95]
• Our PTAS generalizes to this!
A>B>C
A
B
C
C>A>B
A
B
C
A>C>B
A
B
C
A
B
C2
1
2103
A BC2
1
2
10
3
Open QuestionOpen Question•Real rankings often have ties,
e.g. restaurant guides with ratings 1-5
•Exists 1.5-approx [Ailon 07]; is there a PTAS?
A
BC
A: 5 C: 4B: 5 D: 3
D