Upload
sfi-academic-it-festival
View
374
Download
0
Embed Size (px)
Citation preview
Czy można uszczęśliwić wszystkich? (o wyborach i algorytmice)
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), Arkadiim Slinko (University of Auckland), Lan Yu (Google Inc.)
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
Jak wybierać parlament?
Okręgi jednomandatowe 100 / 0
49 / 51
100 / 0
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…
C = { , , , , } V = (v1, … , v6)
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:
V5:
V2:
V3:
V6:
V4:
C = { , , , , } V = (v1, … , v6)
• 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:
V5:
V2:
V3:
V6:
V4:
1 0 0 0 0
SNTV
Matematyczny model wyborów
C = { , , , , } V = (v1, … , v6)
• 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:
V5:
V2:
V3:
V6:
V4:
1 1 0 0 0
Bloc
Matematyczny model wyborów
C = { , , , , } V = (v1, … , v6)
• 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:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
k-Borda
Matematyczny model wyborów
C = { , , , , } V = (v1, … , v6)
• 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:
V5:
V2:
V3:
V6:
V4:
STV
Matematyczny model wyborów
Bloc odpada!
1 1 0 0 Skoro wyborcy już w zasadzie wiedzą, jaki ma być parlament, to czemu im przeszkadzać…?
Monroe oraz Chambelrin—Courant
Wybór parlamentu to problem alokacji zasobów!
V1:
V5:
V2:
V3:
V6:
V4:
Kandydaci = Zasoby
System wyborczy przypisuje kandydatów
do wyborców
V1:
V5:
V2:
V3:
V6:
V4:
Wybór parlamentu to problem alokacji zasobów!
Monroe oraz Chambelrin—Courant
Chamberlin-Courant Należy wybrać k
kandydatów i przypisać ich do wyborców tak, by
wyborcy byli maksymalnie zadowoleni
Chamberlin-Courant Należy wybrać k
kandydatów i przypisać ich do wyborców tak, by
wyborcy byli maksymalnie zadowoleni
V1:
V5:
V2:
V3:
V6:
V4:
Wybór parlamentu to problem alokacji zasobów!
Monroe oraz Chambelrin—Courant
4 3 2 1 0
V1:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
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
Co to znaczy, że problem jest NP-trudny?
P – obliczanie rozwiązań w czasie wielomianowym
NP – weryfikacja rozwiązań w czasie wielomianowym
1
2
3
4
5
6
eXact 3-set Cover (X3C)
Co to znaczy, że problem jest NP-trudny?
P – obliczanie rozwiązań w czasie wielomianowym
NP – weryfikacja rozwiązań w czasie wielomianowym
1
2
3
4
5
6
eXact 3-set Cover (X3C)
Co to znaczy, że problem jest NP-trudny?
P – obliczanie rozwiązań w czasie wielomianowym
NP – weryfikacja rozwiązań w czasie wielomianowym
1
2
3
4
5
6
eXact 3-set Cover (X3C)
Co to znaczy, że problem jest NP-trudny?
P – obliczanie rozwiązań w czasie wielomianowym
NP – weryfikacja rozwiązań w czasie wielomianowym
eXact 3-set Cover (X3C)
1
2
3
4
5
6
Redukcja pomiędzy problemami • A, B – dwa problemy decyzyjne • A redukuje się do B jeśli istnieje
obliczalna w czasie wielomianowym funkcja f taka, że: x in A f(x) in B
Co to znaczy, że problem jest NP-trudny? eXact 3-set Cover (X3C)
1
2
3
4
5
6
Redukcja pomiędzy problemami • A, B – dwa problemy decyzyjne • A redukuje się do B jeśli istnieje
obliczalna w czasie wielomianowym funkcja f taka, że: x in A f(x) in B
• Problem jest NP-zupełny, jeśli redukuje się do niego każdy język z NP
A B
f
f
Co to znaczy, że problem jest NP-trudny? eXact 3-set Cover (X3C)
1
2
3
4
5
6
v1:
v2:
v3:
v4:
v5:
v6:
k = 2 (ilość elementów / 3)
Monroe Winner (Approval)
Co to znaczy, że problem jest NP-trudny? eXact 3-set Cover (X3C)
1
2
3
4
5
6
v1:
v2:
v3:
v4:
v5:
v6:
k = 2 (ilość elementów / 3)
Monroe Winner (Approval)
Aproksymacja!
Cel: Przypisać kandydatów do wyborców tak, by zmaksymalizować zadowoloenie
V1:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
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* argmaxcC (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*)
return the computed assignment
V1:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
: 10
V1:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
: 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* argmaxcC (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*)
return the computed assignment
V1:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
: 10 : 9 : 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* argmaxcC (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*)
return the computed assignment
V1:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
: 10 : 9 : 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* argmaxcC (score(c)) S S {c*} V V – V(c*) C C – {c*} assign c* to voters from V(c*)
return the computed assignment
V1:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
: 10 : 9 : 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* argmaxcC (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* argmaxcC (score(c)) S S {c*} V V – V(c*) C C – {c*} przypisz c* wyborcom z V(c*)
return obliczone przypisanie
V1:
V5:
V2:
V3:
V6:
V4:
4 3 2 1 0
: 10 : 9 : 9 : 10 : 7
Zachłanny Monroe
Jak skuteczna jest metoda zachłanna?
Rozważmy sytuację zaraz po i-tej iteracji
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
• Coś nie tak?
– … każdy wyborca musi dostarczyć ranking 6000 kandydatów…
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…