Разделы сайта
Выбор редакции:
- Гадание в новый год для привлечения денег Как правильно гадать на новый год
- К чему снится клещ впившийся в ногу
- Гадание на воске: значение фигур и толкование
- Тату мотыль. Татуировка мотылек. Общее значение татуировки
- Что подарить ребёнку на Новый год
- Как празднуют день святого Патрика: традиции и атрибуты День святого патрика что
- Как научиться мыслить лучше Я не умею быстро соображать
- Эти признаки помогут распознать маньяка Существует три способа достижения абсолютной власти
- Как спастись от жары в городской квартире
- Слова благодарности для учителей: что написать в открытке любимому педагогу?
Реклама
Генератор случайных чисел с десятыми долями онлайн. Генератор случайных чисел онлайн |
Проведение различных лотерей, розыгрышей и т. п. зачастую проводится во многих группах или пабликах в социальных сетях, Инстаграме и т. д., и используется владельцами аккаунтов для привлечения новой аудитории в сообщество. Результат таких розыгрышей часто зависит от удачи пользователя, так как получатель приза определяется случайным образом. Для такого определения организаторы розыгрышей почти всегда используют генератор случайных чисел онлайн или предустановленный, распространяющийся бесплатно. ВыборДовольно часто выбрать такой генератор может быть сложно, так как их функционал достаточно различен – у некоторых он существенно ограничен, у других – довольно широк. Реализуется достаточно большое количество таких сервисов, но сложность в том, что они отличаются по сфере действия. Многие, например, привязаны своим функционалом к определенной социальной сети (например, многие приложения-генераторы во ВКонтакте работают только со ссылками этой социальной сети). Наиболее простые генераторы просто определяют случайно число в заданном диапазоне. Это удобно потому, что не связывает результат с определенным постом, а значит, могут применяться при розыгрышах вне социальной сети и в различных иных ситуациях. Иного применения у них, по сути, нет. <Рис. 1 Генератор> Совет! При выборе наиболее подходящего генератора важно учитывать то, для каких целей он будет использоваться. Технические характеристикиДля наиболее быстрого процесса выбора оптимального онлайн-сервиса генерации случайных чисел в таблице, представленной ниже, приведены основные технические характеристики и функционал таких приложений.
Подробнее все приложения, рассмотренные в таблице, описаны ниже. <Рис. 2 Случайные числа> RandStuff<Рис. 3 RandStuff> Воспользоваться данным приложением в режиме онлайн можно по ссылке на его официальный сайт http://randstuff.ru/number/ . Это простой генератор случайных чисел, отличающийся быстрой и стабильной работой. Он успешно реализуется как в формате отдельного самостоятельного приложения на официальном сайте, так и в виде приложения в социальной сети ВКонтакте. Особенность данного сервиса в том, что он может выбрать случайное число как из указанного диапазона, так и из определенного списка чисел, которые можно указать на сайте. Плюсы:
Минусы:
Cast Lots<Рис. 4 Cast Lots> Данное приложение представляет из себя простой функциональный генератор, реализующийся на официальном сайте, в виде приложения ВКонтакте. Также существует виджет генератора для вставки на свой сайт. Основным отличием от предыдущего описанного приложения является то, что это позволяет отключить повторение результата. То есть, при проведении нескольких генераций подряд за одну сессию число не повторится.
Негатив:
Случайное число<Рис. 5 Случайное число> Данный сервис расположен по адресу http://случайноечисло.рф/ . Простой генератор с минимум функций и дополнительных возможностей. Может случайным образом генерировать числа в заданном диапазоне (максимум от 1 до 99999). Сайт не имеет никакого графического оформления, а потому страница легко грузится. Результат можно скопировать или скачать нажатием одной кнопки. Негатив:
Рандомус<Рис. 6 Рандомус> Воспользоваться этим генератором случайных чисел можно по ссылке http://randomus.ru/ . Еще один, достаточно простой, но функциональный генератор случайных чисел. Сервис имеет достаточный функционал для определения случайных чисел, однако для проведения розыгрышей и иных более сложных процессов он не подойдет. Негатив:
Герератор случайных чисел для лотерейных билетов предоставляется бесплатно в формате «как есть» («as is»). Разработчик не несёт никакой ответственности за материальные и нематериальные потери пользователей скрипта. Вы можете использовать данный сервис на свой страх и риск. Впрочем, чего-чего, а риска вам точно не занимать:-). Случайные числа для лотерейных билетов онлайнДанное программное обеспечение (ГПСЧ на JS) представляет собой генератор псевдослучайных чисел, реализованный возможностями языка программирования Javascript. Генератор выдаёт равномерное распределение случайных чисел. Это позволяет выбить «клин клином» на ГСЧ с равномерным распределением от лотерейной компании отвечать случайными числами с равномерным распределением. Данный подход позволяет исключить субъективность игрока, так как у людей бывают определённые предпочтения в выборе цифр и чисел (Дни Рождения родственников, памятные даты, года и пр.), которые влияют на подбор чисел вручную. Бесплатный инструмент помогает игрокам подбирать случайные числа для лотерей. В скрипте генератора случайных чисел есть набор преднастроенных режимов для Гослото 5 из 36, 6 из 45, 7 из 49, 4 из 20, Спортлото 6 из 49. Можно выбрать режим генерации случайных чисел со свободными настройками для других вариантов лотерей. Прогнозы выигрыша в лотереюГенератор случайных чисел с равномерным распределением может служить гороскопом на розыгрыш лотереи, правда, вероятность того, что прогноз сбудется невысокий. Но всё равно использование генератора случайных чисел имеет хорошую вероятность выигрыша по сравнению с многими другими стратегиями лотерейной игры и дополнительно освобождает вас от мук сложного выбора счастливых чисел и комбинаций. Со своей стороны не советую поддаваться соблазну и покупать платные прогнозы, лучше потратьте эти деньги на учебник по комбинаторике. Из него можно узнать много интересного, например, вероятность выигрыша джек-пота в Гослото 5 из 36 состовляет 1 к 376 992 . А вероятность получить минимальный приз, угадав 2 числа, составляет 1 к 8 . Эти же вероятности выигрыша имеет прогноз на основе нашего ГСЧ. В интернете встречаются запросы на случайные числа для лотереи с учётом прошлых тиражей. Но при условии, что в лотерее используется ГСЧ с равномерным распределением и вероятность выпадения той или иной комбинации не зависит от тиража к тиражу, то пытаться учитывать результаты прошлых тиражей бессмыслено. И это вполне логично, так как лотерейным компаниям не выгодно, чтобы участники могли простыми методами повысить вероятность своего выигрыша. Часто встречаются разговоры о том, что организаторы лотерей подтасовывают результаты. Но на самом деле в этом нет никакого смысла, даже, наоборот, если бы лотерейные компании влияли на результаты лотереи, то можно было бы найти выигрышную стратегию, но пока это никому не удаётся. Поэтому устроителям лотерей как раз очень выгодно, чтобы шары выпадали с равномерной вероятностью. Кстати, расчётная возвратность лотереи 5 из 36 составляет 34,7%. Таким образом, у лотерейной компании остаётся 65,3% выручки от продажи билетов, часть средств (обычно половина) отчисляется на формирование джек-пота, остальные деньги идут на организационные расходы, рекламу и чистую прибыль компании. Статистика по тиражам эти цифры отлично подтверждает. Отсюда вывод - не покупайте бессмысленных прогнозов, пользуйтесь бесплатным генератором случайных чисел, берегите свои нервы. Пусть наши случайные числа станут для вас счастливыми числами. Хорошего настроения и удачного дня! Рейтинг: 4.0 из 5 Голоса: 145
Программа представляет собой онлайн генератор случайных чисел для Российских лотерей 5 из 36, 6 из 45, 7 из 49, 6 из 49. В дополнение к генератору чисел прилагается такой полезный инструмент как "Исключения чисел". Основные возможности программы
Системные требования
О любых найденных ошибках, предложениях по улучшению работы программы просьба сообщать в комментариях. Если вам понравился этот генератор чисел, пожалуйста, поделитесь ссылкой на него в социальных сетах или на интернет форумах.
Дополнительная информация
Комментарии и отзывы: 35 1. Сергиус
01.06.2014 2. Макс
04.06.2014 Компьютерная программа полностью свободна от стороннего вмешательства и генерирует действительно случайные числа. 3. Iloinor
17.06.2014 4. Александр
08.07.2014 И я пришёл к выводу что ни так всё безнадёжно на самом деле. Если просмотреть, как играют комбинации в полном массиве той же 5 из 36, то можно увидеть что комбинации играют равновероятно на достаточно большом промежутке времени. В тоже время наблюдаются как бы кластеры (смотрели на звёздное небо) там ведь тоже случайное распределение. Мы видим, что звёзды кучкуются в определённых местах, но если посмотреть в телескоп, то равновероятное распределение сохраняется. Да вернёмся к лотереям, если посмотреть такую карту (сыгравших комбинаций) то можно увидеть что какие либо области “как бы притихли”, вот такие узкие диапазоны и становятся вероятнее других на ближайшие игры. Так как по закону равновероятного распределения эта область должна заполниться в самое ближайшее время. Имеет смысл поджидать комбинации именно там. Наша вероятность резко возрастает. У нас появилась стратегия, которая направлена на ждек пот. Это уже целенаправленная игра, а не слепое метание. Вот здесь и пригодятся специальные программы. 6. Pashka
02.01.2015 Не то слово. У меня дядя все купленные билеты Русского Лото обязательно трет о рукав своего счастливого старого пиджака. 7. Samurai
06.01.2015 9. Николай
25.10.2015 10. Игорь CK
03.09.2016 Помнится еще в пору обучения в ВУЗЕ наш преподаватель по высшей математике, приятный и умный мужик рассуждал на тему лотерей и случайностей. Так вот он сказал, что никаких систем и методик здесь невозможно составить в принципе! Результат полностью рандомен и непредсказуем. В сети видел несколько платных программ и обучающих методик «помогающих» составить нужные комбинации чисел, увеличивающие шансы на выигрыш. Знаете что мне любопытно? Если есть способ увеличить шансы на выигрыш, то почему те, кто их продает не зарабатываю на лотереях? Да срубить джек пот не получится, слишком мала вероятность, но выигрывать небольшие суммы можно вполне. Разве не логично? Это как найти дыру в системе Webmoney, позволяющую пополнять свой кошелек деньгами «из ниоткуда» и выставить эту методику на продажу, что бы ее поскорее прикрыли. 11. home
04.09.2016 Естественно нельзя их исключать бесконечно, фантастики и сказок в лотереях не бывает, если только на сказочных сайтах, которые ловят "ищущих")) Решил сделать для массового пользователя версию генератора, и закину на модерацию сегодня завтра. 12. home
13.11.2016 13. Timofei
26.11.2016 14. Макс
26.11.2016 15. Юрий
01.02.2017 16. Александр
04.06.2017 Информация основывается на расчетах шансов на выигрыш, количестве участников розыгрыша и количестве выигрышей. Так вот если брать количество участников и рассчитать шанс на выигрыш джек-пота, то получается огромный разрыв между случайностью и действительностью. Если, к примеру, взять генератор случайных чисел и загадать любое число от 1 до 10, то шанс угадать у вас 1 к 10. В российских лотереях при той же схеме шанс на крупный выигрыш получается 1 к 40-50. И еще неизвестно, насколько реальна персона, которая выигрывает джек-пот. 17. home
04.06.2017 В лотереях, увы, нет ровных интервалов, например, выпадения определённого шара. Так как у нас случайность, а не чёткая небесная механика.
Вспомним про одиночное число – разрисуйте на временной отрезке (на листе бумаги), историю совпадения числа, например 33, за 150 тиражей.
Сейчас никто из вычислителей не согласится провести расчёт, скажем за 3000 тиражей в 5 из 36. Это титанический ручной труд (нужно смотреть на сайте количество купленных ставок и фиксировать джек поты).
18. Kazak
03.07.2017 Ответ:
19. lion
09.07.2017 20. Jobbs
12.07.2017 Ответ:
21. Кирюша
05.09.2017 22. Николай
23.10.2017 А чтобы сомнений не было, или чтобы они были минимальны, Российские государственные лотереи перевели на автоматические лототроны, к которым во время розыгрышей никто не подходит. Лототроны установлены за стеклом в лотерейном центре. Теперь желающие могут своими глазищами увидеть работу этих лототронов - вход свободный. Кстати такой открытости больше нет нигде в мире. новости на сайте stoloto.ru - официальный сайт российских лотерей 23. фартовый чувак
26.10.2017 24. Андрей
27.10.2017 25. Семем Семеныч
20.12.2017 Я бы сказал иначе. Вряд ли вы найдете заядлых игроманов в лотерею, с высоким интеллектом. 1-2-3 билетика прикупить по приколу конечно могут, но люди прекрасно понимают, что в лотерею, тем более в России выиграть серьезные деньги просто нереально. 26. Павел
27.12.2017 Насчёт выигрыша в России крупных призов - это только ваше так сказать мироощущение, не подкреплённое никакими фактами. Изучайте лучше теорию вероятностей. Крайне маловероятно, чтобы ваш сосед выиграл джек пот, а затем с вами поделился этой информацией. Скажу иначе - в России опасно светить крупным выигрышем))) 27. не играю
05.01.2018 28. Александр
16.01.2018 29. Механик
09.06.2018 30. матчбол
24.06.2018 31. Илья Нефедов
13.08.2018 32. Aльберт
08.11.2018 Ответ:
33. Aльберт
11.11.2018 Ответ:
Результат: В готовом результате исключенные цифры отсутствуют.
34. Aльберт
14.11.2018 Ответ:
У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению. Сгенерировать случайные числа в Excel можно разными путями и способами. Рассмотрим только лучше из них. Функция случайного числа в Excel
Рассмотрим их использование на примерах. Выборка случайных чисел с помощью СЛЧИСДанная функция аргументов не требует (СЛЧИС()). Чтобы сгенерировать случайное вещественное число в диапазоне от 1 до 5, например, применяем следующую формулу: =СЛЧИС()*(5-1)+1. Возвращаемое случайное число распределено равномерно на интервале . При каждом вычислении листа или при изменении значения в любой ячейке листа возвращается новое случайное число. Если нужно сохранить сгенерированную совокупность, можно заменить формулу на ее значение.
Проверим равномерность распределения случайных чисел из первой выборки с помощью гистограммы распределения. Диапазон вертикальных значений – частота. Горизонтальных – «карманы». Функция СЛУЧМЕЖДУСинтаксис функции СЛУЧМЕЖДУ – (нижняя граница; верхняя граница). Первый аргумент должен быть меньше второго. В противном случае функция выдаст ошибку. Предполагается, что границы – целые числа. Дробную часть формула отбрасывает. Пример использования функции: Случайные числа с точностью 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 чаще, чем остальные. Перейдем к построению графика. Сначала нужно составить таблицу с категориями. Для этого разобьем массив на периоды: На основе полученных данных сможем сформировать диаграмму с нормальным распределением. Ось значений – число переменных в промежутке, ось категорий – периоды. |
Заметим, что в идеале кривая плотности распределения случайных чисел выглядела бы так, как показано на рис. 22.3 . То есть в идеальном случае в каждый интервал попадает одинаковое число точек: N i = N /k , где N общее число точек, k количество интервалов, i = 1, , k . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Рис. 22.3. Частотная диаграмма выпадения случайных чисел, порождаемых идеальным генератором теоретически |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Рис. 22.4. Схема аппаратного метода генерации случайных чисел | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Рис. 22.5. Диаграмма получения случайных чисел аппаратным методом |
Задача «Генерация случайных чисел при помощи монеты» | |
Сгенерируйте случайное трехразрядное число, распределенное по равномерному закону в интервале от 0 до 1, с помощью монеты. Точность три знака после запятой. |
Первый способ решения задачи
Начертите интервал от 0 до 1. Считывая числа в последовательности слева направо, разбивайте интервал пополам и выбирайте каждый раз одну из частей очередного интервала (если выпал 0, то левую, если выпала 1, то правую). Таким образом, можно добраться до любой точки интервала, сколь угодно точно. Итак, 1 : интервал делится пополам и , выбирается правая половина, интервал сужается: . Следующее число, 0 : интервал делится пополам и , выбирается левая половина , интервал сужается: . Следующее число, 0 : интервал делится пополам и , выбирается левая половина , интервал сужается: . Следующее число, 1 : интервал делится пополам и , выбирается правая половина , интервал сужается: . По условию точности задачи решение найдено: им является любое число из интервала , например, 0.625. В принципе, если подходить строго, то деление интервалов нужно продолжить до тех пор, пока левая и правая границы найденного интервала не СОВПАДУТ между собой с точностью до третьего знака после запятой. То есть с позиций точности сгенерированное число уже не будет отличимо от любого числа из интервала, в котором оно находится.
Второй способ решения задачи
|
Табличные ГСЧ
Табличные ГСЧ в качестве источника случайных чисел используют специальным образом составленные таблицы, содержащие проверенные некоррелированные, то есть никак не зависящие друг от друга, цифры. В табл. 22.1 приведен небольшой фрагмент такой таблицы. Обходя таблицу слева направо сверху вниз, можно получать равномерно распределенные от 0 до 1 случайные числа с нужным числом знаков после запятой (в нашем примере мы используем для каждого числа по три знака). Так как цифры в таблице не зависят друг от друга, то таблицу можно обходить разными способами, например, сверху вниз, или справа налево, или, скажем, можно выбирать цифры, находящиеся на четных позициях.
Таблица 22.1. Случайные цифры. Равномерно распределенные от 0 до 1 случайные числа |
||||||||||||||||||||||||||||||||||||||||||||
Случайные цифры | Равномерно распределенные от 0 до 1 случайные числа |
|||||||
9 | 2 | 9 | 2 | 0 | 4 | 2 | 6 | 0.929 |
9 | 5 | 7 | 3 | 4 | 9 | 0 | 3 | 0.204 |
5 | 9 | 1 | 6 | 6 | 5 | 7 | 6 | 0.269 |
Достоинство данного метода в том, что он дает действительно случайные числа, так как таблица содержит проверенные некоррелированные цифры. Недостатки метода: для хранения большого количества цифр требуется много памяти; большие трудности порождения и проверки такого рода таблиц, повторы при использовании таблицы уже не гарантируют случайности числовой последовательности, а значит, и надежности результата.
Находится таблица, содержащая 500 абсолютно случайных проверенных чисел (взято из книги И. Г. Венецкого, В. И. Венецкой «Основные математико-статистические понятия и формулы в экономическом анализе»).
Алгоритмические ГСЧ
Числа, генерируемые с помощью этих ГСЧ, всегда являются псевдослучайными (или квазислучайными), то есть каждое последующее сгенерированное число зависит от предыдущего:
r i + 1 = f (r i ) .
Последовательности, составленные из таких чисел, образуют петли, то есть обязательно существует цикл, повторяющийся бесконечное число раз. Повторяющиеся циклы называются периодами .
Достоинством данных ГСЧ является быстродействие; генераторы практически не требуют ресурсов памяти, компактны. Недостатки: числа нельзя в полной мере назвать случайными, поскольку между ними имеется зависимость, а также наличие периодов в последовательности квазислучайных чисел.
Рассмотрим несколько алгоритмических методов получения ГСЧ:
- метод серединных квадратов;
- метод серединных произведений;
- метод перемешивания;
- линейный конгруэнтный метод.
Метод серединных квадратов
Имеется некоторое четырехзначное число R 0 . Это число возводится в квадрат и заносится в R 1 . Далее из R 1 берется середина (четыре средних цифры) новое случайное число и записывается в R 0 . Затем процедура повторяется (см. рис. 22.6 ). Отметим, что на самом деле в качестве случайного числа необходимо брать не ghij , а 0.ghij с приписанным слева нулем и десятичной точкой. Этот факт отражен как на рис. 22.6 , так и на последующих подобных рисунках.
Недостатки метода: 1) если на некоторой итерации число R 0 станет равным нулю, то генератор вырождается, поэтому важен правильный выбор начального значения R 0 ; 2) генератор будет повторять последовательность через M n шагов (в лучшем случае), где n разрядность числа R 0 , M основание системы счисления.
Для примера на рис. 22.6 : если число R 0 будет представлено в двоичной системе счисления, то последовательность псевдослучайных чисел повторится через 2 4 = 16 шагов. Заметим, что повторение последовательности может произойти и раньше, если начальное число будет выбрано неудачно.
Описанный выше способ был предложен Джоном фон Нейманом и относится к 1946 году. Поскольку этот способ оказался ненадежным, от него очень быстро отказались.
Метод серединных произведений
Число R 0 умножается на R 1 , из полученного результата R 2 извлекается середина R 2 * (это очередное случайное число) и умножается на R 1 . По этой схеме вычисляются все последующие случайные числа (см. рис. 22.7 ).
Метод перемешивания
В методе перемешивания используются операции циклического сдвига содержимого ячейки влево и вправо. Идея метода состоит в следующем. Пусть в ячейке хранится начальное число R 0 . Циклически сдвигая содержимое ячейки влево на 1/4 длины ячейки, получаем новое число R 0 * . Точно так же, циклически сдвигая содержимое ячейки R 0 вправо на 1/4 длины ячейки, получаем второе число R 0 ** . Сумма чисел R 0 * и R 0 ** дает новое случайное число R 1 . Далее R 1 заносится в R 0 , и вся последовательность операций повторяется (см. рис. 22.8 ).
Обратите внимание, что число, полученное в результате суммирования R 0 * и R 0 ** , может не уместиться полностью в ячейке R 1 . В этом случае от полученного числа должны быть отброшены лишние разряды. Поясним это для рис. 22.8 , где все ячейки представлены восемью двоичными разрядами. Пусть R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , тогда R 0 * + R 0 ** = 100110010 2 = 306 10 . Как видим, число 306 занимает 9 разрядов (в двоичной системе счисления), а ячейка R 1 (как и R 0 ) может вместить в себя максимум 8 разрядов. Поэтому перед занесением значения в R 1 необходимо убрать один «лишний», крайний левый бит из числа 306, в результате чего в R 1 пойдет уже не 306, а 00110010 2 = 50 10 . Также заметим, что в таких языках, как Паскаль, «урезание» лишних битов при переполнении ячейки производится автоматически в соответствии с заданным типом переменной.
Линейный конгруэнтный метод
Линейный конгруэнтный метод является одной из простейших и наиболее употребительных в настоящее время процедур, имитирующих случайные числа. В этом методе используется операция mod(x , y ) , возвращающая остаток от деления первого аргумента на второй. Каждое последующее случайное число рассчитывается на основе предыдущего случайного числа по следующей формуле:
r i + 1 = mod(k · r i + b , M ) .
Последовательность случайных чисел, полученных с помощью данной формулы, называется линейной конгруэнтной последовательностью . Многие авторы называют линейную конгруэнтную последовательность при b = 0 мультипликативным конгруэнтным методом , а при b ≠ 0 смешанным конгруэнтным методом .
Для качественного генератора требуется подобрать подходящие коэффициенты. Необходимо, чтобы число M было довольно большим, так как период не может иметь больше M элементов. С другой стороны, деление, использующееся в этом методе, является довольно медленной операцией, поэтому для двоичной вычислительной машины логичным будет выбор M = 2 N , поскольку в этом случае нахождение остатка от деления сводится внутри ЭВМ к двоичной логической операции «AND». Также широко распространен выбор наибольшего простого числа M , меньшего, чем 2 N : в специальной литературе доказывается, что в этом случае младшие разряды получаемого случайного числа r i + 1 ведут себя так же случайно, как и старшие, что положительно сказывается на всей последовательности случайных чисел в целом. В качестве примера можно привести одно из чисел Мерсенна , равное 2 31 1 , и таким образом, M = 2 31 1 .
Одним из требований к линейным конгруэнтным последовательностям является как можно большая длина периода. Длина периода зависит от значений M , k и b . Теорема, которую мы приведем ниже, позволяет определить, возможно ли достижение периода максимальной длины для конкретных значений M , k и b .
Теорема . Линейная конгруэнтная последовательность, определенная числами M , k , b и r 0 , имеет период длиной M тогда и только тогда, когда:
- числа b и M взаимно простые;
- k 1 кратно p для каждого простого p , являющегося делителем M ;
- k 1 кратно 4, если M кратно 4.
Наконец, в заключение рассмотрим пару примеров использования линейного конгруэнтного метода для генерации случайных чисел.
Было установлено, что ряд псевдослучайных чисел, генерируемых на основе данных из примера 1, будет повторяться через каждые M /4 чисел. Число q задается произвольно перед началом вычислений, однако при этом следует иметь в виду, что ряд производит впечатление случайного при больших k (а значит, и q ). Результат можно несколько улучшить, если b нечетно и k = 1 + 4 · q в этом случае ряд будет повторяться через каждые M чисел. После долгих поисков k исследователи остановились на значениях 69069 и 71365 .
Генератор случайных чисел, использующий данные из примера 2, будет выдавать случайные неповторяющиеся числа с периодом, равным 7 миллионам.
Мультипликативный метод генерации псевдослучайных чисел был предложен Д. Г. Лехмером (D. H. Lehmer) в 1949 году.
Проверка качества работы генератора
От качества работы ГСЧ зависит качество работы всей системы и точность результатов. Поэтому случайная последовательность, порождаемая ГСЧ, должна удовлетворять целому ряду критериев.
Осуществляемые проверки бывают двух типов:
- проверки на равномерность распределения;
- проверки на статистическую независимость.
Проверки на равномерность распределения
1) ГСЧ должен выдавать близкие к следующим значения статистических параметров, характерных для равномерного случайного закона:
2) Частотный тест
Частотный тест позволяет выяснить, сколько чисел попало в интервал (m r σ r ; m r + σ r ) , то есть (0.5 0.2887; 0.5 + 0.2887) или, в конечном итоге, (0.2113; 0.7887) . Так как 0.7887 0.2113 = 0.5774 , заключаем, что в хорошем ГСЧ в этот интервал должно попадать около 57.7% из всех выпавших случайных чисел (см. рис. 22.9 ).
в случае проверки его на частотный тест
Также необходимо учитывать, что количество чисел, попавших в интервал (0; 0.5) , должно быть примерно равно количеству чисел, попавших в интервал (0.5; 1) .
3) Проверка по критерию «хи-квадрат»
Критерий «хи-квадрат» (χ 2 -критерий) это один из самых известных статистических критериев; он является основным методом, используемым в сочетании с другими критериями. Критерий «хи-квадрат» был предложен в 1900 году Карлом Пирсоном. Его замечательная работа рассматривается как фундамент современной математической статистики.
Для нашего случая проверка по критерию «хи-квадрат» позволит узнать, насколько созданный нами реальный ГСЧ близок к эталону ГСЧ , то есть удовлетворяет ли он требованию равномерного распределения или нет.
Частотная диаграмма эталонного ГСЧ представлена на рис. 22.10 . Так как закон распределения эталонного ГСЧ равномерный, то (теоретическая) вероятность p i попадания чисел в i -ый интервал (всего этих интервалов k ) равна p i = 1/k . И, таким образом, в каждый из k интервалов попадет ровно по p i · N чисел (N общее количество сгенерированных чисел).
Реальный ГСЧ будет выдавать числа, распределенные (причем, не обязательно равномерно!) по k интервалам и в каждый интервал попадет по n i чисел (в сумме n 1 + n 2 + + n k = N ). Как же нам определить, насколько испытываемый ГСЧ хорош и близок к эталонному? Вполне логично рассмотреть квадраты разностей между полученным количеством чисел n i и «эталонным» p i · N . Сложим их, и в результате получим:
χ 2 эксп. = (n 1 p 1 · N ) 2 + (n 2 p 2 · N ) 2 + + (n k p k · N ) 2 .
Из этой формулы следует, что чем меньше разность в каждом из слагаемых (а значит, и чем меньше значение χ 2 эксп. ), тем сильнее закон распределения случайных чисел, генерируемых реальным ГСЧ, тяготеет к равномерному.
В предыдущем выражении каждому из слагаемых приписывается одинаковый вес (равный 1), что на самом деле может не соответствовать действительности; поэтому для статистики «хи-квадрат» необходимо провести нормировку каждого i -го слагаемого, поделив его на p i · N :
Наконец, запишем полученное выражение более компактно и упростим его:
Мы получили значение критерия «хи-квадрат» для экспериментальных данных.
В табл. 22.2 приведены теоретические значения «хи-квадрат» (χ 2 теор. ), где ν = N 1 это число степеней свободы, p это доверительная вероятность, задаваемая пользователем, который указывает, насколько ГСЧ должен удовлетворять требованиям равномерного распределения, или p это вероятность того, что экспериментальное значение χ 2 эксп. будет меньше табулированного (теоретического) χ 2 теор. или равно ему .
Таблица 22.2. Некоторые процентные точки χ 2 -распределения |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
p = 1% | p = 5% | p = 25% | p = 50% | p = 75% | p = 95% | p = 99% | |
ν = 1 | 0.00016 | 0.00393 | 0.1015 | 0.4549 | 1.323 | 3.841 | 6.635 |
ν = 2 | 0.02010 | 0.1026 | 0.5754 | 1.386 | 2.773 | 5.991 | 9.210 |
ν = 3 | 0.1148 | 0.3518 | 1.213 | 2.366 | 4.108 | 7.815 | 11.34 |
ν = 4 | 0.2971 | 0.7107 | 1.923 | 3.357 | 5.385 | 9.488 | 13.28 |
ν = 5 | 0.5543 | 1.1455 | 2.675 | 4.351 | 6.626 | 11.07 | 15.09 |
ν = 6 | 0.8721 | 1.635 | 3.455 | 5.348 | 7.841 | 12.59 | 16.81 |
ν = 7 | 1.239 | 2.167 | 4.255 | 6.346 | 9.037 | 14.07 | 18.48 |
ν = 8 | 1.646 | 2.733 | 5.071 | 7.344 | 10.22 | 15.51 | 20.09 |
ν = 9 | 2.088 | 3.325 | 5.899 | 8.343 | 11.39 | 16.92 | 21.67 |
ν = 10 | 2.558 | 3.940 | 6.737 | 9.342 | 12.55 | 18.31 | 23.21 |
ν = 11 | 3.053 | 4.575 | 7.584 | 10.34 | 13.70 | 19.68 | 24.72 |
ν = 12 | 3.571 | 5.226 | 8.438 | 11.34 | 14.85 | 21.03 | 26.22 |
ν = 15 | 5.229 | 7.261 | 11.04 | 14.34 | 18.25 | 25.00 | 30.58 |
ν = 20 | 8.260 | 10.85 | 15.45 | 19.34 | 23.83 | 31.41 | 37.57 |
ν = 30 | 14.95 | 18.49 | 24.48 | 29.34 | 34.80 | 43.77 | 50.89 |
ν = 50 | 29.71 | 34.76 | 42.94 | 49.33 | 56.33 | 67.50 | 76.15 |
ν > 30 | ν + sqrt(2ν ) · x p + 2/3 · x 2 p 2/3 + O (1/sqrt(ν )) | ||||||
x p = | 2.33 | 1.64 | 0.674 | 0.00 | 0.674 | 1.64 | 2.33 |
Приемлемым считают p от 10% до 90% .
Если χ 2 эксп. много больше χ 2 теор. (то есть p велико), то генератор не удовлетворяет требованию равномерного распределения, так как наблюдаемые значения n i слишком далеко уходят от теоретических p i · N и не могут рассматриваться как случайные. Другими словами, устанавливается такой большой доверительный интервал, что ограничения на числа становятся очень нежесткими, требования к числам слабыми. При этом будет наблюдаться очень большая абсолютная погрешность.
Еще Д. Кнут в своей книге «Искусство программирования» заметил, что иметь χ 2 эксп. маленьким тоже, в общем-то, нехорошо, хотя это и кажется, на первый взгляд, замечательно с точки зрения равномерности. Действительно, возьмите ряд чисел 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, они идеальны с точки зрения равномерности, и χ 2 эксп. будет практически нулевым, но вряд ли вы их признаете случайными.
Если χ 2 эксп. много меньше χ 2 теор. (то есть p мало), то генератор не удовлетворяет требованию случайного равномерного распределения, так как наблюдаемые значения n i слишком близки к теоретическим p i · N и не могут рассматриваться как случайные.
А вот если χ 2 эксп. лежит в некотором диапазоне, между двумя значениями χ 2 теор. , которые соответствуют, например, p = 25% и p = 50%, то можно считать, что значения случайных чисел, порождаемые датчиком, вполне являются случайными.
При этом дополнительно надо иметь в виду, что все значения p i · N должны быть достаточно большими, например больше 5 (выяснено эмпирическим путем). Только тогда (при достаточно большой статистической выборке) условия проведения эксперимента можно считать удовлетворительными.
Итак, процедура проверки имеет следующий вид.
Проверки на статистическую независимость
1) Проверка на частоту появления цифры в последовательности
Рассмотрим пример. Случайное число 0.2463389991 состоит из цифр 2463389991, а число 0.5467766618 состоит из цифр 5467766618. Соединяя последовательности цифр, имеем: 24633899915467766618.
Понятно, что теоретическая вероятность p i выпадения i -ой цифры (от 0 до 9) равна 0.1.
2) Проверка появления серий из одинаковых цифр
Обозначим через n L число серий одинаковых подряд цифр длины L . Проверять надо все L от 1 до m , где m это заданное пользователем число: максимально встречающееся число одинаковых цифр в серии.
В примере «24633899915467766618» обнаружены 2 серии длиной в 2 (33 и 77), то есть n 2 = 2 и 2 серии длиной в 3 (999 и 666), то есть n 3 = 2 .
Вероятность появления серии длиной в L равна: p L = 9 · 10 L (теоретическая). То есть вероятность появления серии длиной в один символ равна: p 1 = 0.9 (теоретическая). Вероятность появления серии длиной в два символа равна: p 2 = 0.09 (теоретическая). Вероятность появления серии длиной в три символа равна: p 3 = 0.009 (теоретическая).
Например, вероятность появления серии длиной в один символ равна p L = 0.9 , так как всего может встретиться один символ из 10, а всего символов 9 (ноль не считается). А вероятность того, что подряд встретится два одинаковых символа «XX» равна 0.1 · 0.1 · 9, то есть вероятность 0.1 того, что в первой позиции появится символ «X», умножается на вероятность 0.1 того, что во второй позиции появится такой же символ «X» и умножается на количество таких комбинаций 9.
Частость появления серий подсчитывается по ранее разобранной нами формуле «хи-квадрат» с использованием значений p L .
Примечание: генератор может быть проверен многократно, однако проверки не обладают свойством полноты и не гарантируют, что генератор выдает случайные числа. Например, генератор, выдающий последовательность 12345678912345 , при проверках будет считаться идеальным, что, очевидно, не совсем так.
В заключение отметим, что третья глава книги Дональда Э. Кнута «Искусство программирования» (том 2) полностью посвящена изучению случайных чисел. В ней изучаются различные методы генерирования случайных чисел, статистические критерии случайности, а также преобразование равномерно распределенных случайных чисел в другие типы случайных величин. Изложению этого материала уделено более двухсот страниц.
Читайте: |
---|
Популярное:
Новое
- К чему снится клещ впившийся в ногу
- Гадание на воске: значение фигур и толкование
- Тату мотыль. Татуировка мотылек. Общее значение татуировки
- Что подарить ребёнку на Новый год
- Как празднуют день святого Патрика: традиции и атрибуты День святого патрика что
- Как научиться мыслить лучше Я не умею быстро соображать
- Эти признаки помогут распознать маньяка Существует три способа достижения абсолютной власти
- Как спастись от жары в городской квартире
- Слова благодарности для учителей: что написать в открытке любимому педагогу?
- Слова благодарности для учителей: что написать в открытке любимому педагогу?