A maioria das abordagens ingênuas do problema apresenta alguns problemas sérios. O pior é como bash.org e qdb.us exibem as cotações - os usuários podem votar uma cotação para cima (+1) ou para baixo (-1), e a lista das melhores cotações é classificada pela pontuação líquida total. Isso sofre de um viés de tempo horrível - citações mais antigas acumularam um grande número de votos positivos por meio da simples longevidade, mesmo que sejam apenas ligeiramente humorísticas. Este algoritmo pode fazer sentido se as piadas ficarem mais engraçadas à medida que envelhecem, mas - acredite em mim - elas não ficam.
Existem várias tentativas de corrigir isso - olhar para o número de votos positivos por período de tempo, ponderar votos mais recentes, implementar um sistema de decadência para votos mais antigos, calcular a proporção de votos positivos para negativos, etc. A maioria sofre de outras falhas.
A melhor solução - eu acho - é o que os sites o mais engraçado o mais bonito , o mais justo e melhor coisa de uso - um sistema de votação Condorcet modificado :
O sistema dá a cada um um número baseado em, das coisas que enfrentou, em qual porcentagem delas ele normalmente bate. Assim, cada um obtém a pontuação percentual NumberOfThingsIBeat / (NumberOfThingsIBeat + NumberOfThingsThatBeatMe). Além disso, as coisas são excluídas da lista superior até que sejam comparadas a uma porcentagem razoável do conjunto.
Se houver um vencedor Condorcet no conjunto, este método o encontrará. Como isso é improvável, dada a natureza estatística, ele encontra aquele que está "mais próximo" de ser um vencedor do Condorcet.
Para obter mais informações sobre a implementação de tais sistemas, consulte a página da Wikipedia sobre pares classificados deve ser útil.
O algoritmo requer que as pessoas comparem dois objetos (sua opção Pick-A-ou-B), mas francamente, isso é uma coisa boa. Acredito que seja muito bem aceito na teoria da decisão que os humanos são muito melhores em comparar dois objetos do que em classificações abstratas. Milhões de anos de evolução nos tornam bons em colher a melhor maçã da árvore, mas terríveis em decidir quão perto a maçã que colhemos se aproxima da verdadeira forma platônica de maciez. (Este é, a propósito, o motivo pelo qual o Processo de Hierarquia Analítica é tão bacana ... mas isso está saindo um pouco do assunto.)
Um último ponto a fazer é que o SO usa um algoritmo para encontrar as melhores respostas que é muito semelhante ao bash.org algoritmo do para encontrar a melhor citação. Funciona bem aqui, mas falha terrivelmente ali - em grande parte porque uma resposta antiga, bem avaliada, mas agora desatualizada, provavelmente será editada. bash.org não permite a edição, e não está claro como você faria para editar piadas antigas sobre memes da internet agora datados, mesmo se você pudesse ... Em qualquer caso, meu ponto é que o algoritmo certo geralmente depende dos detalhes do seu problema. :-)