2012-01-19 2 views
3

좋아, boost :: random :: discrete_distribution에서 가중치/확률을 부여하는 것이 가능합니다.부스트 무작위 :: discrete_distribution 일단 구성된 가중치를 변경하는 방법?

이중 확률 [0.5, 0.1, 0.1, 0.1, 0.1, 0.1 };

boost :: random :: discrete_distribution < dist (확률);

질문은 : 객체되면 DIST

을 구성되어

(1) 예를 들어, 가중치 중 하나를 변경하는 방법 0.5 내지 0.3?

(2) 모든 가중치를 한 번에 재 할당하는 방법은 무엇입니까?

답변

3

새 배포 개체를 만들어 대신 사용하십시오.

+0

개체를 만든 다음 루프에서 가중치를 변경하는 방법을 생각했습니다. 매번 새로운 객체를 생성하는 오버 헤드가 걱정되었습니다. – 911

+1

@sam : 이는 조숙 한 최적화입니다. 새 오브젝트를 다시 작성하여 성능 영향을 측정 했습니까? 코드가 잘 작동하고 유지 보수하기 쉽도록 코드를 작성해야합니다. 그런 다음 **, 성능 문제가있는 경우 ** 이러한 우려 사항에 대해 걱정하십시오. – ereOn

+1

개체 생성의 오버 헤드에 대해 걱정하지 마십시오. 문제의 임의 엔진을 반복 실행합니다. ** 먼저 측정하고 나중에 최적화하십시오. ** – spraff

관련 문제