Комментарии 14
Главное на продакшене не забыть поставить правильный параметр, а то функция RAND() может выдавать совсем не то, что требуется.
Как, например, во время первого вызова выдавать одно и то-же число.
Потому что это для режима отладки.
Тема очень актуальная. Станислава Лем целый роман на эту тему написал — «Голос неба».
Но, к сожалению, в статье тема не раскрыта полностью. Так:
ГИСЧ считаются «истинными», так как используют в качестве источника энтропии внешний источник, расположенный за пределами компьютерной программы – например, погоду, атмосферные помехи или промежутки времени, в течение которых вы удерживаете клавиши на клавиатуре вашего компьютера.
ИМХО погода — не лучший источник. Все знают, что летом бывает жарко, а зимой холодно, за морозом будет оттепель. В менеджерах паролей используют закрашивание квадрата мышью. Это выглядит надежнее. В железе используют шум полупроводниковых диодов, что почти не хуже ядерной реакции. Но если детерминизм Лапса, которому философы пока не придумали строгого опровержения, верен, то с идеей абсолютно случайных чисел придется проститься ;)
Станислава Лем целый роман на эту тему написал — «Голос неба».
Вы имели в виду "Глас Господа" (Głos Pana)?
А при чем тут жарко и холодно. Десятые доли градуса за окном это практически случайная величина. Как и последняя цифра s&p 500
Слышал байку, что в музыкальных плеерах (вроде бы эпл) из-за жалоб пользователей отказались от "настоящей" рандомизации в функции перемешивания треков, потому что настоящий рандом кажется человеку "недостаточно" случайным.
Помню, когда в университете проходили алгоритмы сортировки я спросил преподавателя, мол, если есть алгоритмы сортировки, существуют ли алгоритмы с противоположным действием? И преподаватель только странно посмотрела на меня и спросила "А зачем?"
В играх во многих случаях не используется настоящая случайность, т.к. теория вероятности не интуитивна, человеку кажется, что чем больше сделано неудачных попыток, тем больше шанс получить результат в следующий раз. Так что подкручивают в плюс постепенно, чтобы соответствовать ожиданиям.
Или еще есть вариант для free-to-play: регулировать шансы по некоей эмпирической кривой, с одной стороны подводя к тому, что бы игрок задонатил, с другой - не доводя до того, чтобы бросил играть совсем.
Имеет место распространенная путаница в различных понятиях, в обиходе называемых "случайностью":
случайность бытовая - синоним непредсказуемости;
случайность математическая (случайная величина) - очень предсказуемая вещь, своего рода противоположеность бытовой случайности.
Если вас интересует по-настоящему сложное шифрование, обратите внимание на SHA-256 [13]. SHA означает “Secure Hash Algorithm” (алгоритм криптографического хеширования).
SHA-256 – основа защиты большинства блокчейнов, а также стандартный метод шифрования в АНБ и ЦРУ.
Кажется автор не понимает разницу в шифровании и хэшировании.
Создавая непредсказуемость. Примеры использования генераторов случайных чисел