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