
- •230400 "Информационные системы и технологии"
- •1 Получение псевдослучайных чисел
- •Введение
- •Генератор псевдослучайных чисел
- •1.3 Методы получение псевдослучайных чисел
- •1.3.1 Линейный конгруэнтный метод
- •1.3.2 Метод Фибоначчи
- •1.3.3 Вихрь Мерсенна
- •1.4 Тестирование псевдослучайных последовательностей
- •1.6 Список использованных источников
- •2.1 Постановка задачи
- •2.2 Программный код с необходимыми комментариями
МИНОБРНАУКИ РОССИИ
Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»
Кафедра
«Информационно измерительная техника
и технология» Направление
230400 "Информационные системы и технологии"
ПОЯСНИТЕЛЬНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОЙ РАБОТЕ ПО ДИСЦИПЛИНЕ
"ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ"
" Получение псевдослучайных чисел"
Выполнил: студентка группы 2 - 3
Недилько А.Ю.
Принял: доц. ……………………..
……………………….
Ростов-на-Дону
2013
Содержание
1 Получение псевдослучайных чисел 3
1.1 Введение 3
1.2 Генератор псевдослучайных чисел 4
1.3 Методы получение псевдослучайных чисел 5
1.3.1 Линейный конгруэнтный метод 5
1.3.2 Метод Фибоначчи 6
1.3.3 Вихрь Мерсенна 7
1.4 Тестирование псевдослучайных последовательностей 8
1.5 Генератор случайных чисел в Borland C++ 9
1.6 Список использованных источников 12
2 Разработка на языке С++ программы для отбора команды на олимпиаду по программированию (на основе связного списка) 13
2.1 Постановка задачи 13
2.2 Программный код с необходимыми комментариями 13
1 Получение псевдослучайных чисел
Введение
Современная информатика широко использует псевдослучайные числа в самых различных приложениях. При этом от качества используемых генераторов псевдослучайных чисел зависит качество получаемых результатов.
Одной из важнейших задач математической статистики является установление теоретического закона распределения случайной величины, характеризующей изучаемый признак по опытному (эмпирическому) распределению, представляющему вариационный ряд.
Генерирование случайных последовательностей с заданным вероятностным законом и проверка их адекватности — одни из важнейших проблем современной криптологии. Генераторы случайных последовательностей используются в существующих криптосистемах для генерации ключевой информации и задания ряда параметров криптосистем.
В начале XX века случайные последовательности имитировались с помощью простейших случайных экспериментов: бросание монеты или игральной кости, извлечение шаров из урны, раскладывание карт, рулетка и т. д. В 1927 г. Л. Типпетом впервые были опубликованы таблицы, содержащие свыше 40000 случайных цифр, "произвольно извлечённых из отчётов о переписи населения". В 1939 г. с помощью специально сконструированного механического устройства — генератора случайных чисел, М. Дж. Кендалл и Б. Бэбингтон-Смит создали таблицу, включающую 105 случайных цифр. В 1946 г. американский математик Джон фон Нейман впервые предложил компьютерный алгоритм генерации случайных чисел. В 1955 г. компания RAND Corporation опубликовала получившие широкую популярность таблицы, содержащие 106 случайных цифр, сгенерированных на ЭВМ.
Генератор псевдослучайных чисел
Физическое моделирование случайности с помощью таких физических явлений как, например, радиоактивное излучение или дробовой шум в электронной лампе является довольно сложным и дорогостоящим, а использование нажатия клавиш и движение мыши требует усилий пользователя и к тому же не дают полностью настоящих случайных процессов. Поэтому вместо физического моделирования используют методы математического моделирования случайности и генерации случайных последовательностей в виде программ для ЭВМ или специализированных устройств.
Эти программы и устройства хотя и называются генераторами случайных чисел, на самом деле генерируют детерминированные последовательности, которые только кажутся случайными по своим свойствам и поэтому называются псевдослучайными последовательностями.
Генератор псевдослучайных чисел (ГПСЧ, англ. Pseudorandom number generator, PRNG) — алгоритм, генерирующий последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению (обычно равномерному).
Самая важная характеристика генератора псевдослучайных чисел - это информационная длина его периода, после которого числа будут либо просто повторяться, либо их можно будет предсказать.
Любые программные ГПСЧ, не использующие внешних «источников энтропии» и формирующие очередное число только алгебраическими преобразованиями, не дают чисто случайных чисел. Последовательность на выходе такого генератора выглядит как случайная, но на самом деле подчиняется некоторому закону и, как правило, рано или поздно зацикливается. Такие числа называются псевдослучайными. Рассмотрим теперь некоторые практические методы получения псевдослучайных чисел.