
- •1.Эффективность вычислений. Основные понятия и определения.
- •2. Алгоритм. Основные понятия и определения.
- •3. Семантическая теория программ.
- •4. Схемы программ.
- •5. Способы задания алгоритмов.
- •6. Универсальные модели алгоритмов.
- •7. Понятийные средства спецификации программ.
- •8. Основные требования к спецификации программ.
- •9. Спецификации в жизненном цикле программ.
- •10. Методы спецификации программ.
- •1. Табличные средства.
- •2. Равенства и подстановки.
- •3. Логические средства и аксиоматические описания.
- •4. Графовые средства: графы, сети, диаграммы.
- •5. Конечно-автоматные диаграммы.
- •6 Синтаксические диаграммы.
- •7. Сети Петри.
- •11. Графические методы спецификации.
- •12.Автоматное преобразование информации
- •13. Основные понятия и определения теории конечных автоматов
- •14.Способы задания конечных автоматов.
- •15. Конечный автомат как модель «реагирующей системы».
- •16. Конечный автомат как модель протокола передачи сообщений в сетях.
- •17. Конечный автомат как модель взаимодействия процессов.
- •18. Автоматы Мура и Милли.
- •19. Примеры конечных автоматов.
- •20. Программная и аппаратная реализация конечных автоматов.
- •21. Сети Петри: принципы построения.
- •22. Теория комплектов.
- •Структура сети Петри.
- •24. Графы сети Петри.
- •25.Аналитическое и графическое представление сети Петри.
- •26. Маркировка сети Петри.
- •27.Выполнение сети Петри.
- •28. Пространство состояний сети Петри.
- •31. Сети Петри как аппарат для моделирования систем
- •32. Одновременность и конфликт сети Петри.
- •33. Моделирование аппаратного обеспечения сетями Петри
- •34.Моделирование программного обеспечения сетями Петри
- •35.Параллелизм в сетях Петри.
- •36,48 Моделирование дискретных процессов сетями Петри.
- •37. Безопасность сетей Петри
- •38.Ограниченность сети Петри
- •39.Тупики в сетях Петри.
- •40. Достижимость в сети Петри. См. Билет 29
- •41. Дерево достижимости в сетях
- •42. Анализ сетей Петри
- •47. Матричное представление сетей Петри.
- •50. Недостатки классических сетей Петри.
- •1.Эффективность вычислений. Основные понятия и определения. 1
13. Основные понятия и определения теории конечных автоматов
Основы теории конечных автоматов.
Алгоритм является фундаментальной контрацепцией информатики, и вопрос построения автоматических устройств, реализующих за данное алгоритмы, являются одним из сосновых вопросов проектирования микропроцессорных устройств отработки информации. Все существующие устройства обработки информации делятся на 2 большушие класса:
Функциональные преобразователи
Эти устройства не учитывают входные сигналы, поступившие на вход в более ранние моменты времени, а реагируют только на входящие логические сигналы, эти устройства называются автоматами без памяти.
Автоматы, в которых результат преобразования информации, поступающей на вход, зависит не только от того, какая информация появилась на входе, но и от того, какая информация поступала на эти автоматы раньше. Такие устройства называются конечными автоматами или автоматами с памятью (примерами таких устройств являются биологические системы). На один и тот же входной сигнал конечный автомат (КА) может реагировать по-разному, в зависимости от того, в каком состоянии он находится в данный момент.
При получении входного сигнала конечный автомат не только выдает информацию на выход, как функцию этого состояния, но и меняет свое состояние, поскольку входной сигнал меняет его предысторию.
Число входных историй любого конечного автомата бесконечно, но счетно. Если автомат будет вести себя по-разному для каждой возможной предыстории, то он должен иметь бесконечный ресурс (память), чтобы все эти предыстории как-то фиксировать. Если ввести на множестве предысторий ---- то две предыстории можно считать эквивалентными, если они одинаковым образом влияют на дальнейшее поведение автомата. Очевидно, что для своего функционирования автоматам достаточно запоминать класс эквивалентности, к которому принадлежит предыстория. В случае, когда таких классов эквивалентности конечное число, является простейшим, но именно такая математическая модель представляет большую практическую ценность и получила широкое распространение. Соответствующая формальная модель и называется конечными автоматами.
Математической модели конечного автомата внутреннее состояние автомата представляет собой класс эквивалентности предысторий. Упрощенно можно считать, что внутреннее состояние автомата это именно та его характеристика, которая однозначно определяет все последующие реакции автомата на внешнее событие.
Конечный автомат – это устройство, работающее в дискретные моменты времени (так называемые такты). В каждом таком такте на вход автомата подаются входные сигналы и на выходе появляется выходной сигнал и происходит изменение внутреннего состояния. Моменты срабатывания (такты) определяются либо специальными тактирующими сигналами, либо наступлением внешнего события, которое заключается в том, что на вход автомата приходит новый входной сигнал. В этом случае считается, что автомат управляется событиями и такты работы автомата имеют различную длительность в зависимости от прихода внешних сигналов.
Основные понятия и определения конечных автоматов
Конечным автоматом (автоматом Милли) называется математическая модель, состоящая из 5 элементов: (S,X,Y, δ, λ), где:
S - конечное множество состояний {sl,s2,...Sk};
X - конечный входной алфавит;
Y - конечный выходной алфавит;
δ: S x X -> S - функция следующего состояния, отображающая текущее состояние и текущий вход в следующее состояние;
λ: S х X -> Y - функция выхода, отображающая текущее состояние и текущий вход в выходной символ.
Если в конечном автомате выделено специальное начальное состояние S0, то этот автомат называется инициальным.
Два конечных автомата А1 и А2 эквивалентны, если реализуемые ими отображения вход-выход – эквивалентны. Две логические функции f1 и f2 эквивалентны, если на всех наборах аргументов они имеют одинаковые значения, т.к. число аргументов логической функции конечно, то достаточно сравнить значение этих функций на всех наборах аргументов. Конечный автомат реализует бесконечное множество входных последовательностей сигналов в конечное множество выходных сигналов, поэтому автоматные отображения вход->выход, нельзя определить простым перечислением их отображений и сравнить их значения на всех бесконечных множествах. Для того, чтобы определить эквивалентность автоматов необходимо расширить функции так, чтобы функции переходов и выходов были определены на множествах последовательностей сигналов входного алфавита (последовательных цепочках) элементов х.
Определение 2.3 Пусть A=<S, X, Y, S0 , , > - конечный автомат. Расширенными функциями перехода и выхода автомата А называются функции
*: S x X* S и * : S x X* Y*, определенные так :
*(S , ) = S; *(Si ,aj)=(*(Si ,),aj)); (2-1)
*(S , )= ; *(Si ,aj)= *(*(Si ,),aj); (2-2)
( - пустая цепочка, альфа – сама цепочка
Т.о. расширенные функции переходов и выходов определены на множестве входных последовательностей (входных цепочках) в отличие от обычных функций переходов и выходов, которые определены на множестве входных сигналов.
Другими словами, для данного автомата А и его функций А и А могут быть определены не только на множестве X всех его входных букв, но и на множестве X* всех входных слов. Для любого входного слова
=aj1aj2...ajk *(Si , aj1aj2...ajk) = ((...(Si,aj1),aj2),...ajk-1)ajk
Это традиционное определение с многоточиями, намного точнее и лучше читается, чем индуктивное определение.
Функция переходов задается:
а) (Si ,aj) задается автоматной таблицей;
б) для любого слова X* и любой буквы aj
*(Si , aj) = ( *(Si ,), aj) (2-3)
С помощью расширенной
функции δ
определяется
(также индуктивно) расширенная функция
λ
:
λ
(
S
,
αa
)=
λ( δ*(
S
,
α)a
)
(2-4)
Зафиксируем в
автомате А начальное состояние S
и каждому слову α=aj
aj
...a
поставим
в соответствие слово ω выходном алфавите
У:
ω=λ(S ,aj )λ(S ,aj ,aj )…λ(S1,aj ,aj ,...a ) , (2-5)
где - операция конкатенации.
Это соответствие, отображающее входные слова в выходные слова, называется автоматным отображением, а также автоматным (или ограниченно детерминированным) оператором. Если результатом применения автоматного оператора к входному слову α является выходное слово ω, то это будем обозначать соответственно A(S ,α)=ω или A(α)=ω, причем |α|=|ω| или l(α)=l(ω), т.е. слова α и ω имеют одинаковую длину.
Автоматное отображение обладает двумя свойствами, которые непосредственно следуют из (2-5): слова и имеют одинаковую длину (свойство сохранения длины) и, кроме того, автоматные операторы – это операторы без предвосхищения, т.е. операторы, которые, перерабатывая слово слева направо, не заглядывают вперед. Это свойство отражает тот факт, что i-тая буква выходного слова зависит только от первых i букв входного слова.
Определение 2.4
Пусть А=<S,X,Y,S
,δ,α>-
конечный автомат. Состояние S
є
S
называется достижимым
тогда и только тогда, когда (
α∈X
)
δ
(
S
,
α)=
S
(то есть под воздействием какой-либо
цепочки входных сигналов автомат
попадает в это состояние ). Состояние
конечного автомата является недостижимым
тогда и только тогда, когда под
воздействием любой входной цепочки
автомат не переходит в это состояние:
Недостижимо (S
)
(
α∈X
)
δ
(
S
,
α)
S
.
Определение 2.5 Автомат А называется сильно связным, если из любого его состояния достижимо любое другое состояние.
Определение 2.6 Автомат называется автономным, если его входной алфавит состоит из одной буквы X={a}.
Определение 2.7 Автомат называется частичным или не полностью определенным, если хотя бы одна из двух функций не полностью определена. В таком автомате для некоторых пар (состояние – вход, состояние – выход) значения функций δ или λ не определены. В автоматной таблице неполная определенность автомата выражается в том, что некоторые её клетки не заполнены.
Определение
2.8 Конечные
автоматы А=<S
,X
,Y
,S
,δ
,λ
>
и B
= <S
,
X
,
Y
,
S
,
δ
,
λ
>
называются эквивалентными,
если выполнены два условия:
а) их входные алфавиты совпадают X =X =X;
б) реализуемые ими
отображения совпадают: (
αX
)
λ
(
S
,
α)=λ
(
S
,α).
Однако ответить на вопрос, эквивалентны ли автоматы, перебором их реакций на все входные цепочки невозможно, т.к. их бесконечно много, поэтому проблема эквивалентности КА не является тривиальной. Метод решения этой задачи основан на понятии прямого произведения автоматов.
Определение 2.9 Прямым произведением конечных автоматов А=<S ,X ,Y ,S ,δ ,λ > и B=<S ,X ,Y ,S ,δ ,λ > с одинаковым входным алфавитом X (обозначается AxB ) называется автомат:
AxB=<S
xS
,
X, Y
xY
,
S
,
S
,
δ
,
λ
>,
где
а) ( S S )( S S )( x X) δ (( S ,S ),x)= (δ ( S ,x), δ (S ,x));
б) ( S S )( S S )( x X) λ (( S ,S ),x)= (λ ( S ,x), λ (S ,x)).
И
ными
словами, конечный автомат, являющийся
прямым произведением двух КА, в качестве
своих состояний имеет пары состояний,
исходных автоматов, его начальное
состояние есть пара их начальных
состояний, выходной алфавит – множество
пар выходных символов автоматов –
множителей, а функции переходов и
выходов определены покомпонентно. Т.о.
прямое произведение КА – это просто
два стоящих рядом невзаимодействующих
КА, синхронно работающих на одном общем
входе