42. Определение, схема и функционирование абстрактного автомата, способы задания автоматов.
Устройство, обрабатывающее информацию, обменивается ею с внешней средой через входной и выходной каналы, по которым поступает информация – входные сигналы – и выдается результат обработки этой информации – выходные сигналы. Кроме этого, устройство, как правило, имеет память, содержимое которой во время работы устройства может меняться. Эти изменения зависят, с одной стороны, от содержимого памяти в данный момент времени, а с другой стороны, от входного сигнала, поступившего в этот момент по входному каналу. Содержимое памяти реального устройства - состояние автомата. Выходной сигнал в каждый момент времени также зависит от входного сигнала и от состояния автомата в настоящий момент.
Определение. Поступление входного сигнала, переход автомата из одного состояния в другое и выдача выходного сигнала происходят дискретно и мгновенно в определенные моменты времени, эти моменты времени следуют один за другим через фиксированный промежуток времени – такт.
Определение. Входной алфавит A – это конечное множество А = {а1, а2, …, аs}, элементы которого называются входными сигналами (символами).
Определение. Выходной алфавит В = {b1, b2, …, bk} – это множество выходных сигналов (символов).
В каждый момент времени t = 1, 2, 3, … на вход автомату подается некоторый сигнал из множества А, а на выходе появляется соответствующий сигнал из множества В. Тогда, учитывая описанный выше потактовый принцип работы абстрактного автомата, входной сигнал в момент времени t будем обозначать через x(t), а в следующий момент – через x(t + 1). Соответствующие выходные сигналы обозначим через у(t) и у(t + 1).
Множество состояний – это конечное множество V = {v1, v2, …, vr}. Состояние автомата в момент времени t будем обозначать через q(t). Напомним, что состояние автомата – это состояние (содержимое) его памяти. Таким образом, существенными составляющими любого автомата являются входной и выходной алфавиты А и В, а также множество состояний V.
Схема и функционирование абстрактного автомата. На рисунке структура абстрактного автомата. За один такт его работы происходят следующие события. В момент времени t (начало t-го такта) в функциональный блок синхронно поступают два сигнала: x(t) – по входному каналу и q(t – 1) – из памяти автомата. В функциональном блоке эти сигналы мгновенно перерабатываются в два новых сигнала у(t) и q(t). Сигнал у(t) направляется в выходной канал, а сигнал q(t) – в память автомата. После этого наступает момент времени t + 1, который служит одновременно окончанием t-го такта и началом следующего (t + 1)-го такта. Поскольку первый такт начинается в момент времени t = 1, то сигнал q(0), поступающий в этот момент из памяти автомата в функциональный блок, характеризует начальное состояние автомата, которое обычно считается известным заранее (например, можно считать, что автомат стартует с «чистой» памятью). Пару сигналов (x(t), q(t – 1)) можно сравнить со «стимулом» в момент времени t, а пару (у(t), q(t)) – с мгновенной «реакцией» автомата на этот «стимул».
Определение. Автомат называется детерминированным, если для любых t и t´ из равенств x(t) = x(t´) и q(t – 1) = q(t´– 1) следуют равенства y(t) = y(t´), q(t) = q(t´). Свойство детерминированности автомата означает, что принципы его функционирования с течением времени не меняются.
Определение. Функцией выходов автомата называется функция f, которая каждой паре (ai, vj), где aiА, vjV, ставит в соответствие выходной сигнал f(ai, vj)В. Функция выходов указывает, какой сигнал будет направлен на выход автомата, если он находился в состоянии vj, и на вход ему поступил сигнал ai.
Определение. Функцией переходов автомата называется функция g, которая каждой паре (ai, vj), где aiА, vjV, ставит в соответствие состояние g(ai, vj)V.Функция переходов указывает, в каком состоянии окажется автомат, если он находился в состоянии vj, и на вход ему поступил сигнал ai.
С помощью набора правил функционирования.
(а1, v1) → (b1, v1), | (а1, v2) → (b1, v2), |
(а2, v1) → (b2, v1), | (а2, v2) → (b1, v1), |
(а3, v1) → (b3, v2), | (а3, v2) → (b3, v2). |
| v1 | … | vr | ||
a1 | f(a1,v1), g(a1,v1) | … | f(a1,vr), g(a1,vr) | ||
… |
| … |
| ||
as | f(as,v1), g(as,v1) | … | f(as,vr), g(as,vr) |
С помощью диаграммы Мура. При таком способе автомат изображается в виде ориентированного графа, в котором допускаются кратные дуги и петли. Число вершин равно r − числу состояний автомата. Каждая вершина помечена символом из множества состояний V = {v1, v2, …, vr}. Дуга выходит из вершины vk в вершину vn тогда и только тогда, когда в данном автомате возможен переход из состояния vk в состояние vn по некоторому входному сигналу. Все дуги, выходящие из вершины vk, помечены парой символов вида (ai, bj), где aiА, bj = f(ai, vk). Иными словами, начало дуги определяет состояние автомата в предшествующий, а её конец – в последующий моменты времени. При этом на самой дуге указывается входной и соответствующий ему выходной сигналы. Граф диаграммы Мура должен удовлетворять условию детерминированности. Оно заключается в том, что для любого входного символа ai из каждой вершины должна выходить только одна дуга, помеченная этим символом. Поэтому в диаграмме Мура из каждой вершины выходит ровно s дуг, где s – это мощность алфавита А.
- 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. Операции над логическими автоматами: суперпозиция и введение обратной связи.