2014-09-17 2 views
1

4 인조로 구성된 그룹이 있고, 각각이 소규모 4 인 그룹에 속한 상위 3 인의 순위를 결정했다고 가정 해 보겠습니다. 이 그룹을 무작위로 생성하는 좋은 알고리즘은 무엇입니까? 그러나 한 사람이 자신의 목록에있는 첫 번째, 두 번째 및/또는 세 번째 사람과 함께있을 가능성이 더 큽니까?가중치가있는 사람들을 그룹화하는 데 적합한 알고리즘은 무엇입니까?

e.e. 가중치 그룹화 알고리즘 (Google에서 찾은 내용은 모두 네트워킹 용입니다.)

+1

안정적인 결혼 및 유사한 문제와 유사한 소리 http://en.wikipedia.org/wiki/Stable_marriage_problem – hatchet

+1

[환경 설정 기반 그룹화 알고리즘] (http://stackoverflow.com/questions/16313591/algorithm- 우선 순위 기반 그룹화) – hatchet

답변

2

이 문제는 상세하지 않습니다. 쉬운 접근 방법은 Metropolis--Hastings입니다. 예를 들어, 그룹화의 스코어가 만족 된 제 1 선택의 수에 만족 된 제 2 선택의 수와 만족 된 제 3 선택의 수의 합을 더한 수의 3 배인 스코어 함수를 정의한다. 완전 무작위 그룹부터 시작하십시오. 두 사람을 무작위로 선택하고 (기술적 인 이유로 대체) 스왑하고 점수를 다시 계산하십시오. Math.random()이 새 점수를 이전 점수로 나눈 값보다 큰 경우 다시 채 웁니다. 이 마르코프 체인 몬테카를로 과정은 점수 가중치가 부여 된 무작위 그룹으로 수렴됩니다.

관련 문제