Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Piotr Faliszewski @ SFI

872 Aufrufe

Veröffentlicht am

"Czy można uszczęśliwić wszystkich? (o wyborach i algorytmice)"

Prezentacja wygłoszona podczas 10. edycji Studenckiego Festiwalu Informatycznego przez dr. inż. Piotra Faliszewskiego. Podczas wykładu został poruszony problem dotyczący tego co definiuje najlepszy system wyborczy oraz jak stworzyć taki system.

Nagranie na portalu YouTube: https://www.youtube.com/watch?v=uT4YiyUrpP8

Veröffentlicht in: Wissenschaft
  • Als Erste(r) kommentieren

Piotr Faliszewski @ SFI

  1. 1. Czy można uszczęśliwić wszystkich? (o wyborach i algorytmice) Piotr Faliszewski Akademia Górniczo-Hutnicza im. Stanisława Staszica Kraków faliszew@agh.edu.pl 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.)
  2. 2. 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
  3. 3. Czy można uszczęśliwić wszystkich? Nie!
  4. 4. Czy można uszczęśliwić wszystkich? Nie! Trochę…
  5. 5. Jak wybierać parlament? Okręgi jednomandatowe 100 / 0 49 / 51 100 / 0
  6. 6. Jak wybierać parlament? Okręgi jednomandatowe 100 / 0 49 / 51 100 / 0 25% poparcia wystarcza do zdobycia większości parlamentarnej
  7. 7. 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…
  8. 8. 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:
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. Który system jest najlepszy?
  14. 14. k-Borda i SNTV odpadają! left right
  15. 15. Bloc odpada! 1 1 0 0 Skoro wyborcy już w zasadzie wiedzą, jaki ma być parlament, to czemu im przeszkadzać…?
  16. 16. Który system jest najlepszy?
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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)
  22. 22. 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)
  23. 23. 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)
  24. 24. 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
  25. 25. 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
  26. 26. 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)
  27. 27. 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)
  28. 28. Aproksymacja! Cel: Przypisać kandydatów do wyborców tak, by zmaksymalizować zadowoloenie V1: V5: V2: V3: V6: V4: 4 3 2 1 0
  29. 29. 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*  argmaxc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: V5: V2: V3: V6: V4: 4 3 2 1 0 : 10
  30. 30. 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*  argmaxcC (score(c)) S  S  {c*} V  V – V(c*) C  C – {c*} assign c* to voters from V(c*) return the computed assignment
  31. 31. 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*  argmaxcC (score(c)) S  S  {c*} V  V – V(c*) C  C – {c*} assign c* to voters from V(c*) return the computed assignment
  32. 32. 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*  argmaxcC (score(c)) S  S  {c*} V  V – V(c*) C  C – {c*} assign c* to voters from V(c*) return the computed assignment
  33. 33. 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*  argmaxcC (score(c)) S  S  {c*} V  V – V(c*) C  C – {c*} assign c* to voters from V(c*) return the computed assignment
  34. 34. 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*  argmaxcC (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
  35. 35. 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
  36. 36. 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…
  37. 37. Ciekawostki o nowym systemie… Monotoniczność (Zachłanny Monroe)
  38. 38. Ciekawostki o nowym systemie… Monotoniczność (Zachłanny Monroe)
  39. 39. Monotoniczność (STV) 2x 6x 10x 7x Ciekawostki o nowym systemie… Monotoniczność (Zachłanny Monroe)
  40. 40. 2x 6x 10x 7x Ciekawostki o nowym systemie… Monotoniczność (Zachłanny Monroe) Monotoniczność (STV)
  41. 41. 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…
  42. 42. Dziękuję!

×