Dubbi su metodo D'Hondt

Avvisi e discussioni su bug, soluzioni e migliorie del software

Moderatori: roby, Moderators

Rispondi
margottid
Newbie
Newbie
Messaggi: 193
Iscritto il: mar mag 12, 2009 12:00 am

Dubbi su metodo D'Hondt

Messaggio da margottid »

Buongiorno,
Eleonline mi da una ripartizione di seggi:
http://elezioni.comune.lugo.ra.it/clien ... onsiglieri

diversa da quella indicata dalla Prefettura:
http://www.prefettura.it/FILES/docs/120 ... e_lugo.pdf

Secondo voi, chi ha ragione?
Il metodo D'Hondt va applicato su TUTTE le liste (indipendentemente dalla coalizione) oppure va applicato tante volte per quante sono le coalizioni?
E, se è vero quest'ultimo caso (come sembra risultare dal PDF della Prefettura), come si calcola il numero di seggi da assegnare alle varie coalizioni?

Grazie mille,
Daniele
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

In genere la prefettura non sbaglia, anche se la stessa magistratura si e' espressa in questo tema con sentenze contraddittorie. La funzione di assegnazione dei seggi e' frutto di uno studio della legge e delle sentenze (per quanto possibile, come detto prima) emesse nel corso di questi anni.
Bug a parte, sempre possibili, va detto che questa è la prima elezione comunale in cui la funzione viene effettivamente messa sotto "torchio". Appena il sito della prefettura che mi hai indicato mi permetterà di scaricare il documento farò i raffronti e ti farò sapere cosa ne penso.
Roberto
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Secondo me va applicato prima sulla coalizione e una volta assegnato il numero di seggi al raggruppamento si fa la suddivisione per le liste collegate. Devo controllare il comportamento della funzione. Poi ti faccio sapere.
Roberto
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Il problema non e' nella modalità di calcolo, sia la prefettura sia la nostra funzione calcolano prima l'assegnazione per gruppo. E' invece nel fatto che facendo il calcolo sui numeri:
(10848>=((19030*40)/100)) and 10848<((19030*60)/100))
dove 10848 e' il risultato del sindaco eletto
19030 i voti validi
si ha l'assegnazione del premio di maggioranza con la suddivisione 18 a 12
Facendo invece il calcolo direttamente sui seggi ottenuti applicando il metodo d'hondt si ha il risultato di 19 a 11.
Certo il premio di maggioranza non puo' penalizzare il vincitore quindi è giusto il risultato della prefettura. Implementerò quanto prima una patch.
Colgo l'occasione per ringraziarti del report e invito anche gli altri comuni a riportare eventuali problemi. Penso sia il modo migliore per perfezionare il programma e renderlo sempre piu' affidabile.
Roberto
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Ecco la patch, dalla riga 479 del file client/modules/Elezioni/consiglieri.php:

#e se nessun altro gruppo ha superato il 50% assegna il premio di maggioranza

Aggiungere:
#e se nessun altro gruppo ha superato il 50% e nessuno ha ottenuto piu' del 60% dei seggi, assegna il premio di maggioranza

$consmin=$numcons;
$gruppomin=calcoloseggi($groups,$consmin,0);
$nopremio=1;
foreach ($gruppomin as $key=>$val) {if (($num_cons*60/100)<$val) $nopremio=0;}

if (($groups[$gruppo]>=(($validi*$supminpremio)/100) or ! $primoturno) and $groups[$gruppo]<(($validi*$suppremio)/100) and !$premio and $nopremio) $premio=1;
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

non ho precisato che l'ultima riga sostituisce la successiva, cioe' questa:

if (($groups[$gruppo]>=(($validi*$supminpremio)/100) or ! $primoturno) and $groups[$gruppo]<(($validi*$suppremio)/100) and !$premio) $premio=1;

che quindi va eliminata.
Roberto
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Altra precisazione, NON DA POCO. La correzione specificata è per la versione 2 di eleonline. Ora preparo quella per la versione 1 e la pubblico.
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Sempre dalla riga 479 del file client/modules/Elezioni/consiglieri.php:

#e se nessun altro gruppo ha superato il 50% assegna il premio di maggioranza

Aggiungere:
#e se nessun altro gruppo ha superato il 50% e nessuno ha ottenuto piu' del 60% dei seggi, assegna il premio di maggioranza

$consmin=$numcons;
$gruppomin=calcoloseggi($groups,$consmin,0);
$nopremio=1;
foreach ($gruppomin as $key=>$val) {if (($num_cons*60/100)<$val) $nopremio=0;}

if (($groups[$gruppo]>=(($validi*$SUPMINPREMIO)/100) or ! $primoturno) and $groups[$gruppo]<(($validi*$SUPPREMIO)/100) and !$premio and $nopremio) $premio=1;

Si è uguale, la sola differenza sta nell'uppercase delle due variabili
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Scusate ho postato un errore, la riga del foreach:
foreach ($gruppomin as $key=>$val) {if (($num_cons*60/100)<$val) $nopremio=0;}

non e' corretta, deve essere così:

foreach ($gruppomin as $key=>$val) {if (($numcons*60/100)<$val) $nopremio=0;}
margottid
Newbie
Newbie
Messaggi: 193
Iscritto il: mar mag 12, 2009 12:00 am

Messaggio da margottid »

Funziona, grazie mille!

Daniele
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Il mio comune invece me l'ha fatta oscurare perche' un gruppo di liste ha superato il 50 % del totale dei voti di lista mentre il candidato sindaco si è fermato al 49,12%. Per questo la funzione di calcolo non assegna alla seconda coalizione il premio di maggioranza neanche se vincera' il ballottaggio. Secondo loro il 50% dei voti validi di riferimento per il gruppo di liste va calcolato sul totale dei voti validi per il sindaco (che sono di piu' e quindi portano la percentuale del raggruppamento di liste che ha preso piu' voti sotto la soglia del 50%).
Voi che ne pensate?
Roberto
margottid
Newbie
Newbie
Messaggi: 193
Iscritto il: mar mag 12, 2009 12:00 am

Messaggio da margottid »

Il Ministero dell'Interno calcola le percentuali per i candidati Sindaci sul totale dei voti validi per il Sindaco, e le percentuali per ogni lista sul totale dei voti validi assegnati alle liste:
http://elezioni.interno.it/amministrati ... 700375.htm

Secondo me è giusto così, perché nei Comuni oltre 15.000 abitanti è come se si votasse due volte: per il Sindaco e per la Lista (ed è infatti previsto anche il voto disgiunto).
Se si vota solo per il Sindaco, senza tracciare il segno sulla lista, non si dà alcun voto valido per le liste.

Quando si parla di liste, i voti validi dovrebbero essere quelli effettivamente dati alle liste.
D'altra parte, se la matematica non è un'opinione, la somma delle percentuali deve dare sempre cento...!

Daniele
roby
Site Admin
Site Admin
Messaggi: 1260
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Messaggio da roby »

Grazie in particolare per il link. Mette fine a ogni discussione.
Roberto
Rispondi