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

Использование метода Монте-Карло для решения математических задач при помощи моделирования случайных величин. Способы получения случайных величин. Алгоритмы получения псевдослучайных чисел. Получение псевдослучайных точек методами Неймана и Лемера.

Рубрика Математика
Вид практическая работа
Язык русский
Дата добавления 26.12.2016
Размер файла 91,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Тульский государственный университет»

Кафедра прикладной математики и информатики

Практическое занятие № 1

по курсу: «Дискретные и вероятностные математические модели»

Название темы: «Получение случайных чисел на ЭВМ»

Выполнил студент гр: 241261/12: Маймут Е.О.

Проверил проф. каф. ПМиИ: Баранов В.П.

Тула 2016 год

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

Цель работы: научиться генерировать случайные числа различными методами.

Теоретическая справка:

1.1 Методы Монте-Карло и случайные величины

Методами Монте-Карло называются численные методы решения математических задач при помощи моделирования случайных величин. Как правило, в качестве стандартной выбирают непрерывную случайную величину , равномерно распределенную в интервале (0, 1). Основные характеристики этой величины: плотность , функция распределения , математическое ожидание , дисперсия .

Иногда в качестве стандартной используются дискретная случайная величина , принимающая с одинаковой вероятностью значения 0,1,2,…,9. Величина называется случайной цифрой, а величина - случайным числом. Связь между и устанавливается разложением числа в бесконечную десятичную дробь:

или . (1)

Справедливо утверждение: если - произвольное целое положительное число, то случайная величина равномерно распределена в интервале (0,1), где - дробная часть числа .

1.2 Способы получения случайных величин

1.2.1 Метод таблиц

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

1.2.2 Метод датчиков

Генераторами, или датчиками, случайных величин называют различные технические устройства, вырабатывающие случайные величины. Чаще всего для построения датчика используют радиоэлектронные приборы (диоды, тиратроны, газотроны и др.). Простейшим датчиком двоичных цифр является счетчик, выдающий число , т.е. 0 при четном и 1 при нечетном . Обычно датчики случайных чисел содержат генераторов описанного типа, работающих независимо, так, что датчикам выдается приближенное случайное число , записанное в форме m-разрядной двоичной дроби. Этот метод в основном применяется в системах автоматического регулирования и аналоговых вычислительных машинах, значительно реже - в методах Монте-Карло. Достоинства метода: неограниченный запас чисел, сверхбыстрое их получение, запас чисел не занимает много места в накопителе. Недостатки: периодическая проверка, невоспроизводимость чисел, требуется специальное устройство.

1.2.3 Метод случайных чисел

Псевдослучайными числами называют числа , которые вычисляются по какой-либо заданной формуле и могут быть использованы вместо случайных чисел при решении некоторых задач. Достоинства метода: однократная проверка, воспроизводимость чисел, их быстрое получение, запас чисел занимает мало места в накопителе. Недостатки: запас чисел ограничен. Этот метод - самый удобный с практической точки зрения и является основным при расчетах методом Монте-Карло.

1.3 Алгоритмы получения псевдослучайных чисел

Большинство алгоритмов представляют собой рекуррентные формулы первого порядка

, (2)

где начальное число задано.

1.3.1 Метод середины квадрата (Неймана)

Число представляют 2k -значным:

.

Чтобы получить число , надо возвести в квадрат: , а затем отобрать средние 2K цифр этого квадрата: .

Этому методу соответствует функция

(3)

или (что то же самое)

, (4)

где - целая часть числа x.

Недостатком этого метода является наличие больше, чем нужно, малых чисел. Кроме этого, при некоторых наблюдается вырождение последовательности, т.е. при n.

1.3.2 Метод сравнений (Лемера)

В этом методе , т.е. , где - большое целое число. Если задать , где - целые числа и взаимно просто с , то все будут несократимыми дробями вида , где числители определяются по формуле

(5)

Последняя запись означает, что равно остатку, полученному при делении на .

На практике обычно используют формулу (5). Вопрос о пригодности псевдослучайных чисел, в конечном счете, решается эмпирически. При некоторых , получают удовлетворительные последовательности, при других - плохие.

1.3.3 Метод Коробова

Псевдослучайные числа вычисляются по формуле

, (6)

где ; ;; i=1,2,…,n;

m - простое число вида (- тоже простое число);

n - число псевдослучайных точек.

Заданиe: Получить десять псевдослучайных точек, равномерно распределенных на интервале (0,1), методами Неймана, Лемера и Коробова. Необходимые для вычислений значения параметров указаны в вариантах задания (таблица).

Выполнение:

А) Метод середины квадрата (Неймана)

Листинг:

случайный величина монте карло

#include <iostream>

#include <cmath>

using namespace std;

double F(double x)

{ int k=1;

int celoe= pow(x,2)*pow(10, 3*k);

double drobnoe = (celoe * pow(10, -2*k));

if (drobnoe>0)

{

drobnoe-=floor(drobnoe);

}

return drobnoe;

}

int main()

{ //Русский язык

setlocale(LC_ALL,"russian");

double x0; //начальное число

int const nn=20; //максимальное количество элементов в массиве

int n;

double x[nn+1]; //массив цифр

int y[nn+1]; //массив хранения полученных чисел

cout<<"Генерация случайных чисел с помощью метода середины квадрата(Неймана)"<<endl;

cout<<"Сколько псевдослучайных точек вы бы хотели видеть на интервале (0,1)?"<<endl<<"n = ";

cin>>n;

cout<<"Введите начальное число x0"<<endl;

cin>>x0;

x[0]=x0;

x[1]=F(x[0]);

for (int i=1;i<n+1;i++)

{

x[i]=F(x[i-1]);

} cout<<endl;

for(int i=1;i<n+1;i++)

{

cout<<x[i]<<endl;

}

return 0;

}

Результат работы программы:

Б) Метод сравнений (Лемера)

Листинг:

#include <iostream>

#include <cmath>

using namespace std;

int main()

{ setlocale(LC_ALL,"Russian");

cout<<"Генерация случайных чисел методом сравнений (Лемера)."<<endl;

int const n = 10;

double m0 = 1.6;

double g = pow(5,5);

double M = pow(2,15);

double y[n+1];

double m[n+1];

m[0]=m0;

for (int i = 1; i<n+1; i++)

{

m[i]=(g*m[i-1])/M;

m[i]-=floor(m[i]); //получим остаток (дробь)

// cout<<m[i]<<endl;

y[i]=g*m[i-1]/M;

y[i]-=floor(y[i]);

cout<<y[i]<<endl;

}

return 0;

}

Результат работы программы:

В) Метод Коробова

Листинг:

#include <iostream>

#include <cmath>

using namespace std;

int main()

{ setlocale(LC_ALL,"Russian");

cout<<"Генерация случайных чисел методом Коробова.";

int const m1 = 19;

int const n = 10;

int h0=1;

double m = 2*m1+1;

double r[n];

double y[n];

double h[n];

h[0]=h0;

r[1]=m/2*h[0];

for (int i = 0; i<n+1;i++)

{

r[i+1] = m/2*h[i];

h[i+1] = r[i+1] - m*((int)(r[i+1]/m));

y[i+1] = r[i+1]/m;

y[i+1]-=floor(y[i+1]);

cout<<endl<<y[i+1];

}

return 0;

}

Результат работы программы:

Вывод: я изучила три метода генерации случайных чисел и написала программы для получения псевдослучайных точек.

Размещено на Allbest.ru

...

Подобные документы

  • Способы получения псевдослучайных чисел. Общая характеристика генератора псевдослучайных чисел фон Неймана. Сущность равномерного закона распределения. Понятие о критериях согласия. Анализ критериев Пирсона и Колмогорова.

    курсовая работа [176,9 K], добавлен 28.04.2010

  • Исследование способа вычисления кратных интегралов методом Монте-Карло. Общая схема метода Монте-Карло, вычисление определенных и кратных интегралов. Разработка программы, выполняющей задачи вычисления значений некоторых примеров кратных интегралов.

    курсовая работа [349,3 K], добавлен 12.10.2009

  • Понятие корреляционного момента двух случайных величин. Математическое ожидание произведения независимых случайных величин Х и У. Степень тесноты линейной зависимости между ними. Абсолютное значение коэффициента корреляции, его расчет и показатель.

    презентация [92,4 K], добавлен 01.11.2013

  • Математическое обоснование алгоритма вычисления интеграла. Принцип работы метода Монте–Карло. Применение данного метода для вычисления n–мерного интеграла. Алгоритм расчета интеграла. Генератор псевдослучайных чисел применительно к методу Монте–Карло.

    курсовая работа [100,4 K], добавлен 12.05.2009

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

    реферат [325,3 K], добавлен 23.01.2011

  • Алгебраический расчет плотности случайных величин, математических ожиданий, дисперсии и коэффициента корреляции. Распределение вероятностей одномерной случайной величины. Составление выборочных уравнений прямой регрессии, основанное на исходных данных.

    задача [143,4 K], добавлен 31.01.2011

  • Описание случайных ошибок методами теории вероятностей. Непрерывные случайные величины. Числовые характеристики случайных величин. Нормальный закон распределения. Понятие функции случайной величины. Центральная предельная теорема. Закон больших чисел.

    реферат [146,5 K], добавлен 19.08.2015

  • Понятие математического моделирования: выбор чисел случайным образом и их применение. Критерий частот, серий, интервалов, разбиений, перестановок, монотонности, конфликтов. Метод середины квадратов. Линейный конгруэнтный метод. Проверка случайных чисел.

    контрольная работа [55,5 K], добавлен 16.02.2015

  • Понятие и направления исследования случайных величин в математике, их классификация и типы: дискретные и непрерывные. Их основные числовые характеристики, отличительные признаки и свойства. Законы распределения случайных величин, их содержание и роль.

    презентация [1,4 M], добавлен 19.07.2015

  • Сходимость последовательностей случайных величин. Центральная предельная теорема для независимых одинаково распределенных случайных величин. Основные задачи математической статистики, их характеристика. Проверка гипотез по критерию однородности Смирнова.

    курсовая работа [1,6 M], добавлен 13.11.2012

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

    курсовая работа [364,8 K], добавлен 13.11.2012

  • Основные понятия, которые касаются центральной предельной теоремы для независимых одинаково распределенных случайных величин и проверки статистических гипотез. Анализ сходимости последовательностей случайных величин и вероятностных распределений.

    курсовая работа [582,0 K], добавлен 13.11.2012

  • Классическое, статистическое и геометрическое определения вероятности. Дискретные случайные величины и законы их распределения. Числовые характеристики системы случайных величин. Законы равномерного и нормального распределения систем случайных величин.

    дипломная работа [797,0 K], добавлен 25.02.2011

  • Понятие комплекса случайных величин, закона их распределения и вероятностной зависимости. Числовые характеристики случайных величин: математическое ожидание, момент, дисперсия и корреляционный момент. Показатель интенсивности связи между переменными.

    курсовая работа [2,4 M], добавлен 07.02.2011

  • Вычисление среднего одномерных случайных величин. Определение доверительного интервала для математического ожидания и для дисперсии. Построение эмпирической и приближенной линий регрессии Y по X. Дисперсионный анализ греко-латынского куба второго порядка.

    курсовая работа [698,0 K], добавлен 08.05.2012

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

    презентация [1,4 M], добавлен 19.07.2015

  • Диаграмма рассеивания как точки на плоскости, координаты которых соответствуют значениям случайных величин X и Y, порядок ее построения и назначение. Нахождение коэффициентов и построение графика линейного приближения, графика квадратичного приближения.

    курсовая работа [1,1 M], добавлен 03.05.2011

  • Дискретные системы двух случайных величин. Композиция законов распределения, входящих в систему. Определение вероятности попадания случайной величины в интервал; числовые характеристики функции; математическое ожидание и дисперсия случайной величины.

    контрольная работа [705,1 K], добавлен 22.11.2013

  • События и случайные величины. Функция распределения и ее характерные свойства. Сущность и определение основных числовых характеристик случайных величин: математическое ожидание, дисперсия, моменты. Критерии и факторы, влияющие на их формирование.

    контрольная работа [118,5 K], добавлен 30.01.2015

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

    презентация [68,7 K], добавлен 01.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.