Wpisany przez Tomasz Lubiński,
22 kwietnia 2006 14:10
W ramach modelu wyborów proporcjonalnych wyróżnić można kilka metod przydzielania mandatów na podstawie wyników. Opisywana metoda wywodzi swoją nazwę od nazwiska metody zaproponowanej początkowo przez Thomasa Hare'a i zmodyfikowanej następnie przez niemieckiego matematyka Horsta Niemeyer'a. Algorytm ten znany jest również pod nazwą metody największych reszt (ang. Largest reminder method).
Dla każdej partii obliczany jest następujący współczynnik:
vi - liczba głosów zdobytych przez i-tą partię w wyborach,
vt - liczba głosów oddanych na wszystkie partie,
s - liczba mandatów do przydzielenia.
W pierwszym kroku każda partia otrzymuje tyle mandatów ile wynosi całkowita część obliczonego dla niej współczynnika. Czyli jeżeli współczynnik wynosi 2.1202 to partia otrzymuje 2 mandaty, w przypadku gdy współczynnik wynsi 5.899928 partia otrzymuje 5 mandatów.
W kolejnym kroku patrzymy na reszty współczynników (wartości po przecinku). Dopóki pozostają jeszcze wolne mandaty przydzielamy je tym partiom, które mają największą wartość po przecinku.
Metoda ta sprzyja głównie małym i średnim ugrupowaniom.
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 obliczymy współczynniki. Sumaryczna liczba oddanych głosów wynsi: 1228 + 1012 + 850 + 543 + 352 = 3985.
Przydzielimy każdej partii tyle mandatów ile wynosi część całkowita obliczonego współczynnika. Zostawimy tylko reszty współczynników, które potrzebne będą w kolejnym kroku
Przydzieliliśmy do tej pory 4 mandaty z 7. Pozostały zatem 3 wolne mandaty, przydzielamy je tym partiom, które mają największą wartość po przecinku. W tym kroku największą wartość współczynnika ma partia D. Wyzerujemy jej wartość współczynnika by nie wziąć jej pod uwagę przy przydzielaniu następnego mandatu.
W tym kroku największą wartość współczynnika ma partia B i to ona otrzymuje mandat.
Ostatni wolny mandat otrzymuje partia E.
Czyli ostatecznie partia A ma 2 mandaty, partia B 2 mandaty, partia C 1 mandat, partia D 1 mandat oraz partia E jeden mandat.
Dla każdej partii obliczany jest następujący współczynnik:
\frac{v_i*s}{v_t}
gdzie:vi - liczba głosów zdobytych przez i-tą partię w wyborach,
vt - liczba głosów oddanych na wszystkie partie,
s - liczba mandatów do przydzielenia.
W pierwszym kroku każda partia otrzymuje tyle mandatów ile wynosi całkowita część obliczonego dla niej współczynnika. Czyli jeżeli współczynnik wynosi 2.1202 to partia otrzymuje 2 mandaty, w przypadku gdy współczynnik wynsi 5.899928 partia otrzymuje 5 mandatów.
W kolejnym kroku patrzymy na reszty współczynników (wartości po przecinku). Dopóki pozostają jeszcze wolne mandaty przydzielamy je tym partiom, które mają największą wartość po przecinku.
Metoda ta sprzyja głównie małym i średnim ugrupowaniom.
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 obliczymy współczynniki. Sumaryczna liczba oddanych głosów wynsi: 1228 + 1012 + 850 + 543 + 352 = 3985.
Partia A (0) | Partia B (0) | Partia C (0) | Partia D (0) | Partia E(0) |
2,157 | 1,778 | 1,493 | 0,954 | 0,618 |
Przydzielimy każdej partii tyle mandatów ile wynosi część całkowita obliczonego współczynnika. Zostawimy tylko reszty współczynników, które potrzebne będą w kolejnym kroku
Partia A (2) | Partia B (1) | Partia C (1) | Partia D (0) | Partia E(0) |
0,157 | 0,778 | 0,493 | 0,954 | 0,618 |
Przydzieliliśmy do tej pory 4 mandaty z 7. Pozostały zatem 3 wolne mandaty, przydzielamy je tym partiom, które mają największą wartość po przecinku. W tym kroku największą wartość współczynnika ma partia D. Wyzerujemy jej wartość współczynnika by nie wziąć jej pod uwagę przy przydzielaniu następnego mandatu.
Partia A (2) | Partia B (1) | Partia C (1) | Partia D (1) | Partia E(0) |
0,157 | 0,778 | 0,493 | 0 | 0,618 |
W tym kroku największą wartość współczynnika ma partia B i to ona otrzymuje mandat.
Partia A (2) | Partia B (2) | Partia C (1) | Partia D (1) | Partia E(0) |
0,157 | 0 | 0,493 | 0 | 0,618 |
Ostatni wolny mandat otrzymuje partia E.
Partia A (2) | Partia B (2) | Partia C (1) | Partia D (1) | Partia E(1) |
0,157 | 0 | 0,493 | 0 | 0,618 |
Czyli ostatecznie partia A ma 2 mandaty, partia B 2 mandaty, partia C 1 mandat, partia D 1 mandat oraz partia E jeden mandat.
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Tomasz Lubiński | C/C++ | .cpp | .cpp | ***** / 1 | |
Tomasz Lubiński | Delphi/Pascal | .pas | .pas | ***** / 1 | |
Tomasz Lubiński | Java | .java | .java | ***** / 1 |
Poprawiony: 15 sierpnia 2012 07:29