Metoda Sainte-Laguë

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Metoda Sainte-Laguë – metoda stosowana do podziału mandatów w systemach wyborczych opartych na proporcjonalnej reprezentacji z listami partyjnymi. Jej nazwa pochodzi od nazwiska francuskiego matematyka André Sainte-Laguë.

Metoda polega na znalezieniu największych, kolejno po sobie następujących ilorazów z liczby uzyskanych głosów. Podziału dokonuje się, dzieląc liczbę głosów przypadających każdemu komitetowi wyborczemu przez kolejne liczby nieparzyste: 1, 3, 5, 7, itd., a następnie z tak obliczonych ilorazów dla wszystkich komitetów wybieranych jest tyle największych, ile jest mandatów do obsadzenia.

Istnieją różne odmiany tej metody. Niekiedy pomija się pierwszy dzielnik, dzieląc liczbę uzyskanych głosów kolejno przez 3, 5, 7 itd. Popularną modyfikacją jest zastąpienie pierwszego dzielnika 1 przez 1,4, co sprzyja ugrupowaniom większym – system ten znany jest jako zmodyfikowana metoda Sainte-Laguë.

Wykorzystywanie[edytuj | edytuj kod]

Metoda Sainte-Laguë jest stosowana m.in. w systemach wyborczych w Nowej Zelandii, Norwegii, Szwecji, Danii, Bośni i Hercegowinie, Łotwie oraz Kosowie, a od 2009 roku również w Niemczech. Jest stosowana, także w Niemczech w wyborach do Landtagów: Badenii-Wirtembergii, Hamburga, Bremy, Nadrenii Północnej-Westfalii oraz Nadrenii-Palatynatu. Użyto jej również w wyborach w Boliwii w 1993 roku, wyborach do Rady Legislacyjnej Autonomii Palestyńskiej w 2006 roku i w wyborach parlamentarnych w Nepalu w 2008 roku. Zastosowano ją także (w wersji zmodyfikowanej) w Polsce podczas wyborów parlamentarnych w 2001 roku oraz w wyborach do rad gmin (w gminach liczących powyżej 20 tys. mieszkańców) w 1990 i 1994 r.

Metoda Sainte-Laguë generuje wyniki lepiej odzwierciedlające poglądy wyborców, podczas gdy metoda d'Hondta sprzyja większym partiom.

Przykład[edytuj | edytuj kod]

Mamy komitety A, B oraz C, które otrzymały kolejno 720, 300 i 480 głosów, do obsadzenia jest 8 mandatów.

1 krok: obliczenie ilorazów

Dzielnik Komitet A Komitet B Komitet C
1 720 (pierwszy mandat) 300 (trzeci) 480 (drugi)
3 240 (czwarty) 100 (ósmy) 160 (piąty)
5 144 (szósty) 60 96
7 103 (siódmy) 43 69

2 krok: ułożenie ilorazów w kolejności malejącej (w nawiasach komitet):
1 - 720 (A)
2 - 480 (C)
3 - 300 (B)
4 - 240 (A)
5 - 160 (C)
6 - 144 (A)
7 - 103 (A)
8 - 100 (B)
itd.

Cztery mandaty uzyska więc komitet A, a komitety B oraz C po dwa.

Implementacja w języku Python[edytuj | edytuj kod]

Liczba mandatów może być obliczona przez następujący kod w języku Python:

V = [liczba głosów dla A,liczba głosów dla B,liczba głosów dla C]
s = [0,0,0]
 
for j in range(liczba mandatów):
    imax = 0
    for i in range(len(V)):
      if (V[i]/(2 * s[i] + 1)) > (V[imax]/(2 * s[imax] + 1)):
        imax = i
 
    s[imax] = s[imax] + 1
 
 
print s

Zobacz też[edytuj | edytuj kod]