Отчёт по практике Точные науки Методы оптимизации

Отчёт по практике на тему Генератор случайных чисел равномерного распределения (С++)

  • Оформление работы
  • Список литературы по ГОСТу
  • Соответствие методическим рекомендациям
  • И еще 16 требований ГОСТа,
    которые мы проверили
Нажимая на кнопку, я даю согласие
на обработку персональных данных
Фрагмент работы для ознакомления
 

Содержание:

 

Введение 3
Генератор псевдослучайных чисел 5
Простейший ГСЧ 5
Исследование простейшего ГСЧ 6
Функции srand() и rand() 8
Стартовое число и последовательности в ГПСЧ 10
Качество ГСЧ 12
Основные критерии качества ГСЧ 12
Почему rand() является посредственным ГПСЧ? 13
Заключение 15
Список использованных источников 16

 

  

Введение:

 

В программировании достаточно часто находят применение последовательности чисел, выбранных случайным образом из некоторого множества. В качестве примеров задач, в которых используются случайные числа, можно привести следующие:
• тестирование алгоритмов;
• имитационное моделирование;
• некоторые задачи численного анализа;
• имитация пользовательского ввода.
Для получения случайных чисел можно использовать различные способы. В общем случае все методы генерирования случайных чисел можно разделить на аппаратные и программные. Устройства или алгоритмы получения случайных чисел называют генераторами случайных чисел (ГСЧ) или датчиками случайных чисел.
Аппаратные ГСЧ представляют собой устройства, преобразующие в цифровую форму какой-либо параметр окружающей среды или физического процесса. Параметр и процесс выбираются таким образом, чтобы обеспечить хорошую «случайность» значений при считывании. Очень часто используются паразитные процессы в электронике (токи утечки, туннельный пробой диодов, цифровой шум видеокамеры, шумы на микрофонном входе звуковой карты и т.п.). Формируемая таким образом последовательность чисел, как правило, носит абсолютно случайный характер и не может быть воспроизведена заново по желанию пользователя.
К программным ГСЧ относятся различные алгоритмы генерирования последовательности чисел, которая по своим характеристикам напоминает случайную. Для формирования очередного числа последовательности используются различные алгебраические преобразования. Одним из первых программных ГСЧ является метод средин квадратов, предложенный в 1946 г. Дж. фон Нейманом. Этот ГСЧ формирует следующий элемент последовательности на основе предыдущего путем возведения его в квадрат и выделения средних цифр полученного числа.
Любые программные ГСЧ, не использующие внешних «источников энтропии» и формирующие очередное число только алгебраическими преобразованиями, не дают чисто случайных чисел. Последовательность на выходе такого ГСЧ выглядит как случайная, но на самом деле подчиняется некоторому закону и, как правило, рано или поздно зацикливается. Такие числа называются псевдослучайными.
Рассмотрим некоторые программные генераторы псевдослучайных чисел.

Не хочешь рисковать и сдавать то, что уже сдавалось?!
Закажи оригинальную работу - это недорого!

Заключение:

 

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

 

Фрагмент текста работы:

 

Генератор псевдослучайных чисел
Простейший ГСЧ
Так как же генерировать случайные числа? В реальной жизни мы часто бросаем монетку (орёл/решка), кости или перетасовываем карты. Эти события включают в себя так много физических переменных (например, сила тяжести, трение, сопротивление воздуха и т.д.), что они становятся почти невозможными для прогнозирования/контроля и выдают результаты, которые во всех смыслах являются случайными.
Однако компьютеры не предназначены для использования физических переменных — они не могут бросить монетку, кости или перетасовать реальные карты. Компьютеры живут в контролируемом электрическом мире, где есть только два значения (true и false), чего-то среднего между ними нет. По своей природе компьютеры предназначены для получения прогнозируемых результатов. Когда мы говорим компьютеру посчитать, сколько будет 2 + 2, мы всегда хотим, чтобы ответом было 4 (не 3 и не 5).
Следовательно, компьютеры неспособны генерировать случайные числа. Вместо этого они могут имитировать случайность, что достигается с помощью генераторов псевдослучайных чисел.
Генератор псевдослучайных чисел (или ещё «ГПСЧ») — это программа, которая принимает стартовое/начальное значение и выполняет с ним определённые математические операции, чтобы конвертировать его в другое число, которое совсем не связанное со стартовым. Затем программа использует новое сгенерированное значение и выполняет с ним те же математические операции, что и с начальным числом, чтобы конвертировать его в ещё в одно новое число — третье, которое не связано ни с первым, ни со вторым. Применяя этот алгоритм к последнему сгенерированному значению, программа может генерировать целый ряд новых чисел, которые будут казаться случайными (при условии, что алгоритм будет достаточно сложным).

Важно! Это только фрагмент работы для ознакомления
Скачайте архив со всеми файлами работы с помощью формы в начале страницы