Деркунов М.Ю. Лабораторная работа 1
Скачать 74.5 Kb.
|
Лабораторная работа 1 Вариант №7 Деркунов М.Ю. Задание: Выполнить исследование предметной области и разработать Техническое задание на программный продукт, предназначенный для генерирования последовательностей случайных величин, имеющих различные одномерные законы распределения вероятностей. Программа должна строить график функции распределения вероятностей и рассчитывать таблицу значений функции, строить график плотности (или полигон) распределения и рассчитывать соответствующую таблицу, вычислять основные числовые характеристики и оценивать параметры распределения. Программа предназначена для студентов, изучающих теорию вероятностей и математическую статистику. Отчет об иследовании: Генерация последовательностей случайных величин используется давно и повсеместно. К примеру: Социологические и научные исследования. Подготовка случайных выборок при сборе данных, опросе мнений или в исследовании физических явлений со случайным выбором результатов экспериментов. Моделирование. В компьютерном моделировании физических явлений. Кроме того, математическое моделирование использует случайные числа как один из инструментов численного анализа. Криптография и информационная безопасность. Случайные числа могут использоваться в тестировании корректности или эффективности алгоритмов и программ. Многие алгоритмы используют генерацию псевдослучайных чисел для решения прикладных задач (например, криптографические алгоритмы шифрования, генерация уникальных идентификаторов и др.). Принятие решений в автоматизированных экспертных системах. Использование случайных чисел является частью стратегий принятия решений. Например, для беспристрастности выбора экзаменационного билета студентом на экзамене. Случайность также используется в теории матричных игр. Оптимизация функциональных зависимостей. Некоторые математические методы оптимизации используют стохастические методы для поиска экстремумов функций. Развлечения и игры. Случайность в играх имеет значительную роль. В компьютерных или настольных играх случайность помогает разнообразить игровой процесс. Алгоритм, порождающий последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению (обычно равномерному). Современная информатика широко использует псевдослучайные числа в самых разных приложениях — от метода Монте-Карло и имитационного моделирования до криптографии. При этом от качества используемых алгоритмов получения случайных чисел напрямую зависит качество получаемых результатов. К примеру: 1) Квадраты Генерации случайных чисел - 2020 год выпуска -автор Б. Видынски -счетчик на основе версии средней площади вейлевской последовательности. По словам автора, это один из самых быстрых генераторов на основе счетчиков. 2) 64-битный MELG - С. Харасе, Т. Кимото - реализация 64-битных максимально равно распределённых F2 -линейных генераторов с простым периодом Мерсенна. И многие другие. Используя данную программу мы с легкостью сможем как происходит генерация последовательностей случайных величин, включая законы распределения вероятностей. Составляя подробные графики функций, плотностей распределения станет возможно произвести расчеты таблиц различных значений, а также показать, то что на самом деле числа являются псевдослучайными и можно предугадать результаты дальнейших показателей. Так же не мало важным пунктом будет являться, возможность оценить параметры распределения. Целью же создания данной программы, будет помощь всем, кто желает глубже изучить и понять принципы теории вероятности и математической статистики Разработка технического задания:
Данная программа должна уметь строить последовательности чисел, которые будут строиться на основе стандартного отображения. Начальные данные для отображения, количество чисел в последовательности могут задаваться пользователем. Программный модуль строит последовательности, а также строит графики/диаграммы для анализа получившихся последовательностей. Программный модуль должен уметь строить диаграмму бифуркации для данного одномерного отображения. Программный модуль должен иметь в своей реализации некоторые тесты, которые должны проверять качество и показывать результаты тестов. Так же программа будет основана на законах распределения непрерывного и дискретного распределения нахождения вероятностей, с соблюдением плотности вероятности, т.е.: Величина имеет дискретное (дискретной называют случайную величину, отдельные значения которой можно перенумеровать (число изделий, количество деталей –бракованных и годных и т.п.)) равномерное распределение, если она принимает конечное число {\displaystyle n}”n” значений с равными вероятностями, соответственно, вероятность каждого значения равна {\displaystyle 1/n.}”1/n” (множество значений которой не более чем счётно, причём принятие ею каждого из значений есть случайное событие с определённой вероятностью.).К примеру: Число родившихся мальчиков среди ста новорожденных за последний месяц-это дискретная случайная величина, которая может принимать значения 1,2,3, ... Непрерывной называют случайную величину, возможные значения которой заполняют некоторый промежуток (отклонение размера изготовленной детали от номинала, погрешность измерения, величина отклонения формы детали, высота микронеровностей и т.п.). Проще говоря: распределение случайной вещественной величины, принимающей значения, принадлежащие некоторому промежутку конечной длины, характеризующееся тем, что плотность вероятности на этом промежутке почти всюду постоянна. К примеру: Расстояние, которое пролетит пуля при выстреле-это непрерывная случайная величина, значения которой принадлежат некоторому промежутку [а; в]. 3. Вероятностное пространство в самом простом конечном случае состоит из множества элементарных исходов Ω={a1,a2,…,an} и набора неотрицательных чисел {p1,p2,…,pn}, таких что их сумма равна 1. Довольно часто все исходы считаются равновероятными, т.е. p1=p2=⋯=pn. В более сложном бесконечном случае нужно отдельно выделять множество интересующих нас событий и задавать вероятности событий при помощи функции, называемой вероятностной мерой. Событием называется множество, состоящее из элементарных событий, т.е. любое подмножество Ω. Вероятность события E⊆Ω, обозначается Pr[E], — это сумма всех таких pi, что ai∈E. В частности, вероятность пустого события E=∅ равна нулю, а события E=Ω равна 1. В случае, когда все исходы считаются равновероятными, вероятность события просто равна отношению количества исходов, содержащихся в событии, к общему количеству элементарных исходов, т.е. Pr[E]=|E|/|Ω|. Вероятность любого события заключена между 0 и 1. Если вероятность события нулевая, то такое событие называется невозможным, если же вероятность события равна единице, то такое событие называется достоверным. Важно, что без определения вероятностного пространства нельзя (в математическом смысле) говорить о вероятности чего-либо.
Программа разрабатывается на основании учебного плана бакалавриата по направлению подготовки: 09.03.03 Прикладная информатика, профиль: Информационные системы и технологии в управлении и рабочей программы курса «Программная инженерия».
Программный модуль предназначен для демонстрации генератора, основанного на стандартном отображении, его свойств и качества.
Программный модуль должен эксплуатироваться заказчиком, а также людьми, заинтересованными в изучении свойств стандартного отображения. Также программный модуль будет интересен людям, кому нужны псевдослучайные последовательности чисел или тесты для тестирования последовательностей на случайность.
Программный модуль должен обеспечивать возможность выполнения перечисленных ниже функций: Программа должна генерировать последовательности псевдослучайных чисел с помощью различных представлений генератора. Программа должна строить бифуркационную диаграмму для отображений. Программа должна показывать результаты тестов качества генератора. Программа должна строить диаграмму распределения генерируемых чисел. Требования к формату входных данных Требования к формату входных данных отсутствуют. Требования к формату выходных данных Модуль должен выводить результаты тестирования и генерации.
Работа с программным модулем осуществляется через import модуля к своему проекту, поэтому требований к интерфейсу не предъявлено. Требования к обеспечению надежного (устойчивого) функционирования программы Для устойчивой работы программы требуется соблюдать ряд мер: обеспечение бесперебойного питания технических устройств; регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. «Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»; необходимый уровень квалификации пользователей. Отказы из-за некорректных действий оператора Программа не должна давать сбоев при возникновении некорректных действий пользователя. При любом неверном вводе данных на каждом шаге исполнения программный модуль выдаёт сообщения об этом и останавливает выполнение.
Не требует специального обслуживания.
1) Процессор с тактовой частотой 800 MHz или более мощный. 2) Оперативная память 256 Мб или больше. 3) Свободное место на жёстком диске от 77 Мб. 4) Архитектура с разрядностью 32 бит или 64 бит (x86 или x64).
Программа требует установленной на компьютере программы Python 3.9 или любую другую программу, которая имеет возможность исполнять действия программы, написанной на Python.
«Генератор случайных чисел на основе стандартного отображения (“Random Number Generator Based on the Standard Mapping”)». Техническое задание (ГОСТ 19.20178); «Генератор случайных чисел на основе стандартного отображения (“Random Number Generator Based on the Standard Mapping”)». Руководство оператора (ГОСТ 19.505 - 79); «Генератор случайных чисел на основе стандартного отображения (“Random Number Generator Based on the Standard Mapping”)». Программа и методика испытаний (ГОСТ 19.301 - 79); «Генератор случайных чисел на основе стандартного отображения (“Random Number Generator Based on the Standard Mapping”)». Текст программы (ГОСТ 19.401 - 78).
Вся документация сдается в печатном виде, при этом она должна быть подписана руководителем организации, утвердившей документ на разработку, руководителем разработки и исполнителем; Вся документация также сдается в электронном виде в формате .pdf или .docx. в архиве формата .rar. Все документы перед защитой курсовой работы должны быть загружены в информационно-образовательную среду НИУ ВШЭ LMS (Learning management system) в личном кабинете во вкладке «Проекты» - «Курсовая работа».
Ориентировочная экономическая потребность не рассчитывается.
Программный модуль будет представлять интерес для пользователей, которые хотели бы ознакомиться со стандартным отображением и его свойствами. Также программа будет интересна пользователям, кто нуждается в псевдослучайных последовательностях и тестирования последовательностей чисел на случайность.
Техническое задание Обоснование необходимости разработки постановка задачи; сбор научного материала; выбор и обоснование критериев качества разрабатываемого продукта; обоснование необходимости проведения научно-исследовательских работ. Научно-исследовательские работы определение структуры входных и выходных данных; предварительный выбор методов решения задач; обоснование целесообразности применения ранее разработанных программ; определение требований к техническим средствам; обоснование принципиальной возможности решения поставленной задачи. Разработка и утверждение технического задания определение требований к программе; разработка технико-экономического обоснования разработки; определение стадий, этапов и сроков разработки программы и документации на неё выбор языков программирования; определение необходимости проведения научно-исследовательских работ на последующих стадиях; согласование и утверждение технического задания. Рабочий проект Разработка программы Программа должна генерировать последовательности псевдослучайных чисел с помощью различных представлений генератора. Программа должна строить бифуркационную диаграмму для отображений. Программа должна показывать результаты тестов качества генератора. Программа должна строить диаграмму распределения генерируемых чисел. Разработка программной документации разработка программных документов в соответствии с требованиями ЕСПД. Испытания программы разработка, согласование и утверждение программы и методики испытаний; проведение предварительных приемо-сдаточных испытаний; корректировка программы и программной документации по результатам испытаний. Внедрение Подготовка и защита программного продукта подготовка программы и программной документации для презентации и защиты; утверждение дня защиты программы; презентация разработанного программного продукта; передача программы и программной документации в архив НИУ ВШЭ
Контроль и приемка разработки осуществляются в соответствии с документом «Программа и методика испытаний». Прием программного продукта происходит при полной работоспособности программы на различных входных данных, при выполнении указанных в пункте 4.1. настоящего документа функций, при выполнении требований, указанных в пункте 4.2. настоящего документа и наличии полной документации к программе, указанной в пункте 5.1., выполненной в соответствии со специальными требованиями, указанными в пункте 5.2. настоящего технического задания |