Wpisany przez Tomasz Lubiński,
07 marca 2006 22:41
W ramach modelu wyborów proporcjonalnych wyróżnić można kilka metod przydzielania mandatów na podstawie wyników. Opisywany algorytm jest zmodyfikowaną wersją metody wywodzącej swoją nazwę od nazwiska francuskiego matematyka André Sainte-Laguë.
Dopóki wszystkie mandaty nie zostaną przydzielone dla każdej partii obliczany jest następujący współczynnik:
v - liczba głosów zdobytych przez partię w wyborach,
s - liczba miejsc przydzielonych partii do tej pory.
Różnica w stosunku do oryginalnej metody Sainte-Laguë, polega na wprowadzeniu dzielenia przez 1.4 zamiast 1 w przypadku, gdy partia nie posiada jeszcze żadnego mandatu. Dzięki temu zabiegowi uzyskuje się nieco większe preferowanie dużych partii w stosunku do metody niezmodyfikowanej.
Stosować też można różne dodatkowe modyfikacje metody, na przykład wprowadzać poziom procentowy poniżej, ktorego partia wogóle nie jest brana pod uwagę podczas przydzielania mandatów, nawet gdyby mogła teoretycznie zdobyć jakiś mandat.
Jeżeli kilka partii uzyskało takie same współczynniki i nie ma już wystarczającej liczby mandatów do rozdania wówczas stosuje się dodatkowe atrybuty, takie jak: pierwszeństwo mają partie, które otrzymały w ogólności więcej głosów, lub/i pierwszeństwo mają partię z większą liczbą obwodów głosowania, w których na daną partię oddano większą liczbę głosów. Sposoby rostrzygania takich sytuacji mogą być różne.
Niech będzie dany okręg 7-mandatowy, w którym walczy 5 partii, każda otrzymała następującą liczbę głosów.
W pierwszym kroku algorytmu wszystkie partie mają przydzielonych 0 mandatów zatem, współczynniki będą miały wartość:
Największą wartość współczynnika, ma partia A i to ona otrzymuje pierwszy mandat. Obliczamy dla niej nową wartość współczynnika
W tym kroku największą wartość współczynnika ma partia B, tym razem to ona otrzymuje mandat.
Teraz mandat przypada partii C.
Kolejny mandat otrzymuje partia A.
W tym kroku swój pierwszy mandat otrzymuje partia D.
Teraz mandat otrzymuje partia B.
Ostatni mandat przypada partii C.
Czyli ostatecznie partia A ma 2 mandaty, partia B 2 mandaty, partia C 2 mandata, partia D 1 mandat a partia E nie otrzymuje żadnego mandatu.
Dopóki wszystkie mandaty nie zostaną przydzielone dla każdej partii obliczany jest następujący współczynnik:
\begin{cases}
\frac{v}{1.4} & \text{ jeżeli } s = 0\\
\frac{v}{2*s+1} & \text{ jeżeli } s > 0
\end{cases}
gdzie:v - liczba głosów zdobytych przez partię w wyborach,
s - liczba miejsc przydzielonych partii do tej pory.
Różnica w stosunku do oryginalnej metody Sainte-Laguë, polega na wprowadzeniu dzielenia przez 1.4 zamiast 1 w przypadku, gdy partia nie posiada jeszcze żadnego mandatu. Dzięki temu zabiegowi uzyskuje się nieco większe preferowanie dużych partii w stosunku do metody niezmodyfikowanej.
Stosować też można różne dodatkowe modyfikacje metody, na przykład wprowadzać poziom procentowy poniżej, ktorego partia wogóle nie jest brana pod uwagę podczas przydzielania mandatów, nawet gdyby mogła teoretycznie zdobyć jakiś mandat.
Jeżeli kilka partii uzyskało takie same współczynniki i nie ma już wystarczającej liczby mandatów do rozdania wówczas stosuje się dodatkowe atrybuty, takie jak: pierwszeństwo mają partie, które otrzymały w ogólności więcej głosów, lub/i pierwszeństwo mają partię z większą liczbą obwodów głosowania, w których na daną partię oddano większą liczbę głosów. Sposoby rostrzygania takich sytuacji mogą być różne.
Przykład:
Niech będzie dany okręg 7-mandatowy, w którym walczy 5 partii, każda otrzymała następującą liczbę głosów.
Partia A | Partia B | Partia C | Partia D | Partia E |
1228 | 1012 | 850 | 543 | 352 |
W pierwszym kroku algorytmu wszystkie partie mają przydzielonych 0 mandatów zatem, współczynniki będą miały wartość:
Partia A (0) | Partia B (0) | Partia C (0) | Partia D (0) | Partia E(0) |
805,71 | 722,86 | 607,14 | 387,56 | 251,43 |
Partia A (1) | Partia B (0) | Partia C (0) | Partia D (0) | Partia E(0) |
409,33 | 722,86 | 607,14 | 387,56 | 251,43 |
Partia A (1) | Partia B (1) | Partia C (0) | Partia D (0) | Partia E(0) |
409,33 | 337,33 | 607,14 | 387,56 | 251,43 |
Partia A (1) | Partia B (1) | Partia C (1) | Partia D (0) | Partia E(0) |
409,33 | 337,33 | 283,33 | 387,56 | 251,43 |
Partia A (2) | Partia B (1) | Partia C (1) | Partia D (0) | Partia E(0) |
245,6 | 337,33 | 283,33 | 387,56 | 251,43 |
Partia A (2) | Partia B (1) | Partia C (1) | Partia D (1) | Partia E(0) |
245,6 | 337,33 | 283,33 | 181 | 251,43 |
Partia A (2) | Partia B (2) | Partia C (1) | Partia D (1) | Partia E(0) |
245,6 | 202,4 | 283,33 | 181 | 251,43 |
Czyli ostatecznie partia A ma 2 mandaty, partia B 2 mandaty, partia C 2 mandata, partia D 1 mandat a partia E nie otrzymuje żadnego mandatu.
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Tomasz Lubiński | C/C++ | .cpp | .cpp | ***** / 2 | |
Tomasz Lubiński | Delphi/Pascal | .pas | .pas | ***** / 1 | |
Tomasz Lubiński | Java | .java | .java | ***** / 1 |
Poprawiony: 15 sierpnia 2012 07:27