Estoy tratando de encontrar nuestra forma de calcular el rango. En este momento, simplemente toma la proporción de ganancias/pérdidas de cada entrada individual, por ejemplo, uno ganó 99 veces de un 100, tiene un 99% de rango ganador. PERO si una entrada ganó 1 de un total de 1 votos, tendrá un rango de 100% de ganancia, pero definitivamente no puede ser más alta que la que ganó 99 veces. ¿Cuál sería una mejor manera de hacer esto?Algoritmo de votación: cómo calcular el rango?
Respuesta
Dependiendo de lo complicado que desea hacerlo, los usos de ajedrez sistema Elo (o algo similar) pueden ser lo que quiere: http://en.wikipedia.org/wiki/Elo_rating_system
Incluso si una persona ha ganado 1/1 partidos, la clasificación sería muy por debajo de alguien que ha ganado/perdido cientos de partidos contra oponentes difíciles, por ejemplo.
Gracias, excelente recurso. –
si entiendo la pregunta correctamente, entonces quien obtenga más votos tiene el rango más alto.
No, mira mi comentario a dball917 arriba –
también podría usar algo como esto para obtener un puntaje%: puntuación = (ganar/(ganar + perdido)) * 100 – infinitloop
Siempre se puede usar un sistema de puntos en lugar de una relación de ganancia/pérdida. Ganar siempre daría puntos y luego podría jugar eliminando puntos por perder, no otorgando puntos por perder o otorgando menos puntos por perder. Todo depende exactamente de cómo quieres que se clasifique a las personas. Por ejemplo, es posible que desee otorgar 2 puntos por ganar y 1 punto por perder si desea favorecer a las personas que participan sobre las que no (lo que suena como lo que estaba hablando en su ejemplo de la persona que juega 100 partidos vs. 1 juego). La NHL usa una técnica similar para las clasificaciones (2 puntos por una victoria, 1 punto por una pérdida de tiempo extra, 0 puntos por una pérdida regular). Eso podría darte más flexibilidad.
De esta manera, las entradas nuevas y mejores NUNCA podrán ponerse al día con las anteriores si usamos puntos. Siempre tendrán un retraso incluso si su proporción de victorias/pérdidas es mayor. –
Sí, como dije, depende de lo que quieras hacer. La publicación parecía indicar que quería favorecer a las personas con más juegos jugados. – dball917
¿Tendría sentido agregar más rango a la entrada ganadora si perder la entrada originalmente tenía un rango mucho más alto, p. competidor mucho más fuerte?
intentar algo como esto:
votes = wins + losses
score = votes * (wins/votes)
De esa manera, algo con el 50% gana, pero un millón de votos todavía estarían por delante de algo con el 100% de victorias, pero sólo un voto.
Usted puede agregar en un peso adicional en función de la edad (en días en este ejemplo), también, algo así como
if age < 5:
score = score + ((highest real score on site) * ((5 - age)/5)
Esto pondrá nuevas entradas a la derecha en la parte superior de la primera página, y luego se moverán lentamente hacia abajo en la lista en el transcurso de los próximos 5 días (supongo que la edad es un número fraccionario, no solo un número entero). Después de que hayan transcurrido los 5 días, se incluirán en la lista basándose únicamente en el puntaje del bit de pseudocódigo anterior.
Creo que meen puntuación = votos * (gana/pierde) – assaqqaf
- 1. Calcular rango de una combinación?
- 2. Algoritmo de votación de tiempo lineal. No lo entiendo
- 3. Algoritmo para calcular el horario dado restricciones
- 4. ¿Existe un algoritmo para votación anónima, cambiante y segura?
- 5. Algoritmo para calcular el polígono restante después de la resta
- 6. algoritmo reto: rango de fechas fusión
- 7. algoritmo óptimo para calcular el resultado de una fracción continua
- 8. ¿Cómo calcular la complejidad exacta de un algoritmo?
- 9. Algoritmo para calcular las distancias entre muchos puntos geográficos
- 10. Cómo calcular la media, la mediana, el modo y el rango de un conjunto de números
- 11. Algoritmo rápido para calcular Pi en paralelo
- 12. ¿Qué es el algoritmo de votación "hacer que todos estén felices"?
- 13. algoritmo para calcular Puntos máxima en PointSet
- 14. ¿Cómo escribirías un algoritmo no recursivo para calcular los factoriales?
- 15. Votación - ¿Número de votos vs porcentaje de votos?
- 16. Ajax largo de votación el IIS
- 17. ¿Cómo implemento un sistema de votación?
- 18. Calcular si una coordenada está dentro del rango de otra
- 19. ¿Cómo diseñarías un sistema de votación RESTful?
- 20. Algoritmo de intersección de rango mejor que O (n)?
- 21. Algoritmo para calcular ordenamientos parciales de gráficos de dependencia
- 22. ¿Puede un programa calcular la complejidad de un algoritmo?
- 23. Algoritmo utilizado para calcular clasificaciones de 5 estrellas
- 24. Implementación de un algoritmo simple (para calcular la probabilidad)
- 25. Prevenir la votación doble
- 26. votación de estilo reddit con django
- 27. Symfony Doctrine Consulta para calcular el rango después de un grupo por subconsulta
- 28. ¿Qué algoritmo usar para calcular un dígito de control?
- 29. Algoritmo rápido para calcular percentiles para eliminar valores atípicos
- 30. Método eficiente para calcular el vector de rango de una lista en Python
PD Lo único que se me ocurre es corregir el rango basado en el "vencimiento" de una entrada (cuántas veces fue total en el concurso). Por otro lado, este enfoque prohibiría que todas las nuevas entradas obtengan los primeros puestos solo porque no son nuevas porque no obtienen los votos principales (hasta que "maduren" y el rango ya no esté ajustado) –