Метод и комплекс программ нахождения максимальной длины выборки статистически однородных двоичных последовательностей для имитационного моделирования тема диссертации и автореферата по ВАК РФ 05.13.18, кандидат наук Ширшова Дарья Вадимовна
- Специальность ВАК РФ05.13.18
- Количество страниц 204
Оглавление диссертации кандидат наук Ширшова Дарья Вадимовна
ВВЕДЕНИЕ
1. ОБЗОР МЕТОДОВ СТАТИСТИЧЕСКОГО ОЦЕНИВАНИЯ ОДНОРОДНОСТИ ПАРАМЕТРОВ ДВОИЧНЫХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ
1.1. Различимость и неразличимость Бернуллиевских
последовательностей по математическому ожиданию
1. 2. Различимость и неразличимость Бернуллиевских
последовательностей по вероятностным моментам второго порядка
1.3. Замечания о различимости и неразличимости двоичных последовательностей, содержащих элементы функциональной
связи
1.4. Функция СКО оценок вероятностей двоичных последовательностей, содержащих взаимозависимые элементы
1.5. Периодизация функций рассеяния оценок вероятностных характеристик случайных последовательностей при проявлении детерминированного характера функциональных связей
1.6 Функция СКО оценки суммы элементов периодических
двоичных последовательностей
1.7. Выводы
1.8 Определение задачи исследований
2. ПОСТАНОВКА ОБЩЕГО ВИДА КРИТЕРИЯ ЗНАЧИМОЙ ОДНОРОДНОСТИ ДВОИЧНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
2.1. Предпосылки формирования критерия
значимой однородности ПСП
2.2. Общий вид критерия значимой однородности ПСП
2.3. Общее описание тестовых испытаний критерия
значимой однородности ПСП
2.4. Выводы
3. АНАЛИТИЧЕСКИЙ ПОДХОД К РЕШЕНИЮ ЗАДАЧИ ОДНОРОДНОСТИ ДВОИЧНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ И СОКРАЩЕНИЕ АППАРАТНО-ВРЕМЕННЫХ РЕСУРСОВ ГЕНЕРАТОРОВ ПСП
3.1. Введение в аналитический подход к решению задач однородности ПСП
3.2. Вывод аналитической формулы для эмпирической статистики M-, (M-1)- и (М-3)-последовательностей
3.3. Вывод аналитической формулы для эмпирической статистики по корреляции для M-последовательности
3.4. Однородность двух м-последовательностей разных порядков
3.5. Выводы
4. АЛГОРИТМИЧЕСКОЕ ОБЕСПЕЧЕНИЕ И КОМПЛЕКС ПРОГРАММ СТАТИСТИЧЕСКОГО ОЦЕНИВАНИЯ ОДНОРОДНОСТИ ПАРАМЕТРОВ ДВОИЧНЫХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ
4.1. Программа «Pseudo Random Number Generator»
4.2. Программа «Distribution's Criteria for Difference»
4.3. Программа «Sequences Creating»
4.4. Программная реализация алгоритмов статистических критериев согласия и значимости в задачах исследования случайных последовательностей
4.5. Комплекс программ для построения доверительного интервала оценки вероятности применительно к М-последовательностям
4.6. Параллельная программа получения значений эксцесса для периодических последовательностей
4.7. Параллельная программа проверки типа периодической последовательности по значениям АКФ на периоде
4.8. Программа вычисления значений эксцесса и асимметрии для периодических последовательностей
4.9. Программа «Distributions' Criteria»
4.10 Малоразрядные иллюстрационные примеры
4.10.1 Вариант совпадения по вероятности и по корреляции
4.10.2 Вариант совпадения по вероятности и несовпадения по корреляции
4.10.3 Вариант несовпадения по вероятности и по корреляции
4.11 Многоразрядные иллюстрационные примеры
4.12 Экспериментальные исследования ПСП для ООО NEXTGIS
4.13. Выводы
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ А. Листинг программы «Pseudo Random Number
Generator»
ПРИЛОЖЕНИЕ Б. Листинг программы «Distribution's Criteria for
Difference»
ПРИЛОЖЕНИЕ В. Листинг программы «Distributions' Criteria»
ПРИНЯТЫЕ УСЛОВНЫЕ ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
ЭВМ - электронная вычислительная машина;
АКФ - автокорреляционная функция;
АП - альтернативная последовательность;
БП - базовая последовательность;
КС - комбинационная схема;
МП - М-последовательность
ПО - программное обеспечение;
ПСП - псевдослучайные последовательности;
РП - разностная последовательность;
СВ - случайная величина;
СКО - среднеквадратическое отклонение;
ТП - тестируемая последовательность.
Рекомендованный список диссертаций по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК
Генераторы псевдослучайных чисел на регистрах сдвига с нелинейными обратными связями2023 год, кандидат наук Саликов Евгений Александрович
Разработка и исследование многомерных генераторов равномерно распределенных псевдослучайных векторов, основанных на представлении данных в алгебраических полях2008 год, кандидат физико-математических наук Калугин, Александр Николаевич
Генераторы случайных и псевдослучайных последовательностей на цифровых элементах задержки (основы теории и методы построения)2012 год, доктор технических наук Кузнецов, Валерий Михайлович
Методы распознавания и идентификации конечных автоматов по статистическим характеристикам выходных и входных последовательностей2021 год, доктор наук Мельников Сергей Юрьевич
Статистические критерии апостериорного обнаружения разладки временных рядов и их применения2018 год, кандидат наук Ковалевский, Артем Павлович
Введение диссертации (часть автореферата) на тему «Метод и комплекс программ нахождения максимальной длины выборки статистически однородных двоичных последовательностей для имитационного моделирования»
ВВЕДЕНИЕ
Сфера применения случайных и псевдослучайных процессов в виде последовательностей чрезвычайно широка: методы статистических испытаний (Монте-Карло), защита информации, контроль неисправностей, стохастические вычисления, испытания на надежность, тренажеры-симуляторы, широкополосная связь и т.п.
В качестве элементарной основы последовательностей используются двоичные формы как универсальные стохастические компоненты дискретных функций времени. Генерация таких последовательностей и контроль их характеристик представляют достаточно сложные инженерно-технические задачи. Существует много алгоритмов формирования псевдослучайных последовательностей с разными характеристиками, исследованными М.А. Ивановым, А.П. Кирпичниковым, Б.Ф. Кирьяновым, В.М. Кузнецовым, Р.Х Латыповым, В.А. Песошиным, В.Б. Пестряковым, Е.Л. Столовым, И.В. Чугунковым, И.В. Аникиным, Х.Х. Альнаджаром и другими [1-52]. Особенно разнообразны по статистическим характеристикам последовательности, применяемые для имитационного моделирования. На практике, как правило, ограничиваются заданием и контролем вероятностных параметров в пределах моментов первого и второго порядков, что отвечает понятию стационарности процессов в широком смысле. Для двоичных последовательностей это математическое ожидание, совпадающее с вероятностью появления единицы, и корреляционные функции с аргументом временного сдвига, включая дисперсию.
В общем случае значения вероятностей и виды корреляционных зависимостей в каждой задаче имитационного моделирования могут варьироваться в произвольно допустимых формах и диапазонах. Современная тенденция усложнения имитационного эксперимента, кроме расширения разнообразия требуемых статистических свойств, диктует применение все более наполненных (мощных) множеств имитирующих воздействий. Большое количество отдельных последовательностей и чисел в них вызывает
существенную перегрузку ресурсов ЭВМ, создавая ограничения в реализации логической и аналитической частей машинной модели. Вполне очевидно возникновение намерения в объективном сравнении применяемых последовательностей по основным статистическим свойствам с учетом конкретных длин выборок. Результатом такого анализа могут стать процедуры минимизации ресурсных издержек на формирование отдельных чисел и уменьшение количества выборок за счет их объединения или замены альтернативными фрагментами по свойствам, но более простыми в алгоритмическом смысле. Однако существующая практика выбора случайных последовательностей основана на их сравнении по статистическим характеристикам, определенным на полных периодах или при бесконечных длинах выборок, тогда как реальное использование этих имитирующих воздействий происходит за счет фрагментов конкретной длины. Естественно, подобное сопоставление математически не корректно, а в отношении задачи имитации - не адекватно.
Широкое развитие и применение статистических методов сравнения объектов естественным образом коснулось и числовых последовательностей. Идеальные модели случайности в виде «Белого шума» в статистической радиофизике и схемы независимых испытаний Бернулли в теории вероятностей нашли свое отражение в трех постулатах Голомба, выразивших необходимые признаки случайности для числовых последовательностей.
Субъективная оценка качества формирования случайных последовательностей возможна на основе графических тестов, что не может удовлетворить пользователей, нуждающихся в численных оценках случайности. Практически применимые алгоритмы оценки качества случайных последовательностей в статистически измеримой форме впервые предложил Д. Э. Кнут применительно к методам Монте-Карло. Однако, несмотря на получаемые количественные показатели качества последовательностей, в трактовке окончательного результата допускалась неопределенность.
Формирование пакета (набора, батареи) статистических тестов, характерных в основном для криптографических приложений в системах защиты информации, сделало возможным международное распространение методов сопоставительного исследования качества случайных и псевдослучайных последовательностей. Наиболее известные и апробированные в мировой практике тестовые наборы - NIST [53] и DIEHARD [54]. Они состоят из отдельных, не связанных между собой статистических критериев определения качества случайности в формально корректной и математически обоснованной постановке. Однако имеется часть тестов, лишенная научной строгости оформления и интерпретации результата. Это, например, тесты «Дни рождений», «Обезьяньи тесты», «Тест на парковку» и другие, ситуативно сформулированные и нацеленные на общий результат лишь косвенно. Отсутствие минимально достаточного наполнения тестовыми процедурами послужило причиной дальнейшего появления аналогичных пакетов таких, как TestU01 [55], RaBiGeTe [56], PractRand [57], CRYPT-X, Тест «Стопка книг» [58]. Судя по публикациям, процесс создания средств оценки случайности еще далек от завершения.
Описанные пакеты тестов для криптографических приложений, а также алгоритмы Д.Э. Кнута, настроены на простейшие формы проявления идеальной случайности через равномерный закон распределения и отсутствия корреляционных связей между элементами последовательности. Несмотря на наибольшее распространение и использование этого типа случайности, в задачах имитационного моделирования они составляют только первый этап формирования внешних воздействий. Окончательно имитацию внешней среды реализуют через трансформации равномерного закона и независимых расположений элементов имитирующих последовательностей в требуемые формы закона распределения вероятностей и автокорреляционной функции. В отношении таких последовательностей указанные тесты неприменимы.
В фундаментальных трудах таких основоположников математической статистики как К. Пирсон и А.Н. Колмогоров содержатся базисные принципы
построения критериев для принятия гипотез о заданных свойствах генеральной совокупности. Научная и учебная литература содержит многочисленные описания и формальные обоснования гипотез о значимой однородности. В частности, широко представлены в работах Кендалла М., Крамера Г., Тёрнера Д., Стьюарта А., Гмурмана В.Е. Дунин-Барковского И.В., Налимова, В.В. Орлова А.И., Смирнова Н.В. и др. примеры построения статистических критериев однородности последовательностей по математическому ожиданию и вероятности (моментов первого порядка), не обязательно полагая вероятностное распределение равномерным. В отношении однородности по автокорреляционным связям (моментной функции второго порядка) также допускается отклонение от схемы независимых испытаний Бернулли.
Однако известные статистические тесты однородности узко ориентированы либо только на момент первого порядка при независимых элементах выборки, либо только на автокорреляцию, как моментной функции второго порядка, чаще всего при нормальном распределении. Как правило, длина анализируемой выборки фиксируется. Отмеченные особенности реально применяемых критериев однородности не позволяют их применить в существующей постановке к имитирующим последовательностям с совместно заданными или ожидаемыми вероятностными и корреляционными свойствами при переменной длине выборок.
Таким образом, создание инструмента выявления неразличимости и по вероятности, и по автокорреляции двоичных последовательностей при заданной длине выборок актуально, так как позволит адекватно сопоставлять любые пары имитирующих воздействий по вероятностным моментам первого и второго порядков.
Объектом исследования являются методы и средства оценки статистических характеристик двоичных последовательностей.
Предметом исследования являются способ, алгоритмическое обеспечение и комплекс программ процедур критерия статистической
однородности двух последовательностей на всех длинах частных выборок до заданной максимальной или критической.
Целью работы является синтез алгоритма критерия статистической однородности двоичных последовательностей для значимого сравнения их по моментным функциям первого и второго порядков при заданных ограничениях на длину выборки.
Научная задача работы заключается в алгоритмической реализации методов оценки статистической однородности двоичных последовательностей при заданных ограничениях объема выборки.
Ввиду закрытости математической сущности, громоздкости, узкой направленности и фиксированности длин выборок, известные пакетные тесты типа NIST, DIEHARD и другие аналогичные, использовать для решения сформулированной задачи невозможно. Напротив, строгая и формально обоснованная структура разработанных в математической статистике критериев однородности вполне может быть использована для достижения поставленной цели. Для этого необходимо решить следующие подзадачи:
1. Провести анализ существующих методов оценивания однородности последовательностей по вероятностным моментам. Разработать и обосновать аналитическую форму - модель - для численного метода определения эмпирической статистики критерия значимой однородности тестируемых двоичных последовательностей;
2. Сформулировать метод оценивания статистической неразличимости двоичных последовательностей по вероятностному моменту заданного порядка на основе адаптации критерия значимой однородности двух частных выборок с учетом наличия зависимости элементов последовательностей и многократного испытания гипотез на всех длинах выборок, не превышающих заданного или критического значения, реализованного численным методом;
3. Оценить возможность теоретического подхода к решению задачи анализа однородности двоичных последовательностей;
4. Разработать численный метод в виде набора алгоритмических процедур для реализации статистических критериев однородности тестируемых последовательностей как эмпирического характера в общем случае, так и теоретического для ряда характерных примеров;
5. Разработать алгоритмическое обеспечение и комплекс программ моделирования типичных псевдослучайных последовательностей для демонстрации работы критериев статистической однородности. Привести характерные примеры применения критерия однородности, как на основе эмпирических значений статистики, так и в случае теоретически вычислимого аналога этой статистики.
Для решения перечисленных задач в диссертационной работе использовались: аппарат теории вероятностей и математической статистики, методы алгоритмизации, математическое моделирование, методы разработки программного обеспечения и экспериментальные исследования.
Обоснованность и достоверность определяются использованием известных положений фундаментальных наук, корректностью применяемых моделей, их адекватностью реальным объектам и процессам, совпадением теоретических результатов с данными экспериментов, экспертизами ФИПС с признанием программного обеспечения для ЭВМ.
Новизна полученных результатов заключается в следующем:
1. Разработана модель нахождения максимальной длины выборок двух последовательностей, обладающих значимой статистической однородностью по моментам первого и второго порядков;
2. Разработан метод критериальной оценки статистической однородности двоичных последовательностей по моментным функциям первых двух порядков как модернизация известных критериев с учетом кратности испытаний гипотез для всех длин частных выборок, не превышающих заданной максимальной или критической;
3. Предложены аналитические решения критерия, позволяющие получить точные значения критических длин выборок, в пределах которых
обеспечивается однородность без использования эмпирического материала частных выборок, а также получить общие теоретические выражения в виде функций от параметров последовательностей;
4. Разработаны алгоритмическое обеспечение, комплекс программ моделирования псевдослучайных последовательностей и реализации варианта статистического критерия значимой однородности с многократной поверкой гипотез.
Теоретическая значимость работы заключается в развитии методов определения статистической неразличимости числовых последовательностей, а также формировании комплекса алгоритмических процедур, образующих критерий значимой однородности двух последовательностей на всех длинах частных выборок до заданной максимальной или критической.
Практическая ценность работы заключается в
- разработке комплекса программ для оценки статистической однородности зависимых двоичных последовательностей на всех длинах частных выборок до заданной максимальной или критической;
- разработке программ моделирования типичных псевдослучайных последовательностей для демонстрации работы критериев статистической однородности;
- проведении пробных экспериментальных исследований случайных и псевдослучайных последовательностей на предмет их статистической однородности заданной значимости.
Реализация результатов диссертации:
-. программа оценивания значимой однородности использована в выработке обоснования замены числовых последовательностей при решении задачи методом Монте-Карло по определению площадей фигур картографических объектов в ООО NEXTGIS (г. Москва, 2018 г.), что привело к экономии таких ресурсов ЭВМ, как память и время генерации элементов ПСП;
- результаты диссертационных исследований использованы в 2018 и 2019
гг. при выполнении НИР по гранту РФФИ - АН РТ №18-47-160001 «Методы, алгоритмы и технические средства формирования последовательностей вероятностно-статистической природы для математического моделирования и защиты информации»;
- результаты проведенных исследований по теме диссертации внедрены и используются в Казанском национальном исследовательском техническом университете им. А.Н. Туполева-КАИ (г. Казань, 2018 г.).
Внедрения и использования результатов диссертационной работы подтверждаются соответствующими актами.
Публикации и апробация результатов. Основное содержание диссертационной работы отражено в 19 печатных работах, из них 5 статей в журналах, рекомендованных ВАК РФ, 1 статья в журнале, входящим в базу данных Scopus, 3 свидетельства об официальной регистрации программы для ЭВМ, 9 работ в материалах и трудах конференций, 1 публикация на международном симпозиуме, проиндексированном в базе Scopus.
Основные положения и результаты диссертационной работы докладывались и обсуждались на: международных научно-практических конференциях «Наука сегодня», г. Вологда, 2015 г.; «XXII Туполевские чтения (школа молодых ученых)», г. Казань, 2015 г.; Наука сегодня: проблемы и пути решения, г. Вологда, 2016 г.; Наука сегодня: вызовы и решения, г. Вологда, 2016 г.; НТК по итогам совместного конкурса фундаментальных исследований РФФИ - АН РТ, г. Казань, 2018; на симпозиуме 16th IEEE East-west design & test symposium (EWDTS - 2018), г. Казань, 2018 г.
Пути дальнейшей реализации результатов работы. Научные и практические результаты, полученные в диссертации, могут быть в дальнейшем использованы в средствах защиты информации, в имитационном моделировании, в тренажерах-симуляторах, а также в системах широкополосной связи.
На защиту выносятся:
- модель нахождения максимальной длины выборок двух последовательностей, обладающих значимой статистической однородностью по моментам первого и второго порядков;
- двухэтапный критерий статистической однородности выборок случайных или псевдослучайных последовательностей по вероятностным моментам первого и второго порядков, реализованный численным методом;
- метод реализации критерия путем многократного испытания гипотез на всех длинах выборок, не превышающих заданного или критического значения;
- алгоритмическое обеспечение, комплекс программ моделирования псевдослучайных последовательностей и программу реализации эмпирического варианта критерия статистической однородности частных выборок двоичной последовательностей.
Личный вклад автора состоит в следующем:
- выполнен анализ существующих методов статистического оценивания однородности выборок случайных последовательностей на основе их типичных характеристик;
- предложена формулировка метода оценивания статистической неразличимости АП на основе существующих критериев значимой однородности;
- разработан способ критериальной оценки статистической однородности зависимых двоичных последовательностей на всех длинах частных выборок до заданной максимальной или критической;
- разработано алгоритмическое обеспечение и комплекс программ для критерия статистической однородности двоичных последовательностей;
- проведены экспериментальные исследования на характерных примерах применения критерия однородности, а также исследования псевдослучайных последовательностей, использующихся для определения площадей фигур картографических объектов методом Монте-Карло, для ООО NEXTGIS, сделаны выводы.
Структура и объем диссертации. Диссертационная работа изложена на 200 страницах машинописного текста и содерзжит 65 рисунков и 21 таблицу, состоит из введения, четырех глав основного текста, заключения и списка литературы из 89 наименований.
Диссертация соответствует паспорту специальности 05.13.18 «Математическое моделирование, численные методы и комплексы программ» по пунктам:
3. Разработка, обоснование и тестирование эффективных вычислительных методов с применением современных компьютерных технологий.
4. Реализация эффективных численных методов и алгоритмов в виде комплексов проблемно-ориентированных программ для проведения вычислительного эксперимента.
7. Разработка новых математических методов и алгоритмов интерпретации натурного эксперимента на основе его математической модели.
8. Разработка систем компьютерного и имитационного моделирования.
Во введении обосновывается актуальность темы диссертации, формулируются объект, предмет, цель и задача исследования, отмечены методы исследования, достоверность и новизна полученных результатов, их теоретическая значимость и практическая ценность, приведены данные о публикациях, апробации и реализации результатов, сформулированы научные положения, выносимые на защиту. Приведены данные о структуре и объеме диссертации, дается краткий обзор диссертации по главам.
В первой главе произведен анализ предметной области. Рассмотрены основные подходы к определению однородности выборок, классические подходы к интервальному оцениванию, обзор методов статистического оценивания однородности параметров нескольких случайных функций. Произведен анализ статистических характеристик типичных случайных и псевдослучайных последовательностей, их восприятие имитационной моделью
в условиях малых выборок, а также намечены формулировки метода оценивания статистической неразличимости АП на основе существующих критериев значимой однородности.
Во второй главе рассмотрены основные подходы к формированию общего вида критерия значимой однородности ПСП. Определяется задача для постановки критерия. Показан выбор признака однородности двоичных последовательностей, лежащий в основе предложенного метода.
Формируется рабочая формула статистики, пропорциональная эмпирическому расхождению средних значений обеих последовательности и обратно пропорциональная стандартному отклонению этих расхождений. Показываются условия принятия и отклонения нуль-гипотезы Но. Рассматривается формирование рабочего материала разностной последовательности, получение из него матрицы сумм элементов двоичных последовательностей Цт^Ц, являющейся основой для получения эмпирической статистики.
Рассматриваются общий вид количественного распределения сумм элементов частных выборок и варианты выборочной средней разности и оценки ее дисперсии. Получена расчетная формула статистики, выражающая случайную величину для сравнения с границами двусторонней критической области, используя элементы матрицы сумм единичек на различных длинах выборки ||тпг|| и запись выборочной оценки дисперсии через оценку второго начального момента а2(п). Представлена цепочка алгоритмических процедур нахождения максимальной длины выборок обеих последовательностей, обладающих значимой однородностью по вероятности.
В третьей главе представлены методика оценки статистической неразличимости аналитическим способом и характерные примеры работы критерия.
В четвертой главе описывается разработанное алгоритмическое и программное обеспечение предложенного критерия, а также ряд
вспомогательных программных продуктов, необходимых для построения комплекса программ и организации его работы.
В заключении формулируются выводы, и приводится перечень основных результатов, полученных в диссертационной работе.
В приложении приведен листинг программ для ЭВМ, используемых для проведения исследований в составе программного комплекса.
Диссертация выполнена на кафедре компьютерных систем федерального государственного бюджетного образовательного учреждения высшего образования «Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ» (КНИТУ-КАИ).
1. ОБЗОР МЕТОДОВ СТАТИСТИЧЕСКОГО ОЦЕНИВАНИЯ ОДНОРОДНОСТИ ПАРАМЕТРОВ ДВОИЧНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
В практике статистического моделирования имитация воздействия внешней среды на исследуемый объект осуществляется применением шумоподобных сигналов в форме случайных или ПСП [60-64], обладающих релевантными характеристиками. В качестве таковых чаще всего используются статистические характеристики, определенные на периоде применяемой ПСП или на бесконечной выборке случайной последовательности. При этом рабочая длина случайной выборки всегда ограничена, а псевдослучайной чаще всего не кратна своему минимальному периоду пц.
Фактически воспринимаемые моделью выборочные оценки статистических характеристик существенным образом не совпадают с требуемыми, адекватность которых справедлива только для гипотетических генеральных выборок. Совершенно очевиден факт несоответствия требуемых характеристик реальным последовательностям. Это несоответствие в ряде случаев приводит к нарушению адекватности построения исследуемой модели, возникновению недопустимых погрешностей статистического эксперимента или чрезмерно усложняет все исследование, перегружая ресурсные возможности вычислительного инструментария.
Цель главы - определить общие подходы к формированию выборочных данных, точно соответствующих размерности статистического эксперимента, и найти аналитические основания для выделения той или иной конкретной последовательности из их множества, класса или ансамбля. Теоретическую проработку темы разумно начать с простейших случайных последовательностей без внутренних функциональных связей, как результат проведения независимых испытаний Бернулли. Конечным практическим продуктом предполагается комплекс программ для сравнительных
исследований числовых последовательностей на предмет их применения в машинной организации статистической модели конкретной размерности.
В литературе принимается, что статистические оценки характеристик последовательностей, полученные на выборках равных периоду, совпадают с точными математическими значениями [62, 65 - 67]. Определенные таким образом характеристики обладают строгой регулярностью аналитических выражений, масштабированием на любую конечную кратность порядка и являются удобным инструментом для сопоставления свойств разного типов ПСП. Кроме этого они эффективны для анализа асимптотического поведения последовательности внутри одного типа (класса, вида). Формализация свойств широко известных и наиболее распространенных М-последовательностей и основанных на них Голда, Касами, (М - 1)-, (М - 3)-, а также Лежандра, Якоби, де Брейна [62 - 64, 67, 68], являют собой примеры подобного аналитического описания.
Сконцентрируем внимание на типичном наборе статистических свойств стационарных в широком смысле шумоподобных сигналов [61, 63, 64, 69], предназначенных для имитации реальной среды в машинной модели. Это прежде всего вероятностные и корреляционные характеристики с заданными ограничениями по временно му аргументу. В отношении оценочных выражений на неполных (не кратных иц-минимальному периоду) выборках также известен ряд работ, содержащий результаты обширных экспериментальных исследований фрагментов ПСП [63, 64, 67]. Наиболее интересны постановка и практическая реализация численного оценивания корреляционных зависимостей. Однако подробное сопоставление величин среднестатистических выбросов оценок с произвольным значением длин выборок и их связь с циклическими параметрами анализируемых последовательностей отсутствует. Кроме того, оператор корреляционной обработки в большинстве работ используется в форме импульсной или апериодической функции, что ведет к существенному расхождению результатов с классическим корреляционным
исследованием, предполагающим стационарное продолжение фрагмента ПСП после окончания рабочей выборки.
Похожие диссертационные работы по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК
Формирование числовых последовательностей, имитирующих входные измерительные воздействия2014 год, кандидат наук Рзиева, Маншук Тлеккабыловна
Метод формирования тестирующих сигналов для белошумовой идентификации сложных систем2004 год, кандидат технических наук Булычев, Евгений Сергеевич
Применение компьютерного моделирования для расширения прикладных возможностей классических методов проверки статистических гипотез2014 год, кандидат наук Постовалов, Сергей Николаевич
Методы и алгоритмы симметричных псевдовероятностных защитных преобразований для средств обеспечения информационной безопасности2017 год, кандидат наук Татчина, Яна Александровна
Применение колмогоровской теории алгоритмической сложности к логическим основам теории вероятностей2001 год, доктор физико-математических наук Вьюгин, Владимир Вячеславович
Список литературы диссертационного исследования кандидат наук Ширшова Дарья Вадимовна, 2019 год
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. Песошин, В.А, Генераторы псевдослучайных и случайных чисел на регистрах сдвига: Монография/ В.А. Песошин, В.М. Кузнецов - Казань: Изд-во Казан. гос. техн. ун-та, 2007 - 295 с.
2. Бобнев, М.П. Генерирование случайных сигналов / М.П. Бобнев. - М.: Энергия, 1971. - 240с.
3. Бусленко, Н.П. Метод статистических испытаний (Монте-Карло) и его реализация в цифровых машинах / Н.П. Бусленко, Ю.А. Шрейдер. - М.: Физматгиз, 1961. - 226 с.
4. Гладкий, В.С. Вероятностные вычислительные модели / В.С. Гладкий.
- М.: Наука, 1973. - 300с.
5. Ермаков, С.М. Курс статистического моделирования / С.М. Ермаков, Г.А. Михайлов. - М.: Наука, 1976. - 330с.
6. Ермаков, С.М. Метод Монте-Карло и смежные вопросы / С.М. Ермаков.
- М.: Наука, 1975. - 472с.
7. Кудряшов, В.И. Сигнатурные анализаторы как средство формализации наладки и эксплуатации дискретной техники / В.И. Кудряшов, Г.Х. Новик // Приборы и системы управления. - 1984. - №3. - С.25-26.
8. Лившиц, А.Л. Статистическое моделирование систем массового обслуживания / А.Л. Лившиц, Э.А. Мальц. - М.: Советское радио, 1979. - 248с.
9. Метод Монте-Карло в атмосферной оптике / Под ред. Г.И. Марчука. -Новосибирск: Наука, 1974. - 142с.
10. Метод Монте-Карло в проблеме переноса излучений / Под ред. Г.И. Марчука. - Новосибирск: Атомиздат, 1967. - 256с.
11. Метод статистических испытаний (метод Монте-Карло) / Под ред. Ю.А. Шрейдера. - М.: Физматгиз, 1962. - 331с.
12. Михайлов, Г.А. Некоторые вопросы теории методов Монте-Карло. -Новосибирск: Наука, 1974. - 142с.
13. Растригин, Л.А. Многоканальные статистические оптимизаторы / Л.А. Растригин, Л.В. Сытенко. - М: Энергия, 1973. - 144с.
14. Решение краевых задач методом Монте-Карло / Б.С. Елепов, А.А. Кронберг, Г.А. Михайлов, К.К. Сабельфельд. - Новосибирск: Наука, 1980 -175с.
15. Кирьянов, Б.Ф. МикроЭВМ как средства имитации и обработки случайных процессов в радиоэлектронных системах / Б.Ф. Кирьянов. -Новгород: Новгород. политех. ин-т, 1986. - 213с. - Деп. в ВИНИТИ, №7646-В86.
16. Соболь, И.М. Численные методы Монте-Карло /И.М. Соболь. - М.: Наука, 1973. - 312с.
17. Хан, С. Статистические модели в инженерных задачах / С. Хан, С. Шапиро. - М: Мир, 1969. - 400с.
18. Четвериков, В.М. Вычислительная техника для статистического моделирования / В.М. Четвериков, Э.А. Баканович, А.В. Меньков. - М.: Советское радио, 1978. - 312с.
19. Ярмолик, В.Н. Генерирование и применение псевдослучайных сигналов в системах испытаний и контроля / В.Н. Ярмолик, С.Н.Демиденко. -Минск: Наука и техника, 1986. - 200с.
20. Иванова, В.М. Случайные числа и их применение / В.М. Иванова. -М.: Финансы и статистика, 1984. - 111с.
21. Методы генерации псевдослучайных чисел: Дзехо серес / Fushimi Masanori // ВЦП. - 1980. - №Г-32668, Vol.21, №9. - P.968-974.
22. Кирьянов, Б.Ф. Микропроцессорные средства в задачах имитации и обработки случайных сигналов: Учеб. пособие, Ч. I / Б.Ф. Кирьянов. - Новгород: НовПИ, 1988. - 52с.
23. Неделько, С.А. Датчики псевдослучайных чисел как терминалы в вычислительных системах / С.А. Неделько, А.Я. Шпильберг // Электроника и моделирование. - Киев: Наукова думка, 1974, вып.1. - С.52.
24. Варакин, Л.Е. Теория сложных сигналов / Л.Е. Варакин. - М.: Советское радио, 1970. - 376с.
25. Винокуров, В.И. Дискретно-кодированные последовательности / В.И. Винокуров, В.Е. Гантмахер. - Ростов-на-Дону: РГУ, 1990. - 288с.
26. Гилл, А. Линейные последовательные машины / А. Гилл. - М.: Наука, 1974. - 288с.
27. Доценко, В.И. Анализ и свойства последовательностей максимальной длины / В.И. Доценко, Р.Г. Фараджев // Автоматика и телемеханика. - 1969. -№11. - С.119-127.
28. Доценко, В.И. Получение ПСДС и его использование для идентификации объектов / В.И. Доценко, Г.С. Чхартишвили // Докл. конф.- М.: МЭИ, 1967. - С.180-192.
29. Борщевич, В.И. Моделирование процесса псевдослучайного тестирования и его информационные аспекты / В.И. Борщевич, И.Ф. Клисторин, С.Н. Филимонов // Электронное моделирование. - 1984. - №2. - С.57-61.
30. Иванов, М.А. Криптографические методы защиты информации / М.А. Иванов. - М.: КУДИЦ-ОБРАЗ, 2001. - 368с.
31. Алиев, Т.М. Вероятностные измерительно-вычислительные устройства / Т.М. Алиев, Г.С. Тер-Исраелов, А.А. Тер-Хачатуров. - М.: Энергоатомиздат, 1983. - 590с
32. Кирьянов, Б.Ф. Основы теории стохастических вычислительных машин / Б.Ф. Кирьянов; Казан. авиац. ин-т. - Казань, 1975. - 186с. - Деп. в ЦНИИТЭИ приборостроения 21.05.76, №524.
33. Кнут, Д. Искусство программирования для ЭВМ / Д. Кнут. - М.: Мир, Т. 2, 1977. - 724с.
34. Корн, Г. Моделирование случайных процессов на аналоговых и аналого-цифровых машинах / Г. Корн. - М.: Мир, 1968. - 315с.
35. Лезин, Ю.С. Оптимальные фильтры и накопители импульсных сигналов / Ю.С. Лезин. - М.: Советское радио, 1969. - 448с.
36. Петрович, Н.Т. Системы связи с шумоподобными сигналами / Н.Т. Петрович, М.К. Размахнин. - М.: Советское радио, 1969. - 232с.
37. Питерсон, У. Коды, исправляющие ошибки / У. Питерсон. - М.: Мир, 1964. - 338с.
38. Питерсон, У. Коды, исправляющие ошибки / У. Питерсон, Э. Уэлдон.
- М.: Мир, 1976. - 594с.
39. Самойленко, С.И. Помехоустойчивое кодирование / С.И. Самойленко.
- М.: Наука, 1966. - 240с.
40. Таусворт, Р. Случайные числа, порождаемые линейными рекуррентными соотношениями по модулю 2 / Р. Таусворт // Кибернетический сборник. - М.: Мир, 1979, вып.16. - С.62-73.
41. Теория и применение псевдослучайных сигналов / А.И. Алексеев, А.Г. Шереметьев, Г.И. Тузов, Б.И. Глазов. - М.: Наука, 1969. - 367с.
42. Фараджев, Р.Г. Линейные последовательностью машины / Р.Г. Фараджев. - М.: Советское радио, 1975. - 248с.
43. Захаров, В.М. Генератор псевдослучайных чисел на основе нелинейных функций обратной связи / В.М. Захаров, Е.Л. Столов, С.В. Шалагин // Проблемы техники и технологий телекоммуникаций ПТИТТ-2014: оптические технологии в телекоммуникациях ОТТ-2014 материалы международных научно-технических конференций, Казань, 18-21 ноября 2014 г.
- Казань, КНИТУ-КАИ, 2014. - С. 317-319.
44. Захаров, В.М. Генератор нелинейных циклических псевдослучайных последовательностей на основе двух регистров сдвига / В.М. Захаров, Е.Л. Столов, С.В. Шалагин // Инновационные технологии XXI века: материалы международной научно-практической конференции, Казань, 17 апреля 2015 г -Казань, КНИТУ-КАИ, 2015. - С. 9 - 11.
45. Stolov, E.L. Theory of ternary jitter-based true random number generators composed of identical gates / E.L. Stolov, R.KH. Latypov // Ученые записки казан. ун-та. Серия: физ.-мат. науки. - Казань: Изд-во Казанский (Приволжский) федеральный университет, 2017. - Т. 159. № 2. - С. 246 - 262.
46. Latypov, R. A New Family of Controlled Ternary True Random Number Generators / R. Latypov, E.Stolov // Proc. IEEE East-West Design & Test Symposium, (EWDTS) 2018 - Kazan, September, 2018.
47. Latypov, R.KH. Ternary jitter-based true random number generator / R.KH. Latypov, E.L. Stolov // Journal of physics: conference series - Kazan: Institute of Physics and IOP Publishing Limited, 2017 - Т. 783. № 1.- С. 246 - 262.
48. Latypov, R.KH. Asynchronous linear combinational circuits as a base for programmable logic device. binary and ternary cases / R.KH. Latypov, E.L. Stolov // Journal of physics: conference series - Kazan: Elsevier Science Publishing Company, Inc., 2017 - Т. 783. № 1. - С. 246 - 262.
49. Кугураков, В.С. О генерации псевдослучайных pin-кодов криптографическим методом / В.С. Кугураков, А.П. Кирпичников, Д.Г. Сущевский // Вестник техн. ун-та, 2015 - Т. 18. № 17.- С. 190-193.
50. Аникин, И.В. О генерации псевдослучайных pin-кодов криптографическим методом / И.В. Аникин, Х.Х. Альнаджар, А.П. Кирпичников // Вестник техн. ун-та. - 2016. - Т. 19. №12. - С. 124 - 127.
51. Чугунков И.В. Разработка и исследование алгоритмов генерации псевдослучайных последовательностей для компьютерных систем ответственного назначения: Автореф. дисс. на соискание уч. степени канд. техн. наук. - Москва, 2003. - 18 с.
52. Альнаджар Х.Х. Модель и программный комплекс генератора псевдослучайных чисел, основанного на нечеткой логике: Автореф. дисс. на соискание уч. степени канд. техн. наук. - Казань, 2018. - 19 с.
53. http://csrc.nist.gov/groups/ST/toolkit/rng/documentation software.html, 03.09.2019.
54. http://www.phy.duke.edu/~rgb/General/dieharder.php, 03.09.2019.
55. http://simul.iro.umontreal.ca/testu01 /tu01.html, 03.09.2019.
56. http://cristianopi.altervista.org/RaBiGeTe MT, 03.09.2019.
57. http://pracrand.sourceforge.net, 03.09.2019.
58. Б. Я. Рябко. «Стопка книг» как новый статистический тест для случайных чисел / Б. Я. Рябко, А. И. Пестунов. // Пробл. передачи информ. -2004. - Т. 40. - выпуск 1. - С. 73-78.
59. https://csrc.nist.gov/proiects/random-bit-generation/documentation-and-software, 20.05.2019.
60. Dieharder: A Random Number Test Suite / Robert G. Brown. http://webhome.phy.duke.edu/~rgb/General/dieharder.php (20.05.2019).
61. Кельтон, В. Имитационное моделирование / В. Кельтон, А. Лоу -Санкт-Петербург, Киев - 3-е изд. Издательская группа BHV. СПб: Питер, Киев. - 2004. - 847 с.
62. Кузнецов, В.М. Основы формального синтеза цифрового датчика случайных символов / В.М.Кузнецов, В.А.Песошин // Вестник КГТУ им. А.Н. Туполева - 2012. - №1. - С. 129-135.
63. Иванов, М.А.Теория, применение и оценка качества генераторов псевдослучайных последовательностей / М.А.Иванов, И.В. Чугунков - М.: КУДИЦ-ОБРАЗ, 2003. - 240 с.
64. Пестряков, В.Б. Шумоподобные сигналы в системах передачи информации / В.Б. Пестряков, Афанасьев В.П., Гурвич В.Л. и др. - М.: Сов.радио, 1973. - 424 с.
65. Варакин, Л.Е. Системы связи с шумоподобными сигналами - М.: Радио и связь, 1985. - 384 с.
66. Кирьянов, Б.Ф. Уточнение формулы для автокорреляционной функции М-последовательности / Б.Ф.Кирьянов,В.М.Кузнецов, В.А.Песошин // Автоматика и телемеханика. - 2015. - № 7. - С. 101 - 110.
67. Песошин, В.А. Генераторы равновероятностных псевдослучайных последовательностей немаксимальной длины на основе регистра сдвига с линейными обратными связями / В.А. Песошин, В.М. Кузнецов, Д.В. Ширшова // Автоматика и телемеханика - 2016 - № 9. - С. 136-149.
68. Дядюнов, Н.Г. Ортогональные и квазиортогональные сигналы / Н.Г. Дядюнов, А.И.Сенин - М.: Связь, 1977. - 224 с.
69. Сикарев, А.А. Микроэлектронные устройства формирования и обработки сложных сигналов / А.А. Сикарев, О.Н.Лебедев - М.: Радио и связь,1983. - 216 с.
70. Денисенко, А.Н. Сигналы. Теоретическая радиотехника. Справочное пособие - М.: Горячая линия-Телеком, 2005. - 704 с.
71. Айвазян, С.А. Прикладная статистика: основы моделирования и первичная обработка данных. Справочное издание / С.А. Айвазян, И.С. Енюков, Л.Д.Мешалкин // М.: Финансы и статистика, 1983. - 471 с.
72. Орлов, А.И. Прикладная статистика // М.: Издательство "Экзамен", 2004. - 483 с.
73. Гмурман, В.Е. Теория вероятностей и математическая статистика. 8-е изд. // М.: Высшая школа, 2002. - 479 с.
74. Коваленко, И.Н., Теория вероятностей и математическая статистика / И.Н.Коваленко, А.А.Филиппова // М.: Высшая школа, 1973. - 368 с.
75. Кузнецов, В.М. Статистическая неразличимость шумоподобных сигналов при имитационном моделировании на малых выборках. Бернуллиевские последовательности /В.М. Кузнецов, В.А.Песошин, Д.В.Ширшова //Вестник КГТУ им. А.Н. Туполева, № 3. - 2016. - С. 122 - 127.
76. Вентцель, Е.С. Теория вероятностей и ее инженерные приложения / Е.С. Вентцель, Л.А.Овчаров // М.: Высшая школа, 2000. - 480 с.
77. Вентцель, Е.С. Теория случайных процессов и ее инженерные приложения / Е.С. Вентцель, Л.А.Овчаров // М.: Высшая школа, 2000. - 383 с.
78. Чулков, В.А. Интерполирующие устройства синхронизации и преобразователи информации // М.: ФИЗМАТЛИТ, 2010. - 324 с.
79. Кузнецов, В.М. Генераторы случайных и псевдослучайных последовательностей на цифровых элементах задержки / В.М. Кузнецов, В.А. Песошин // Казань: Изд-во Казан. гос. техн. ун-та, 2013. - 336 с.
80. Кузнецов, В.М. Статистическая неразличимость шумоподобных сигналов при имитационном моделировании на малых выборках. Случайные
последовательности с внутренними связями/ В.М. Кузнецов, В.А.Песошин, Д.В. Ширшова //Вестник КГТУ им. А.Н. Туполева, №1. 2017. - С. 122-127.
81. Ватутин, В.А. Теория вероятностей и математическая статистика в задачах / В.А.Ватутин, Г.И.Ивченко, Ю.И.Медведев, В.П. Чистяков // М.: Дрофа, 2003.
82. Вентцель, Е.С. Теория вероятностей // М.: Физматлит, 1962.
83. Кремер, Н.Ш. Теория вероятностей и математическая статистика // М.: ЮНИТИ-ДАНА, 2002.
84. Ниворожкина, Л.И. Теория вероятностей и математическая статистика / Л.И. Ниворожкина, З.А.Морозова // М.: Эксмо, 2008.
85. Песошин, В.А. Генераторы псевдослучайных и случайных чисел на регистрах сдвига / В.А. Песошин, В.М.Кузнецов // Казань: Изд-во Казан. гос. техн. ун-та, 2007.
86. Ширшова, Д.В. Система моделирования генераторов псевдослучайных чисел и псевдослучайных последовательностей/ Д.В. Ширшова//сборник докладов Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых VI КАМСКИЕ ЧТЕНИЯ (Часть I), г. Набережные Челны, 25 апр. 2014 г./ Набережночелнинский институт Казанского (Приволжского) федерального университета (КФУ). - Набережные Челны: КФУ (НФ), 2014. -С.129-130.
87. Ширшова, Д.В. Программа получения псевдослучайных последовательностей по маске генератора /Д.В. Ширшова // Наука сегодня: вызовы и решения: материалы международной научно-практической конференции, г. Вологда, 27 января 2016 г. - Вологда: ООО «Маркер», - 2016. -С. 32-33.
88. Кузнецов, В.М. Генераторы равновероятностных псевдослучайных последовательностей на регистрах сдвига / В.М. Кузнецов, В.А. Песошин // Известия высших учебных заведений. Поволжский регион. Технические науки. №1 - 2012.- с. 21-28.
89. Ширшова, Д.В. Программная реализация алгоритмов статистических критериев согласия и значимости в задачах исследования случайных последовательностей/Д.В. Ширшова// Наука сегодня: сборник научных трудов по материалам международной научно-практической конференции, г. Вологда, 23 сентября 2015 г.: в 4-х частях. Часть 1. - Вологда: ООО «Маркер», - 2015.-С.84-85.
90. Ширшова, Д.В. Комплекс программ для построения доверительного интервала оценки вероятности применительно к М-последовательностям/ Сборник докладов конференции XXII Туполевских Чтений (Школа молодых ученых), г. Казань, 19-21 окт. 2015 г./ Д.В. Ширшова//Казанский национальный исследовательский технический университет им. АН. Туполева-КАИ (КНИТУ-КАИ). - Казань: КНИТУ-КАИ, - 2015. - С. 382-386
91. Лагутин М.Б. Наглядная математическая статистика: Учебное пособие / М.Б. Лагутин. - М.: БИНОМ. Лаборатория знаний, - 2007. - 472 с.
92. Ширшова, Д.В. Параллельная программа получения значений эксцесса для периодических последовательностей /Д.В. Ширшова// Наука сегодня: проблемы и пути решения: материалы международной научно-практической конференции, г. Вологда, 30марта 2016 г.: в 2 частях. Часть 1. -Вологда: ООО «Маркер», 2016. - С. 83-84.
93. Ширшова, Д.В. Программа вычисления значений эксцесса и асимметрии для периодических последовательностей/Д.В. Ширшова//Наука сегодня: вызовы и решения: материалы международной научно-практической конференции, г. Вологда, 27 января 2016 г. - Вологда: ООО «Маркер», - 2016. -С. 30-31.
94. Гибадуллин, Р.Ф. Развитие единообразного формализма защиты точечных, линейных и площадных объектов картографии / Р.Ф. Гибадуллин // Вестник КГТУ им. А.Н. Туполева. №2. - 2010. - С. 102-107.
95. Гибадуллин, Р.Ф. Предпосылки к разработке высокопроизводительной системы распознавания текстовых изображений / Р.Ф. Гибадуллин, И.Н. Шафигуллин // Информатика: проблемы, методология,
технологии: Материалы 15-й Междунар. научно-методич. конф. - Воронеж: Изд.- полиграф. центр Воронежского гос. университета, - 2015. Т. 3.- С. 161166.
96. Ширшова, Д.В. Параллельная программа проверки типа периодической последовательности по значениям АКФ на периоде /Д.В. Ширшова //Наука сегодня: проблемы и пути решения: материалы международной научно-практической конференции, г. Вологда, 30марта 2016 г.: в 2 частях. Часть 1. - Вологда: ООО «Маркер», - 2016. - С. 84-85.
97. Гибадуллин, Р.Ф. Предпосылки к разработке высокопроизводительной системы распознавания текстовых изображений / Гибадуллин Р.Ф., Шафигуллин И.Н. // Информатика: проблемы, методология, технологии: Материалы 15-й Междунар. научно-методич. конф. - Воронеж: Изд.- полиграф. центр Воронежского гос. университета, - 2015. Т. 3. - С. 161166.
98. Гибадуллин, Р.Ф. Развитие единообразного формализма защиты точечных, линейных и площадных объектов картографии / Р.Ф. Гибадуллин // Вестник КГТУ им. А.Н. Туполева. - 2010. №2. - С. 102-107.
99. Кузнецов, В.М. Генераторы равновероятностных псевдослучайных последовательностей на регистрах сдвига / В.М. Кузнецов, Песошин В.А.// Известия высших учебных заведений. Поволжский регион. Технические науки. 2012. - №1 - с. 21-28
100. Кузнецов, В.М. Статистическая неразличимость шумоподобных сигналов при имитационном моделировании на малых выборках для псевдослучайных последовательностей/ В.М. Кузнецов, В.А. Песошин, Д.В. Ширшова// Вестник КГТУ им. А.Н. Туполева. Казань, 2017.- №3. - С. 97-104.
101. Ширшова, Д.В. Критерий значимой однородности двоичных последовательностей / Д.В. Ширшова// Вестник Чувашского университета. 2018.- №3. - С. 120-132.
Приложение А
Фрагмент листинга программы «Программа моделирования аппаратных генераторов псевдослучайных последовательностей в апериодическом режиме Pseudo random Number Generator» (Свидетельство о государственной регистрации программы для ЭВМ № 2015614945)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Pseudorandom Number Generator {
public partial class Form1 : Form {
Form2 f2 = new Form2(); // форма/диалоговое окно, задающее количество тактов генератора
Form3 f3 = new Form3(); // форма, показывающая сгенерированные последовательности
Form4 f4 = new Form4(); // форма, задающая параметры корреляционного анализа
Form6 f6 = new Form6(); // форма, выполняющая подсчет апериодической АКФ
int tabPage1Removed = 0; // переменные, показывающие, были ли
закрыты панели
int tabPage2Removed = 0; // 0 - панель закрыта, 1 - панель видна public Element[] element = new Element[1000]; // массив объектов элементов класса Element
public int ElementNumber = 0; // количество элементов класса
Element
public Conductor[] cond = new Conductor[1000]; // массив элементов
межсоединений
public int condNum; // количество соединений
public int flagConductor = 0; // флаг, определяющий, было ли зафиксировано положение соединения в рабочей области
public int[,] ElementMatrix = new int[1000, 1000]; // матрица, определяющая соединения элементов
public Signal[] signal = new Signal[1000]; // массив объектов элементов класса Signal
public int SignalNumber; // переменная-счетчик логических
сигналов
public Generator[] generator = new Generator[1000]; // массив объектов элементов класса Generator
public int GeneratorNumber; // переменная-счетчик генераторов тактовых импульсов
public int[] CondMassiv = new int[1000]; // массив, хранящий номера соединений, с которых снимаются сигналы
public int CondMassivNumber; // счетчик элементов массива
CondMassiv
public int[,] ElementMassiv = new int[1000, 1000]; // массив, указывающий порядок соединения элементов
public int[] ElemNumber = new int[1000]; // массив, указывающий количество элементов в каждой группе соединений
public int ElementMassivNumber; // переменная, указывающая, количество групп соединений, то есть число массивов ElementMassiv
public int[,] ParentItemtMassiv = new int[1000, 1000]; // массив, хранящий номера дочерних вершин элементов
public int[] ParentItemNumber = new int[1000]; // массив, указывающий количество дочерних вершин для каждого элемента
public int StateNumber = new int(); // счетчик тактов последовательностей
public int[,] SequencesMassiv = new int[10000, 10000]; // двумерный массив последовательностей
public int SequencesNumber = new int(); // число исследуемых последовательностей
public int[] GenStr = new int[1000]; // строка для хранения значений с вывода генератора
public int GenStrNum; // число состояний
public Form1() // конструктор главного окна {
InitializeComponent(); // Инициализация компонентов
for (int i = 0; i < 1000; i++) // для тысячи соединений {
cond[i] = new Conductor(); // Инициализация соединений
for (int j = 0; j < 1000; j++) {
ElementMatrix[i, j] = new int(); // инициализация
массива, указывающего порядок соединения элементов
}
}
this.tabControl1.Visible = false; // Главная панель пока
невидима
this.hScrollBar1.Height = 17; // Высота горизонтальной
прокрутки 17
// устанавливаем размеры горизнтальной прокрутки this.hScrollBar1.Size = new System.Drawing.Size(ClientSize.Width - hScrollBar1.Height, this.hScrollBar1.Height);
// устанавливаем положение горизонтальной прокрутки this.hScrollBar1.Location = new System.Drawing.Point(0, ClientSize.Height - hScrollBar1.Height);
// подписать обработчик события движения мышки на функцию, определяющую движение элемента за курсором
this.MouseMove += new MouseEventHandler(MouseMoveElement); // подписать обработчик события клика мышки на функцию, фиксирующую положение элемента на рабочей области
this.MouseDown += new MouseEventHandler(MouseDownElement); // подписать обработчик события клика мышки на функцию, фиксирующую положение соединения на рабочей области
this.MouseDoubleClick += new MouseEventHandler(MouseDownCond); // подписать обработчик события движения мышки на функцию, определяющую движение конца соединения за курсором
this.MouseMove += new MouseEventHandler(MouseMoveCond); // подписать обработчик события клика мышки на функцию, позволяющую вручную изменять значение выходных сигналов элементов
this.MouseDoubleClick += new MouseEventHandler(MouseDownElementOutput);
// подписать обработчик события движения мышки на функцию, определяющую движение логического сигнала за курсором
this.MouseMove += new MouseEventHandler(MouseMoveSignal); // подписать обработчик события клика мышки на функцию, фиксирующую положение логического сигнала на рабочей области
this.MouseDown += new MouseEventHandler(MouseDownSignal); // подписать обработчик события клика мышки на функцию, позволяющую вручную изменять значение на выходе логического сигнала
this.MouseDoubleClick += new MouseEventHandler(SignalPress); // подписать обработчик события клика мышки на функцию, выделяющую и запоминающую соединение, с которого будет сниматься сигнал
this.MouseDown += new MouseEventHandler(MouseDownConductor); // подписать обработчик события движения мышки на функцию, определяющую движение генератора за курсором
this.MouseMove += new MouseEventHandler(MouseMoveGenerator); // подписать обработчик события клика мышки на функцию, фиксирующую положение генератора на рабочей области
this.MouseDown += new MouseEventHandler(MouseDownGenerator); // подписать обработчик события клика мышки на функцию, позволяющую устанавливать параметры работы генератора и запускать его
this.MouseClick += new MouseEventHandler(GeneratorPress); // подписываем обработчик события нажатия кнопки развернуть на функцию, изменяющую размеры полос прокрутки
this.ClientSizeChanged += new EventHandler(Func MaximizedBoundsChanged);
// подписать событие нажатия кнопки OK окна свойств генератора
на обработчик
f2.evBut += new DelegateEv(HandlerevBut);
// подписать обработчик выбора элементов ListBox на функцию
SelectedItem
f4.list.SelectedIndexChanged += new System.EventHandler(SelectedItem);
// подписать обработчик вычисления АКФ на событие
CorrelationEvent
f4.CorrelationEvent += new CorrelationDelegate(Correlation);
}
// функция вычисления АКФ
public void Correlation(int g) {
if (g == 0) // если не была выбрано ни одно соединение {
// считываем последовательность с TextBox формы 4
if (f4.textBox3.Text != "") {
for (int a = 0; a < f4.textBox3.Text.Length; a++) {
SequencesMassiv[g, a] =
int.Parse(Convert.ToString(f4.textBox3.Text[a]));
}
// числу тактов присваиваем длину введенной
последовательности
StateNumber = f4.textBox3.Text.Length;
}
}
// Вычисление единичек в сдвинутых последовательностях
for (int A = 0; A <= f4.Tmax; A++) {
for (int i = 0 + A; i < f4.N + A; i++) {
f4.SumOfOnes[g, A] = f4.SumOfOnes[g, A] +
SequencesMassiv[g, i];
}
}
// Вычисление совпадений единичек в исходной и сдвинутой последовательностях
for (int A = 0; A <= f4.Tmax; A++) {
for (int i = 0 + A; i < f4.N + A; i++) {
if (SequencesMassiv[g, i - A] == SequencesMassiv[g, i]
&& SequencesMassiv[g, i] == 1)
f4.SumOfCoincidence[g, A] = f4.SumOfCoincidence[g,
A] + 1;
}
}
// Вычисление единичек в сдвинутых последовательностях в отрицательном порядке
for (int A = 0; A <= f4.Tmax; A++) {
for (int i = StateNumber - 1 - A; i > StateNumber - 1 -
f4.N - A; i—)
{
f4.SumOfOnesInv[g, A] = f4.SumOfOnesInv[g, A] +
SequencesMassiv[g, i];
}
}
// Вычисление совпадений единичек в исходной и сдвинутой последовательностях в отрицательном порядке
for (int A = 0; A <= f4.Tmax; A++) {
for (int i = StateNumber - 1 - A; i > StateNumber - 1 -
f4.N - A; i—)
{
if (SequencesMassiv[g, i + A] == SequencesMassiv[g, i]
&& SequencesMassiv[g, i] == 1)
{
f4.SumOfCoincidenceInv[g, A] =
f4.SumOfCoincidenceInv[g, A] + 1;
}
}
}
// Вычисление значений Автокорреляционной функции
for (int A = 0; A <= f4.Tmax; A++) {
double f;
f = Math.Sqrt(f4.SumOfOnes[g, 0] * (f4.N - f4.SumOfOnes[g, 0]) * f4.SumOfOnes[g, A] * (f4.N - f4.SumOfOnes[g, A]));
if (f != Convert.ToDouble(0)) {
f4.R[g, A] = (f4.N * f4.SumOfCoincidence[g, A] -f4.SumOfCoincidence[g, 0] * f4.SumOfOnes[g, A]) / Math.Sqrt(f4.SumOfOnes[g, 0] *
(f4.N - f4.SumOfOnes[g, 0]) * f4.SumOfOnes[g, A] * (f4.N - f4.SumOfOnes[g, A]));
}
else if ((f4.N * f4.SumOfCoincidence[g, A] -f4.SumOfCoincidence[g, 0] * f4.SumOfOnes[g, A]) == Math.Sqrt(f4.SumOfOnes[g, 0] * (f4.N - f4.SumOfOnes[g, 0]) * f4.SumOfOnes[g, A] * (f4.N - f4.SumOfOnes[g, A])))
{
f4.R[g, A] = 1;
}
}
// Вычисление значений Автокорреляционной функции в отрицательном порядке
for (int A = 0; A <= f4.Tmax; A++) {
double f;
f = Math.Sqrt(f4.SumOfOnesInv[g, 0] * (f4.N -f4.SumOfOnesInv[g, 0]) * f4.SumOfOnesInv[g, A] * (f4.N - f4.SumOfOnesInv[g, A]));
if (f != Convert.ToDouble (0)) {
f4.RInv[g, A] = (f4.N * f4.SumOfCoincidenceInv[g, A] -f4.SumOfCoincidenceInv[g, 0] * f4.SumOfOnesInv[g, A]) /
Math.Sqrt(f4.SumOfOneslnv[g, 0] * (f4.N - f4.SumOfOnesInv[g, 0]) *
f4.SumOfOnesInv[g, A] * (f4.N - f4.SumOfOnesInv[g, A]));
}
else if ((f4.N * f4.SumOfCoincidenceInv[g, A] -f4.SumOfCoincidenceInv[g, 0] * f4.SumOfOnesInv[g, A]) == Math.Sqrt(f4.SumOfOnesInv[g, 0] * (f4.N - f4.SumOfOnesInv[g, 0]) *
f4.SumOfOnesInv[g, A] * (f4.N - f4.SumOfOnesInv[g, A])))
{
f4 . RInv [g, A] = 1;
}
}
int Max;
if (f4.Tmax == Convert.ToInt32(f4.textBox4.Text)) {
Max = f4.Tmax - 1;
}
else {
Max = f4.Tmax;
}
// Вычисление значения G
for (int A = 1; A <= Max; A++) {
f4.G = f4.G + Math.Pow(f4.R[g, A], 2) + Math.Pow(f4.RInv[g, A], 2);
f4.B = f4.B + Math.Abs(f4.R[g, A]) + Math.Abs(f4.RInv[g,
A]);
//Console.WriteLine("B = {0} ", B);
}
f4.M = f4.B / (2 * (Max));
f4.G2 = f4.G / (2 * (Max));
f4.G = Math.Sqrt(f4.G / (2 * (Max)));
f4.G2R = f4.G2 - Math.Pow(f4.M, 2); //*****************************
// ВЫВОД РЕЗУЛЬТАТОВ
//*****************************
Console.WriteLine("B = {0} ", f4.B);
Console.WriteLine("Tmax - 1 = {0} ", f4.Tmax - 1);
for (int A = 0; A <= f4.Tmax; A++) {
Console.WriteLine(" ({0}*{1}-{2}*{3})/№({4}*({5}-{6})*{7}*({8}-{9}))", f4.N, f4.SumOfCoincidence[g, A], f4.SumOfCoincidence[g, 0], f4.SumOfCoincidence[g, A], f4.SumOfOnes[g, 0], f4.N, f4.SumOfOnes[g, 0],
f4.SumOfOnes[g, A], f4.N, f4.SumOfOnes[g, A]);
}
for (int A = 0; A <= f4.Tmax; A++) {
Console.WriteLine(" {0} {1} {2} {3}", A, f4.SumOfOnes[g,
A], f4.SumOfCoincidence[g, A], f4.R[g, A]);
}
Console.WriteLine();
for (int A = 0; A <= f4.Tmax; A++) {
if (A > 0) {
Console.WriteLine("-{0} {1} {2} {3}", A,
f4.SumOfOnesInv[g, A], f4.SumOfCoincidenceInv[g, A], f4.RInv[g, A]);
}
else Console.WriteLine(" {0} {1} {2} {3}", A,
f4.SumOfOnesInv[g, A], f4.SumOfCoincidenceInv[g, A], f4.RInv[g, A]);
}
Console.WriteLine();
Console.WriteLine(" G = {0} ", f4.G); Console.WriteLine(" GA2 = {0} ", f4.G2);
Console.WriteLine(" M = {0} ", f4.M);
Console.WriteLine("Math.Pow(M, 2) = {0} ", Math.Pow(f4.M, 2));
// обработчик события evH, то есть события смены очередного состояния генератора
public void HandlerFunk(int i) {
if (StateNumber == 0) // для начального момента времени {
// цикл по всем выделенным соединениям
for (int g = 1; g <= CondMassivNumber; g++) {
// CondMassiv[g] -- № соединения
// cond[CondMassiv[g]].Outputltem -- № элемента, с
которого идет соединение
// применяем функцию модуля Abs -- так как № элемента
может быть > 0, или < 0
// Output -- выходной сигнал элемента SequencesMassiv[g, StateNumber] = element[Math.Abs(cond[CondMassiv[g]].Outputltem)].Output;
// записать очередное значение в label формы 3 GenStr[GenStrNum] = SequencesMassiv[g, StateNumber]; GenStrNum++; // перерисовка окна f3.Invalidate();
}
StateNumber++; // увеличиваем на 1 число тактов
}
// присваиваем значение с выхода генератора входам связанных с
ним элементов
for (int j = 1; j <= generator[i].ElementMassivNum; j++) {
// если элемент записан в массив без отрицания
if (generator[i].ElementMassiv[j] > 0) {
// значит, генератор связан с первым входом элемента
element[Math.Abs(generator[i].ElementMassiv[j])].Input[0] = generator[i].Output;
}
// если элемент записан в массив с отрицанием
else {
// значит, генератор связан со вторым входом элемента
element[Math.Abs(generator[i].ElementMassiv[j])].Input[1] = generator[i].Output;
}
}
// изменяем значения входов элементов в соответствии с массивом соединений элементов
// то есть всем входам присваиваем значения выходов связанных
с ними элементов
for (int k = 1; k <= ElementNumber; k++) // цикл по всем
массивам соединений
{
// цикл по всем элементам текущего массива соединений
for (int j = 1; j <= ElementNumber; j++) {
// если соединение идет с первого выхода на первый
вход
if (ElementMatrix[k, j] == 1) {
// присваиваем входу следующего элемента значение
с выхода предыдущего
element[j].Input[0] = element[k].Output;
// если соединение идет с первого выхода на второй
вход
else if (ElementMatrix[k, j] == 2) {
// присваиваем входу следующего элемента значение
с выхода предыдущего
element[j].Input[1] = element[k].Output;
}
// если соединение идет со второго выхода на первый
вход
else if (ElementMatrix[k, j] == 3) {
// присваиваем входу следующего элемента инверсное
значение с выхода предыдущего
element[j].Input[0] = 1 - element[k].Output;
}
// если соединение идет со второго выхода на второй
вход
else if (ElementMatrix[k, j] == 4) {
// присваиваем входу следующего элемента инверсное
значение с выхода предыдущего
element[j].Input[1] = 1 - element[k].Output;
}
if (element[j].FlipFlopFlag == 0) // если это
логический элемент
{
// вызываем функцию переключения элементов element[j].Function () ;
}
}
}
// поиск по всем логическим сигналам
for (int k = 1; k <= GeneratorNumber; k++) {
// если генератор переключился в ноль
if (generator[i].Output == 0) {
// цикл по всем связанным с этим сигналом элементам for (int j = 1; j <= generator[i] .ElementMa s sivNum;
j++)
{
// если данный элемент является триггером if
(element[Math.Abs(generator[k].ElementMassiv[j])].FlipFlopFlag == 1)
{
// вызываем функцию переключения триггеров,
связанных с данным генератором
element[Math.Abs(generator[k] .ElementMassiv[j])].Function() ;
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.