@Nwton

Какую формулу можно подобрать?

Необходимо сделать генератор случайных чисел. При генерации, может выпасть целое/нецелое число от 0 до 100. Но чаще всего должно выпадать число в промежутке 0-5, причем таким образом, что бы среднее арифметическое всех чисел в итоге получилось 1.

Допустим есть обычный генератор 0-100. Как в итоге преобразовать полученное случайное число в подходящее под условия? Экспериментировал с корнем и log, но не вышло.
  • Вопрос задан
  • 299 просмотров
Решения вопроса 2
@choupa
Архитектор (обычный, который строит)
Требуется подобрать функцию отображения, интеграл которой на отрезке [0,1] равен интегралу на отрезке [1,100]. Пусть это будет монотонно убывающая функция. Давайте возьмём 1/(x+a), где a — положительный параметр.

Подберём значение параметра, чтобы выполнялось указанное выше условия нормировки интегралов.

Неопределённый интеграл равен ln(x+a)-C.

Определённый интеграл [0,1] = ln(a+1) - ln a = ln ( (a+1) / a)
Определённый интеграл [1,100] = ln(a+100) - ln (a+1) = ln ( (a+100) / (a+1))

Приравниваем их, убрав логарифмы, получаем уравнение (а+1)(а+1) = a(a+100).
Решение: a=1/98

Искомое отображение для генератора случайных чисел f(x) = 98/(98x+1)

__________________________

UPD: Чёрт. Это будет не среднеарифметическое равно 1, а медиана. Сейчас допилиим задачу.

__________________________

UPD2: Чтобы было мат.ожидание равно 1, надо приравнивать друг другу не просто интегралы, а интегралы квадрата функции отображения.

Чтобы не пересчитывать, можно сказать, что полученная выше 98/(98x+1) — это не само отображение, а его квадрат. Т.е. ответ f(x) = sqrt ( 98/(98x+1) )

Может и ошибся, но лень думать. Всё, спать!
Ответ написан
vesper-bot
@vesper-bot
Любитель файрволлов
С разбегу подойдет логнормальное распределение с параметрами (-0.5, 1). Как генерировать - преобразованием Бокса-Мюллера из двух равномерно распределенных на (0,1) случайных величин, потом взять экспоненту.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы