Форум: "Игры";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизСоздание объекта при заданной верооятности его создания Найти похожие ветки
← →
orion_st (2002-12-18 15:22) [0]Необходимо создать объект, если задана вероятность его создания, т.е. если вероятность - 30%, то с такой вероятностью объект и создастся. Умом это я понимаю, но как это программно реализовать?
← →
Digitman (2002-12-18 15:33) [1]imho, для этой задачи можно попытаться приспособить (с некоторой погрешностью, конечно) гауссово распределение случ.величин
посмотри ф-цию RandG(), реализующую Гауссов "колокольчик"
← →
MBo (2002-12-18 15:51) [2]или просто
J:=random(10);
if J<3 then
Obj:=TObj.Create;
← →
Digitman (2002-12-18 15:53) [3]
> MBo
с Random() погрешность вероятностной величины, imho, больше будет(
← →
pasha676 (2002-12-18 16:28) [4]>> с Random() погрешность вероятностной величины, imho, больше >>будет(
А нельзя ли пояснить эту глубокую мысль?
← →
orion_st (2002-12-18 16:43) [5]Дело в том, что у меня могут быть вероятности с точностью до одной сотой, т.е, например, 33,89%.
А где эту функцию RandG брать? Вообще-то интересует С(С++) приближение.
← →
Digitman (2002-12-18 16:59) [6]
> pasha676
Для начала поясни, каковы твои глубокие сомнения
> orion_st
модуль Math
← →
pasha676 (2002-12-18 18:14) [7]
> Дело в том, что у меня могут быть вероятности с точностью
> до одной сотой, т.е, например, 33,89%.
Ну и какие проблеммы? Общий алгоритм такой - практически любой язык программирования позволяет получить псевдослучайное число от 0 до 1. Оно обычно real. Вот и сравнивай это число с заданной вероятностью. В твоем примере с 0,3389.
> Для начала поясни, каковы твои глубокие сомнения
Генератор псевдослучайных чисел дает равномерное распрелделение. Если тебя не устраивает равномерное или псевдослучайное надо с большим параметром между повторениями - то делаешь свой или накручиваешь компьютерный генератор. Но выражение "погрешность вероятностной величины" - это бред в применимости к примеру МВо.
← →
Digitman (2002-12-19 09:53) [8]
> Если .. не устраивает равномерное или псевдослучайное
> надо с большим параметром между повторениями - то делаешь
> свой или накручиваешь компьютерный генератор
Вот именно ! RandG() по сути это и делает. Взгляни в код ф-ции)Следует лишь выбрать нужный участок в диапазоне областей определения и значения ф-ции
← →
pasha676 (2002-12-19 10:17) [9]2Digitman
Сорри, но я все таки не понял, что тебе нужно.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c