Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М_М_К_3.doc
Скачиваний:
43
Добавлен:
24.12.2018
Размер:
3.04 Mб
Скачать

1.3.5. Генераторы псевдослучайных чисел на эвм

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

Для современных персональных вычислительных машин генерация псевдослучайных эталонных и случайных чисел реализована в языках программирования. В языке Паскаль для подключения генератора случайных чисел необходимо вписать в программе команду Randomize. Генерирование эталонного псевдослучайного числа в интервале [0, 1] производится как

: = Random;

Если необходимо получить целые случайные числа от 0 до N, то запись генерации записывается в виде

хi : = Random(N);

На языке Бейсик генерация эталонных случайных чисел в интервале [0,1]записывается в виде

: = RND(1).

На языке Фортран (язык программирования для физиков и инженеров) генерация случайных чисел в интервале [0,1] осуществляется с помощью подключения генератора случайных чисел Randomize(а), где а – любое положительное число. Вызов для присвоения эталонного случайного числа в интервале [0,1] записывается в виде

= RND(1).

1.3.6. Использование таблицы дискретных случайных чисел

Если мы имеем некоторый генератор случайных цифр, то, проводя, к примеру, N независимых опытов можем получить N независимых случайных цифр , записывая их в порядке появления в таблицу, получим таблицу случайных цифр. Порядок использования этих таблиц достаточно прост. Например, нам необходимо получить случайные числа в интервале [0, 1], для этого выбираем любую последовательность, например, четыре цифры , проводя к виду , получаем случайное число в заданном интервале.

Составление таблицы случайных цифр является не простой задачей. При создании генератора случайных цифр мы не гарантированы от ошибок. Созданная таблица случайных цифр тестируется и анализируется так, чтобы данная таблица действительно была таблицей случайных цифр. Это необходимо для того, чтобы мы были гарантированы в случайности полученных цифр.

Отметим, что тестированные таблицы случайных цифр часто даются в справочниках, учебных пособиях и задачниках по теории вероятностей[5,6,7,23,25], и их можно использовать для решения задач при небольших сериях испытаний. Таблица случайных чисел дана в приложении 1.

Задания на моделирование:

        1. Разработайте программу генерации случайных чисел с использованием генератора Randomize в интервале [0, 1] и интервалах [a, b], где a < b. Постройте диаграмму распределения полученной последовательности.

  1. Создайте собственную программу генерации случайных чисел методом вычетов. Постройте диаграмму распределения сгенерированной последовательности.

  2. Разработайте собственную программу генерации случайных чисел методом Лемера. Используйте целые, рациональные и иррациональные значения коэффициентов М, К и Р. Постройте диаграмму распределения полученной последовательности.

  3. Разработайте программу генерации случайных чисел методом Лемера при К=0, Р = 2 N и М=3+8*I. Постройте диаграмму распределения полученной последовательности.

  4. Создайте программу генерации случайных чисел методом Неймана. Постройте диаграмму распределения сгенерированной последовательности.

  5. Разработайте программу генерации случайных чисел методом Марсалиа-Зеймана. Получите из 1000 первых чисел Фибоначчи, отбрасывая все разряды кроме единиц. Складывая все числа, удаленные на n элементов получите ряд случайных чисел Фибоначчи. Постройте диаграмму распределения полученных чисел.

  6. Разработайте программу получения последовательности случайных чисел, используя рациональные и иррациональные значения коэффициентов а и b в дробной части многочлена , где n = 1, 2, 3, … . Постройте диаграмму распределения сгенерированной последовательности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]