
- •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. Операции над логическими автоматами: суперпозиция и введение обратной связи.
49. Эквивалентные состояния автомата-преобразователя, эквивалентные автоматы- преобразователи, минимизация автоматов- преобразователей, алгоритм Мили.
Особый интерес представляет автомат с наименьшим числом состояний, т.к. он имеет самое простое описание. Задача построения такого автомата называется задачей минимизации автомата.
Определение. Состояния vk и vi автоматов Т и Т΄ соответственно называются эквивалентными, если для любого входного слова γ А* выходные слова Т(γ, vk) и Т΄(γ, vi) совпадают.
Определение. Два автомата с общими входным и выходным алфавитами называются эквивалентными, если для каждого состояния первого автомата найдется эквивалентное ему состояние второго автомата, и наоборот.
Определение. Автомат называется минимальным, если все его состояния попарно неэквивалентны.
Задача минимизации состоит в построении минимального автомата, эквивалентного заданному. Очевидно, такой минимальный автомат существует для любого детерминированного конечного автомата. Чтобы его найти, сначала используют алгоритм Мили, позволяющий разбить все состояния исходного автомата на классы эквивалентности, а затем каждый класс эквивалентности объявляют состоянием искомого минимального автомата и получают его функции выходов и переходов.
Пусть имеется автомат-распознаватель R с множеством заключительных состояний F. Через R(γ, vk) обозначим состояние, в котором окажется автомат, если он начинает работу над входным словом γ А* в состоянии vk.
Определение. Состояния vk и vi автоматов R и R΄ называются эквивалентными, если для любого входного слова γ А* либо оба состояния R(γ, vk) и R΄(γ, vi) одновременно являются заключительными, либо незаключительными.
Состояния vk и vi следует считать неэквивалентными, если найдется такое входное слово γ А*, для которого только одно из состояний R(γ, vk) и R΄(γ, vi) заключительное. Говорят, что такое входное слово позволяет различить состояния vk и vi.
Эквивалентность двух автоматов-распознавателей означает совпадение языков, которые они распознают.
Используя с небольшими изменениями алгоритм Мили, все состояния автомата-преобразователя можно разбить на классы эквивалентности. Отличие состоит в том, что на первом этапе множество состояний V разбивается всегда на два класса – множество F заключительных состояний и множество V \ F всех остальных состояний. После окончательного разбиения множества V на классы эквивалентности можно решить задачу минимизации заданного автомата.
Пример. Минимизируем автомат, заданный таблицей переходов, в предположении, что начальным состоянием является 1, а заключительным – состояние 6.
|
a |
b |
с |
1 |
3 |
4 |
1 |
2 |
4 |
5 |
6 |
3 |
2 |
6 |
5 |
4 |
2 |
6 |
4 |
5 |
2 |
6 |
3 |
6 |
1 |
3 |
2 |
В т о р о й э т а п. Класс C1 не расщепляется, поскольку содержит только одно состояние. Класс C2 расщепляется на классы C3 = {1}, C4 = {2} и C5 = {3, 4, 5}. Состояния 3, 4 и 5 попали в один класс C5, т.к. из всех этих состояний по входным символам а и с автомат переходит в состояния класса C2, а по символу b – в единственное состояние класса C1.
Состояние 2 и группа состояний 1, 3, 4 и 5 при расщеплении C2 попали в разные классы, поскольку из состояния 2 по входному символу с автомат переходит в состояние 6, принадлежащее классу C1, а из состояний 1, 3, 4 и 5 – в состояния класса C2.
Состояние 1 и группа состояний 3, 4 и 5 оказались в разных классах, поскольку из состояния 1 по входному символу b автомат переходит в состояние 4, принадлежащее классу C2, а из состояний 3, 4 и 5 – в состояние 6, принадлежащее классу C1.
Т р е т и й э т а п. Ни одно из множеств C1 = {6}, C3 = {1}, C4 = = {2} и C5 = {3, 4, 5} не расщепляется. Они являются классами эквивалентных состояний. Следовательно, эквивалентный исходному минимальный автомат имеет четыре состояния. Пусть его состояние 1 соответствует классу C3, состояние 2 – классу C4, состояние 3 – классу C5, а состояние 4 – классу C1. Тогда искомый минимальный автомат можно задать таблицей переходов.
|
a |
b |
с |
1 |
3 |
3 |
1 |
2 |
3 |
3 |
4 |
3 |
2 |
4 |
3 |
4 |
1 |
3 |
2 |
Когда требуется выяснить, эквивалентны ли два заданных автомата, достаточно их минимизировать и сравнить полученные автоматы. Если они имеют разное число состояний, то исходные автоматы не эквивалентны. Эквивалентными они будут только тогда, когда функции выходов и переходов их минимальных автоматов совпадают с точностью до переобозначения состояний.