# fast

Document Sample

```					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)
Cora Borradaile, Aparna Das, Micha Elsner, Dave McClosky, Fabio Vandin,
and Matt Wronka (for useful comments on practice talks)
Feedback arc set in tournaments

A   BC C   D
1 upset
Best   …B     Worst

• 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
(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   COST  n   2
 OPT   
• Ailon Charikar Newman ‘05
– Quicksort 3 approx COST  3  OPT 
– LP + quicksort 2.5 approx
• Coppersmith Fleischer Rudra ‘06
– Sort by Wins 5-approx
• Our Main Result: a PTAS for FAS-T:
COST  1   OPT 
Aside: FAS in general graphs

D
A   B      C

• 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]
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
A          C

B            D                B       D        A          C
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

A    B   C     D E         E   D    C    B A
2   2    2    2   2       2   2    2    2    2
OPT                   Sort by Wins

• Cost Θ(n²), so additive approx Θ(εn²) works!
• Algorithm 2: return better of additive
approximation and sort by wins
Towards our algorithm (3/6)
• A hard instance for Algorithm 2:

E D C B A
A B C D E             F      J
G H      I   J
H
Sorted by wins:   7   7   7    7     7   4    3   1   1   1

• Algorithm 3: Sort by wins. Recursively divide in
two until Cost=Ω(n²), then run additive
approximation                                             (Animating…)
Towards our algorithm (4/6)
• A hard instance for algorithm 3:

Uh-oh, we just
“committed”
ourselves to
paying 3 but
OPT=2

Sorted by
A B     C D     E   F   G H     I   J
wins:     8   8   7   6   5   4   3   2   1   1

• Algorithm 4: like Algorithm 3 but divide into
two parts of random sizes
(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)                           n / 5  OPT
(Animating…)
Towards our algorithm (6/6)

 n/5

A B   C D      E   F   G H   I   J K   L   M N   O

• Final ingredient: after sorting by wins do single
vertex move local optimization

(Animating…)
Our algorithm
Algorithm:
• Sort by Wins
• Single vertex moves
• Result ordering:  loc
• ImproveRec(all)          E D C B A
A B   D E           F   G H       I     J
7   7   7   7   6   3   3    3   2      0

ImproveRec(vertex set S):
If (Cost(S,  loc )≤Θ(ε²|S|²))                            Etc…

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

(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  good “consistent” with the first divide
step

Lemma 1 : C ( good )  C ( * )  O# second - order pairs of vertices 
          C ( loc ) 
Lemma 2 : E# second - order pairs   O C ( loc )              
             n 2     
                     
Defined later       Lemmas
•     Therefore
 C ( loc )         

E C (     )  C ( )  O
good
        
*
    n 2
loc 
C ( )

                    
               
 O C ( loc )  O C ( * )    
Non-Stopping condition         Constant-factor approx
Example 1                             For this section of talk,
“align” permutations.
It is cheaper to put A to
the left of B,C,D than to
Ignore this detail.                the right

k

 A  ( A   * ( A))   A
loc                     loc
B C          D A E F
Input to ImproveRec :  loc             A B C D E F
Optimal :  *
B C F D A E
 loc (u ) if u is split
   good
(u )   *                           good    A B C F D                     E
 (u ) otherwise
whereu is split if k is
between loc (u) and  * (u)                                Same S.V.M. but extra F,
         
so C  good  C  *  1

(Animating…)
Example 2

k

 loc      A B C   D E
*
E A   C B D
   good                     Local optimality of  loc
A B C   D E   implies C( good ' )  C( good )
and C( * )  C( good ' )
 good '      E A B C   D
Example 3

k

 loc   A B       C   D E F
*
B E C A D       F
Local optimality of  loc
 good                         implies C(  good )  C(  * )  1
A B E C       D   F
Second order pairs                                                are the root of all evil error
Definition: {u,v} are second order pair if u and v are
alternating and at least one of them is split

A       B       C           D               E   F          AFAF alternating, A split
Ex. 1      loc
-> {A, F} 2nd order pair

    *             B       C   F       D       A       E                                  
Recall C  good  C  *  1

Ex. 2  loc               A       B   C               D       E                EBBE not alternating
-> {B, E} not 2nd order pair
*         E       A           C       B       D                                           
Recall C  good  C  *

A       B           C               D       E   F          AEAE alternating, A split
Ex. 3 
loc
-> {A, E} 2nd order pair
*                 B       E   C       A       D           F                               
Recall C  good  C  *  1

Ex. 3’  loc          A       B           C               D   E       F     AEAE alternating, neither split
-> {A, E} not 2nd order pair
*                    B   E       C       A   D           F
 good   *
(Example 2 again)
Bounding C (                            good
)  C ( ) (1/2)   *
B
loc

A        C B D E
E
E A B C                  D
loc
Abusing notation
π    good        *

π  π π  π    loc
B
loc
      loc
E     π     loc

which suggests                                                                loc           A B C               D E
   
C π good  C π *                                                         *
C    C   C    C   T
loc                loc                        loc            loc                                   E A          C B D
B                                             E

 good              A B C               D E
    
In general : T   1u split  C  loc  C  u   1u split  C  loc
loc
   wv        
 C u
loc
wv
u                                                               u   w,v

  1u split C   C     0        loc
uv
loc
u   uv
u          v

            
C π good  C π*  C π good  C π*  T (by local optimality)
  C π   C π    1u split C π 
good
uv
*
uv
loc
uv    C πu  
loc
uv
  u ,v

 1v split C π   C π      loc
uv
loc
v   uv                              Bound this
Bounding C ( good )  C ( * ) (2/2)
   
From previous slide C π good  C π* 
 C π
u ,v
good
  C π   1u split C π 
uv
*
uv
loc
uv       1v split C π 
 C πu
loc
uv
loc
uv       
 C πv
loc
uv

 good B A             E C             D
• If {u,v} second-order pair,
bound by 3                                                              * B        C         E       A       D
•    Otherwise, show zero by cases:
 loc   A       B         C       D        E
– e.g. {E,D} (Neither split)
• Proof: by def’ns C( good )D,E  C( * )D,E                    C
loc
A C B                     D        E
and 1E split   1D split   0
– e.g. {C,D} (u<u<v<v pattern)                                      A
loc
B         C A D            E
• Proof: edge {D,C} oriented same way
in all orderings so terms cancel
– e.g. {C,A} (u<v<v<u pattern)
• Proof: C( good ) A,C  C( * ) A,C  C( loc ) A,C  C( A ) A,C
loc

and C π loc AC  C πC AC
loc

(Animating…)
Outline
• Intro
• Algorithm
• Analysis
– Lemma 1 : C ( good )  C ( * )  O# 2nd - order pairs 

         C ( loc ) 
–   Lemma 2 : E# second - order pairs   O C ( )
loc            
            n2 
                    

• Application (Kemeny Rank Aggregation)
Bounding E# s.o. pairs  (1/2)                          *     B C E A D
 loc   A B C D E

• Def’n:         F    loc u    * u 
u
F  3 111 2

E# second order pairs    Pr u split # v : u,v alternatin g 
u

|  loc (u )   * (u ) |
Pr u split  
n

# v : u,v alternatin g   O      F          (see paper)

E# secondorder pairs  
|  loc (u )   * (u ) |
n
 F F
O F  O
 n



u                                               
Bounding E# s.o. pairs  (2/2)       *       B C E A D
 loc   A B C D E

• Claim: F  2C ( loc )  2C ( * )  4C ( loc )
• Proof:
– [Diaconis and Graham ’77]:
F  {{x, y} : x and y in different orders in  loc and  *}
2
– 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)
Reminder: overall proof
Lemma 1 : C ( good )  C ( * )  # second - order pairs of vertices 
           C ( loc ) 
Lemma 2 : E# second - order pairs   O C ( loc )               
              n 2     
                      
Lemmas

 C ( loc )         

E C ( good

)  C ( )  O
*
    n 2
loc 
C ( )

                    
          
 O C ( loc )  O C ( * )
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) A>B>C                                C>A>B           A>C>B
– Voters submit rankings of candidates
A           C       A                   C   A           C
– Translate rankings into tournaments
B                           B               B
1

– Add those tournaments together                A           2               C
0           1
3
2
B
0
– Find feedback arc set of resulting weighted tourney
1                               1
B
A                           C
2                   2
3
– Nice properties, e.g. ranks Condorcet winner first [Young &
Levenglick ’78, Young ‘95]
• Our PTAS generalizes to this!
Open Question
• Real rankings often have ties, e.g.
restaurant guides with ratings 1-5     A: 5 C: 4
B: 5 D: 3
• Exists 1.5-approx [Ailon 07]; is there a
PTAS?                                A
C     D
B

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 3 posted: 3/2/2012 language: English pages: 27