- •Введение………………………………………………………………………………………..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. Можно ли выразить конъюнкцию через дизъюнкцию и отрицание.
4.2 Азбука теории графов. Маршрут, путь, простой путь. Цикл. Простой цикл. Связность в графе.
Определение. Маршрутом в графе называется последовательность вершин , где пара соседних вершин является ребром графа.
-1
В этом случае будем говорить, что маршрут M соединяет вершины .
Пример.
Определение. Путем, соединяющим пару вершин будем называть маршрут, соединяющий данную пару вершин и не содержащий повторяющихся ребер.
Определение. Простым путем, соединяющим пару вершин будем называть путь, соединяющий данную пару и не содержащий повторяющихся вершин.
Определение. Пару вершин в графе будем называть связной, если либо вершины совпадают, либо существует маршрут, соединяющий две эти вершины.
Пример. Любая пара вершин в следующем графе связана:
В следующем графе связанными являются не все вершины:
Вершины 1 и 2 связаны, а, например, вершины 2 и 3 не связаны.
Утверждение. Если в графе существует маршрут, соединяющий пару вершин, то существует простой путь, который соединяет данную пару вершин.
Рассмотрим маршрут, соединяющий вершины . Предположим, что вершина повторяется на маршруте. Тогда вырежем участок маршрута между повторяющимися вершинами и соединим полученные части. Данную операцию будем повторять до тех пор, пока в маршруте не будет повторяющихся вершин.
Таким образом, получен простой путь, соединяющий пару вершин . Поэтому для связности вершин достаточно наличие простого пути, который их соединяет.
Определение. Циклом называется путь, в котором начальная и конечная врешины совпадают.
Пример.
Определение. Простым циклом называется путь, в котором вершины не повторяются, за исключением первой и последней. Другими словами, простой цикл - это цикл без самопересечения.
Пример. Простой цикл:.
Связные графы
Отношение связности между вершинами в графе обладает тремя свойствами:
1. Рефлексивность (отражение).
Любая вершина связана сама с собой.
2. Симметричность.
Если вершина связана с вершиной , то верно и обратное: вершина связана с вершиной .
3. Транзитивность.
Если вершина связана с вершиной , а вершина связана с вершиной , то вершина связана с вершиной .
Путь, который связывает и , можно получить соединением путей и .
Отношение связности разбивает все вершины графа на компоненты связанности:
Любая пара вершин, входящая в одну компоненту связности связана. Любые вершины из разных компонент связности между собой не связаны.
Пример. Представленный граф состоит из двух компонент связности. В первой компоненте находятся вершины и , а вторая компонента включает в себя вершину .
4.3 Методы анализа графа. Поиск в ширину. Нахождение кратчайших путей в графе.
Вход алгоритма: граф и фиксированная вершина .
Выход алгоритма: компонента связности графа, в которую входит вершина .
Описание алгоритма: на этапах алгоритма строится последовательность расширяющихся множеств вершин
по следующему рекуррентному принципу: – исходная фиксированная вершина . Пусть построены множества . Тогда множество включает вершины множества , а также вершины, которые смежны с вершинами :
Таким образом, – сама вершина . – те вершины, которые достижимы из начальной вершины не более чем за один шаг. – те вершины, которые достижимы из начальной вершины не более чем за два шага…Место для формулы.
Как только два соседних множества совпадут, алгоритм завершает свою работу.
Пример.
Пусть начальная вершина – . Тогда:
Поиск в ширину позволяет находить длины кратчайших путей и сами пути. Из фиксированной вершины во все вершины графа (для простоты считаем, что граф связан).
Определение. Кратчайший путь между вершиной и – это путь, соединяющий данные вершины и содержащий наименьшее число ребер.
Утверждение. Вершины, впервые помеченные на k-ом этапе алгоритма поиска в ширину есть те вершины графа, кратчайший путь от которых до начальной вершины равен .
Доказательство:
Проведем доказательство методом индукции по номеру этапа алгоритма.
Для начального нулевого этапа утверждение очевидно. Начальная вершина множества и кратчайший путь от вершины до нее равен .
Пусть утверждение справедливо для k-ого этапа алгоритма. Докажем справедливость утверждения для -ого этапа. Так как по построению алгоритма на этапе вновь помеченные вершины есть вершины, которые смежны с вершинами, помеченными на предыдущем k-ом этапе, то из данных вершин обязательно найдется путь в вершину , содержащий не более чем ребро.
Более короткого пути, чем из k+1-ого ребра в вновь помеченные вершины на k+1 этапе бытьть не может. В последнем случае эти вершины были бы отмечены на более раннем этапе (по предположению индукции).
Утверждение доказано.
Рассмотрим более общую задачу поиска кратчайшего пути в графе, в котором каждому ребру предписано положительное число – его длина (расстояние между соответствующей парой вершин). Считаем, что это число положительное целое.
Таким образом, на вход алгоритма подается сеть и начальная вершина , где – неориентированный связный граф, а – положительная целочисленная (стоимостная) функция длины, заданная на ребрах графа.
На выходе алгоритма должны быть получены значения кратчайших путей из вершины в любую другую вершину графа . Если вершина не связана с вершиной , считаем, что расстояние равно .
Сведем рассматриваемую задачу к предыдущей задаче поиска кратчайших путей для графа, в котором функция длины единичная. Для этого совершим следующее преобразование:
Рассмотрим произвольное ребро в заданном графе. Длина данного ребра равна .
В данное ребро добавим вершину, а длину каждого полученного ребра будем считать равной .
Данное преобразование применим к каждому ребру графа. При этом длины кратчайших путей между вершинами исходного графа не изменятся, а функция длины в полученном графе единичная. Исходя из этого, можно применить алгоритм поиска в ширину для полученного графа.
Примечание. Данный алгоритм будет неэффективным в силу того, что числа в компонентах связности хранятся в двоичной системе исчисления, поэтому целое число длины будет требовать лишь битов памяти. Преобразованный граф будет требовать экспоненциальную память, по сравнению с памятью первоначального графа, т.к. ребро длины преобразуется в ребер. Если в первоначальной задаче для записи числа требуется бит, то в полученной задаче будет необходимо бит для хранения новых вершин в графе.