Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание объекта при заданной верооятности его создания


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(), реализующую Гауссов "колокольчик"


Наверх

Титульная страница Поиск, карта сайта Написать письмо