28539

Получение случайных чисел

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-20

45 KB

27 чел.

Получение случайных чисел

Последовательность случайных чисел можно получить одним из следующих способов:

- путем выборки из специальных таблиц

- используя датчики случайных чисел

- программными методами.

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

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

                             Метод произведений  

Произвольно выбираются два числа b0 и b1 , имеющие одинаковое число  значащих цифр m. Находится их произведение q2 =b0 b1 . Если m > 1, то  число значащих цифр в q2 будет больше, чем m. Тогда из всех значащих цифр  произведения q2 выбирается m цифр, расположенных в середине числа q2, и эти цифры используют как случайное число b2. Следующее случайное  число b3 получается аналогично из произведения b1 b2 и т.д.

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

Применение метода вычетов основано на том, что каждое последующее

случайное число bk+1 образуется из предыдущего bk согласно рекуррентному  соотношению:

 bk+1 =l*bk(modN)   (1)  

которое означает, что число b равно остатку от деления на N произведения

числа b на постоянный множитель l. Очевидно, что остаток от деления на

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

С использованием этого алгоритма была, например, найдена следующая  зависимость для получения последовательности псевдослучайных чисел b ,  равномерно расположенных на интервале [0;1]:  

dk+1 =517*d (mod 242 ); d0 = 1;   (2)  

 

bk =2-42 *dk   (3)  

Уравнение (2) является записью алгоритма (1), а (3) применяется для того,

чтобы привести случайные числа к интервалу [0; 1]. Период последовательности, получаемый по (2) примерно равен 1210 .Другая последовательность

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

соотношения (1), если принять  l=513;    n=236   (4)  

Получаемая при этих значениях последовательность имеет период,  оцениваемый  числом 22.1010 .

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

Получение псевдослучайных последовательностей из иррациональных   чисел.  Этот способ основан на свойстве иррациональных чисел образовывать  неупорядоченную последовательность цифр дробной части при вычислении  иррационального числа с достаточно высокой степенью точности.  В наиболее простой форме данный способ реализуется при расчете дробной  части произведения иррационального числа Z на последовательность  натуральных чисел. При этом алгоритм может быть записан в следующем  виде: bk= {K*Z}   K=1; 2; 3...   (5)  

Фигурные скобки в (5) означают, что из произведения K*Z берется только дробная часть, которая должна вычисляться с необходимой степенью  точности, характеризующей разрядность находимых псевдослучайных  чисел. Необходимо также отметить, что использование последовательностей  псевдослучайных чисел, отличающихся по вероятностным оценкам от  идеальной последовательности равномерно расположенных случайных  чисел, в некоторых случаях может заметно увеличить время решения  оптимизационной задачи методами случайного поиска.

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

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

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

Одной из задач при использовании конгруэнтных генераторов является  подбор чисел-параметров генератора.  "Из простейших процедур, имитирующих случайные числа, наиболее  употребляемым так называемый конгруэнтный способ, приписываемый  Д.Х.Ламеру (Вообще-то он D.H.Lehmer):

    G(n+1)=K*G(n) + C MOD M

В нем каждое псевдослучайное число G(n+1) получается из предыдущего

 G(n1) умножением его на K, сложением с C и взятием остатка от деления

на M. Весь фокус здесь в том, чтобы подобрать хорошие значения K,C и

 M, на что были потрачены десятилетия работы математиков. Подбор почти

иррациональных K ничего не дает. Разумнее вычисления вести в целых

числах. Для них было установлено, что при C=0 и M=2^n наибольший

период M/4 достигается при K=3+8*i или K=5+8*i и нечетном начальном

числе. При достаточно больших K ряд производит впечатление случайного.

Результат можно улучшить если C нечетно и K=1+4*i, то период ряда равен  M. После долгих поисков K исследователи остановились на  значениях  69069 и 71365. Кроме значений M=2^N широко используются выборы  простых M, например, простого числа M=2^31 -1, известного со времен  Эйлера." Hаиболее  эффективным из псевдослучайных генераторов  является циклический генератор с обратной связью. Описан в книге  "Хоровиц, Хилл - Искусство схемотехники". Если период повторения  псевдослучайного генератора слишком мал, используют XOR нескольких  генераторов с взаимно простыми периодами. Период такого агрегированного  генератора есть произведение периодов элементарных генераторов.

Через несколько лет этот генератор отвергли, т.к. было обнаружено  (экспериментально), что если каждую тройку последовательно сгенерированных  подпрограммой чисел рассматривать как координаты числа в трехмерном  пространстве, то все такие точки окажутся на пятнадцати параллельных  плоскостях! Может ли кто-нибудь доказать (или опровергнуть) это утверждение?

Аппаратные генераторы

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

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


 

А также другие работы, которые могут Вас заинтересовать

32394. Представление о личности в отечественной и зарубежной психологии. Личность и индивидуальность 14.43 KB
  Личность и индивидуальность. Личность специфическое человеческое образование производится общественными отношениями в которых индивид вступает в своей деятельности. Личность понятие социальное возникает в результате культурного и социального развития есть своя позиция жизни к которой пришел в итоге большой сознательной работы; самостоятельность мысли; глубина и богатство связей с миром с другими людьми; разрыв этих связей самоизоляция опустошают. Личность как субъект межличностных социальных отношений и сознательной деятельности...
32395. Взаимоотношение детей со сверстниками на различных возрастных этапах 13.05 KB
  Положительные личностные качества становятся одним из мотивов выбора детьми друг друга для совместной деятельности и общения. Стремление к сверстникам жажда общения с ними делают группу сверстников чрезвычайно ценной и привлекательной. В подростковом и юношеском возрасте психология общения строится на основе противоречивого переплетения двух потребностей: обособления приватизации и принадлежности аффиляции. Специфика общения подростков преодоление коммуникативных трудностей застенчивость.
32396. История и характеристика тестов интеллекта 14.22 KB
  Общие признаки интеллектуальных тестов: Носят эмпирический характер отсутствует базисная теория интеллекта. Тесты интеллекта являются одними из наиболее распространенных в психодиагностике и применяются для выявления уровня развития отдельных психических функций комплексов или уровня развития интеллекта в целом: Тесты интеллекта направлены на установление уровня интеллектуального развития человека метрические шкалы БинеСимона интеллектуальные шкалы Векслера. Тесты специальных способностей предназначены для измерения уровня...
32397. Представление о личности в экзистенциально-гумманистической психологии 13.83 KB
  Исходит из уникальности конкретной жизни человека где каждый ответственен за свои действия Я есть мой выбор есть субъективная реальность. Субъективный опыт основной феномен в изучении и понимании человека который не может быть сведен к универсальным правилам. Рассматривается проблема человека которая рефлектирует и подтверждает себя в процессе обретения смыслов. В центр внимания ставятся и внещние силы обуславливающие поведение человека но его собственная индивидуальность которая себя не знает Хайдеггер проверяет Сарт или...
32398. Методы статической обработки 14.28 KB
  При сравнении того или иного показателя или результатов исследования используются критерии различий. Они позволяют оценить степень статистической достоверности различий между разнообразными показателями. Разнообразие критериев различий позволяет: выбирать критерий адекватный типу шкалы в которой получены экспериментальные данные; работать со связанными зависимыми и несвязанными независимыми выборками; работать с неравными по объему выборками; выбирать из критериев разные по мощности в зависимости от целей исследования. Критерии...
32399. Мотивационная сфера личности. Понятие направленности. Понятие потребностей, интересов, установок, мировоззрения. Методы их получения 15.73 KB
  Мотивационная сфера личности вся совокупность мотивов личности которая формируется и развивается в течении жизни определяется индивидуальности поведения и деятельности. Мотив это внутренние силы которые связаны с потребностями личности и побуждают ее к определенной деятельности. Мотивация совокупность мотивов побуждающая человека к активной деятельности. Смыслообразующая придание деятельности глубокого личностного смысла.
32400. Основные принципы и этапы психологического консультирования 14.54 KB
  Для ее реализации необходимо наличие клиента. Присутствие в жизни клиента психологического дискомфорта определяемого им или его ближайшим окружением как проблемы. Желание клиента решить данную проблему. При оказании помощи делается акцент на имеющиеся у клиента ресурсы.
32401. Выделение психологии в самостоятельную науку и ее развитие в конце 19- начало 20 века. Кризис в психологии. Проблема методов в психологии 14.91 KB
  Психология как самостоятельная наука выделилась в середине 19 века, ее предметом стали считать сознание, основной задачей – подвергнуть анализу содержания сознания, исследовать различные состояния сознания и его свойства. Психологи считали, что процессы сознания непосредственно открываются только человеку, которому принадлежат и закрыты для внешнего наблюдения
32402. Сущность и специфика педагогического общения. Стиль общения педагога его влияние на характер педагогического общения 15.23 KB
  Стиль общения педагога его влияние на характер педагогического общения. Функции общения: Социальнопсихологическое обеспечение воспитательного процесса. Задачи общения: Взаимопонимание умение смотреть на себя глазами партнера по общению.