
- •1. Основные понятия теории графов, удаленность вершины, центр, радиус и диаметр графа.
- •2. Способы задания графов, свойства матриц смежности и инциденций, теорема о рукопожатиях.
- •3. Основные операции над графами, неравенства для числа вершин, ребер и компонент связности графа.
- •4. Типы графов, дополнительные графы, двудольные графы, критерий двудольности.
- •5. Обходы графов: эйлеровы цепи и циклы, необходимые и достаточные условия их существования, алгоритм Флери.
- •6. Обходы графов: гамильтоновы цепи и циклы, достаточные условия их существования.
- •7. Деревья, их свойства, кодирование деревьев, остовные деревья.
- •8. Экстремальные задачи теории графов: минимальное остовное дерево, алгоритмы Прима и Краскала.
- •9. Экстремальные задачи теории графов: задача коммивояжера, «жадный» алгоритм
- •10. Экстремальные задачи теории графов: задача о кратчайшем пути, алгоритм Дейкстры.
- •11. Изоморфизм и гомеоморфизм графов, методы доказательства изоморфности и неизоморфности графов.
- •12. Плоские укладки графов, планарные графы, критерий Понтрягина-Куратовского.
- •13. Необходимые условия планарности, формула Эйлера для планарных графов.
- •14. Правильные вершинные раскраски графов, хроматическое число, неравенства для хроматического числа.
- •15. Теорема о пяти красках, гипотеза четырех красок, «жадный» алгоритм.
- •16. Хроматический многочлен, его нахождение и свойства.
- •17. Задача о поиске выхода из лабиринта, реберная раскраска графа.
- •18. Ориентированные графы, источники и стоки, топологическая сортировка, алгоритм Демукрона.
- •19. Составление расписания выполнения комплекса работ в кратчайшие сроки методами теории графов.
- •20. Элементарные булевы функции и способы их задания (табличный, векторный, формульный, графический, карта Карно).
- •21. Существенные и фиктивные переменные булевых функций, основные тождества, эквивалентные преобразования формул.
- •22. Линейные и нелинейные полиномы Жегалкина, разложение булевых функций в полином Жегалкина методом неопределенных коэффициентов.
- •23. Линейные и нелинейные полиномы Жегалкина, разложение булевых функций в полином Жегалкина методом эквивалентных преобразований.
- •24. Разложение булевых функций в сднф и скнф.
- •25. Минимизация днф и кнф методом эквивалентных преобразований.
- •26. Минимизация днф и кнф с помощью карт Карно.
- •27. Замкнутые классы булевых функций т0, т1, l, лемма о нелинейной функции.
- •28. Замкнутые классы булевых функций s и м, леммы о несамодвойственной и немонотонной функции.
- •29. Полная система функций, теорема о двух системах булевых функций.
- •30. Теорема Поста о полноте системы булевых функций, алгоритм проверки системы на полноту, базис.
- •31. Схемы из функциональных элементов, правила построения и функционирования, метод синтеза сфэ, основанный на сднф и скнф.
- •32. Метод синтеза сфэ, основанный на компактной реализации всех конъюнкций с помощью универсального многополюсника, сложность получаемых схем.
- •33. Основные комбинаторные операции, сочетания и размещения (с возвращением и без возвращения элементов).
- •34. Комбинаторные принципы сложения, умножения, дополнения, включения-исключения.
- •35. Биномиальные коэффициенты, их свойства, бином Ньютона.
- •36. Треугольник Паскаля, полиномиальная формула.
- •37. Алфавитное кодирование: необходимое и достаточные условия однозначности декодирования.
- •38. Алфавитное кодирование: теорема Маркова, алгоритм Маркова.
- •39. Коды с минимальной избыточностью (коды Хаффмана), метод построения.
- •40. Линейные коды, порождающая матрица, двойственный код.
- •41. Самокорректирующиеся коды (коды Хэмминга), метод построения.
- •42. Определение, схема и функционирование абстрактного автомата, способы задания автоматов.
- •43. Типы конечных автоматов, автоматы Мили и Мура, автоматы-генераторы.
- •44. Слова и языки, операции над ними, их свойства.
- •45. Регулярные выражения и регулярные языки, теорема Клини.
- •46. Задача анализа автоматов-распознавателей.
- •47. Задача синтеза автоматов-распознавателей.
- •49. Эквивалентные состояния автомата-преобразователя, эквивалентные автоматы- преобразователи, минимизация автоматов- преобразователей, алгоритм Мили.
- •50. Детерминированные и недетерминированные функции, примеры, способы задания.
- •51. Ограниченно-детерминированные (автоматные) функции, способы их задания.
- •52. Логические автоматы, способы их задания, синтез двоичного сумматора.
- •53. Операции над логическими автоматами: суперпозиция и введение обратной связи.
50. Детерминированные и недетерминированные функции, примеры, способы задания.
Определение.
Функция f
Fk
называется детерминированной, если для
любого натурального t и
любых двух последовательностей
таких, что
,
у соответствующих последовательностей
и
первые t элементов тоже
совпадают, т.е.
.
Если функция является детерминированной, то для каждого t значение элемента у(t) однозначно определяется «прошлыми» входными значениями х(1), х(2),…, х(t – 1) и «настоящим» значением х(t), но не должно зависеть от «будущих» значений х(t + 1), х(t + 2), … .
Пример. Пусть требуется задать с помощью дерева детерминированную функцию f F3, выходная последовательность которой задана равенством у(t) = х(t) + 1 (mod 3), а элементы входной последовательности х(t) {0, 1, 2}.
Рассмотрим ориентированное от корня дерево, «растущее» бесконечно вверх. Корнем дерева является вершина v0. Из каждой вершины выходит по три дуги.
Дуги,
имеющие общее начало, пронумерованы
слева направо числами 0, 1, 2, означающими
одно из трех возможных значений элемента
х(t) входной последовательности.
Каждая входная последовательность
порождает в дереве бесконечную
ориентированную цепь, выходящую из
вершины v0. Кроме
номера каждая дуга имеет вторую метку,
которая показывает соответствующее
значение элемента у(t)
выходной последовательности при условии,
что элемент х(t) равен
номеру дуги. Таким образом, пара чисел
на дуге дерева, задающего детерминированную
функцию, напоминает пару меток на дуге
диаграммы Мура для конечного
детерминированного автомата. Однако
более удобным является представление
функции в виде конечного дерева, которое
можно получить из бесконечного, удаляя
повторяющиеся фрагменты: в дереве,
представленном на рисунке, каждую из
вершин v1, v2
и v3 можно рассматривать
как корень бесконечного дерева,
«растущего» вверх из этой вершины и
являющегося поддеревом исходного
дерева. Нетрудно видеть, что все эти три
поддерева эквивалентны исходному
дереву, т.е. при совмещении всех четырех
поддеревьев метки на их дугах полностью
совпадают. Поэтому из исходного дерева
можно удалить поддеревья, растущие из
вершин v1, v2
и v3, сохранив сами
эти вершины. В результате получим
конечное дерево, изображенное на рисунке.
По нему можно восстановить исходное
бесконечное дерево. Поэтому конечное
дерево однозначно задает ту же
детерминированную функцию.
Далее вершины исходного бесконечного дерева будем называть эквивалентными, если эквивалентны растущие из них бесконечные поддеревья. В дереве детерминированной функции все вершины можно разбить на классы эквивалентности. В рассмотренном примере все вершины попали в один класс эквивалентности, потому что все они эквивалентны между собой. Однако в дереве большинства детерминированных функций можно выделить несколько классов эквивалентности вершин.
Определение. Количество классов эквивалентности вершин в бесконечном дереве детерминированной функции называется весом этой функции.
51. Ограниченно-детерминированные (автоматные) функции, способы их задания.
Определение. Количество классов эквивалентности вершин в бесконечном дереве детерминированной функции называется весом этой функции.
Определение. Детерминированная функция из класса Fk называется автоматной (или ограниченно-детерминированной) функцией, если она имеет конечный вес.
Автоматную функцию можно задать диаграммой Мура. Число вершин в ней равно весу автоматной функции, а сама диаграмма получается из конечного дерева с помощью отождествления в нем эквивалентных вершин.
Пример.
Пусть требуется найти вес и построить
диаграмму Мура автоматной функции f
F2,
выходная последовательность которой
задана равенством у(t) =
Заметим, что в данном случае х(t), у(t) {0, 1}.
На рисунке изображены четыре нижних яруса вершин бесконечного дерева, задающего функцию f.
Все
дуги помечены парой чисел x(t),
у(t). Кроме того, каждая
вершина имеет числовую метку 0 или 1.
Вершины с одинаковой меткой принадлежат
одному классу эквивалентности, причем
нулем помечен корень исходного дерева
и все эквивалентные ему вершины. Таким
образом, заданная функция имеет вес,
равный двум. Следовательно, она является
автоматной функцией и может быть задана
конечным деревом. В нем должно быть
ровно по одной внутренней вершине из
каждого класса эквивалентности. Все
остальные его вершины должны быть
концевыми. Такое конечное дерево всегда
позволит восстановить исходное
бесконечное дерево. Конечное дерево,
задающее автоматную функцию из примера
2, представлено на рисунке.
Теперь,
чтобы получить диаграмму Мура для
заданной автоматной функции, нужно в
конечном дереве отождествить вершины
с одинаковыми метками. В данном случае
диаграмма Мура будет иметь две вершины
и четыре дуги . Следовательно, существует
конечный детерминированный автомат,
способный вычислять заданную автоматную
функцию. Начальным состоянием является
0.
Всякую
автоматную функцию можно задать
канонической системой уравнений вида
где
функция Y
– это функция
выходов,
Q
– функция
переходов,
q(0)
– начальное состояние автомата,
вычисляющего данную автоматную функцию,
а q(t – 1)
и q(t)
– состояния, в которых оказывается этот
автомат соответственно в начале и в
конце t-го
такта. При этом предполагается, что
множество состояний автомата
V = {0, 1, 2, …, r – 1}.
Функцию, рассмотренную в примере, можно
задать канонической системой
где
х(t), у(t), q(t)
{0, 1}.