Лучшие генераторы случайных чисел для конкурса. Генератор случайных чисел Excel в функциях и анализе данных

Если вы организовывали , то наверняка сталкивались со сложностью выбора случайного победителя. Как правило, в таких ситуациях используется популярный сервис Random.org . Соответствующие сриншоты с его результатами вы могли видеть при объявлении победителей конкурсов проводимых в ВКонтакте, и т.п. Сегодня предлагаем рассмотреть данный проект чуть детальнее, тем более, что генератор чисел в Random — далеко не единственная его фишка.

Список всех функций найдете на главной странице. Для проведения розыгрышей в Random можно использовать два типа услуг: платные и бесплатные. Они обозначены как FREE и PAID services. В первом случае вы просто получаете результат. Во втором способе дополнительно имеется возможность сохранить все итоги + сервис создаст официальный протокол выборки.

Многие читатели могут возразить как это у компьютера (машины) получается генерировать случайные числа? И ведь действительно, если брать большинство , то там речь идет о псевдослучайных величинах , то есть значения вычисляются с помощью математических функций, то есть предсказуемым образом. Фишка данного сервиса рандома в том, что информация считывается из атмосферного шума, что позволяет получить действительно случайные числа. Random.org был создан в 1998 доктором дублинской Школы компьютерных наук и статистики Mads Haahr. Сейчас проект активно используется в лотереях, конкурсах, приложениях, науке и т.п.

Бесплатный рандом в сервисе

В большинстве случаев вполне достаточно бесплатного варианта. Самое главное – наличие списка участников. При этом для розыгрыша призов в Random.org можно выбирать один из 2-х походов:

  • через генератор случайных чисел;
  • с помощью выборки из списков;

При помощи формы генератора чисел

Допустим, на компьютере у вас имеется определенный перечень людей, принимающих участие в конкурсе. Справа на главной найдете виджет, где нужно будет задать параметры. В поле минимальное число (Min) ставите единицу (1), в максимальном – указываете общее число участников. Далее кликаем на кнопочку «Generate» для генерации номера-победителя.

Кстати, чуть ниже на главной странице есть пункт «Integer Generator», где вы можете сгенерировать последовательность из нескольких случайных числел в Random.org. Там параметров чуть больше. Это может пригодиться, если хотите определить более одного победителя в розыгрыше.

При помощи генератора списков

В самом верхнем меню переходим на «Lists & more» и выбираем пункт «List Randomizer» (либо находите его на главной). Откроется новое окно, в котором нужно ввести всех ваших участников и кликнуть на кнопочку «Randomize». Программа выдаст итоговый список, где указанные люди разместятся случайным образом. Первый человек в списке и есть победитель.

Кроме сортировки списка сервис Random.org покажет время выборки + ваш IP. Можно сделать скриншот экрана и показать участникам дабы они видели, что все были включены в список, и выбор победителя произошел в обещанное время.

Кроме этих двух генераторов Random.org проект имеет еще несколько интересных бесплатных фишек:

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

Платные функции сервиса

Если в предусмотрено использование крупных призов или же в нем принимают участие много человек, тогда вы будете заинтересованы в платной выборке, чтобы результаты генератора случайных чисел Random.org были сохранены.

Цена зависит от числа участников. Если их количество менее пятисот человек, то это будет стоить 4.95$. Если 1000 участников — $8.95. Более подробно вы сможете посмотреть на скриншоте:

Виджеты для страниц

Кроме того, сервис Random предлагает воспользоваться дополнительными инструментами. Чтобы их посмотреть, переходим по «web tools» в верхнем меню. Здесь будут доступны такие опции:

  1. Widgets for Your Pages. На этой странице можно создать виджеты . Система генерирует специальный код, который размещаете в своем интернет-проекте;
  2. API for Automated Clients. На этой странице описывается, как подключить интерфейс к Random.org через JSON-RPC;
  3. HTTP API используется для отображения случайного числа в коде;
  4. Banned Hosts. Список запрещенных хостов.

Вывод

Итак, генератор чисел Random.org — это отличный вариант для того, чтобы выбрать победителя в проводимом розыгрыше или конкурсе. Он сгенерирует случайное число исходя из количества участников, плюс вы можете выбрать один из методов выборки — числовое значение или списком. К тому же при использовании сервиса, ни у кого не возникнет сомнений в наличии специальных «обманных» скрипов, которые могут повлиять на выбор победителя. Кроме онлайн версии есть и приложение Random генератора с разными функциями. В общем, это один из культовых и реально полезных проектов.

У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению.

Сгенерировать случайные числа в Excel можно разными путями и способами. Рассмотрим только лучше из них.

Функция случайного числа в Excel

  1. Функция СЛЧИС возвращает случайное равномерно распределенное вещественное число. Оно будет меньше 1, больше или равно 0.
  2. Функция СЛУЧМЕЖДУ возвращает случайное целое число.

Рассмотрим их использование на примерах.

Выборка случайных чисел с помощью СЛЧИС

Данная функция аргументов не требует (СЛЧИС()).

Чтобы сгенерировать случайное вещественное число в диапазоне от 1 до 5, например, применяем следующую формулу: =СЛЧИС()*(5-1)+1.

Возвращаемое случайное число распределено равномерно на интервале .

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

  1. Щелкаем по ячейке со случайным числом.
  2. В строке формул выделяем формулу.
  3. Нажимаем F9. И ВВОД.

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


Диапазон вертикальных значений – частота. Горизонтальных – «карманы».



Функция СЛУЧМЕЖДУ

Синтаксис функции СЛУЧМЕЖДУ – (нижняя граница; верхняя граница). Первый аргумент должен быть меньше второго. В противном случае функция выдаст ошибку. Предполагается, что границы – целые числа. Дробную часть формула отбрасывает.

Пример использования функции:

Случайные числа с точностью 0,1 и 0,01:

Как сделать генератор случайных чисел в Excel

Сделаем генератор случайных чисел с генерацией значения из определенного диапазона. Используем формулу вида: =ИНДЕКС(A1:A10;ЦЕЛОЕ(СЛЧИС()*10)+1).

Сделаем генератор случайных чисел в диапазоне от 0 до 100 с шагом 10.

Из списка текстовых значений нужно выбрать 2 случайных. С помощью функции СЛЧИС сопоставим текстовые значения в диапазоне А1:А7 со случайными числами.

Воспользуемся функцией ИНДЕКС для выбора двух случайных текстовых значений из исходного списка.

Чтобы выбрать одно случайное значение из списка, применим такую формулу: =ИНДЕКС(A1:A7;СЛУЧМЕЖДУ(1;СЧЁТЗ(A1:A7))).

Генератор случайных чисел нормального распределения

Функции СЛЧИС и СЛУЧМЕЖДУ выдают случайные числа с единым распределением. Любое значение с одинаковой долей вероятности может попасть в нижнюю границу запрашиваемого диапазона и в верхнюю. Получается огромный разброс от целевого значения.

Нормальное распределение подразумевает близкое положение большей части сгенерированных чисел к целевому. Подкорректируем формулу СЛУЧМЕЖДУ и создадим массив данных с нормальным распределением.

Себестоимость товара Х – 100 рублей. Вся произведенная партия подчиняется нормальному распределению. Случайная переменная тоже подчиняется нормальному распределению вероятностей.

При таких условиях среднее значение диапазона – 100 рублей. Сгенерируем массив и построим график с нормальным распределением при стандартном отклонении 1,5 рубля.

Используем функцию: =НОРМОБР(СЛЧИС();100;1,5).

Программа Excel посчитала, какие значения находятся в диапазоне вероятностей. Так как вероятность производства товара с себестоимостью 100 рублей максимальная, формула показывает значения близкие к 100 чаще, чем остальные.

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

На основе полученных данных сможем сформировать диаграмму с нормальным распределением. Ось значений – число переменных в промежутке, ось категорий – периоды.

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

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

Преимущества способа

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

Генерирование чисел обеспечивает мгновенный результат - на составление комбинации уходит несколько секунд. Если говорить о лотереях, участники сразу могут узнать, совпал ли номер билета с выигрышным. Это позволяет проводить тиражи так часто, как этого хотят участники. Но главное преимущество метода в непредсказуемости и невозможности просчитать алгоритм подбора чисел.

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

На самом деле случайные числа не случайны - ряд начинается с заданного числа и генерируется по алгоритму. Генератор псевдослучайных чисел (ГПСЧ или PRNG - pseudorandom number generator) – и есть алгоритм, порождающий последовательность, на первый взгляд, не связанных чисел, подчиненных обычно равномерному распределению. В информатике псевдослучайные числа используются во многих приложениях: в криптографии, имитационном моделировании, методе Монте-Карло и т. д. От свойств ГПСЧ зависит качество результата.

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

Во многих современных процессорах содержится ГПСЧ, например, в RdRand. В качестве альтернативы создаются наборы случайных чисел, публикуемые в одноразовом блокноте (словаре). Источник чисел в этом случае ограничен и не обеспечивает полной сетевой безопасности.

История ГПСЧ

Прообразом генератора случайных чисел можно считать настольную игру Сенет, распространенную в Древнем Египте в 3500 г. до нашей эры. По условиям, участвовали два игрока, ходы определяли, бросая четыре плоские черно-белые палочки - они были подобием ГПСЧ того времени. Палочки подбрасывали одновременно, и подсчитывали очки: если одна упала вверх белой стороной, 1 очко и дополнительный ход, две белых - два очка и так далее. Максимальный результат в пять очков получал игрок, выбросивший четыре палочки черной стороной.

В наши дни генератор ERNIE много лет применяли в Великобритании при розыгрышах лотереи. Разделяют два основных метода генерации выигрышных номеров: линейный конгруэнтный и аддитивный конгруэнтный. Эти и другие методы основаны на принципе случайности выбора и обеспечиваются ПО, бесконечно продуцирующим числа, угадать последовательность которых невозможно.

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

Кто пытается арифметическими методами генерировать случайные числа, тот, конечно, живет во грехе.
- Джон фон Нейман

Sequence Generator
Генерирует последовательность со всеми уникальными целыми числами в заданном диапазоне. По сути то, что делает Collections.shuffle(). Например, так выглядит запрос на перемешивания колоды карт:
http://www.random.org/sequences/?min=1&max=52&col=1&format=plain&rnd=new
String Generator
Генерирует случайную строку заданного размера с возможностью выбора набора символов (цифры, ловер кейс, аппер кейс). Вот так, например, можно сгенерить ник своему персонажу пароль:
http://www.random.org/strings/?num=1&len=12&digits=on&upperalpha=on&loweralpha=on&unique=on&format=plain&rnd=new
Quota Checker
Ну и как вы уже поняли, все это не бесплатно. Хотя не, дают миллион бесплатных бит в сутки. Этого более чем достаточно. А для того, чтобы узнать сколько осталось можно по следующей ссылке:
http://www.random.org/quota/?format=plain
Если вы кликали на три предыдущие ссылки, то вы уже потратили ~1500 бит.
Ошибки
В случае успеха генерации, сервер возвращает код 200, неудачи - код 503. Вот и все ошибки.

Для этого API была написана библиотека из пяти классов на Java, в котором вызов всех вышеописанных методов в простой и понятной форме.
// бросаем кубики IntegerGenerator ig = new IntegerGenerator(); ig.generate(1, 6, 2); // тасуем карты SequenceGenerator sg = new SequenceGenerator(); sg.generate(1, 52); // новый пароль StringGenerator strg = new StringGenerator(); strg.generate(12, 1, true, true, true, true); // сколько бит осталось QuotaChecker qc = new QuotaChecker(); qc.quota();

Вроде и все. На github можете исходники и скачать либу с оригинальным названием randomorg (6 килобайт).

Представленный онлайн генератор случайных чисел работает на основе встроенной в JavaScript програмного генератора псевдослучайных чисел с равномерным распределением. Генерируются целые числа. По умолчанию выводится 10 случайных чисел в диапазоне 100...999, числа разделены пробелами.

Основные настройки генератора случайных чисел:

  • Количество чисел
  • Диапазон чисел
  • Тип разделителя
  • Вкл/выкл функцию удаления повторов (дублей чисел)

Общее количество формально ограничено 1000, максимальное число - 1 миллиардом. Варианты разделителей: пробел, запятая, точка с запятой.

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

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

Генератор случайных чисел (ГСЧ на JS с равномерным распределением) пригодится SMM-специалистам и владельцам групп и сообществ в социальных сетях Истаграм, Facebook, Вконтакте, Одноклассники для определения победителей лотерей, конкурсов и розыгрышей призов.

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

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