Я хотел бы ранжировать или сортировать коллекцию предметов (с размером потенциально более 100 000), когда элементы в коллекции не имеют собственного (сравнимого) значения, вместо этого все, что у меня есть, это сравнения между любыми два предмета, которые были предоставлены пользователями в субъективной манере.Алгоритм ранжирования на основе сравнения
Пример: Рассмотрим коллекцию с элементами [a, b, c, d]
и сравнения пользователями b > a
, a > d
, d > c
. Правильный порядок этой коллекции будет [b, a, d, c]
.
Этот пример является простым, однако может быть более сложные случаи:
- Поскольку сравнения субъективны, пользователь может также сказать, что
c > b
. В этом случае это может привести к конфликту с указанным выше порядком. - Также у вас могут не быть сравнений, которые «соединяют» все элементы, то есть
b > a
,d > c
. В этом случае упорядочение неоднозначно. Это может быть[b, a, d, c]
или[d, c, b, a]
. В этом случае допустимо либо упорядочение.
Если возможно, было бы неплохо как-то учесть несколько экземпляров одного и того же сравнения и дать людям с более высокими вхождениями больший вес. Но решение без этого условия было бы приемлемым.
Аналогичное применение этого алгоритма использовалось приложением FaceMash от Цукерберга, где он оценивал людей на основе сравнений (если я правильно понял), но я не смог найти, что это за алгоритм.
Существует ли уже существующий алгоритм, который может решить проблему выше? Я не хотел бы тратить силы, пытаясь придумать один, если это так. Если нет конкретного алгоритма, есть ли, возможно, определенные типы алгоритмов или техник, на которые вы можете указать мне?
Если вы заинтересованы в использовании (больше, чем в разработке), вы должны попытаться оценить нашу систему ранжирования. Это отличается от системы ранжирования Elo и Glicko (здесь [сравнение] (https://rankade.com/ree#ranking-system-comparison)), поскольку он может управлять совпадениями с 2 + фракциями (т. Е. Элементами в вашем сценарии). В отличие от TrueSkill, рангад является бесплатным и простым в использовании. –