Задать вопрос
@Nwton

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

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

Допустим есть обычный генератор 0-100. Как в итоге преобразовать полученное случайное число в подходящее под условия? Экспериментировал с корнем и log, но не вышло.
  • Вопрос задан
  • 299 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 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) случайных величин, потом взять экспоненту.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы