Algoritmo de classificação baseado em comparação

Gostaria de classificar ou classificar uma coleção de itens (com tamanho potencialmente maior que 100.000) em que os itens da coleção não têm valor intrínseco (comparável).tudo o que tenho são as comparações entre dois itens fornecidos pelos usuários de maneira subjetiva.

Exemplo: considere uma coleção com elementos[a, b, c, d] e comparações por usuáriosb > a, a > d, d > c. A ordem correta dessa coleção seria[b, a, d, c].

Este exemplo é simples, no entanto, pode haver casos mais complicados:

Como as comparações são subjetivas, um usuário também pode dizer quec > b. Nesse caso, isso causaria um conflito com a encomenda acima.Além disso, você pode não ter comparações que "conectem" todos os itens, ou seja,b > a, d > c. Nesse caso, a ordem é ambígua. Poderia ser[b, a, d, c] ou[d, c, b, a]. Nesse caso, qualquer pedido é aceitável.

Se possível, seria bom, de alguma forma, levar em consideração várias instâncias da mesma comparação e dar mais peso às ocorrências mais altas. Mas uma solução sem essa condição ainda seria aceitável.

Uma aplicação semelhante desse algoritmo foi usada pelo aplicativo FaceMash de Zuckerberg, onde ele classificou as pessoas com base em comparações (se eu entendi direito), mas não consegui encontrar o que realmente era esse algoritmo.

Existe um algoritmo que já existe que pode resolver o problema acima? Eu não gostaria de gastar esforços tentando encontrar um, se for esse o caso. Se não houver algoritmo específico, existem talvez certos tipos de algoritmos ou técnicas que você possa me indicar?

questionAnswers(3)

yourAnswerToTheQuestion