Docstoc

fast

Document Sample
fast Powered By Docstoc
					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
                              Additive Approx

• 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