43
Czy można uszczęśliwić wszystkich? (o wyborach i algorytmice) Piotr Faliszewski Akademia Górniczo-Hutnicza im. Stanisława Staszica Kraków [email protected] 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.)

Piotr Faliszewski @ SFI

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

[email protected]

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

Czy można uszczęśliwić wszystkich?

Nie!

Czy można uszczęśliwić wszystkich?

Nie!

Trochę…

Jak wybierać parlament?

Okręgi jednomandatowe 100 / 0

49 / 51

100 / 0

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

Który system jest najlepszy?

k-Borda i SNTV odpadają!

left right

Bloc odpada!

1 1 0 0 Skoro wyborcy już w zasadzie wiedzą, jaki ma być parlament, to czemu im przeszkadzać…?

Który system jest najlepszy?

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…

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

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ę!