Добавить в корзинуПозвонить
Найти в Дзене
⚠️ Инженерные Знания

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

Если вы следите за моими статьями и видео, то наверняка заметили, что проблема случайностей меня чрезвычайно интересует. Дело в том, что есть много вопросов к существованию истинной случайности. Но даже если не лезть так глубоко в дебри, то даже "общепринятую случайность" имитировать очень сложно. Как, например, сгенерировать случайное число? Хм, ну взять какой-то алгоритм. Например, найти сайт-рандомайзер. Но есть тут одна загвоздка. Компьютер сам по себе не умеет «думать случайно», он работает строго по алгоритмам. Поэтому то, что мы называем «случайным числом», на самом деле часто генерируется по предсказуемой формуле — такой алгоритм называется псевдослучайным генератором. Он берёт какое-то начальное число, называемое зерном (seed), и по строгим математическим правилам превращает его в длинную последовательность чисел, которые выглядят случайными. Чтобы получить настоящую случайность, обычно используют внешние источники: шумы электроники, движение мыши, данные с микрофонов или даже

Если вы следите за моими статьями и видео, то наверняка заметили, что проблема случайностей меня чрезвычайно интересует. Дело в том, что есть много вопросов к существованию истинной случайности. Но даже если не лезть так глубоко в дебри, то даже "общепринятую случайность" имитировать очень сложно.

Как, например, сгенерировать случайное число? Хм, ну взять какой-то алгоритм. Например, найти сайт-рандомайзер. Но есть тут одна загвоздка.

Нет, это не случайное число
Нет, это не случайное число

Компьютер сам по себе не умеет «думать случайно», он работает строго по алгоритмам. Поэтому то, что мы называем «случайным числом», на самом деле часто генерируется по предсказуемой формуле — такой алгоритм называется псевдослучайным генератором. Он берёт какое-то начальное число, называемое зерном (seed), и по строгим математическим правилам превращает его в длинную последовательность чисел, которые выглядят случайными.

Чтобы получить настоящую случайность, обычно используют внешние источники: шумы электроники, движение мыши, данные с микрофонов или даже квантовые эффекты.

«Истинная случайность — это то, что невозможно предсказать заранее ни одним наблюдателем во Вселенной», — объясняет физик Кристер Шальм из Национального института стандартов и технологий США (NIST).

Ответ находится в квантовом мире. Ранее это требовало годы обучения и доступ к дорогим лабораториям, но теперь благодаря проекту Шальма и его коллег любой человек может воспользоваться «фабрикой случайных чисел» и бесплатно.

Система Colorado University Randomness Beacon (CURBy), созданная NIST совместно с Университетом Колорадо в Боулдере, стала первой в мире платформой, которая использует принципы квантовой механики для генерации по-настоящему случайных чисел.

Квантовый генератор
Квантовый генератор

Основой CURBy служит так называемый тест Белла, названный в честь физика Джона Стюарта Белла. Суть теста — измерение пар запутанных фотонов, свойства которых остаются взаимосвязанными даже на огромных расстояниях. Измерение одного фотона всегда случайно, но поведение пары демонстрирует корреляции, которые невозможно объяснить законами классической физики. Именно это позволяет учёным проверять случайность на квантовом уровне.

Альберт Эйнштейн называл такую «квантовую нелокальность» «жутким действием на расстоянии» и скептически относился к этой идее. Тем не менее NIST ещё в 2015 году доказал реальность этого феномена, а через три года были разработаны первые генераторы истинной случайности, основанные на тестах Белла.

Первые эксперименты занимали месяцы подготовки, но результаты измерений длились всего несколько часов. Даже за это время удалось получить лишь 512 бит настоящей случайности. Сегодня же эксперименты автоматизированы: система генерирует случайные числа непрерывно, по мере необходимости.

«Мы хотели вывести лабораторный эксперимент за пределы стен исследовательских центров и превратить его в полезный сервис для общества», — говорит Шальм.

За первые 40 дней работы CURBy её алгоритмы проверили случайность 7454 раз и зафиксировали 7434 успешных случая — это 99,7% эффективности.

Как именно создаётся эта квантовая случайность? Используется специальный нелинейный кристалл, который производит запутанные пары фотонов. Фотонные частицы затем отправляются по оптоволоконным линиям в две лаборатории, расположенные на противоположных концах коридора. Там измеряются их поляризации. Вся процедура повторяется со скоростью 250 000 раз в секунду.

Чтобы обработать данные, миллионы квантовых измерений передаются в специально разработанную программу. Она превращает результаты в 512 случайных бит, доступных для анализа любым пользователем.

Однако пользоваться CURBy намного проще, чем разбираться в сложной квантовой механике. Всё, что нужно — зайти на сайт, ввести список элементов, которые нужно перемешать, и система выдаст новый порядок, основанный на квантово-определённой случайности для конкретного дня. Результат работы CURBy — плод десятилетий исследований и открытий, который, без сомнений, удивил бы самого Эйнштейна.

Так мы получаем случайную "случайность" по лучшим канонам принципа измерений. Это сильно отличается от того варианта, который работает с использованием обычного компьютера. Вот только мой вопрос всё равно остаётся в силе. Я полагаю, что никакая случайность не будет иметь действительно случайную природу. Всё это невероятно сложный и спутанный алгоритм. Впрочем, это уже совсем другая история.

Хочется помочь проекту, но нет возможности купить премиум? Просто поставьте лайк 👍 и подписывайтесь на канал ✔️. Напишите комментарий и поделитесь статьёй с друзьями