- •Введение………………………………………………………………………………………..1
- •1.Элементы функциональной полноты в классе двоичных функций.
- •1.1 Основные двоичные функции и их своства. Булевой функцией f(x1 … xn) называют функцию, аргументы которой принимают значения из множества , и значение функции также из множества {0;1}.
- •Бинарная операция ассоциативна, если тождественно выполняется: ;
- •1.2 Утверждение о числе функций от n переменных.
- •1.3 Представление функции в виде совершенной дизъюнктивной и совершенной конъюнктивной формах. Разложение функции по начальному множеству переменных.
- •1.4 Утверждение о представлении двоичной функции в виде полинома Жегалкина .
- •1.5 Основные замкнутые классы двоичных функций относительно суперпозиций функций.
- •X1 x2 X
- •I этап :
- •3 Случай :
- •II этап :
- •1); 2); 3); 4).
- •1) ; 2); 3);
- •4) ; 5);
- •1.7 Предполные классы двоичных функций.
- •Все полные системы для классов t0, t1, s, m, l в утверждениях выше являются базисами для этих систем.
- •2 .Минимизация днф заданной функции.
- •2.1 Геометрическая интерпретация двоичных функций.
- •2.2 Утверждение о максимальных интервалах и тупиковых покрытиях.
- •1 Этап:
- •2 Этап:
- •2.3 Метод поиска всех максимальных интервалов заданной функции с помощью операции склеивания и сокращения.
- •2.4 Метод нахождения всех тупиковых покрытий максимальными интервалами.
- •Достаточно ясна связь задачи нахождения тупиковых покрытий и минимизации функции покрытия.
- •2.5 Метод построения сокращённой д.Н.Ф. С помощью обобщенного склеивания
- •3. Элементы математической логики. Исчисление высказываний, его полнота.
- •Семь теорем.
- •2) . Запишем аксиому а3 в следующем виде: вместоВ подставим формулу а, а вместо а подставим
- •Доказательство полноты исчисления высказываний.
- •4 Графы
- •4.1 Неориентированные, ориентированные графы. Способы задания графов.
- •Представление графов
- •1. Задание графа с помощью матрицы смежности.
- •2. Задание графа с помощью матрицы инцидентности.
- •3. Задание графа с помощью списка смежности.
- •4.2 Азбука теории графов. Маршрут, путь, простой путь. Цикл. Простой цикл. Связность в графе.
- •Связные графы
- •4.3 Методы анализа графа. Поиск в ширину. Нахождение кратчайших путей в графе.
- •4.4 Поиск в глубину. Нахождение остовного дерева с помощью поиска в глубину.
- •4.5 Укладки графов. Планарные графы.
- •Теорема Эйлера
- •4.6 Критерий Понтрягина-Куратовского планарности графа.
- •4.7 Хроматическое число графа.
- •5 Элементы комбинаторики.
- •5.1 Упорядоченные наборы с повторением и без повторений.
- •5.2 Неупорядоченные наборы элементов изданных без повторений.
- •5.3 Неупорядоченные наборы элементов изп данных с возможными повторениями.
- •5.4 Метод включения-исключения.
- •Упражнения.
- •5.5 Основы метода производящих функций.
- •1324 0100.
- •5.6 Основы теории перечисления Пойа. Лемма Бернсайда.
- •Упражнения.
- •6 Основы схем из функциональных элементов. Проблема минимизации
- •6.1 Сложность мультиплексора порядка .
- •1) Мультиплексор порядка
- •6.2 Сложность дешифратора порядка n.
- •2) Дешифратор порядка .
- •6.3 Сложность универсального многополюсника.
- •3) Универсальный многополюсник.
- •6.4 Оценка сложности функций n переменных .
- •7. Элементы теории конечных автоматов.
- •7.1 Ограниченно- детерминированные функции и автоматные языки. Эквивалентность.
- •8. Элементы теории кодирования.
- •Теория кодирования.
- •8.1 Критерий однозначности кодирования.
- •8.2 Критерий префиксного кодирования Мак-Миллана.
- •1. Можно ли выразить конъюнкцию через дизъюнкцию и отрицание.
8. Элементы теории кодирования.
Будем называть исходным алфавитом, а кодовым алфавитом (выходным).
Определение. Кодирование будем называть функцию , отображение алфавита в множество слов , причем различным буквам в алфавите должны соответствовать различные слова из множества слов в алфавите .
Определение. Пусть некоторое исходное слово в алфавите . Тогда кодирующим словом, согласно кодированию , называют слово , полученное соединением соответствующих кодовых слов (побуквенное кодирование исходного слова):
Пример. Исходный алфавит , выходной алфавит . Функция . Т.к. образы различны, то имеем по определению кодирование. Слова и , соответствующие отдельным буквам, будем называть кодовыми. Ну и для примера, закодируем слово: .
Определение. Кодирование называют корректным (правильным), если различным исходным словам будут соответствовать различные кодирующие слова, согласно кодированию .
Приведенный пример является корректным кодированием, т.к. кодовые слова имеют одну и ту же длину. Действительно, по образу в данной кодировке можно определить исходное слово, считывая образ слева направо и сворачивая кодовые слова в исходные буквы: Пример. Исходный алфавит , кодовый алфавит . Функция . Данное кодирование будет некорректно, т.к. слово 01001 можно раскодировать по-разному:
Определение. Суффиксным кодированием называют кодирование, при котором никакое кодовое слово не начинается ни на какое другое кодовое слово.
Утверждение. Каждое суффиксное кодирование является корректным.
Исходное слово можно восстановить по закодированному слову однозначным образом, читая слово слева направо и сворачивая кодовые слова в исходные буквы. Т.к. ни одно кодовое не является началом другого кодового слова, то такое декодирование корректно.
Аналогично можно ввести понятие постфиксного кодирования.
Определение. Постфиксным кодированием называют кодирование, при котором ни одно из кодовых слов не является концом никакого другого кодового слова.
Утверждение. Постфиксное кодирование корректно.
Доказательство аналогично предыдущему утверждению.
Теория кодирования.
– исходный алфавит из букв, – кодовый алфавит из букв, – функция кодирования, .
Различным буквам сопоставляются различные слова. Применим следующие обозначения: – длины кодовых слов, равные соответственно. – общая длина кодовых слов. – максимальное число кодовых слов, которые размещаются в некотором другом кодовом слове.
8.1 Критерий однозначности кодирования.
Если кодирование некорректное, то обязательно найдется пара различных слов в исходном алфавите , длина которых не превосходит и которые отображаются в одно и то же кодирующее слово. Таким образом, для проверки корректности кодирования достаточно перебрать лишь только исходные слова, длина которых не превосходити посмотреть на кодирующие слова. Если среди кодирующих слов найдутся одинаковые, то кодирование некорректное. А если среди кодирующих все слова различны, то кодирование корректно.
Доказательство (принадлежит Маркову).
Рассмотрим кодирование слова минимальной длины, которое допускает, по крайней мере, две различных расшифровки, т.е. для которого найдется, по крайней мере, два различных исходных слова, кодирующим для которых является данное слово. Рассмотрим две различных его расшифровки. Кодовые слова первой расшифровки обведены сверху, а кодовые слова второй расшифровки – снизу. Разрежем кодирующее слово по границам кодовых слов. В результате получим слова-отрезки. Эти слова разобьем на две группы: 1-ая – слова, которые являются кодовыми; 2-ая – слова, которые не являются кодовыми, т.е. все остальные.
Слова 2-ой группы являются либо началом кодовых слов второй расшифровки и концом кодовых слов первой расшифровки, либо началом кодовых слов первой расшифровки и концом кодовых слов второй расшифровки.
Слова 2-ой группы попарно различны. Если бы это было не так, т.е. существовали два одинаковых слова 2-ой группы, то вырежем участок между двумя одинаковыми словами 2-ой группы вместе с одним из этих слов и соединим полученные два слова. Тогда не трудно видеть, что полученное слово также допускает две дешифровки, что противоречит минимальности некорректного данного слова.
Посчитаем, какое максимальное число слов во 2-ой группе может быть. Во 2-ой группе есть непустые начала кодовых слов, которые отличны от самих кодовых слов. Первое слово имеет длину и поэтому число рассмотренных начал для него есть , для второго кодового слова число начал равно , и так для каждого, а для последнего – . Суммируя данные величины, получаем, что число слов во 2-ой группе не более чем .
Слова второй группы разбивают исходное слово на не более чем кусков.
Теперь разобьем слова 2-ой группы на пары соседних и рассмотрим последовательность слова . Таких пар слов не больше, чем (в случае нечетного числа слов, последнее непарное слово – дополнительное). Число кодовых слов в каждом из полученныхне болеепо обеим кодировкам. Согласно одному разбиению в одной половине уложатся не более одного кодового слова, а в другой – не более(согласно второму разбиению ситуация симметрична).
Поэтому общее число кодовых слов, которое содержится в начальном слове не более чем . Что и требовалось показать.