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


ЭМПИРИЧЕСКИЕ КРИТЕРИИ ДЛЯ ПРОВЕРКИ СЛУЧАЙНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ ВЕЩЕСТВЕННЫХ ЧИСЕЛ

Работа №189213

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

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

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


1 Критерий Пирсона (%2) 5
2 Получение псевдослучайных вещественных чисел в различных языках
программирования. 9
2.1 Получение псевдослучайных чисел в языке программирования C++ 9
2.2 Получение псевдослучайных чисел в языке программирования Python 13
2.3 Получение псевдослучайных чисел в языке программирования Delphi 14
3 Эмпирические критерии 17
4 Полученные результаты 24
Заключение 33
Список использованных источников и литературы 35
Приложение А 37
Приложение Б 39


В современном мире псевдослучайные числа нашли широкое применение в различных областях: при моделировании естественных явлений, для решения сложных задач численного анализа, для тестирования эффективности компьютерных алгоритмов и т. д. Вследствие этого возникли вопросы, касающиеся качества генераторов случайных чисел, встроенных программно в компьютеры. «Хорошие» датчики должны вырабатывать последовательность чисел, равномерно распределенных и независимых друг от друга. Существует множество эмпирических и теоретических критериев, которые можно использовать для проверки того, будет ли последовательность псевдослучайной. В книге Кнута (2002) рассматриваются 12 эмпирических критериев (или тестов):
1. критерий равномерности (критерий частот),
2. критерий серий,
3. критерий интервалов,
4. покер-критерий (критерий - разбиений),
5. критерий собирания купонов,
6. критерий перестановок,
7. критерий монотонности,
8. критерий «максимум-?»,
9. критерий конфликтов,
10. критерий промежутков между днями рождений,
11. критерий сериальной корреляции,
12. критерий подпоследовательностей.
Результаты этих тестов оцениваются с использованием критериев согла
сия Пирсона (%2) и Колмогорова - Смирнова. Но в нашей работе будут исследоваться критерии только для проверки вещественных последовательностей с использованием критерия согласия Пирсона (%2).
Цель настоящей работы заключается в том, чтобы проверить являются ли вещественные числа, вырабатываемые генератором компилятора Delphi 7, VisualStudio 2017 языка C++ и интерпретатора CyPython языка Python версии 3.7.4 случайными на платформе Windows 7.
В квалификационной работе на степень бакалавра мы исследуем генератор случайных вещественных чисел на трех языках программирования с использованием следующих тестов: критерий равномерности (A), критерий интервалов (C), критерий перестановок (F), критерий монотонности (G), критерий сериальной корреляции (K).
Далее в первом разделе мы даем описание X - критерия. Во втором разделе — мы даем описание получения псевдослучайных вещественных чисел на Delphi, C++ и Python. В третьем разделе мы рассматриваем эмпирические тесты, которые будем применять, т.е. критерий равномерности (A), критерий интервалов^), критерий перестановок (F), критерий монотонности (G), критерий сериальной корреляции (K). В четвертом разделе для каждого теста определяем те данные, которые используем и описываем результаты.
В Заключении подводим итог всей проделанной работы.
В Приложении А даны основные определения. В Приложении Б приведены тексты используемых программ.


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

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

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


Таким образом, были изучены четыре генератора случайных чисел: компиляторов Delphi 7, VisualStudio 2017 языка C++ и интерпретатора CyPython языка Python версии 3.7.4 по пяти специализированным тестам: проверка равномерности^), проверка интервалов(С), проверка перестановок(Р), монотонности^) и сериальной корреляции(К). Необходимые условия полностью выполняются для всех четырех датчиков по тесту проверки интервалов (С), монотонности^) и сериальной корреляции(К). Условия теста равномерности (A) не выполняется для языка программирования C++ (функция random ()). Также условия теста проверки перестановок (F) не выполняются для Python. Таким образом, самый худший результат показали язык Python
и С++ (функция random ()), у обоих есть по одному плохому значению, следовательно датчики работают не вполне удовлетворительно. Генератор языка Delphi 7 показал средний результат, так как много «подозрительных» значений, но следуя Кнуту, их количество не превышает допустимое. Самый лучший результат показал генератор компилятора C++ (Вихрь Мерсенна) - ни одного «плохого» значения, всего два «подозрительных».
Также было выяснено, что в языке программирования C++ гораздо эффективнее работает механизм Вихря Мерсенна, нежели функция random(). Данный механизм более пригоден для решения сложных задач.



1. Айвазян С. А. Прикладная статистика: Основы моделирования и первичная обработка данных / С. А. Айвазян, И. С. Енюков, Л. Д. Мешалкин. - М.: Финансы и статистика, 1983. - 471 с.
2. Гмурман В. Е. Теория вероятностей и математическая статистика: Учеб.пособие - 12-е изд. - М. : Высшее образование, 2006. - 479 с.
3. Кнут Д. Искусство программирования Т.2 /пер. с англ. - 3-е изд. — М.: Вильямс, 2002. - 788 с.
4. Пустыльник Е. И. Статистические методы анализа и обработки наблюдений. - М.: Наука, 1968. - 288 с.
5. Рябова Г.О. Технология программирования: курс лекция. - М.:Томск : Издательство Томского университета , 2013. - 301 с.



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




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