- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Захарова ю.Ф. Дискретная математика и ее приложения
- •Введение
- •Глава 1. Введение в теорию множеств.
- •1.1. Основные определения.
- •1.2. Задание множеств
- •1.3. Операции над множествами
- •1.4. Разбиения и покрытия
- •1.5. Представление множеств в эвм.
- •1.5.1. Включение множеств.
- •1.5.2. Объединение множеств.
- •1.5.3. Пересечение множеств.
- •Глава 2. Булева алгебра.
- •2.1. Основные элементарные функции.
- •2.2. Основные элементарные тождества.
- •2.3. Формы представления булевых функций.
- •2.4. Минимизация булевых функций.
- •2.4.1. Метод Куайна.
- •2.4.2. Метод Карно.
- •Глава 3. Исчисление высказываний и исчисление предикатов.
- •3.1. Исчисление высказываний.
- •3.2. Исчисление предикатов.
- •Глава 4. Теория сжатия текстовой информации.
- •4.1. Метод Хаффмена
- •4.1.1. Общие положения
- •4.1.2. Краткое описание метода Хаффмена.
- •4.1.3. Пример использования метода Хаффмена.
- •4.2. Метод Зива Лемпеля (lz-метод)
- •4.2.1. Основные определения
- •4.2.2. Краткое описание lz-метода
- •4.2.3. Пример lz-метода
- •4.3. Метод Зива-Лемпеля-Велча (lzw-метод)
- •4.3.1. Общие положения
- •4.3.2. Краткое описание lzw-метода
- •4.3.3. Пример lzw-метода.
- •4.4. Метод Барроуза-Уиллера.
- •4.4.1. Общие положения.
- •4.4.2. 1 Этап. Преобразование Барроуза-Уилера.
- •4.4.3. 2 Этап. Mtf–метод.
- •4.4.4. 3 Этап. Статистический кодер.
- •4.4.5. Модификации различных этапов.
- •4.4.6. Сравнение алгоритмов сжатия на базе bwt с другими методами.
- •Глава 5. Теория сжатия графической информации. Введение.
- •5.2. Волновой метод (wavelet-метод)
- •5.2.1. Описание метода
- •5.2.2. Пример волнового метода
- •5.3. Дискретное косинус-преобразование (дкп-метод).
- •5.3.1. Описание метода.
- •5.3.2. Пример дкп-метода.
- •5.4. Классический алгоритм jpg.
- •5.5. Фрактальный алгоритм.
- •Глава 6. Введение в криптографию. Введение.
- •6.1. Методы перестановки
- •6.1.1. Матрицы
- •6.1.2. Маршруты Гамильтона
- •6.1.3. Электрический монтаж
- •6.1.4. Особенности перестановки
- •6.2. Методы подстановки
- •6.2.1. Вектор замен
- •6.2.2. Таблицы Вижинера
- •6.3. Метод замены. Использование алгебры матриц.
- •6.4. Аддитивные методы
- •6.5. Стеганология
- •6.6. Ключ. Основные понятия, связанные с ключом и алгоритмом.
- •6.6.1. Основные понятия.
- •6.6.2. Ключ.
- •6.6.3. Случайные и псевдослучайные числа.
- •6.6.4. Действия по шифрованию информации.
- •6.7. Блочные и поточные шифры.
- •6.8. Алгоритмы des, Triple des и их заменяющие.
- •6.8.2. Алгоритм Triple des
- •6.8.3. Коммерческие алгоритмы, заменившие des
- •6.9. Системы с открытым ключом.
- •6.10. Электронная подпись.
- •6.11. Взлом защищенных файлов.
- •6.11.1. Атака на ключ
- •6.11.2. Атака на алгоритм.
- •6.11.3. Скомпрометированный пароль.
- •6.11.4. Подделка открытых ключей.
- •6.11.5. Не до конца удаленные файлы.
- •6.11.6. Вирусы и закладки.
- •6.11.7. Виртуальная память.
- •6.11.8. Нарушение режима физической безопасности. Радиоатака. Фальшивые даты подписи.
- •6.11.10. Утечка информации в многопользовательской среде.
- •Содержание
- •Глава 6. Введение в криптографию. 1
2.2. Основные элементарные тождества.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2.3. Формы представления булевых функций.
Любая функция
переменных
,
полученная путем суперпозиции
перечисленных элементарных булевых
функций, также является булевой функцией,
определенной на множестве наборов
переменных
.
Таблица истинности в данном случае
будет иметь следующий вид:
|
|
0 0 .…..0 0 0 0 .…..0 1 0 0 .…..1 1 ………………… 1 1 .…..1 1 |
………………
|
На основании
теоремы о булеане, данная таблица будет
иметь
строк (т.к. мера множества переменных
),
т.е. число всех наборов от
переменных равно
,
а число всевозможных булевых функций,
зависящих от
переменных равно
на основании той же теоремы.
Два набора
и
называются соседними
по
-ой
компоненте,
если они различимы только по значению
переменной
,
т.е.
,
.
Набор
называется предшествующим
к набору
и обозначается
,
если выполняется неравенство
при всех значениях
.
Переменная называется существенной, если на наборах, соседних по -ой компоненте, функция принимает различные значения, в противном случае переменная является фиктивной.
Замечание. Обнаружить фиктивные переменные некоторой функции можно не только по таблице истинности, но и аналитически: после всех элементарных преобразований функция содержит только существенные переменные.
Пример:
,
следовательно,
переменная
является фиктивной, а
и
- существенными.
Функции
и
называются равными,
если они могут быть получены одна из
другой путем добавления или исключения
фиктивных переменных.
Функция
называется монотонной,
если для любых двух наборов
и
,
таких что
выполняется
.
Теорема2: Какова бы ни была булева функция , она может быть представлена в следующем виде:
и данное представление называется разложением функции по -ой компоненте.
Рассмотрим
функцию трех переменных
и разложим ее последовательно по всем
переменным:
где
дизъюнкция берется по всем возможным
наборам переменных
.
Аналогичное разложение может быть
получено для большего числа переменных.
Приведенное разложение называется совершенной дизъюнктивной нормальной формой (СДНФ).
Данная форма называется совершенной, потому что каждое слагаемое в дизъюнкции включает все переменные, дизъюнктивной, потому что главная операция – дизъюнкция и нормальной, т.к. существует алгоритм проверки равносильности. При этом
Иными словами, для того, чтобы построить СДНФ, необходимо в таблице истинности рассмотреть те наборы, на которых функция равна 1 и навесить отрицания на те переменные, которые на данных наборах равны 0 (т.к. все остальные слагаемые будут равны 0 по тождеству 9).
Если в данном разложении учесть двойственность дизъюнкции и конъюнкции (см. ранее) и заменить все дизъюнкции на конъюнкции, а конъюнкции – на дизъюнкции, получаем следующее представление, имеющее название СКНФ (совершенная конъюнктивная нормальная форма):
Иными словами, для того, чтобы построить СДНФ, необходимо в таблице истинности рассмотреть те наборы, на которых функция равна 0 и навесить отрицания на те переменные, которые на данных наборах равны 1 (т.к. все остальные сомножители будут равны 1 по тождеству 5).
Если в разложении
булевой функции
заменить все дизъюнкции на функцию
и учесть тождество 12
,
получаем следующее представление,
имеющее название СПНФ3
(совершенная полиномиальная нормальная
форма) или полином Жигалкина4:
,
где a,b,c,…,h – некоторые коэффициенты, которые могут быть найдены по таблице истинности.
СПНФ может быть также построена методом навешивания двойного отрицания. Основное необходимое тождество в данном случае - .
Пример:
.
Функция называется линейной, если в ее разложении в СПНФ отсутствуют конъюнкции.
Теорема:
Какова бы ни была булева функция
,
она может быть выражена через функции
,
которые являются базисом.
Доказательство:
Если функция
,
то она может быть представлена в
следующем виде:
.
Если функция
,
то она может быть представлена в
следующем виде:
.
В противном случае функция
может быть представлена в виде СДНФ.
Теорема доказана.
