Представьте, что вы попросите своих товарищей по команде сделать выбор на том, кто должен организовать следующий барбекю. Ваша команда составляет около 120 человек, и вы хотите выбрать 3 человека из пула из 6 человек для выполнения этой работы. Каждый из 120 человек может голосовать до 3 человек, оценивая их: 1-й лучший человек - X, 2-й лучший человек Y, 3-й лучший человек - Z.Алгоритм для ранжирования ранжированных результатов
В конце все голоса должны быть объединены в ранжированный результат листинга.
| Candidate | Voter 1 | Voter 2 | Voter 3 |
-------------------------------------------
| A | 1. Pos | | 2. Pos |
| B | 3. Pos | 1. Pos | 3. Pos |
| C | 2. Pos | 2. Pos | |
| D | | 3. Pos | |
| E | | | |
| F | | | 1. Pos |
-------------------------------------------
Если там, где ни один рейтинг, сделанный избирателями, и каждый голос равен, было бы неплохо агрегировать результат. B получил 3 голоса, A и C получили 2 голоса. Все остальные получили меньше голосов. Победителями являются: A, B и C.
Я не знаю, какие существуют алгоритмы для агрегирования ранжированных данных, и я не знаю, как должен выглядеть результат. F получил голосование за pos.1, это хорошо, но A и B тоже получили такой голос. С моей точки зрения, A и B лучше, потому что они получили больше голосов. Но лучше, чем B? A получил pos.2 но B получил 2 раза pos.3, что должно быть оценено выше? Является 2 раза pos.2 лучше, чем 1 раз pos.1 и 2 раза pos.3?
Звучит как реализация мета-поисковой системы рейтинга альго. Какие алгоритмы существуют? Что я должен использовать?
Вопрос может быть отключен от темы, но посмотрите на метод Condorcet (http: // http: //en.wikipedia.org/wiki/Condorcets_Method), который делает попарные сравнения между кандидатами и находит который выигрывает большинство из них. –
@Terje D. href вашей ссылки недействителен, добавьте «:». – DanielaWaranie
@ DanielaWaranie. Благодарю. Правильная ссылка: [http://en.wikipedia.org/wiki/Condorcets_Method](http://en.wikipedia.org/wiki/Condorcets_Method) –