Тип работы:
Предмет:
Язык работы:


Исследование и реализация алгоритмов статистического моделирования

Работа №106469

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы43
Год сдачи2022
Стоимость4230 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
114
Не подходит работа?

Узнай цену на написание


Введение 5
1 Алгоритмы получения псевдослучайных чисел 9
1.1 История появления первых генераторов случайных чисел и их
последовательностей 9
1.2 Устройство образования последовательностей случайных чисел ... 11
1.3 Линейный конгруэнтный метод 13
1.4 Квадратичный конгруэнтный метод 17
1.5 Линейный сдвиговый регистр с обратной связью 18
1.6 Самоуправляемый 2-линейный регистр сдвига 20
1.7 Метод серединных квадратов 22
2 Оценка качества 24
2.1 Проверка равномерности 27
2.2 Проверка стохастичности 29
2.3 Проверка независимости 30
2.4 Определение длины периода и отрезка апериодичности 31
2.5 Критерий серий 32
2.6 Критерий xi-квадрат (т2 -критерий) 33
3 Реализация и тестирование 36
3.1 Реализация мультипликативного конгруэнтного генератора 36
3.2 Реализация квадратичного конгруэнтного генератора 37
3.3 Реализация линейного сдвигового регистра с обратной связью 38
3.4 Реализация метода серединных квадратов 38
Заключение 40
Список используемой литературы 41


Статистическое моделирование - область математической науки, а также аналитические методология, для которой кардинальным является понятие случайной величины. Двумя наиболее важными свойствами таких величин являются случайность и непредсказуемость, о которых следовало бы рассудить по отдельности.
Первое - случайность - обретается при помощи задания некоторых статистических параметров, которые суть два критерия оценки величин в качестве случайных: однородность, то есть презумпция некоторой условно равной частоты появления каждого значения; второе - независимость - указывает на невозможность коррелирования значений последовательности между собой.
«С известной долей условности можно сказать, что не существует такого теста, что позволит нам рассудить о числах последовательности как о независимых; с другой стороны, мы имеем возможность проводить статистическое тестирование, притом формализованное в качестве некоторой стратегии, которое позволит "ухватить" взаимную зависимость.» [14]
Второе свойство — непредсказуемость. При условно "верной" трактовке случайной последовательности каждое число статистически независимо от другого. Следующий элемент последовательности, таким образом, никак не может быть предсказан исходя из значения предыдущего. Настоящая случайная последовательность — невоспроизводима. Эксперимент генерации таких последовательностей абсолютно всегда будет выдавать принципиально иной результат.
На практике, однако, источников подобных последовательностей обнаружено не очень много. Одним из наиболее "очевидных" источников могут стать, к примеру, детекторы ионизирующей радиации, на основании которых можно "ухватить" квантовое состояние частицы, чей спин и прочие параметры будут истинно случайными. Конечно, можно предположить, что каталогизация псевдослучайных величин может быть источником того же рода, однако эта интуиция порочна: мы, как операторы каталогов, можем с некоторой долей вероятности предположить последовательность каталогов.
Математический анализ при всем объеме своего инструментария не дает возможности до предела точно описать и составить последовательность "идеально" случайных чисел, поскольку значения последовательности могут быть неявным способом коррелированы. Однако подобный ригоризм не кажется необходимым: Генератор псевдослучайных чисел (последовательность которых велика до той меры, что коррелированность на сколь-нибудь исследованном участке не может быть обнаружена) достаточен для, к примеру, генерации практически непредсказуемых событий в видеоиграх.
ГПСЧ - алгоритм, работа которого возможна при наличии двух условий: семени и алгоритма. Первоначально в качестве алгоритмов ГПСЧ применялись линейные конгруэнтные генераторы. Это рекурсивные алгоритмы, которые генерируют следующую величину на основе предыдущей. Следующим логическим шагом развития линейного генератора стал так называемый "вихрь Мерсенна". Хотя псевдослучайные числа на самом деле не являются случайными, существует множество причин их использования. Во-первых, они быстры для воспроизводства. Кроме того, поскольку ГПСЧ - это просто алгоритмы, их можно проверить и всегда быть уверенным, что они работают правильно.
Эта простота - причина, по которой большинство языков использует ГПСЧ. С другой стороны, этот способ не лишён недостатков. Важнейший из них - коррелированность на предельно крупной последовательности. Эта уязвимость, к слову говоря, используется игроки, которых интересует скоростное прохождение видеоигр. Просчитав вероятность наступления конкретного события, нечестные пользователи контента могут использовать информацию для своих нужд.
Кроме того, помимо безобидных манипуляций с игровым контентом, подобные злоумышленники имеют возможность создать ключи RSA в сертификатах TLS, и в этом случае необходим более надёжный способ получения случайных чисел.
«Но бывают случаи, когда предсказание случайных чисел имеет гораздо большее значение. Например, создание ключей безопасности.
Если злоумышленник выяснит исходное значение, используемое для создания ключей RSA в сертификатах TLS, он потенциально может расшифровать сетевой трафик. Это означает, что он сможет получать пароли и другую личную информацию, передаваемую через интернет. В таких ситуациях нужен более безопасный способ получения случайных чисел. Истинно случайные числа непредсказуемы и не следуют шаблону.»[1]
«Но как компьютер может достичь этого? Как было указано ранее, компьютерам требуется внешний источник случайности. В случае ГПСЧ, это было семя. В случае ГИСЧ, это энтропия. Теория хаоса и термодинамика выходят далеко за рамки данной статьи. Достаточно сказать, что энтропия — это чистый нефильтрованный хаос. И лучший источник этого хаоса—сам компьютер. »[21]
Компьютер не может функционировать случайным образом, но составляющие его части—могут. Компьютер—это сложная система со множеством движущихся частей и изменчивостью. Тепловой шум, фотоэффект и другие квантовые явления происходят постоянно.
Но хаос был бы бесполезен, если бы его нельзя было обуздать. К счастью, инженеры-аппаратчики придумали, как это сделать. Посредством сложной схемы аппаратных микросхем и компонентов, компьютеры могут преобразовывать этот физический шум в цифровые нули и единицы.
Один из наиболее очевидных вариантов применения ГИСЧ—цифровые азартные игры. Бросание костей, перетасовка карт и вращение колеса рулетки —все это зависит от того, чтобы быть неопределимым. Хотя он часто используется при опросах общественного мнения, призыве на военную службу и отборе присяжных, а также там, где случайность используется как метод справедливости.
В действительности сферы применения ГИСЧ довольно ограничены, поскольку у них есть свой набор недостатков. Во-первых, они медлительны. Хотя это варьируется, ГИСЧ может выдавать только небольшое количество бит в секунду.
«Кроме того, ГИСЧ не всегда надежны. Компьютерам требуется достаточное количество энтропии для производства истинно случайных чисел. Но суть случайности в том, что она возникает случайным образом. Простаивающий или новый сервер не сможет генерировать числа настолько же качественно, как активный.»[18]

Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В нынешнее время современная информатика не может обойтись от использования псевдослучайных последовательностей. Очень важно использовать качественные генераторы для получения достойных результатов.
Взглянув на результаты можно заметить, что многие широко используемые ГСЧ имеют серьезные недостатки, в том числе генераторы по умолчанию нескольких очень популярных программных продуктов. Поэтому перед проведением важных экспериментов всегда следует проверять, какой ГСЧ используется по умолчанию, и быть готовым заменить его, если это необходимо. Перед внедрением следует убедиться, что ГСЧ имеет надежную теоретическую поддержку, что он достаточно быстр и удобен.
Среди прочего. Никакой ГСЧ не может давать гарантий от всех возможных дефектов, но следует по крайней мере, избегать тех, которые с треском проваливают простые статистические тесты, и выбирать более надежный, например, в котором после многих лет использования и тестирования не было обнаружено никаких серьезных проблем.
В работе были изучены и реализованы алгоритмы генерации псевдослучайных последовательностей. Разработан блок статистических тестов, позволяющий проверить соответствие полученной последовательности равномерному распределению, а также ее случайность и независимость. Так же была изучена и проанализирована история первых появившихся алгоритмов и генераторов, построенных на них.
Хотелось бы подчеркнуть, что данная работа актуальна для решения нестандартных задач из разных сфер деятельности. В этих сферах используются последовательности разной длинны и для разных нужд. Для этого необходимо производить эти огромные наборы чисел с разными свойствами с помощью различных генераторов.



1. А.В. Духанов О.Н. Медведева имитационное моделирование сложных систем. 2010. 118c. URL:http://simulation.su/uploads/files/default/2010- duhanov-medvedeva- 1.pdf
2. В. С. Гончарук, Ю. С. Атаманов, С.Н. Гордеев. Методы генерации случайных чисел. //Молодой учёный. 2017. С. 20-23
3. В.А. Песошин, В.М. Кузнецов. Генераторы псевдослучайных чисел на регистрах сдвига. 2007. 297с.
4. Гришкин С.Г., Столов Е.Л. К проблеме идентификации начального состояния в генераторах псевдослучайных последовательностей. 1994. 17c. URL: https://new-disser.ru/_avtoreferats/01000212203.pdf
5. Дональд Э. Кнут. Искусство программирования. 2000. 800c.
URL: https: //bookree. org/reader?file=536014
6. Ивченко Г.И., Медведев Ю.И. Математическая статистика. 2010. 600c. URL: https ://cs. petrsu.ru/~musen/appstat/readings/Ivchenko_Medvedev_- _Statistika.pdf
7. Левитан Ю.Л., Соболь И.М. О датчике псевдослучайных чисел для
персональных компьютеров. 1990. 12c.
URL:http://www.mathnet.ru/links/b27521bedb7b6e77461b2bce4ce63473/mm2431 .pdf
8. М. А. Иванов, И. В. Чугунков. Теория, применение и оценка
качества генераторов псевдослучайных последовательностей. 2003. 122c.
URL: https://bookree.org/reader?file=468181
9. М.Б. Будько, М.Ю. Будько, А.В. Гирик, В.А. Грозов. Методы генерации и тестирования случайных последовательностей. 2019. 73с.
10. Марченко М.А. Дистрибутивы программ и материалы по
генератору псевдослучайных чисел и системе MONC. 2003. 12с.
11. Нечаев А.А. Мультирегистры сдвига и сложность
мультипоследовательностей, 2003.
URL: https: //www. bibliofond. ru/view. aspx?id=525770
12. Поляк Ю.Г, Филимонов В.А Статистическое машинное
моделирование средств связи. 1988. 175с. URL:
https://www.studmed.ru/pollyak-yug-filimonov-va-statisticheskoe-mashinnoe- modelirovanie-sredstv-svyazi_dc0db8a163c.html
13. Слеповичев И.И. Генераторы псевдослучайных чисел. 2017. 118с.
14. Советов Б.Я., Яковлев С.А. Моделирование систем. 1985. 270с. URL:http://library.samdu.uz/files/717eb4889886817aeb071a743f030e0f_Модели рование%20систем..pdf
15. Страуструп Б. Язык программирования C++. 1999. 368с. URL: http: //lib .ru/CPPHB/cpptut.txt
16. Шнайер Б. Прикладная криптография. 2003. 610с.
17. Ю.А. Кораблёв. Имитационное моделирование. 2017. 145с.
18. Artemiev S.S., Averina Т.Л. Numerical analysis of systems of ordinary
and stochastic differential equations. 1997. 176c. URL:
https://www.degruyter.com/document/doi/10.1515/9783110944662/html
19. Bratley P., Fox B. L., Niederreiter H. Implementation and tests of low-
discrepancy sequences. 1992. 18c. URL:
https://dl.acm.org/doi/pdf/10.1145/146382.146385
20. Intel Math Kernel Library. Reference Manual. 2003. 1461 с.
URL: https: //www.bu. edu/tech/files/2010/02/mklman61. pdf
21. International Standard ISO/IEC DTR 19768 // Draft Tech. Rep. on C++
Library Extensions. 2007. 175с. URL: https://www.open-
std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
22. Kirkpatrick S., Stoll E. A very fast shift-register sequence random
number generator. 1981. 24с. URL:
https://www.researchgate.net/publication/1872589_Four-tap_shift-register- sequence_random-number_generators
23. L’Ecuyer P. Good parameter sets for combined multiple recursive
random number generators. 1999. 5c. URL: https://www.researchgate.net/publication/261858547_Good_Parameters_and_Impl ementations_for_Combined_Multiple_Recursive_Random_Number_Generators
24. L’Ecuyer P. History of uniform random number generation. 2017. 29c.
25. L’Ecuyer P. Tables of linear congruential generators of different sizes
and good lattice structure. 1999. 12с. URL:
https://www.researchgate.net/publication/220577404_Tables_of_linear_congruenti al_generators_of_different_sizes_and_good_lattice_structure
26. Marsaglia G., Zaman A. A new class of random number generators. 1991.18с.URL:https://www.researchgate.net/publication/38363004_A_New_Class _of_Random_Number_Generators
27. Matsumoto M., Nishimura T. Mersenne Twister: A 623-dimensionally
equidistributed uniform pseudorandom number generator. 1998. 28с. URL:
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.315.6296&rep=rep1&t ype=pdf
28. Mikhailov G.A., Marchenko М.А. Parallel realization of statistical simulation and random number generators. 2002. 180c.
29. Helmut G. Katzgraber. Random Numbers in Scientific Computing. 2010. 20с. URL: https://arxiv.org/pdf/1005.4117.pdf


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2024 Cервис помощи студентам в выполнении работ