
- •Оглавление
- •Глава 5. Основы математической теории информации 58
- •Глава 6. Элементы теории чисел 74
- •6.2.1. Основные определения 83
- •Глава 7. Алгебраические структуры 87
- •Введение
- •Глава 1.Введение
- •1.1.Основные понятия криптографии
- •1.1.1.История развития криптографии
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •1.1.2.Сложность алгоритмов
- •1.1.3.Стойкость криптографических систем
- •Глава 2.Элементы теории множеств
- •2.1.Основные понятия теории множеств
- •2.1.1.Обозначения и способы задания множеств
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.1.2.Операции над множествами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.1.3.Прямое произведение множеств
- •П римеры решения задач
- •Задачи для самостоятельного решения
- •2.2.Отношения между множествами
- •2.2.1.Определение бинарных отношений
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.2.2.Представление бинарных отношений в виде графа, матрицы
- •Примеры решения задач
- •Построенная таблица есть таблица бинарного отношения. Задачи для самостоятельного решения
- •2.2.3.Свойства бинарных отношений, отношение эквивалентности
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •Глава 3.Булева алгебра
- •3.1.Булевы функции
- •3.1.1.Понятие булевой функции
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.2.Суперпозиция функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.3.Двойственные функции
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.4.Логические схемы
- •Примеры решения задач
- •3.2.Нормальные формы
- •3.2.1.Разложение функций по переменным
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.2.2.Минимизация нормальных форм, карты Карно
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Полиномы Жегалкина, алгоритм их построения для произвольных функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.3.Полные системы функций
- •3.3.1.Полнота множества функций
- •Примеры решения задач
- •Глава 4.Элементы теории графов
- •4.1.Основные понятия теории графов
- •4.1.1.Способы задания графов, основные определения
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.2.Числовые характеристики графов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.3.Операции с графами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.4.Изоморфизм графов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.6.Расстояния в графе, центры графа
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.7.Эйлеровы циклы
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.8.Алгоритм построения Эйлерова цикла
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.9.Гамильтоновы циклы
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.10.Алгоритм построения гамильтонова цикла в графе
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.2.2.Алгоритм Краскала для построения минимального остовного дерева
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.2.3.Обходы дерева
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Задачи для повторения
- •Вопросы для повторения
- •Глава 5.Основы математической теории информации
- •5.1.Меры информации
- •5.1.1.Мера Хартли
- •Примеры решения задач
- •5.1.2.Мера Шеннона
- •Примеры решения задач
- •5.1.3.Единицы измерения количества информации
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.2.2.Код Хаффмана
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3. Помехоустойчивое кодирование
- •5.3.1. Код с проверкой на четность
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.2.Коды с повторением
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.3.Групповой код Хемминга
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.4.Помехозащищенность кода
- •Примеры решения задач
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.2.Теорема о делении с остатком. Алгоритм Евклида
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.3.Отношение сравнимости
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.4.Алгебра вычетов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.5.Решение сравнений вида ахb(mod m)
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.6.Применение алгебры вычетов к простейшим шифрам
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.7.Построение и использование хеш-функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Задачи для повторения
- •6.2.Алгебра многочленов
- •6.2.1.Основные определения
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.2.2.Нод многочленов
- •Примеры решения задач
- •Задачи для самостоятельного решения.
- •6.2.3.Разложение многочлена на множители
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •Глава 7.Алгебраические структуры
- •7.1.Основные понятия и свойства алгебраических структур
- •7.1.1.Алгебра
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.2.Группа
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.3.Кольцо
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.4.Поле
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.5.Конечные поля
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.Многочлены над конечными полями
- •7.2.1.Каноническое разложение многочлена
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.2.Порядок многочлена над конечным полем
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.3.Сравнение многочленов по данному модулю
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.4.Поиск неприводимых многочленов поля gf(g(X)) над полем gf(р)
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.Генераторы псевдослучайных последовательностей
- •7.3.1.Понятие псевдослучайной последовательности чисел
- •7.3.2.Практические методы получения псевдослучайных чисел
- •Задачи для самостоятельного решения
- •7.3.3.Понятие линейной последовательности
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.4. Периодичность линейных рекуррентных последовательностей
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.5.Связь линейных рекуррентных последовательностей над конечными полями с многочленами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •214018, Г. Смоленск, проспект Гагарина, 56, т.: (0812) 55 – 41 – 04.
4.1.2.Числовые характеристики графов
Цикломатическим числом графа называется число связных компонент графа плюс число ребер минус число вершин: (G)=p+m-n. Смысл этого понятия заключается в следующем: это количество ребер, которые надо удалить, чтобы циклов в графе не осталось.
Если граф связный, то формула такова: (G)=1+m-n, так как в связном графе одна компонента связности.
Независимое внутренне-устойчивое множество вершин графа- это множество вершин, в котором:
никакие две вершины не соединены ребром;
это множество максимально, т.е. не содержится в другом внутренне устойчивом множестве этого графа.
Независимое внутренне-устойчивое множество вершин графа – это наибольшее независимое (по количеству вершин) множество.
Количество вершин во внутренне-устойчивом множестве называется числом внутренней устойчивости (G).
На определенном этапе проектирования схем определяется множество внутренней устойчивости, сначала размещаются эти элементы, а потом все остальные.
Множество вершин в графе называют внешне устойчивым, если:
любая вершина, которая не вошла в это множество, связана ребром хотя бы с одной из вершин этого множества.
Множество вершин минимально, т.е. нельзя удалить вершину, чтобы свойство минимальности не потерялось.
Количество вершин во внешне-устойчивом множестве называется числом внешней устойчивости (G).
Примеры практических задач, сводящихся к этой задаче:
В некотором закрытом учреждении имеется система коридоров. Каково минимальное количество камер слежения, чтобы они просматривали все коридоры.
Имеется некоторый набор стратегических пунктов. Какое минимальное число солдат надо расставить, чтобы контролировать все пункты.
Примеры решения задач
Определить множества внутренней устойчивости графа на рисунке 46.
Р
ешение.
Алгоритм для нахождения внутренне
устойчивого множества приближенный
(жадный). Он заключается в следующем:
сначала отсортировать вершины в порядке
неубывания степеней, а потом просматривать
отсортированный список и последовательно
пытаться включить вершины по порядку
в соответствии с требуемыми условиями.
Множества внутренней устойчивости: {1, 5}, {3, 4}, {2, 3}.
Определить множества внешней устойчивости графа и число внешней устойчивости графа на рисунке 47.
Решение. Алгоритм для нахождения внешне устойчивого множества также приближенный (жадный). Он заключается в следующем: сначала сортируют вершины в порядке невозрастания степеней, а потом просматривать отсортированный список и последовательно пытаться включить вершины по порядку в соответствии с требуемыми условиями.
Внешне устойчивые множества: {5, 3}, {6, 5}, {4, 2, 6}. (G)=2.
Задачи для самостоятельного решения
Д
ля заданного графа определить его числовые характеристики: цикломатическое число, числа внешней и внутренней устойчивости, а также укажите по 3 множества внешней и внутренней устойчивости.
4.1.3.Операции с графами
Дополнением
графа G(V,X)
называется граф
(V,X/)
с теми же вершинами V, что
и граф G, и имеющий те и
только те ребра X/,
которые необходимо добавить к графу G,
чтобы он стал полным. Дополнением полного
графа будет пустой граф, и наоборот.
Объединением графов G1 = (V1, X1) и G2 = (V2, X2) называется граф G= G1G2, множество вершин которого V= V1 V2, а множество ребер Х=X1 X2.
Пересечением графов G1 и G2 называется граф G=G1G2, для которого Х= X1Х2 — множество ребер, a V=V1 V2 — множество вершин.
Подграфом графа G=<V,X> называется граф G1=<V1,X1>, такой, что V1V, а Х1Х. Иначе говоря, подграф содержит некоторые вершины исходного графа и некоторые рёбра (только те, оба конца которых входят в подграф).
Подграфом, порождённым множеством вершин V’ называется подграф, множество вершин которого – V’, а множество ребер – это все ребра, соединяющие вершины в графе G.
Подграф называется остовным подграфом, если множество его вершин совпадает с множеством вершин самого графа, т.е. V1=V, а Х1Х
Два последних определения дают два вида максимальности подграфов: максимальность множества вершин и максимальность множества рёбер.