Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Как правильно сделать генерацию чисел |
Автор: orsobruno 13.2.2011, 20:12 |
Помогите не математику. Что дано. Конечное множество событий X, допустим 5. Значения также известны. Известно мат ожидание. Неизвестно распределение вероятностей. Собственно вопрос, не могу понять, будет ли влиять значение дисперсии на результаты. Допустим при 1 млн. генерации чисел, будет ли разница для разных вероятностей соответствующих событий. Ведь, насколько я понимаю, при уменьшении величины среднеквадратичного отклонения процесс становится менее случайным. Значит ли это, что становится более вероятным что выборка будет более близка к мат ожиданию, чем при распределении с большей дисперсией? Или я совсем во всем не прав? Всем заранее спасибо! |
Автор: orsobruno 13.2.2011, 21:20 | ||
Спасибо. И все же как правильно вычислить вероятности, чтобы максимально приблизить результаты выборки к мат ожиданию, я делаю просто
Но по серии тестов заметил, что если назначить вероятности используя меньшее среднеквадратич отклонение, результаты выборки более близки к мат ожиданию |
Автор: alexvs11 13.2.2011, 21:33 |
поясните вашу программу, я только понял, что prob - плотность вероятности, а cumulative видимо функция распределения как они рассчитываются я не понял Добавлено через 30 секунд что за веса собсно |
Автор: orsobruno 13.2.2011, 21:52 |
weight - это значения случайной величины. сначала, исходя из веса, я рассчитываю вероятности, исходя из того что мат ожидание = 1 3*prob[1]+30*prob[2]+300*prob[3]+3000*prob[5] = 1 так как пользователь может выбрать Мат ожидание (у меня - gain), я корректирую вероятности под текущий gain. Так как всегда существует еще значение случайной величины = 0, 3*prob[1]+30*prob[2]+300*prob[3]+3000*prob[5] +0*prob[6] = gain добавляю в массив вероятностей его. Далее функция распределения, далее генератор. |