Obliczeniowa teoria wyboru społecznego Jak wybrać komitet reprezentantów? Piotr Faliszewski Akademia Górniczo-Hutnicza im. Stanisława Staszica Kraków Oparte na wspólnych pracach z Edith Elkind (University of Oxford), Jeromem Lang (Universite Paris Dauphine), Piotrem Skowronem (Uniwersytet Warszawski & Google Polska), Arkadiim Slinko (University of Auckland), Lan Yu (Google Inc.), Robertem Schaeferem (AGH) oraz Nimrodem Talmonem (TU Berlin, Niemcy)
Wybory parlamentarne…. Wszyscy ci ludzie chcą u nas pracować, ale nie przeczytamy dokładnie wszystkich CV… W systemie rozrywkowym samolotu mieści się tylko 40 filmów… które wybrać? i nie tylko
Czy można uszczęśliwić wszystkich? Nie!
Czy można uszczęśliwić wszystkich? Nie! Trochę…
Jak wybierać parlament? Okręgi jednomandatowe 100 / 0 49 / / 0 49 / 51
Jak wybierać parlament? Okręgi jednomandatowe 100 / 0 49 / / 0 49 / 51 25% poparcia wystarcza do zdobycia większości parlamentarnej
Jak wybierać parlament? Okręgi jednomandatowe Listy partyjne 25% poparcia wystarcza do zdobycia większości parlamentarnej Żeby tylko być na wysokiej pozycji na liście… Cel: System jednookręgowy, na cały kraj… (i tak nie zadziała )
C = {,,,, } V = (v 1, …, v 6 ) Matematyczny model wyborów Elekcja to para E = (C, V) – C – zbiór kandydatów – V – zbiór wyborców Dodatkowy parametr k – k – rozmiar parlamentu … oraz system wyborczy… V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4:
C = {,,,, } V = (v 1, …, v 6 ) Elekcja to para E = (C, V) – C – zbiór kandydatów – V – zbiór wyborców Dodatkowy parametr k – k – rozmiar parlamentu … oraz system wyborczy… V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: SNTV Matematyczny model wyborów
C = {,,,, } V = (v 1, …, v 6 ) Elekcja to para E = (C, V) – C – zbiór kandydatów – V – zbiór wyborców Dodatkowy parametr k – k – rozmiar parlamentu … oraz system wyborczy… V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: Bloc Matematyczny model wyborów
C = {,,,, } V = (v 1, …, v 6 ) Elekcja to para E = (C, V) – C – zbiór kandydatów – V – zbiór wyborców Dodatkowy parametr k – k – rozmiar parlamentu … oraz system wyborczy… V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: k-Borda Matematyczny model wyborów
C = {,,,, } V = (v 1, …, v 6 ) Elekcja to para E = (C, V) – C – zbiór kandydatów – V – zbiór wyborców Dodatkowy parametr k – k – rozmiar parlamentu … oraz system wyborczy… V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: STV Matematyczny model wyborów
Który system jest najlepszy? k-Borda Bloc SNTV STV
k-Borda i SNTV odpadają! leftright Chyba, że wybieramy najlepsze k osób do pracy…
Jak faktycznie działa k-Borda?
Bloc odpada! Skoro wyborcy już w zasadzie wiedzą, jaki ma być parlament, to czemu im przeszkadzać…?
Jak faktycznie działa Bloc?
Który system jest najlepszy? k-Borda Bloc SNTV STV
Monroe oraz Chambelrin—Courant Wybór parlamentu to problem alokacji zasobów! V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: Kandydaci = Zasoby System wyborczy przypisuje kandydatów do wyborców
Chamberlin-Courant Należy wybrać k kandydatów i przypisać ich do wyborców tak, by wyborcy byli maksymalnie zadowoleni V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: Wybór parlamentu to problem alokacji zasobów! Monroe oraz Chambelrin—Courant
V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: Monroe Podobnie, ale każdy parlamentarzysta reprezentuje tak samo liczną grupę wyborców Wybór parlamentu to problem alokacji zasobów! Monroe oraz Chambelrin—Courant
Aproksymacja! Cel: Przypisać kandydatów do wyborców tak, by zmaksymalizować zadowoloenie V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4:
Zachłanny Monroe Wejście: E = (C,V) — elekcja k — rozmiar parlamentu Algorytm: S for i = 1 to k do: for each c in C – S: V(c) n/k wyborców oceniających c najwyżej score(c) punkty c w V(c) c* argmax c C (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*) return the computed assignment V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: : 10
V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: : 10: 9 Zachłanny Monroe Wejście: E = (C,V) — elekcja k — rozmiar parlamentu Algorytm: S for i = 1 to k do: for each c in C – S: V(c) n/k wyborców oceniających c najwyżej score(c) punkty c w V(c) c* argmax c C (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*) return the computed assignment
V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: : 10: 9 Zachłanny Monroe Wejście: E = (C,V) — elekcja k — rozmiar parlamentu Algorytm: S for i = 1 to k do: for each c in C – S: V(c) n/k wyborców oceniających c najwyżej score(c) punkty c w V(c) c* argmax c C (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*) return the computed assignment
V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: : 10: 9 : 10 Zachłanny Monroe Wejście: E = (C,V) — elekcja k — rozmiar parlamentu Algorytm: S for i = 1 to k do: for each c in C – S: V(c) n/k wyborców oceniających c najwyżej score(c) punkty c w V(c) c* argmax c C (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*) return the computed assignment
V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: : 10: 9 : 10 : 7 Zachłanny Monroe Wejście: E = (C,V) — elekcja k — rozmiar parlamentu Algorytm: S for i = 1 to k do: for each c in C – S: V(c) n/k wyborców oceniających c najwyżej score(c) punkty c w V(c) c* argmax c C (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*) return the computed assignment
Wejście: E = (C,V) — elekcja k — rozmiar parlamentu Algorytm: S for i = 1 to k do: for each c in C – S: V(c) n/k wyborców oceniających c najwyżej score(c) punkty c w V(c) c* argmax c C (score(c)) S S {c*} V V – V(c*) C C – {c*} przypisz c* wyborcom z V(c*) return obliczone przypisanie V1:V1: V5:V5: V2:V2: V3:V3: V6:V6: V4:V4: : 10: 9 : 10 : 7 Zachłanny Monroe
Jak skuteczna jest metoda zachłanna? Rozważmy sytuację zaraz po i-tej iteracji v1:vj:vn:v1:vj:vn: in/k wyborców z przypisanymi kandydatami i potencjalnie niedostępnych pozycji (m-i)/(k-i) pozycji Na mocy zasady szufladkowej, istnieje co najmniej n/k wyborców, którzy umieszczają tego samego kandydata w zielonym obszarze
Jak dobry wynik osiągnęliśmy? Wybory parlamentarne w Polsce: – k = 460, m = 6000 – Osiągamy 96% maksymalnej możliwej satysfakcji wyborców – Średnio każdego wyborcę reprezentuje ktoś, kogo ten wyborca woli od 96% innych kandydatów
Jak działa aproksymacja Monroe?
Jak dobry wynik osiągnęliśmy? Wybory parlamentarne w Polsce: – k = 460, m = 6000 – Osiągamy 96% maksymalnej możliwej satysfakcji wyborców – Średnio każdego wyborcę reprezentuje ktoś, kogo ten wyborca woli od 96% innych kandydatów Coś nie tak? – … każdy wyborca musi dostarczyć ranking 6000 kandydatów…
Cel: wybrać K zwycięzców tak, aby zmakysmalizować satysfakcję wyborców Inicjalizacja: Zapomnij o profilu poniżej pewnej pozycji x: x = mw(K) / K (w(K) to funkcja Lambert’a, O(log K)) Pętla: Po kolei wybieraj najczęściej występującego kandydata PTAS dla Chamberlina—Couranta v1v2vnv1v2vn Rank m x
Cel: wybrać K zwycięzców tak, aby zmakysmalizować satysfakcję wyborców Inicjalizacja: Zapomnij o profilu poniżej pewnej pozycji x: x = mw(K) / K (w(K) to funkcja Lambert’a, O(log K)) Pętla: Po kolei wybieraj najczęściej występującego kandydata v1v2vnv1v2vn Rank m x PTAS dla Chamberlina—Couranta
v1v2vnv1v2vn Rank m x Cel: wybrać K zwycięzców tak, aby zmakysmalizować satysfakcję wyborców Inicjalizacja: Zapomnij o profilu poniżej pewnej pozycji x: x = mw(K) / K (w(K) to funkcja Lambert’a, O(log K)) Pętla: Po kolei wybieraj najczęściej występującego kandydata Guarantee: n(m-1)(1 – 2w(K)/K) utility PTAS dla Chamberlina—Couranta
Ciekawostki o nowym systemie… Monotoniczność (Zachłanny Monroe)
Ciekawostki o nowym systemie… Monotoniczność (Zachłanny Monroe)
Monotoniczność (STV) 2x 6x 10x 7x Ciekawostki o nowym systemie… Monotoniczność (Zachłanny Monroe)
2x 6x 10x 7x Monroe oraz STV są niemonotoniczne. Za to system Chamberlin’a— Courant’a jest! Ciekawostki o nowym systemie… Monotoniczność (Zachłanny Monroe) Monotoniczność (STV)
Na zakończenie… Wybory (parlamentarne i nie tylko) to fascynujący i aktualny temat badań! Wiele ciekawych reguł wyborów – STV – Zachłanny Monroe – aproksymacja Chamberlin—Courant’a Dalsze kierunki badań – Aksjomatyczne własności systemów wyborów parlamentarnych – Kompromis pomiędzy ekspresywnością systemu i jego złożonością obliczeniową – Dalsze zastosowania wyborów…
Dziękuję!