2010-04-23 6 views
0

{송풍기, 잔디 깎는 사람, 스토브}와 같은 X 항목 세트가 있고 각 항목에는 전체 세트 {송풍기 = 25 %, 잔디 깎는 사람 = 25 %, 스토브 = 75 %}를 따라야합니다 (송풍기는 선택 초기에 더 많이 선택하고 마지막에는 더 스토브해야합니다). 우리는 전체적으로 선택 될 수있는 객체 (예 : 100)와이를 수행하는 전체 시간 (예 : 100 초)이 주어집니다.주어진 분포에서 항목 선택

휠의 가중치가 경과 시간 (및 허용 된 지속 시간)의 함수로 현재 분포의 영향을받는 룰렛 휠 알고리즘을 사용하여 간단한 함수를 사용하여 가중치를 결정할 수 있습니다. 누군가가 알고있는 이와 같은 문제에 대한 일반적인 접근법이 있습니까?

현재 I은 X로 함수를 사용하여 자바이 비슷한을 프로그래밍^2 (무게에 대한 정확한 정규화) 양호한 분포가 발생하는 것을 보장한다. 다른 제안이나 일반적인 관행은 환영받을 것입니다 :-)

+2

첫째, 귀하의 확률은 최대 125 %입니다. 둘째, 선택 과정에서 항목의 분포가 어떻게 지정됩니까? –

답변

0

문제 설명은 분명하지 않지만 이해할 수있는 대답을 시도 할 것입니다. 먼저 다음을 수행하여 가중 분포에서 임의 항목을 선택할 수 있습니다.

  1. wsum이라고하는 모든 잠재적 객체의 가중치의 합을 찾습니다.
  2. 임의의 숫자 선택 a.
  3. 누적 변수를 초기화하고 합계를 0.0으로 설정하십시오.
  4. 는 제 가능한 객체 (중량> 0.0)부터 총 중량을 추가한다.
  5. 는 < 총/wsum 경우,이 번호가 선택되고, 우리는 가능한 오브젝트들의 목록에서 제거뿐만 아니라 wsum에서의 중량을 뺀. 우리가 충분한 개체, 계속을 선택한 경우
  6. , 그렇지 않으면 2

그것은 조금 작업의 속도를 향상시키기 위해 내림차순으로 가중치으로 분류 개체를 가지고하는 데 도움이 단계로 이동합니다.

이것은 현재 배포판에서 우리가 선택한 개체를 찾는 것입니다. 배포본이 시간에 따라 변화하는 것처럼 들리므로 가능한 객체 목록을 시간에 맞게 변경해야합니다.