Рандомное число



  • Как можно сделать рандомное число, допустим от 0 до 10, где чаще всего будут появляться, например, значения 2 и 3, а остальные тоже будут появляться, но реже?


  • administrators

    @senerg

    Как можно сделать рандомное число, допустим от 0 до 10, где чаще всего будут появляться, например, значения 2 и 3, а остальные тоже будут появляться, но реже?

    Вы бы перечитывали свои сообщения прежде чем отправлять.. Я вот раза с третьего понял, и то может не верно понял :D

    Действие "случайное число" от 0 до 100
    if число < 10 (10% вероятности)
    if число < 20 (20% вероятности)
    if число < 30 (30% вероятности)
    if число < 40 (40% вероятности)
    и так далее



  • @fox А я ничего не понял из того, что вы написали)
    Я имел в виду, что просто рандомное число появляется с одинаковой вероятностью, т.е. при большом количестве повторений оно будет выглядеть прямой линией на графике. А как получить такой график?

    0_1538401954693_f4adeb97-686e-42cf-b34f-da755271e42d-image.png



  • @senerg пробуй вместо "случайное число" генерировать случайную строку длинной в 1 символ, а в доступные символы выбирай что-то типа "01222333456789".



  • @senerg а если используешь число как целочисленную переменную, то его можно потом перевести в число - Number(n)



  • @pragmatik Что это даст?
    Мне в голову приходит только создать массив, например из 100 строчек, из чисел от 1 до 10, где чем больше повторяется какое-то число, тем больше у него будет вероятность при обычном рандоме по этому массиву. Но это не очень удобно, может есть более красивое решение получить управляемый рандом?



  • @senerg
    Pragmatik верно ответил на ваш вопрос.
    01222333456789



  • @forall said in Рандомное число:

    Pragmatik верно ответил на ваш вопрос.

    Если диапазон случайных чисел это миллисекунды от 0 до 2 часов, то как?



  • @senerg said in Рандомное число:

    Если диапазон случайных чисел это миллисекунды от 0 до 2 часов, то как?

    Ни кто не знает?


  • administrators

    @senerg Опиши задачу, которую ты хочешь решить этим способом, возможно есть способ проще и нагляднее?



  • @fox Хочу сделать ожидание от 0 до 2 часов рандомное, но с пиком вероятности, смещенным минут на 15. И где-то каждый 50-й цикл чтобы выпадало на 2 часа.



  • @senerg
    иф рандом(0,1)==0
    рандом(1 час,2 часа)
    елсе
    рандом(45 мин, 1 час 45 мин)
    Получается вероятность вероятности в половине случаев обычный рандом, в половине случае смещенный на 15 мин.
    можно задать другое распределение. Можно задать процентную вероятность
    иф рандом(1,100)<=30
    в 30% случаев будет делаться то-то



  • @viktor Ну так это будут фиксированные 1 час или 2 часа. А я-то говорю о плавном графике



  • @senerg
    надо в математику имхо копать. твой график по какой формуле строится?



  • @senerg
    два часа несложно перевести в милисекунды. и уже между ними рандом. можно также по формуле часы*3600000



  • @viktor said in Рандомное число:

    твой график по какой формуле строится

    Да тут формула не важна, главное сделать управляемое смещение вероятности плавное, без рывков.

    @viktor said in Рандомное число:

    два часа несложно перевести в милисекунды. и уже между ними рандом

    Если делать так, то рандом будет выглядеть прямой линией. А это уже будет выглядеть подозрительно.



  • @senerg как же, не важна, если в ней эта плавность и заложена
    управляемое чем? по каким правилам?
    рандом дает числа с одинаковой вероятностью. Чтобы повысить вероятность вероятности надо вводить формулу, раз уже не хотите ступенькообразно



  • @senerg
    ааа подозрительно)? Нате. Отсюда совсем не подозрительно)
    https://www.random.org/



  • @viktor said in Рандомное число:

    как же, не важна, если в ней эта плавность и заложена

    Подойдет любая функция, которая будет иметь 2 минимума и один максимум. Какой конкретно будет радиус закругления у "плавности" не важно.



  • @senerg
    https://toster.ru/q/31307
    вот тут ряд решений задачи