Поиск неверного ответа в тестах
есть тест. допустим 20 вопросов. всего вопросов пусть будет 1000. N людей проходит тест 1 раз и получает отчет в диапазоне 0-100%. Допустим 50 человек. Задача, найти алгоритм как можно выявить неверные ответы в тесте.
Т.е. вопросы людям даются шафлом. и могут попасться все верные, а могут совершить ошибки. пока кроме исключения вопросов из тех групп которые сдали на 100% не придумала как находить другие. пример. у 1 человека результат 80% значит около 2 вопросов неверно. как их найти, если знаем какие вопросы давали людям, и какой их итоговый балл.
upd: подробнее 50 человек сдают тест. каждому попадается по 20 разных вопросов. из общего банка вопросов в 100 вопросов. т.е. с кем-то из 50 человек будут пересечения. по итогу теста 50 человек получает процент верных ответов.0-100%. какой вопрос попался людям мы знаем, и как он ответил тоже. получается матрица сроки это человеки и их варианты ответа. по столбцам 20 ответов 21 это набранный балл. как по этим данным найти те вопросы где были совершены ошибки.
Ответы (1 шт):
Задача целочисленного линейного программирования. Набор уравнений похож на систему линейных уравнений, только переменные Aij ограничены значениями 0 и 1.
A00 + A02 = Sum0
A10 + A11 = Sum1
0 <= Aij <= 1
Если решение (каким-нибудь ILP Solver-ом) существует и единственно - получаете Aij=1 для верного ответа юзера i на вопрос j, 0 для неверного.
При приведённых в вопросе числах существование единственного решения сомнительно.