Лучшие генераторы случайных чисел для конкурса. Генератор случайных чисел 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» в верхнем меню. Здесь будут доступны такие опции:
- Widgets for Your Pages. На этой странице можно создать виджеты . Система генерирует специальный код, который размещаете в своем интернет-проекте;
- API for Automated Clients. На этой странице описывается, как подключить интерфейс к Random.org через JSON-RPC;
- HTTP API используется для отображения случайного числа в коде;
- Banned Hosts. Список запрещенных хостов.
Вывод
Итак, генератор чисел Random.org — это отличный вариант для того, чтобы выбрать победителя в проводимом розыгрыше или конкурсе. Он сгенерирует случайное число исходя из количества участников, плюс вы можете выбрать один из методов выборки — числовое значение или списком. К тому же при использовании сервиса, ни у кого не возникнет сомнений в наличии специальных «обманных» скрипов, которые могут повлиять на выбор победителя. Кроме онлайн версии есть и приложение Random генератора с разными функциями. В общем, это один из культовых и реально полезных проектов.
У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению.
Сгенерировать случайные числа в Excel можно разными путями и способами. Рассмотрим только лучше из них.
Функция случайного числа в Excel
- Функция СЛЧИС возвращает случайное равномерно распределенное вещественное число. Оно будет меньше 1, больше или равно 0.
- Функция СЛУЧМЕЖДУ возвращает случайное целое число.
Рассмотрим их использование на примерах.
Выборка случайных чисел с помощью СЛЧИС
Данная функция аргументов не требует (СЛЧИС()).
Чтобы сгенерировать случайное вещественное число в диапазоне от 1 до 5, например, применяем следующую формулу: =СЛЧИС()*(5-1)+1.
Возвращаемое случайное число распределено равномерно на интервале .
При каждом вычислении листа или при изменении значения в любой ячейке листа возвращается новое случайное число. Если нужно сохранить сгенерированную совокупность, можно заменить формулу на ее значение.
- Щелкаем по ячейке со случайным числом.
- В строке формул выделяем формулу.
- Нажимаем 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, Вконтакте, Одноклассники для определения победителей лотерей, конкурсов и розыгрышей призов.
Генератор случайных чисел позволяет производить розыгрыш призов среди произвольного количества участников с заданным количеством победителей. Конкурсы можно проводить без репостов и комментариев - вы сами задаёте число участников и интервал генерации случайных чисел. Получить набор случайных чисел онлайн и бесплатно можно на данном сайте, при этом вам не надо ставить какое-либо приложение на смартфон или программу на компьютер.
Также генератор случайных чисел онлайн может быть использован для имитации подкидывания монеты или игральных костей. Но впрочем, у нас для этих случаев есть отдельные специализированные сервисы.