¿Es esta una buena manera de contar las boletas de Voto Único Transferible?

Mi empleador me ha pedido que cree un sistema de votación en línea para elecciones internas (por ejemplo, junta directiva). Nuestros estatutos dictan que necesitamos usar STV.

No estaba satisfecho con el software existente disponible para contar las elecciones de STV, así que hice el mío. Así es como funciona:

  1. Barajar las papeletas.
  2. Asignar votos de mayor preferencia
    • Si el candidato de preferencia más alta ya alcanzó la cuota y aún no hay suficientes ganadores, use la siguiente preferencia más alta de la boleta.
    • Si el candidato de mayor preferencia quedó en último lugar en la ronda anterior, utilice la siguiente preferencia más alta de la boleta.
  3. Si se utilizó la siguiente preferencia más alta de una boleta, esa se convierte en la "preferencia más alta" en la siguiente ronda.
  4. Repita los pasos 1 a 3 hasta que haya suficientes ganadores.

Aquí está en forma de diagrama de flujo:

Interpretación del diagrama de flujo del proceso de conteoDespués de leer un poco sobre diferentes métodos de conteo ( esta comparación [PDF] ha demostrado ser muy útil), me doy cuenta de que mi conteo realmente no encaja dentro de los métodos establecidos. Estas son algunas de sus características:

  • La aleatorización se logra mezclando todas las boletas al comienzo de cada ronda y luego procesando cada boleta en secuencia.
  • Los votos excedentes comienzan a asignarse en la mitad de la ronda, tan pronto como un candidato alcanza la cuota.
  • Los votos sobrantes se asignan a todos los candidatos, no solo a los aspirantes. Esto significa que un candidato que quedó último en la primera vuelta podría "regresar de entre los muertos". También significa que los candidatos que ya alcanzaron la cuota podrían obtener algunos votos adicionales más adelante en la ronda.
  • Utilizo el método de Cincinnatti para asignar el excedente (una muestra aleatoria de todas las papeletas), en lugar del método irlandés.
  • Dado que la muestra aleatoria es diferente para cada ronda, los recuentos pueden producir resultados ligeramente diferentes.
  • A diferencia del método Wright, los candidatos nunca quedan definitivamente excluidos.

Para ser honesto, realmente no sé si estas cualidades son buenas o malas. ¿Hacen que mi método sea susceptible de fraude electoral? ¿Es menos proporcional que otro método?

Por favor, hágame saber lo que ve como los pros y los contras de este método de conteo. Personalmente, creo que es más fácil de entender que los otros métodos que he encontrado, ¡pero eso también significa que probablemente sea menos robusto!

Editar: aquí hay un recuento de votos de muestra para una elección con 10 candidatos compitiendo por 5 escaños. Se emitieron 1000 votos. La cuota es 167.

ingrese la descripción de la imagen aquí

Delilah recibe la menor cantidad de votos de primera preferencia. Entonces, en la segunda vuelta, se tacha a Delilah de esas 85 papeletas y se cuentan las segundas preferencias.

Greg tiene el número más bajo de votos en la ronda 2, y lo mismo sucede con esas 105 papeletas en la siguiente ronda. 11 de ellos tienen a Delilah como segunda opción.

Para mayor claridad, estoy usando la fórmula Droop para calcular la cuota.
Si "los estatutos dictan que necesitamos usar STV", ¿no tiene que usar STV? ¿No creas tu propio sistema de conteo?
@endolith hay muchas formas de contar los votos dentro de STV, y nuestros estatutos no especifican el método de conteo.
¿Por qué reinventar la rueda? ¿Por qué no utilizar uno de los sistemas en línea del STV-PR que ya está disponible?
¿Permite el voto nulo?

Respuestas (4)

Creo que el hecho de que nunca elimines candidatos podría ser un problema; en los mismos casos, ni siquiera obtendrás un resultado.

Digamos que tiene 10 candidatos que buscan 5 espacios y 1000 votos. Cada candidato obtiene entre 50 y 150 votos. Pero 150 es menos que la cuota (usando el método Droop, la cuota sería 1000/[5+1] + 1 = 167) Nadie alcanza la cuota, entonces, ¿cómo determinas quién gana? En la mayoría de los sistemas, eliminaría al candidato más débil y transferiría sus votos (y eso pone a alguien por encima de la cuota y puede transferir algunos otros votos, o sigue eliminando candidatos hasta que el número de candidatos sea igual al número de escaños), pero en su sistema eso no está hecho. Su diagrama de flujo simplemente se repetiría sin cesar, contando y volviendo a contar para siempre.

También me gustaría señalar que, dado que los candidatos nunca se eliminan en su sistema, si vota como primera opción a un candidato que finalmente no es elegido, entonces su segunda opción nunca se contará. Creo que esto va en contra de la intención del voto de transferencia única. Creo que eliminar a un candidato particularmente débil en realidad les hace un favor a quienes votaron por ese candidato, ya que garantiza que la transferencia surta efecto.

En otra nota, realmente no me gusta la aleatoriedad en el sistema. Los resultados deben determinarse por votos, no por el algoritmo de barajado de su software.

"Si vota como primera opción a un candidato que finalmente no es elegido, entonces su segunda opción nunca se contará". - No del todo. Si su primera opción es tachada de su boleta, se contará la siguiente opción. Por lo general, el 60-70 % de los votos elige a un ganador en los conjuntos de datos con los que he probado.
"Nadie cumple con la cuota, entonces, ¿cómo se determina quién gana?" - buena atrapada. El diagrama de flujo simplifica demasiado esto, por lo que, en realidad, si el número de escaños es igual al número de candidatos con recuentos de votos distintos de cero, todos son declarados ganadores. Eso significa que podrían tener menos de la cuota.
"si el número de escaños es igual al número de candidatos con recuentos de votos distintos de cero, todos son declarados ganadores". - pero en mi escenario, tiene 10 candidatos con recuentos de votos distintos de cero y solo 5 escaños, por lo que todavía no se activa.
Y si hay más en su sistema de lo que nos dijo, bueno, eso hace que sea difícil para nosotros evaluar su sistema, ¿no es así? :)
"Si su primera opción es tachada de su boleta, entonces se contará la siguiente opción". - pero pensé que nunca eliminabas a nadie. ¿Bajo qué escenario en su sistema se transfieren los votos de un candidato débil?
Ver editar arriba. Adjunto un desglose del conteo de votos y cómo se transfieren los votos de los candidatos débiles. Esperemos que esto aclare el estado "distinto de cero" también. Gracias por este excelente comentario, definitivamente cambiaré el sistema para que sea más transparente.
Lo que está haciendo en la tabla parece razonable a primera vista, pero es posible que desee ponerlo en palabras y/o en el diagrama de flujo. Si no puede poner todo el proceso en palabras, puede que no sea una buena idea utilizarlo en una elección importante.
Cualquier sistema de votación que no ofrezca ninguna ventaja a ningún votante o candidato, y que no pueda garantizar que se emitirá un número impar de votos para exactamente dos candidatos, tendrá algunos patrones de votos que darán como resultado "empates". La aleatoriedad es la forma generalmente aceptada de resolver los empates, aunque un buen procedimiento debería dejar en claro exactamente qué efecto tiene cualquier aleatoriedad.
@supercat Estoy dispuesto a aceptar la aleatoriedad en caso de empate exacto. Realmente no estoy dispuesto a aceptar la aleatoriedad en la forma de "bueno, primero contamos estas boletas al azar, por lo que esas boletas tienen su segunda opción contada".

El mayor problema que veo con esto es que es posible obtener resultados diferentes en un recuento. Así que nunca lo recomendaría para una elección de gobierno. Habría políticos tratando de engañar al sistema para obtener el recuento "correcto".

Se podría argumentar que a menudo hay desempates aleatorios, pero estos operan al final del proceso. Para que todos puedan ponerse de acuerdo en el recuento hasta el desempate. Entonces hay un solo evento aleatorio que pueden registrar. Entonces, si el recuento tiene el mismo resultado, pueden mantener el desempate original.

Para obtener un resultado similar aquí, tendría que elegir toda la secuencia aleatoria. Esto es posible. Puede elegir aleatoriamente una semilla para un algoritmo pseudoaleatorio particular y conservar esa elección. Pero no estoy seguro de que hacer eso deje el sistema más fácil de explicar que los otros métodos. Tiene un gran elemento de "créeme, hice las cosas al azar correctamente".

He probado esto con algunos conjuntos de datos diferentes y no me he encontrado con una situación en la que un recuento resulte en diferentes ganadores. Por supuesto, tendré que hacer más pruebas para asegurarme. Pero si este patrón es cierto, ¿todavía te preocupa la aleatoriedad involucrada? (por ejemplo, cada recuento toma un camino diferente para llegar al mismo resultado).
Sí, seguiría siendo un problema. Las características de un sistema electoral deben probarse matemáticamente, no estadísticamente. Los casos extremos que son altamente improbables sucederán en algún momento de los siglos y solo necesita estar seguro . Las estadísticas pueden ser útiles para investigar un sistema, pero al final necesitará pruebas formales para cualquier propiedad que desee anunciar.
El resultado no determinado es una propiedad de STV en sí. (sin modificaciones) la asignación de varios asientos hace que esto sea un problema menor.

Una característica clave de las elecciones es la confianza en el método de escrutinio. Lo que hace que elegir su propio sistema sea un problema, sobre todo teniendo en cuenta las fallas que la gente está detectando.

Hay organismos (como la Sociedad de Reforma Electoral del Reino Unido) con más de 100 años de experiencia en hacer esto. Publican una guía sobre el uso de STV que incluye instrucciones detalladas sobre cómo realizar un conteo.

Instrucciones detalladas para el conteo

(Este conjunto de instrucciones está orientado a las elecciones públicas en papel; la ejecución de conteos electrónicos comparativamente pequeños debería poder implementar este proceso aún más fácilmente)

Le sugiero encarecidamente que utilice un proceso probado por esta u otra organización similar. Incluso si su sistema fuera excelente, aún no tendría la credibilidad/confianza/defensibilidad/validación de algo como esto.

Puede solucionar esto contándolo internamente como una carrera instantánea de elección clasificada y eliminando al candidato con el rendimiento más bajo en cada ronda. Si tiene 6 candidatos y un lugar, los candidatos A, B, C, D, E, F. La boleta mostrará a cada candidato con seis casillas de radio y el votante elegirá del más favorito al menos favorito de izquierda a derecha (si desea candidato A para ganar, marca A con la primera casilla de radio. Si desea que A sea su última elección, entonces marca A con la sexta casilla de radio).

Todas las papeletas se colocan en una lista y los candidatos reciben los resultados. Luego ejecuta N rondas donde N es el número total de candidatos (6) menos el número total de escaños (digamos 1)

Para cada ronda, mantenga una lista de candidatos corriendo rangos resultantes de la ronda, con el. Para sembrar la lista, enumere a todos los candidatos en el orden en que aparecen en la boleta. Desea una lista de rondas con la puntuación como sus objetos devueltos. Mantenga la lista de boletas constante.

Para cada ronda:

Trae la Lista Maestra.

Cree una lista de Ronda con todos los resultados siendo 0.

Contar las papeletas

Para cada boleta: - busque el candidato votado como primera opción (debe marcarse con un 1) - Agregue un punto a ese candidato en la Lista Redonda.

Devuelve la lista Secundaria como la nueva Lista Maestra.

Muestra los resultados de la lista de rondas.

Pode la lista:

  • Identifique la puntuación más baja en la lista maestra.

Para todas las boletas

  • Encuentre el rango de los candidatos con la puntuación más baja
  • Para todos los candidatos con puntaje más bajo en la Lista Redonda (marque para evitar empatar en el último lugar).
  • Para todos los candidatos clasificados por debajo de la puntuación más baja:
  • --1 a su rango.

Lista de boletas de devolución.

Repita hasta que queden N candidatos.

Esto funciona porque en la votación de desempate instantáneo de elección clasificada, el voto solo se transfiere en la eliminación en una ronda. En cada ronda, los candidatos restantes solo incrementarán sus votos a medida que se redistribuyan los candidatos eliminados. Al aumentar en uno a todos los candidatos a los que se les otorgó un rango de votación más bajo que el mayor perdedor y solo contar el candidato que obtuvo uno en cada ronda, el rango se conserva ya que el voto de los candidatos eliminados ahora pasa al número 2 de esa ronda, 3 se convierte en 2, 4 se convierte en 3 y así sucesivamente.

Al contar solo la primera opción para cada ronda, eventualmente llegaremos a un punto en el que las boletas solo tendrán una primera y una segunda opción y la brecha se vuelve más estrecha. Incluso podría argumentar que la sexta opción predeterminada es cero, ya que su sexta opción nunca entrará en juego (en el peor de los casos, el umbral del 51 % se puede cruzar en 5 rondas y, en el mejor de los casos, en la primera ronda). de la ronda final, puede usar los resultados de cualquier ronda por debajo de N. Si tiene tres escaños, eliminará a 2 candidatos y la distribución del candidato final no importa, ya que los candidatos viables son las primeras elecciones en la ronda cuatro para cada votante.