280 likes | 428 Views
How to Rank with Fewer Errors A PTAS for Minimum Feedback Arc Set in Tournaments. Claire Mathieu, Warren Schudy Brown University. Thanks to: Nir Ailon, Marek Karpinski, and Eli Upfal (for useful discussions)
E N D
How to Rank with Fewer ErrorsA PTAS for Minimum Feedback Arc Set in Tournaments Claire Mathieu, Warren Schudy 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 tournaments 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 1 upset C A A B C D D Best … Worst B (Animating…)
Algorithms 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:
Aside: FAS in general graphs 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] D C A B
Outline Intro Algorithm Analysis Application (Kemeny Rank Aggregation)
Towards our algorithm (1/6) An easy instance: when there is an ordering with zero upsets This means David beat Charlie 1 win 0 wins C A B D A C B D 3 wins 2 wins Wins: 3 2 1 0 Algorithm 1: Sort by Wins 5-approx [CFR]
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 E A A B C D E D C B 2 2 2 2 2 2 2 2 2 2 OPT Sort by Wins
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 D C B A J I H 7 7 7 7 7 4 3 1 1 1 G A B C D E F F G H I J Sorted by wins: Additive Approx (Animating…)
Towards our algorithm (4/6) Algorithm 4: like Algorithm 3 but divide into two parts of random sizes 8 8 7 6 5 4 3 2 1 1 • A hard instance for algorithm 3: Uh-oh, we just “committed” ourselves to paying 3 but OPT=2 Sorted by wins: A B C D E F G H I J (Animating…)
Towards our algorithm (5/6) Sorted by wins A B C D E F G H I J K L M N O Uh-oh, with constant probability we commit to paying Θ(n) (Animating…)
Towards our algorithm (6/6) Final ingredient: after sorting by wins do single vertex move local optimization A B C D E F G I J H H K L M N O (Animating…)
Our algorithm Algorithm: 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 S Recurse on the other vertices else Run additive approx. Θ(ε³|S|²) on S E D C B A 7 7 7 7 6 3 3 3 2 0 A B C D E F G H I J Etc… (Animating…)
Outline Intro Algorithm Analysis Application (Kemeny Rank Aggregation)
Proof 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 Defined later Lemmas Non-Stopping condition Constant-factor approx
Example 1 For this section of talk, “align” permutations. Ignore this detail. It is cheaper to put A to the left of B,C,D than to the right k A (Animating…)
Second order pairs error are the root of all evil Definition: {u,v} are second order pair if u and v are alternating and at least one of them is split AFAFalternating, A split-> {A,F} 2nd order pair Ex. 1 EBBE not alternating-> {B,E} not 2nd order pair Ex. 2 AEAE alternating, A split-> {A,E} 2nd order pair Ex. 3 AEAE alternating, neither split-> {A,E} not 2nd order pair Ex. 3’
Bounding (1/2) (Example 2 again) Bound this
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 Bounding (2/2) (Animating…)
Outline Intro Algorithm Analysis Application (Kemeny Rank Aggregation)
Bounding (1/2) Def’n:
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) Bounding (2/2)
Reminder: overall proof Lemmas Non-Stopping condition Constant-factor approx Questions on proof?
Outline Intro Algorithm Analysis Application (Kemeny Rank Aggregation)
An 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>C>B C>A>B A>B>C A A C C A C B B B 1 C 2 A 1 0 3 2 B 0 1 1 B C A 2 2 3
Open 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: 5 C: 4B: 5 D: 3 A C D B