tengo una situacion
3 partidos participaron en una elección hipotética entre 10 votantes. La votación siguió el método normal de Condorcet, en el que los votantes clasificaron a los partidos en el orden de su elección. (Por ejemplo, el votante 1 puede clasificarse como P1 como 2, P2 como 3 y P3 como 1).
El problema es que no tengo las papeletas de votación de todos los votantes para ver sus clasificaciones para las comparaciones uno a uno. Todo lo que tengo es una tabla acumulativa, que enumera cuántos de cada rango recibió cada partido.
Ejemplo:
Parties/Ranks 1 2 3
P1 3 2 5
P2 2 6 2
P3 5 2 3
(El total en cada fila y cada columna es 10 = número de votantes, como debería ser).
¿Puedo saber quién ganó?
He estado golpeando mi cabeza con esto durante unos 4 días. Probé muchos métodos, algunos u otros casos (generalmente con uno o más ceros) lo rompen. No pude encontrar nada en línea de este tipo.
Conclusión: utilizando únicamente matrices de Condorcet, no puede probar la existencia de un ganador (un partido que ha ganado a todos los demás partidos) en su estudio de caso particular. Ese escenario existe y es válido pero hay otros donde los partidos están empatados. Ver la respuesta larga para la formulación matemática y resolución del problema.
De ninguna manera soy un experto en probabilidades, pero este parece un buen ejemplo para permutaciones . Es decir, si P3 = A
, P2 = B
y P1 = C
tus posibles combinaciones serían ( n!
):
ABC ACB BAC BCA CABINA CBA
Por lo tanto, la probabilidad de que la parte A quede en primer lugar es:
P(ABC) + P(ACB) = 0,5
Siguiendo con la misma lógica podríamos decir que:
P(ABC) + P(ACB) = 0.5 # A siendo primero
P(BAC) + P(CAB) = 0.2 # A siendo el segundo
P(BCA) + P(CBA) = 0.3 # A siendo tercero
P(BAC) + P(BCA) = 0.2 # siendo B primero
P(ABC) + P(CBA) = 0.6 # siendo B el segundo
P(ACB) + P(CAB) = 0.2 # siendo B tercero
P(CAB) + P(CBA) = 0.3 # C siendo primero
P(ACB) + P(BCA) = 0.2 # C siendo segundo
P(ABC) + P(BAC) = 0.5 # C siendo tercero
En teoría, podríamos construir una matriz a partir de esto (tenemos las ecuaciones para ello), pero devolvería matrices singulares (no reversibles o degeneradas). Como mencionó el usuario @James K, las probabilidades de nuestras permutaciones deben ser necesariamente un multiplicador de 0.1 ya que solo se realizaron 10 votos. Por lo tanto, se realizó la siguiente prueba para todos los valores absolutos en los votos (para evitar comparaciones de punto flotante que tienden a ser un problema en informática):
def test(val):
p1 = val
p2 = 5 - p1
p3 = 5 - p1
p4 = 2 - p3
p5 = 2 - p2
p6 = 3 - p5
# ABC ACB BAC BCA CAB CBA
ps = [p1, p2, p3, p4, p5, p6]
flag = False
if all([p>=0 for p in ps]) and all([p<=9 for p in ps]):
print(val, [p for p in ps] , True)
flag = True
else:
print(val, [p for p in ps] , False)
if flag:
# P1 P2 P3
res = [[0 , p2 + p5 + p6, p4 + p5 + p6], # P1
[p3 + p4 + p1, 0 , p3 + p4 + p6], # P2
[p1 + p2 + p3, p1 + p2 + p5, 0 ]] # P3
print(np.matrix(res))
for i in range(1,10):
test(i)
Que resultan en esto:
1 [1, 4, 4, -2, -2, 5] False
2 [2, 3, 3, -1, -1, 4] False
3 [3, 2, 2, 0, 0, 3] True
4 [4, 1, 1, 1, 1, 2] True
5 [5, 0, 0, 2, 2, 1] True
6 [6, -1, -1, 3, 3, 0] False
7 [7, -2, -2, 4, 4, -1] False
8 [8, -3, -3, 5, 5, -2] False
9 [9, -4, -4, 6, 6, -3] False
Lo que significa que solo hay 3 soluciones para el problema ( P(ABC) being 3, 4, or 5
). Al analizar sus matrices de Condorcet vemos que:
3 [3, 2, 2, 0, 0, 3] True
# P1 P2 P3
#P1 [[0 5 3]
#P2 [5 0 5]
#P3 [7 5 0]]
1) P3 gana sobre P1, P3 empata con P2
4 [4, 1, 1, 1, 1, 2] True
# P1 P2 P3
#P1 [[0 4 4]
#P2 [6 0 4]
#P3 [6 6 0]]
2) P3 gana sobre P1, P3 gana sobre P2
5 [5, 0, 0, 2, 2, 1] True
# P1 P2 P3
#P1 [[0 3 5]
#P2 [7 0 3]
#P3 [5 7 0]]
3) P3 gana sobre P2, P3 empata con P1, P1 gana sobre P2
Por lo tanto, no podemos concluir con certeza que P3 es el ganador usando una matriz de Condorcet, a menos que definamos un criterio de completitud para los casos en que ocurran empates. En su ejemplo, solo uno de los escenarios da a P3 como ganador sobre todas las demás partes. Para resolver este problema puedes considerar los pares clasificados del método de Schulze .
P3 es preferido sobre P2 y P1 por 5 personas que eligieron P3 primero. En el mejor de los casos, P1 o P2 podrían empatar solo por ese hecho.
P3 podría estar empatado con P2 si las 2 personas que eligieron a P1 en segundo lugar eligieron a P3 en tercer lugar. Si 1 eligió P3 primero, entonces hay al menos 6 personas (ese 1 más los 5 que eligieron P1 en tercer lugar).
P3 podría estar empatado con P1 si al menos 3 de las 6 personas que eligieron a P2 en segundo lugar eligieron a P1 en tercer lugar.
Debido a que no hay suficientes personas que eligieron a P3 en tercer lugar, solo uno de P2 y P1 podrían estar empatados.
Entonces podemos decir que P3 está al menos empatado en primer lugar. Pero no podemos decir que ni P2 ni P1 estén empatados. No se conoce ningún ganador de Condorcet.
Podemos suponer que ganó P3. Todo lo que se necesita es que las 3 personas que eligieron P3 en segundo lugar se hayan dividido entre las que eligieron en tercer lugar. Si al menos 1 eligió P2 y al menos 1 eligió P1, entonces eso empuja a P3 por encima. Pero definitivamente no podemos decir eso a partir de los datos que tiene.
A menudo hay desempates en la situación de un empate de Condorcet. Uno común sería el partido con más votos de primer lugar ganados. Eso sería P3. O podría lanzar una moneda o tirar un dado. O usa el método probabilístico de @armatita . Pero estos deberían haber sido declarados antes de la votación.
Lo más justo en este punto sería volver a realizar las elecciones con reglas más claras y posiblemente un mejor seguimiento de las boletas (contar el número de cada permutación en lugar del número con cada rango).
JJJ
0.3 # A being third
que cuando es fácil detectar p3 no puede ser tercero. De hecho, el 50% de los votantes tenía A como primera opción (lo sabemos con certeza). Entonces, para que p3 termine en último lugar, cada una de las alternativas necesita tener al menos el 50% de los votantes eligiendo la alternativa sobre p3.armatita
james k
james k
armatita
armatita
james k