Алгоритм ранжирования для викторины викторины - PullRequest
0 голосов
/ 11 июня 2018

Я создаю викторину викторины и хотел бы оценивать людей по их ответам.

Вопросы представляют собой базовые мелочи, и люди могут ответить на вопросы A, B, C или D. И тогда они правы или нет.

Я хотел бы оценить их, основываясь на их ответах, но есть проблемав каком-то конкретном случае:

Игрок 1 ответил на 10 вопросов и получил 5 правильных ответов Игрок 2 ответил на 6 вопросов и получил 5 правильных ответов

Какой из них должен быть оценен выше в этом случае?

Должен ли я использовать общее количество правильных ответов или соотношение или правильный ответ для ранжирования людей?Существует ли алгоритм, который будет использовать обе данные для обеспечения справедливого ранжирования на основе этих двух показателей?С технической стороны, как организовать данные так, чтобы я мог определить ранг игрока, не сканируя все пользовательские БД?

Дайте мне знать, если вам нужно больше подробностей.Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете наказать человека -1 баллом за неправильный ответ и призом +3 баллом за правильный ответ.Как человек, который случайным образом выбирает ответ, ожидаемая точка будет равна нулю, так что 1/4 * 3 + 3/4 * -1 = 0.

С технической стороны, если у вас есть два столбца для каждого человека, которые содержат номера неправильных и правильных ответов, выМожно рассчитать балл для каждого человека, а затем заказать их следующим образом:

SELECT person_id, (wrong_num * (-1) + correct_num * 3) as rank
FROM scores
Order by rank
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...