История изменений
Исправление crutch_master, (текущая версия) :
$RANDOM выдаёт число в диапазоне 1 - 32767. Оно условно-равномерно распределено, т.е. на дистанции вероятность для каждого числа одинаковая. И тут мы делаем $RANDOM % 21600. Ясное дело, что при одинаковой вероятности получения 1 и 21601 в $RANDOM мы получаем на выходе всё от 1 до 11167 с двойной вероятностью. Данный костыль сглаживает эту неточность, в таком случае вероятность появления какого-то диапазона не больше на 1/8 от остальных.
Как работает: (($RANDOM % 4320) * 5) выдаёт все тоже число в диапазоне 5 - 21600, но и интервалом 5 (т.е. 5, 10, 2015, 4080 и т.д), ($RANDOM % 5) сглаживает это интервал, чтобы получилось нормальное радномное число 0 - 21600
fix: надо отнимать: $(( (($RANDOM % 4320) * 5) - ($RANDOM % 5) ))
Исходная версия crutch_master, :
$RANDOM выдаёт число в диапазоне 1 - 32767. Оно условно-равномерно распределено, т.е. на дистанции вероятность для каждого числа одинаковая. И тут мы делаем $RANDOM % 21600. Ясное дело, что при одинаковой вероятности получения 1 и 21601 в $RANDOM мы получаем на выходе всё от 1 до 11167 с двойной вероятностью. Данный костыль сглаживает эту неточность, в таком случае вероятность появления какого-то диапазона не больше на 1/8 от остальных.
Как работает: (($RANDOM % 4320) * 5) выдаёт все тоже число в диапазоне 5 - 21600, но и интервалом 5 сек. (т.е. 5, 10, 2015, 4080 и т.д), ($RANDOM % 5) сглаживает это интервал, чтобы получилось нормальное радномное число 0 - 21600
fix: надо отнимать: $(( (($RANDOM % 4320) * 5) - ($RANDOM % 5) ))