Большинство использующихся генераторов случайных чисел на самом деле псевдо-случайные. В них генерируется последовательность чисел со свойствами, близкими к тем, какими должна обладать последовательность настоящих случайных чисел. Но сама это последовательность в них фиксирована. Либо может зависеть от некоторых параметров, но впринципе заранее известным образом. Самая простая модель генератора псевдослучайных чисел - это подбросить тысячу раз монетку, записать, а потом использовать эту фиксированную последовательность, когда нужно случайное число. Для внесения большей случайности место, с которого программа начинает смотреть в эту последовательность задают с помощью внешнего случайного параметра, например времени запуска программы.
Для настоящей же случайности нужны специальные устройства, основанные на принципах квантовой механики. Но это сложно и дорого, для большинства задач годятся и псевдослучайные генераторы
можно еще использовать данные полученные от атмосферных шумов. рандом орг так делает.
Airat, насмотрятся научпопов от топлеса, а потом чепуху ретранслируют.
(Я не про атмосферные шумы, а про Топлеса)
Можно узнать заранее какой номер у меня выподит
634606 Азамат, можно, ваш номер 14134
Можно узнать заранее какой номер у меня выподит
Иоффе уже не тот
младший научный сотрудник ФТИ им. Иоффе рекомендует:
"подбросить тысячу раз монетку, записать, а потом использовать эту фиксированную последовательность, когда нужно случайное число"
Но получится простое повторение этой самой последовательности.
А ведь сам он критикует генераторы случайных чисел тем что:
"сама последовательность в них фиксирована"
В общем критикуя одну систему, автор предлагает то же самое.
Не порядок.
Алексей Вавилов, прочитайте ответ еще раз. Я не критикую, а объясняю как оно работает и привожу конкретный пример реализации.
Так, опять кошки вам не авторитет. Случайные числа не надо генерировать - по факту числовые величины которые не ложатся в границы эксперимента - н-е н-у-ж-н-ы.
Тимур Мишин, Например, для шифрования? :)
В программировании истинного генератора случайных чисел (пока) не существует. Возмжно, решения на базе квантовых компьютеров позволят реализовать это решение.
В своё время использовали для получения белого шума специальные полупроводниковые приборы. Так и назывались "генератор шума" (наподобие 2Г401 https://www.chipdip.ru/product0/9000355107). Теоретически, если оцифровать сигнал с его выхода, получите случайный цифровой поток.
Зачем вам квантовая механика, все намного проще.
Я программист и сам писал свой генератор случайных чисел, берете текущее значение наносекунд или берете несколько таких значений наносекунд и применяете к наносекундам свою какую-нибудь формулу или просто некоторые числа вытаскиваете из этих наносекунд и их вместе стыкуете и в итоге получается очень даже случайное число.
Изначально сеятель рандома на компах построен на временной метке. При чем один раз ловили прикол. Два разных компа в разных часовых поясах сгенерировали одну последовательность.
Но использовался простейший алгоритм на js.
Как-то баловался на эту тему. В принципе программный генератор вполне прост и реален. Сеятель да, на часах, а вот дальше несколько простых алгоритмов и вуаля. Достаточно рандомно.
Несомненно работа генератора случайных чисел, лично мне напоминает работу генератора паролей, где его цифровое значение невозможно предугадать.
Если одну цифровую динамическую чепуху в цикле смешать с другой, то в случайном моменте получим число. Вопрос какой длины. Разницы никакой. Всё равно это будет генератор случайного числа.
В компьютере генерация случайных цифр связана со временем. В тот момент когда делался запрос фиксировалось время. Брались доли секунды сотые или тысячные в зависимости от диапазона в запросе.