43. Типы конечных автоматов, автоматы Мили и Мура, автоматы-генераторы.
Определение.Конечным автоматом(или автоматом Мили)называется система из пяти компонент (А, В,V,f,g), где А и В – это входной и выходной алфавиты автомата,V– множество его состояний,f– функция выходов, аg– функция переходов автомата, причем все множества А, В иVконечны.
Определение.Любую конечную последовательность символов из входного или выходного алфавитов называются соответственно входным и выходным словом. Множество всех входных слов обозначим через А*.
Определение.Любое подмножество множества А*называется языком.
Автоматы-распознаватели, автоматы-преобразователи и автоматы-генераторы – конечные детерминированные автоматы.
Автоматы-распознаватели. Основной особенностью этих автоматов является то, что множество их состоянийVвсегда разбивается на два непересекающихся класса:FиV\F. Все состояния из классаFсчитаются особыми и называются заключительными состояниями. Если на вход такому автомату подать словоw, составленное из символов алфавита А, то может оказаться, что автомат завершит работу в одном из заключительных состояний. В этом случае будем говорить, что автомат распознает данное словоw. Все слова, которые распознает автомат, образуют подмножество множества А*, т.е. составляют некоторый языкL. Тогда про языкLговорят, что он распознается этим автоматом, или что данный автомат распознает языкL. Поскольку считается, что такой автомат распознает словоwтолько тогда, когда он завершает работу над этим словом в одном из заключительных состояний, то о результате работы автомата мы судим лишь по его состоянию в момент завершения работы. При этом выходные символы, возникающие в процессе функционирования таких автоматов, особого значения не играют. Следовательно, можно игнорировать выходные сигналы или вообще убрать выходной канал. Поэтому автоматы-распознаватели иногда ещё называют автоматами без выходов. Их функционирование можно описать только одной функцией – функцией переходов. Из этого следует, что автомат-распознаватель – это система из четырех компонент : (А,V,F,g), где А – входной алфавит,V– множество всех состояний,F– множество заключительных состояний, аg– функция переходов. В диаграмме Мура такого автомата уже не нужно указывать выходные сигналы, а его таблица выходов и переходов преобразуется в более простую таблицу переходов.
Автоматы-преобразователи.В отличие от автоматов-распознавателей у них всегда задана функция выходовf. Автоматы-преобразователи посимвольно прочитывают входную последовательность и перерабатывают её в выходную последовательность такой же длины. Например, с их помощью можно моделировать процессы алфавитного кодирования информации. Любой автомат-распознаватель нетрудно превратить в автомат-преобразователь. Для этого достаточно считать, что выходной сигнал в конце каждого такта совпадает с входным сигналом в начале этого же такта, т.е.y(t) = x(t). Полученный таким образом автомат-преобразователь можно использовать для генерации слов, принадлежащих тому языку, который распознавался исходным автоматом-распознавателем. Когда мы рассматриваем какой-либо конкретный автомат-преобразователь, нам в первую очередь важно знать, какая последовательность получается на выходе этого автомата при заданной входной последовательности. Когда же мы исследуем автомат-распознаватель, нам важно знать лишь состояние, в котором этот автомат закончил работу над заданным словом. Таким образом, автоматы-преобразователи лучше подходят для описания вычислительных устройств, а автоматы-распознаватели – для описания устройств управления.
Среди автоматов-преобразователей особо выделяют автоматы Мура. Это автоматы, у которых функция выходовfне зависит от входного сигнала, т.е.f(ai,vj) = f(ak,vj) = bjВ для всехai,akА иvjV. У автомата Мура для каждогоtвыходy(t) может зависеть от состояния автомата в начале этогоt–го такта, т.е. отq(t– 1), но не должен зависеть от входного сигналаx(t). Образно говоря, выходные сигналы автомата Мура зависят от входных сигналов лишь с «запаздыванием».
В отличие от автомата Мили, в диаграмме автомата Мура метка на дуге – это не пара символов aiиf(ai,vj), а только один входной символai. При этом символомf(ai,vj) помечается сама вершинаvj. Это объясняется тем, что, согласно определению автомата Мура, выходной символf(ai,vj) совпадает у всех дуг, выходящих из одной и той же вершиныvj. В следующем примере рассматривается простейший автомат Мура, который часто используется в качестве строительного блока для более сложных автоматов.
Автоматы-генераторы.Автономный автомат (автомат-генератор) – это автомат без входа. Он полностью определяется системой из пяти компонент (В,V,F,f,g), где В – выходной алфавит,V– множество всех состояний,F– множество заключительных состояний, аfиg– функции выходов и переходов, причемfиgявляются функциями только одного аргумента – состояния автомата. Генераторы используются, например, для порождения символьных строк в алфавите В. Слово, порожденное автономным автоматом, – это последовательность выходных сигналов, которая образуется при завершении работы автомата в любом из заключительных состояний. Далее мы увидим, что при фиксированном начальном состоянии выходное слово, порожденное генератором, зависит лишь от продолжительности его работы. Меняя начальное состояние и (или) число рабочих тактов, можно породить некоторый язык из В*, т.е. набор слов в алфавите В.
Логические автоматы.Автоматы, у которых входной и выходной алфавиты и множество состояний образованы наборами из нулей и единиц фиксированной длины. Благодаря этому функции переходов и выходов автоматаfиgможно считать логическими (булевыми) функциями. Схема из функциональных элементов – дизъюнкторов, конъюнкторов и инверторов – это логический автомат без памяти и, следовательно, с одним состоянием. Функциональный блок любого логического автомата можно «синтезировать» из функциональных элементов, а его память – из рассмотренных выше единичных задержек.
- 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. Задача синтеза автоматов-распознавателей.
- 48. Эквивалентные состояния автомата-распознавателя, эквивалентные автоматы-распознаватели, минимизация автоматов-распознавателей, алгоритм Мили.
- 49. Эквивалентные состояния автомата-преобразователя, эквивалентные автоматы- преобразователи, минимизация автоматов- преобразователей, алгоритм Мили.
- 50. Детерминированные и недетерминированные функции, примеры, способы задания.
- 51. Ограниченно-детерминированные (автоматные) функции, способы их задания.
- 52. Логические автоматы, способы их задания, синтез двоичного сумматора.
- 53. Операции над логическими автоматами: суперпозиция и введение обратной связи.