Criando e gerenciando enquetes

Ponto válido @meave

Autor das pesquisas de Voto por Classificação aqui, isso foi um descuido.

Eu não tenho direitos de edição para o OP. Ficarei muito feliz se alguém copiar isso e formatar como achar melhor, ou se for convertido para um Wiki, ficarei feliz em contribuir:

Atualmente funciona exatamente como descrito aqui, é o clássico Voto por Eliminação Instantânea:

(Meu fork do plugin de pesquisa na verdade contém esse exemplo como um teste de unidade!)

O processo é o seguinte:

Todo eleitor envia uma lista ordenada de candidatos. Em cada rodada, consideramos apenas o candidato em 1º lugar (e focamos nos potenciais vencedores e nos piores perdedores).

  1. Conte os votos de 1º lugar para cada candidato
  2. Encontre o(s) candidato(s) com mais votos
  3. Verifique se há uma maioria clara e única e retorne se encontrado como vencedor (sem mais rodadas, pare)

Se não:

  1. Encontre o(s) candidato(s) com menos votos
  2. Remova o(s) candidato(s) com menos votos de todos os votos

Se os votos agora estiverem todos vazios

  1. Relate o empate dos candidatos que acabaram de ser removidos (sem mais rodadas, pare)

Caso contrário

  1. Desloque todos os votos para cima para que onde o 1º lugar foi ocupado por um perdedor (para um eleitor específico), o candidato em 2º lugar se torne sua 1ª escolha.

E as rodadas continuam até que uma maioria ou um empate seja encontrado.

6 curtidas