2010-12-29 4 views
0

회원들이 상위 10 위 목록이나 상위 10 위 순위를 제출하고 일부 알고리즘에 결과를 결합하도록 요청했습니다. 거기에 뭔가있어?사용자가 제출 한 순위

감사합니다.

+6

이것이 내가 본 지금까지 보아온 애매한 질문이라고 생각합니다. 적어도 10 위 안에 든다. – Oded

+0

한 번에 모호하고 구체적입니다. "어떤 알고리즘 랭킹이 상위 10 개 목록을 합산하는 데 가장 적합합니까?" 열어두면 대답은 가치가 있어야합니다. –

+0

실생활에서 대학 축구는 AP와 코치의 결합 된 순위를 사용하여 순위를 결정합니다.나는 그들이 랭킹을 결합하기 위해 무엇을 사용 하는지를 밝혀 내지 못했지만 같은 것을하기를 원했다. – killerbarney

답변

0

사용자가 지정한 순위의 각 항목을 합산 한 다음 정렬 할 수 있습니다.

예 :

따라서
A = (a,b,c) 
B = (a,c,b) 
C = (b,a,c) 
D = (c,b,a) 
E = (a,c,b) 
F = (c,a,b) 

a = 1 + 1 + 2 + 3 + 1 + 2 = 10 
b = 2 + 3 + 1 + 2 + 3 + 3 = 14 
c = 3 + 2 + 3 + 1 + 2 + 1 = 12 

,

  1. C
  2. B
1

아아, 즉 개방형 괜찮아. 두 사람이 투표 곳의 간단한 경우를 생각해 보자 : 그것은 BRAVO와 같은 표를 가지고 있지만

1 ALPHA 
2 BRAVO 
3 CHARLIE 

1 ALPHA 
2 DELTA 
3 BRAVO 

우리는 ALPHA 분명히 승리한다 ... 계산에 의해 순수하게 갈 수 있습니다. 그럼에도 불구하고, 우리는 1 위표가 단지 10 위표의 엄청난 양을 차지하는 경우를 피해야합니다.

$score = log($num_of_answers - $rank + 2) 

첫번째 장소는 다음 조금 한 점 이상의 가치가있을 것입니다, 그리고 0.3 포인트를 얻을 것이다 10 위 :이 작업을 수행하기 위해, 나는 다음을 제안한다. 로그 스케일링은 말도 안되는 우성을 막아 주지만 여전히 순위에 영향을줍니다. 이 예문표에서 10 개 목록 중 3 위를 차지한다면 다음과 같이 표시됩니다.

ALPHA: 2.08 
BRAVO: 1.95 
DELTA: .1 
CHARLIE: .95 

왜? 그게 주관적인거야. 4 위의 10 위 표가 1,000 표 1 표의 가치가 있다는 것을 매우 긴 목록에서 느낀다. 로그의 기준 (자연, 2 등)을 변경하여 다르게 스케일을 조정하거나 다른 시스템을 선택할 수 있습니다.

-1

나는 다음과 같은 가정 집계 순위를 만들려면 max flow algorithm를 사용하여이 문제를 해결할 수 있다고 생각 :

  1. 항목의 목록에서 각각의 고유 항목이 그래프의 노드입니다. 예 : 투표 할 항목이 10 개있는 경우 노드가 10 개 있습니다.
  2. _single 사용자의 submit_ ranking에서 * a *가 * b * 앞에 있으면 가장자리가 노드 * a *에서 노드 * b *로 이동합니다.
  3. 에지를 가질 것이다 _single 사용자 submitted_ 순위에서 생성 마지막 노드가 * 싱크 *에서 지적
  4. _single 사용자 submitted_ 순위에서 생성 된 첫 번째 노드는 * 소스 *로부터 수신 에지 것이다

집계 상위 10 개 목록을 가져와야합니다.

+0

나는 그것이 어떻게 관련되어 있는지 완전히 이해하지 못한다. 그는 순위를 매기는 방법에 대해 묻고 있지만 2 단계에서는 순위가 결정되었다고 가정합니다. –

+0

2 단계에서 랭킹은 당신이 쓴 것처럼 "1 ALPHA, 2 BRAVO, 3 CHARLIE"입니다. 나는 내 대답을 다시 말할 것이다. 이치에 맞지 않으면 알려주세요. – Davidann

관련 문제