Тема: Вычисление и оценки линейной сложности БИНАРНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Глава 1. Линейная сложность 6
1.1. Определения и примеры 6
1.2. Обобщение линейной сложности 9
Глава 2. Задача нахождения к-error линейной сложности 11
2.1. Математическая постановка задачи 11
2.2. Вычисление к-error линейной сложности 13
Глава 3. Генетический алгоритм для вычисления к-error линейной сложности последовательности 14
3.1. Хромосомы 14
3.2. Целевая функция 15
3.3. Генетические операторах 16
3.3.1. Отбор родителей 16
3.3.2. Кроссовер 18
3.3.3. Мутация 22
Глава 4. Численные эксперименты и результаты 25
4.1. Тесты с последовательностями длины 2п 25
4.2. Сравнение типов отбора родителей 27
4.3. Сравнение типов кроссовера и мутации 28
4.4. Тестирование с различными параметрами алгоритма 31
4.4.1. Размер популяций и их количество 33
4.4.2. Вероятность мутации 35
Заключение 37
Список литературы 39
Приложение А. Алгоритм Берлекэмпа—Мэсси 40
Приложение Б. Алгоритм Stamp, Martin 41
📖 Введение
Известно, что такое свойство последователвности, как линейная сложности, значимо в определении криптографически сильных последовательностей.
Данная работа посвящена исследованию задачи нахождения к-error линейной сложности бинарной последовательности и методов ее решения. При этом написаны программы нахождения точного решения к-error линейной сложности для следующих частных случаев:
1. к = 0 (Berlekamp-Massey Algorithm, [1]);
2. к = 2П, где п — целое число (Stamp,Martin, [2]).
Основной целью работы является применение к рассматриваемой задаче одного из приближенных алгоритмов (а именно — генетического) и нахождение приближенного решения задачи при оптимальных значениях параметров.
Кроме того, проводится сравнение операторов генетического алгоритма, исследуется зависимость полученных результатов от выбранных операторов и параметров метода. Алгоритм реализован на языке Python 3.5.
✅ Заключение
Реализованы различные методы для каждого эволюционного оператора (отбор, кроссовер, мутация) и исследован наилучший выбор параметров для этой задачи.
В настоящей работе рассмотрены следующие типы операторов:
• отбор родителей:
• турнир;
• метод рулетки;
• кроссовер:
• специальный тип одноточечного кроссовера;
• специальный тип кроссовера, использующий целевую функцию;
• мутация:
• простая случайная мутация;
• мутация с переменной частотой.
Вычислительные эксперименты показали, что генетический алгоритм дает хорошие результаты для рассмотренной задачи. Например, для последовательностей длины 28 следующая схема представляется оптимальной:
• среднее число популяций, 2000;
• среднее количество особей в популяции, 150;
• отбор родителей методом рулетки;
• специальный тип кроссовера, использующий целевую функцию, с вероятностью 0,7;
• специальный тип одноточечного кроссовера с вероятностью 0,3;
• мутация с переменной частотой с вероятностью 0,3.
С предложенными параметрами алгоритм выдает приближенное значение fc-error линейной сложности, которая в большинстве построенных примерах всего на 14% выше точного значения.
Все результаты получены с помощью программы, с которой можно ознакомиться по ссылке https://yadi.Sk/d/pstEP6aB3JRUdY/2017.
В продолжение данной работы можно рассмотреть другие потенциально эффективные стратегии. Например, в работе [7] в качестве основного оператора отбора родителей выбран элитарный отбор 25%-го уровня. В нем 25% лучших особей текущей популяции автоматически переходят в следующую популяцию. В качестве кроссовера можно рассматривать, например, специальный тип двухточечного кроссовера, работающий по тому же принципу, что и кроссовер SSPX (см. пункт 3.3.2).





