Как пользоваться генератором случайных чисел

Генератор случайных чисел для конкурса

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

Рассмотрим пошаговый алгоритм проведения такого конкурса:

  1. Необходимо собрать имена участников конкурса. Важно данный список должен быть в открытом доступе, чтобы ни у кого не возникло сомнений относительно соблюдений принципов честной игры.
  2. Присваиваем номер каждому участнику.
  3. Запускаем генератор случайных чисел. Если в конкурсе участвует 15 человек, то необходимо указать диапазон от 1 до 15. Количество чисел должно соответствовать числу победителей в конкурсе, как правило, это 1 человек.
  4. Делаем скриншот результата. Данное случайное число соответствует порядковому номеру участника конкурса из списка.
  5. Оглашаем результат, поздравляем победителей.

Вот таким нехитрым, быстрым и бесплатным способом можно определить случайного победителя в конкурсе.

Бесплатная техническая библиотека Как скачивать файлы с сайта? Добавить в закладки, оставить отзыв
Энциклопедия радиоэлектроники и электротехники

Бесплатная библиотека / Схемы радиоэлектронных и электротехнических устройств

Мелодичный звонок с генератором случайных чисел

Энциклопедия радиоэлектроники и электротехники / Звонки и аудио-имитаторы

Комментарии к статье

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

На микросхеме DD1 выполнены два генератора: один из них тактовый (ГТИ на элементах DD1.3, DD1.4), частота другого («высокочастотного» — на элементах DD1.1, DD1.2) делится на произвольное натуральное число — от 1 до 16 — счетчиком-делителем DD3. Сигнал «высокочастотного» генератора поступает на вход «+1» (счет на увеличение) счетного триггера микросхемы DD3. По окончании счета происходит параллельная загрузка кода с регистра DD2. В итоге получается новый коэффициент деления частоты.

Сдвиговый регистр DD2 работает в данном случае в режиме последовательной загрузки (со входа D0). В этот режим он переведен подачей на вход S низкого уровня. На выходах 1-3 код поддерживается постоянным в течение такта, а затем изменяется на другой по спаду тактового импульса, поступающего с ГТИ на вход С1 регистра DD2. Происходят сдвиг битов по разрядам регистра и загрузка очередного случайного бита на вход DO последовательной загрузки. Следовательно, «высокочастотный» генератор является не только задающим, но и служит источником случайного числа, хранящегося впоследствии на выходах регистра.

С выхода дешифратора на диодах VD1-VD4 импульсные колебания звуковой частоты усиливаются по току транзистором VT1 и преобразуются в звук динамической головкой ВА1. Скважность колебаний прямо пропорционально зависит от коэффициента, на который делится частота ГТИ. В результате получается звуковой сигнал с богатым гармоническим спектром.

В устройстве, вместо указанных на схеме, допустимо использовать микросхемы серий К133, К555. Транзистор может быть любой из серий КТ801, КТ815, КТ817, динамическая головка — 0,25- 1 Вт со звуковой катушкой сопротивлением 8-16 Ом. Диоды — любые другие германиевые маломощные, конденсаторы — на номинальное напряжение не ниже 6 В, резисторы — МЛТ-0,125, МЛТ-0,25.

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

Напряжение питания подают на устройство через звонковую кнопку. Источником питания может быть батарея, составленная из трех последовательно соединенных гальванических элементов напряжением 1,5 В. Несколько худший вариант — сетевой блок питания, который должен быть всегда включен в сеть.

Литература

  1. Лялякин С, Тюлин В. Мелодичный автомат. — Радио, 1990, № 2, с. 82-84.
  2. Электронные звонки на любой вкус. — Радио, 1995, № 7, с. 33-35.

М.Бойко, г.Кинешма Ивановской обл.

Смотрите другие статьи раздела Звонки и аудио-имитаторы.

Читайте и пишите полезные комментарии к этой статье.

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

журналы Схемотехника (годовые архивы)

журналы ЮТ для умелых рук (годовые архивы)

книга Работы по металлу. Леонтьев П., 1966

книга Радиолюбительские устройства телефонной связи. Евсеев А.Н., 1999

статья Как появились дискотеки?

статья Преобразователь напряжения 12/220 В — 50 Гц

справочник Сервисные меню зарубежных телевизоров. Книга №14

Создан первый квантовый генератор случайных чисел на чипе


Используя в своих интересах миниатюрные технологии манипуляции светом на кристалле чипа, группа исследователей из Испании и Италии создала первую интегральную схему, способную генерировать поток случайных чисел при помощи совершенно непредсказуемых явлений квантовой механики. Последовательность случайных чисел является одним из ключевых компонентов некоторых современных систем шифрования, систем сложного вычислительного моделирования. В настоящее время используются два типа генераторов случайных чисел, одни из которых используют компьютерные алгоритмы, а другие — специальные аппаратные средства, аналоговые или цифровые схемы, чувствительные к некоторым параметрам окружающей среды, имеющим непредсказуемый характер поведения.
Несмотря на то, что последовательности чисел, сгенерированные современными средствами, выглядят абсолютно случайно, сложная математическая обработка этих рядов позволяет вычислить функцию корреляции, на основе значения которой можно с большим процентом вероятности предугадать значения следующих чисел в последовательности. И это, в свою очередь, оставляет «лазейку» для взлома систем, использующих такие генераторы случайных чисел.
Поведение систем, которые подчиняются законам квантовой механики, в нынешнее время предугадать не представляется возможным. «Квантовая физика по определению носит непредсказуемый характер» — рассказывает Валерио Прунери (Valerio Pruneri), ученый из Института фотонных наук (Institute of Photonic Sciences), Испания, — «Сейчас нет ни единого способа предугадать значение следующих случайных чисел, полученных квантовым генератором».
Квантовые генераторы случайных чисел существуют на свете уже достаточно давно, на рынке даже представлено несколько типов коммерческих систем. Однако, группа Валерио Прунери создала первый сверхминиатюрный квантовый генератор, чип которого можно использовать даже в конструкции смартфонов и прочих портативных электронных устройств.
Чип квантового генератора может изготавливаться при помощи существующих технологий производства полупроводниковых чипов. За хаотичность квантовой системы на этом чипе отвечает крошечный импульсный лазер из фосфида индия. При накачке ниже определенного предела этот лазер излучает лишь небольшое количество фотонов света со случайным значением их фазы за счет явления непосредственного излучения, т.е. лазер работает как обычный светодиод. Однако, при повышении уровня энергетической накачки этот лазер начинает работать как лазер и его излечение становится более упорядоченным.
Для выделения случайной составляющей, скрытой в фазе фотонов света, импульсы света смешиваются со светом второго лазера из фосфида индия. Разница в фазах смешиваемых импульсов света приводит к возникновению различий в яркости суммарных импульсов, что и регистрируется высокочувствительным фотодатчиком. Такой «квантовый источник энтропии» может использоваться для производства большого количества случайных чисел, скорость потока случайных чисел достигает гигабита в секунду.
Сейчас исследователи работают над интеграцией в чип квантового генератора элементов CMOS-логики, которые будут преобразовывать поток случайных 0 и 1 в числовые значения заданной разрядности, которыми оперирует программное обеспечение вычислительной техники.

Аппаратный генератор случайных чисел

У этого термина существуют и другие значения, см. Генератор случайных чисел. Эта карта расширения использует аппаратный генератор случайных чисел для создания криптографических ключей для зашифровки данных, передаваемых по сети.

Аппара́тный генера́тор случа́йных чи́сел (генератор истинно случайных чисел) — устройство, которое генерирует последовательность случайных чисел на основе измеряемых, хаотически изменяющихся параметров протекающего физического процесса. Работа таких устройств часто основана на использовании надёжных источников энтропии, таких, как тепловой шум, дробовой шум, фотоэлектрический эффект, квантовые явления и т. д. Эти процессы в теории абсолютно непредсказуемы, на практике же получаемые из них случайные числа проверяются с помощью специальных статистических тестов.

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

Краткая история развития

ERNIE 1.Лототрон в Японии.

Простая игральная кость, широко использовавшаяся в азартных играх в прошлом и в настольных играх в настоящее время, является простейшим истинным генератором случайных чисел. В 1890 году английский исследователь Фрэнсис Гальтон описал способ использования игровых костей для генерации случайных чисел в научных целях.

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

Для прикладных задач были необходимы большие массивы данных. В 1939 М. Ж. Кендалл и Б. Бабингтон-Смит построили первую машину, генерирующую случайные числа для построения таблицы, содержащей 100 000 случайных чисел. А через 16 лет корпорацией RAND, с использованием специальных устройств, была построена таблица из миллиона случайных чисел. Несмотря на оживление табличного метода в 1996 году Дж. Марсальей, построившим 650 Мбайт случайных чисел, круг применимости таких таблиц очень узок.

Гораздо большее распространение получили генераторы случайных чисел, генерирующие их в реальном времени. В 1951 году в компьютер Ferranti Mark 1 была включена программа, которая генерировала случайные числа, используя шум резистора. Идея создания этой программы принадлежала А. Тьюрингу. А в 1957 году была изобретена машина ERNIE (Electronic Random Number Indicator Equipment), четвёртая версия которой была представлена в 2004 году. Это устройство изначально предназначено для генерации номеров выигрышных облигаций в британской лотерее.

Устройство

Аппаратные генераторы случайных чисел могут быть основаны на макроскопических случайных процессах с использованием таких предметов, как монетка, игральная кость или колесо рулетки. Наличие непредсказуемости в данных объясняется теорией неустойчивых динамических систем и теории хаоса. Даже полностью определённые уравнениями Ньютона макроскопические системы на практике имеют непредсказуемый выход, поскольку он зависит от микроскопических деталей начальных условий.

Генераторы, использующие физические случайные процессы

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

Следствием законов квантовой физики является тот факт, что некоторые природные явления (например, радиоактивный распад атомов) абсолютно случайны и не могут быть в принципе предсказаны (одним из первых опытов, доказывающих вероятностную природу некоторых явлений, можно считать опыт Дэвиссона — Джермера). Также из статистической механики следует, что при температуре, не равной абсолютному нулю, каждая система имеет случайные флуктуации своих параметров.

Поскольку некоторые квантово-механические процессы абсолютно случайны, они являются «золотым стандартом» для АГСЧ. Явления, использующиеся в генераторах, включают:

  • Дробовой шум — это шум в электрических цепях, вызванный дискретностью носителей электрического заряда. Также этим термином называют шум в оптических приборах, вызванный дискретностью переносчика света. В данном случае в качестве источника шума используют фотоэлектронный умножитель или электровакуумные фотоэлементы.
  • Радиоактивный распад используется в качестве источника шума, поскольку для него характерна случайность каждого отдельного акта распада. В результате на приёмник (например, счетчик Гейгера или сцинтилляционный счетчик) в различные промежутки времени попадает разное количество частиц.
  • Спонтанное параметрическое рассеяние также может быть использовано в генераторах случайных чисел.

Неквантовые явления проще детектировать, но АГСЧ, основанные на них, будут сильно зависеть от температуры (например, величина теплового шума пропорциональна температуре окружающей среды). Среди процессов, использующихся в АГСЧ, можно отметить:

  • Тепловой шум в резисторе, из которого после усиления получается генератор случайных напряжений. В частности, генератор чисел в компьютере Ferranti Mark 1 был основан на этом явлении.
  • Атмосферный шум, измеренный радиоприёмником; сюда же можно отнести и приём частиц, прилетающих на Землю из космоса, которые регистрируются приёмником, а их количество в разные промежутки времени случайно. Веб-сервис Random.org использует данный подход.
  • Разница в скорости хода часов — явление, заключающееся в том, что ход разных часов не будет абсолютно совпадать.

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

Другой подход заключается в том, что случайный сигнал подаётся на вход аналого-цифрового преобразователя (могут использоваться как специальные устройства, так и аудиовход компьютера), в результате оцифрованный сигнал будет представлять собой последовательность случайных чисел, которая может быть программно обработана. Также существуют методы объединения быстродействующего генератора псевдослучайных чисел с медленным аппаратным генератором.

Генераторы, использующие другие явления

Генераторы случайных чисел, использующие физические случайные процессы, позволяют получить хорошие случайные числа, но их производство относительно сложно и дорого (в особенности это касается АГСЧ, основанных на радиоактивном распаде), но существуют и более доступные источники случайности:

  • Измерение времени между нажатиями на кнопки клавиатуры или мыши и последующее взятие нескольких наименее значимых битов. К недостаткам данного метода следует отнести малую скорость генерации и необходимость наличия пользователя.
  • Использование шума со встроенного микрофона в компьютере. Но, помимо белого шума, в спектре будут присутствовать такие паразитные составляющие, как шум в электрической сети на 50 Гц, шум от вентилятора в компьютере и др.
  • Использование сети или интернета, например, время между принятыми пакетами (веб-сайт randomes.top реализовал данный метод) или контрольная сумма новостей предыдущей недели.

К наиболее необычным генераторам следует отнести работы, которые используют цифровые видеокамеры, снимающие макроскопические явления. Например, команда из Silicon Graphics использовала видеозапись лавовой лампы для генерации случайных чисел, так как воск в лампе хаотически меняет свои формы. Также в качестве объекта съёмки могут быть использованы пузыри в аквариуме или ленты в потоке воздуха от вентилятора.

Проблемы

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

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

Дж. Нейман одним из первых предложил простой алгоритм для исправления перекоса математического ожидания в последовательности. Алгоритм заключается в том, что биты рассматриваются парами: если в паре два одинаковых значения, то пара отбрасывается, если биты разные, то вместо пары записывается только первый бит в этой паре. Недостаток этого алгоритма заключается в том, что около 75 % битов отбрасываются, и в результате сильно падает скорость генерации случайных бит.

Другой метод заключается в использовании криптографических хеш-функций (например, MD5 или SHA-1), так как они удовлетворяют строгим требованиям криптографической стойкости. Но, несмотря на относительную быстроту этого метода, их трудно воспроизвести аппаратным способом из-за нелинейности хеш-функций и из-за сильной зависимости такого генератора от качества самой хеш-функции.

Также для уменьшения смещения математического ожидания используются криптографически стойкие генераторы псевдослучайной последовательности, поток битов которых с помощью операции XOR складывается с потоком битов из аппаратного генератора. Главное достоинство данного метода заключается в том, что он может быть реализован полностью аппаратно, например, на FPGA.

> См. также

  • Генератор псевдослучайных чисел
  • Случайное простое число