- •Машина Тьюринга
- •Машина Тьюринга
- •Машина Тьюринга
- •Машина Тьюринга
- •Машина Тьюринга
- •Машина Тьюринга
- •Пример (Машина Тьюринга )
- •Решение
- •Пример (машина Тьюринга)
- •Пример (машина Тьюринга)
- •Пример (машина Тьюринга)
- •Алгоритмы
- •Конечные автоматы
- •Алгоритмы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы Конечные автоматы
- •Алгоритмы
- •Алгоритмы
- •Алгоритмы
- •Конечные автоматы
- •Алгоритмы
- •Алгоритмы
- •Алгоритмы
Пример (машина Тьюринга)
4 шаг
0 0 0 0 0 1 0 → 0 0 0 0 1 1 0 q 2 q 0
машина считала 0 заменив на 1 и перешла из состояния q2 в состояние q0 и остановилась
(машина остановилась т.к. достигла состояния q0 ,
кроме того в команде 3 есть символ S (стоп )). т.е. выполнилась команда 3
q2 0 → q0 1 S
Алгоритмы
Алгоритм (и устройство) распознавания предложений регулярного языка называется
конечным автоматом (КА). (другое определение конечного автомата)
Алфавит языка можно определить как конечное множество символов(букв)
Напр.
С = { a, b , c, d} , C={0, 1} Последовательность символов образуют слово аb , cd , 00111000
Число букв в слове - наз. длинной Пустое слово не содержит символов
Множество слов в алфавите называется языком.
Конечные автоматы
Все цифровые устройства можно разделить на 2 класса:
логические схемы
схемы с памятью(конечные автоматы)
Логические схемы формируют выходные сигналы в зависимости от входных сигналов, но не учитывают (не запоминают) входные сигналы , которые подавались на логические схемы ранее.
Конечные автоматы выходные сигналы зависят не только от входных сигналов , поступающих в данный момент времени, но и от входных сигналов , поступающих на входы логических схем ранее.
Алгоритмы
Пусть
C= { c0, c1, c2, c3}-входной алфавит y={y1, y2,y3} - выходной алфавит
с0, c1, c2,c3 |
|
y3, y2, y1 |
|
||
|
|
|
Будем рассматривать автомат с одним входом(на который подаются входные сигналы c0, c1, c2, c3) и одним выходом
Работа автомата рассматривается в дискретные моменты времени ti (такие моменты времени наз.
автоматными тактами и изменяются от 0 до n , где n - длинна входного слова.
Алгоритмы Конечные автоматы
Напр. на рис. (предыдущий слайд) автомат обрабатывает первую входную букву с3 и выдает на выходе сигнал y3 и т.д.
Есть две разновидности КА:
без выходного преобразователя
с выходным преобразователем
КА без выходного преобразователя.
Автомат без выходного преобразователя это сочетание
M= { Q, C, Q0,ᶞ }
Алгоритмы Конечные автоматы
Напр. на рис. (предыдущий слайд) автомат обрабатывает первую входную букву с3 и выдает на выходе сигнал y3 и т.д.
Есть две разновидности КА:
без выходного преобразователя
с выходным преобразователем
КА без выходного преобразователя.
Автомат без выходного преобразователя это сочетание
M= { Q, C, Q0,ᶞ }
Алгоритмы Конечные автоматы
где
Q={q0 , q1...qn} - множество состояний автомата С= { а , b, c ...} - входной алфавит
Q0 - начальное состояние автомата
ᶞ: Q*C → Pj (т.е. ᶞ - есть функция переходов из одного состояния в другое состояние)
где Pj - есть подмножество Q (т.е. Pj или Qj обозначим j-ое состояние в которое перешел конечный автомат)
т.е.
Qj = ᶞ (Ci ,Q i )
Абстрактный автомат наз конечным только тогда , если число входных символов и выходных символов конечно.
Алгоритмы Конечные автоматы
Автомат наз. инициальным , если он был перед началом работы установлен в начальное состояние.
Характеристическую функцию для автомата без выходного преобразователя запишем:
q(t +1) = f1 (xi (t), qi (t))
(в отличии от автомата Милли состоит только из одного уравнения)
Алгоритмы Конечные автоматы
символ t+1 - означает следующий автоматный такт.
Способы задания конечного автомата: 1. Перечислением т.е. приводятся все функции переходов q1 = ᶞ (q0 , c1)
q2 = ᶞ (q1 , c2)
qk= ᶞ (qk-1, ck) 2. Табличный
Алгоритмы Конечные автоматы
При табличном способе задания конечного автомата строится таблица переходов (см. пример следующий слайд)
Столбцы таблицы - обозначают входные символы (т.е. входные сигналы, которые подаются на вход автомата)
Строчки таблицы - обозначают состояния автомата
На пересечении i-ой строчки и j-того cтолбца указывается сотояние в которое перешел автомат под воздействием входного сигнала cj











c1 







c2 



























q i \ Ci 




q0 










q1








































q1 










q2








































qk




















































