Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Может ли компьютер и человек выдать по-настоящему случайное число?

ТехнологииНаукаТеория науки
Олег Луска
  · 29,4 K
Физик-теоретик, PhD  студент в Университете Уппсалы, Швеция  · 1 июл 2015

Компьютер может, а человек — нет.

Но для начала давайте разберемся с понятием случайных чисел. Когда мы говорим о случайных числах, то всегда говорим об их последовательности, а не об одном или нескольких. Само это понятие берется из теории вероятностей и статистики. Случайное число должно быть случайным, то есть независимым от всех остальных чисел последовательности. Кроме того эти числа должны подчиняться какому-то распределению, например гауссовому или равномерному, что тоже имеет место только в случае большого набора чисел.

Человек очень плох в качестве генератора случайных чисел. Человеческие "случайные" последовательности "ловятся" очень просто. Это связано с нашим неверным интуитивным пониманием теории вероятностей (отсюда в ней так много кажущихся парадоксов). Например, нам кажется, что три повторяющихся подряд числа для равномерного распределения чисел от 1 до 9 — это какое-то безумно редкое событие, а на самом деле это совсем не так.

Еще один способ распознать "человеческую последовательность" — это построить гистограмму распределения чисел. То есть посчитать сколько раз конкретное число встречается в данной последовательности. Для предыдущего примера — это 10 столбиков с высотой равной количеству раз использования данного числа в последовательности. Понятно, что высота всех столбиков должна быть примерно одинаковой. В "человеческой последовательности" будет заметный перекос в высотах.

Компьютер может справится с задачей последовательности случайных чисел, используя разные источники энтропии, например время, температуру, шум, распады ядер каких-нибудь элементов. Однако сбор энтропии — процесс нетривиальный и занимает много времени (в сравнении со скоростью работы современных процессоров), так что на практике часто используют более легкие алгоритмы генерации псевдослучайных чисел. Псевдослучайная "компьютерная последовательность" гораздо ближе к настоящей случайное последовательности, чем "человеческая", на самом деле она даже не идет с ней ни в какое сравнение.

Но в итоге получается,  что и компьютер не может выдать действительно случайное число, так?

Вопрос очень четко сформулирован: в нем речь идет не просто о случайном числе, а о "по-настоящему случайном числе". И это очень большая разница. В вычислительных машинах довольно часто используются генераторы случайных чисел. Но эти числа только по названию случайные. Конечно же, машина есть машина. И поэтому в машине любой результат вызван определенной причиной. Другое... Читать далее

отличный ответ!

Если мир недетерменирован, то да. Достаточно измерить любой непредсказуемый физический феномен, чью непредсказуемость можно проследить до уровня законов квантовой механики (тепловой шум, атмосферный шум и т.п.)

математик-программист  · 30 дек 2015
Вообще, эта функция и подобные ей являются самыми примитивными и плохими генераторами псевдослучайных чисел. Зато они быстрые, и их хватает, если ваша задача не использует криптографию и статистические методы. Для криптография и статистика задают высокую планку для генераторов псевдослучайных чисел - стандартные функции random до такого не дотягивают. Вообще, задача... Читать далее
Программист-разработчик, опыт 15 лет, менеджер проектов, владелец небольшого софтверного...  · 4 янв 2016

Если речь не идёт о специальных средствах разработки, эта функция приводит к псевдослучайному виду путём неких модификаций значение часов на компьютере.

По образованию Автоматизатор производств. По призванию программист, психолог и философ...  · 7 авг 2016
В общем-то компьютер как раз и может. Но только, если в компьютере есть специальная плата. Детали почему сдесь: https://thequestion.ru/questions/140731/kak-rabotaet-generator-sluchainykh-chisel-yavlyaetsya-li-on-dokazatelstvom-sushestvovaniya-primitivnogo-iskusstvennogo-intellekta А человек нет. Есть довольно протой способ проверить... Не помню название алгоритма, но... Читать далее
Инженер по автоматизации. Менеджмент гос. и мун. управления.  · 4 янв 2016
Как программист и человек с детерминистскими взглядами могу сказать, что абсолютно случайных чисел не получить. Их нет в принципе в природе. Есть числа которые в данный момент времени и данной группе людей не обосновать и не обьяснить происхождение. П функции а программировании действуют по разному. Самое прикольное брать тепловой шум от датчика или вообще комплекс... Читать далее
На сегодняшний день считается: "волновая функция, несущая всю информацию о квантовой системе, позволяет рассчитать... Читать дальше
Студент, программист, любитель истории  · 20 мар 2016
Дополню ответом про компьютерную часть. Нет, не может. Генерация случайных чисел - очень важная тема в компьютерных науках. Начиная от каких-нибудь компьютерных игр (где "случайность" случайности не так важна), заканчивая защитой информации (где гарантия того, что число будет по настоящему случайным - критична). Есть 2 основных метода генерации случайных чисел: 1. "Матем... Читать далее
1 эксперт не согласен
> Но даже при таком методе по-настоящему случайным число быть не может. Это неправда. В нашем диалоге ниже автор... Читать дальше
Бармен, повар, кинолог и проводник в депрессию  · 30 авг 2018

Наверное первый раз напишу такой маленький ответ... Если вы верите в судьбу и что всё переплетено, то случайностей не бывает) Ну а так, не думая 6-7=-1=|1|= 1вот)

И один фиг это вычислила система выработанная миллиардами лет, и подчиняется алгоритму, просто если сам алгоритм... Читать дальше