Формальные языки и автоматы ДКА и НКА
.pdf
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Определение НКА
Определение
Недетерминированным конечным автоматом(НКА) называется пятерка B = (Q; S; E; Q0; F), ãäå
Q - конечное множество, называемое множеством состояний автомата,
S - алфавит,
Q0 - множество начальных состояний автомата
(Q0 Q),
F- множество заключительных состояний автомата (F Q),
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Определение НКА
Определение
Недетерминированным конечным автоматом(НКА) называется пятерка B = (Q; S; E; Q0; F), ãäå
Q - конечное множество, называемое множеством состояний автомата,
S - алфавит,
Q0 - множество начальных состояний автомата
(Q0 Q),
F- множество заключительных состояний автомата (F Q),
E - функция переходов автомата (E : Q S ! 2Q)
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Отличия НКА от ДКА
начальных состояний может быть больше чем одно; находясь в некотором состоянии q и, прочитав символ a автомат имеет выбор в какое из состояний переходить.
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Пример
Диаграмма
|
|
|
|
b |
|
|
|
q0 |
a |
|
|
|
|
|
b |
|
a,b |
|
a |
|
|
|
||
|
q2 |
b |
b |
|
|
|
|||
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
q4 |
a.3
b
q1
a
abq3 b
Таблица
E |
a |
b |
! q0 |
q1; q2; q4 |
q2 |
! q1 |
q3 |
q0; q1; q4 |
q2 |
q4 |
q0 |
q3 |
|
q4 |
q4 |
q1; q4 |
q0; q3 |
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Для НКА удобнее пользоваться таблицей
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Для НКА удобнее пользоваться таблицей
Таблица
E |
a |
b |
! q0 |
q1; q2; q4 |
q2 |
! q1 |
q3 |
q0; q1; q4 |
q2 |
q4 |
q0 |
q3 |
|
q4 |
q4 |
q1; q4 |
q0; q3 |
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Для НКА удобнее пользоваться таблицей
Таблица |
|
|
|
Данный автомат может начать |
|
|
|
|
|||
|
|
|
|
|
работу в любом из состояний |
E |
|
a |
b |
|
|
|
|
q0 èëè q1, íî не в обеих сразу. |
|||
! q0 |
|
q1; q2; q4 |
q2 |
|
|
|
|
|
|||
! q1 |
|
q3 |
q0; q1; q4 |
|
|
q2 |
|
q4 |
q0 |
|
|
q3 |
|
|
q4 |
|
|
q4 |
|
q1; q4 |
q0; q3 |
|
|
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Для НКА удобнее пользоваться таблицей
Таблица
E |
a |
b |
! q0 |
q1; q2; q4 |
q2 |
! q1 |
q3 |
q0; q1; q4 |
q2 |
q4 |
q0 |
q3 |
|
q4 |
q4 |
q1; q4 |
q0; q3 |
Данный автомат может начать работу в любом из состояний q0 èëè q1, íî не в обеих сразу.
При прочтении a èç q1 автомат может перейти в любое из состояний q1, q2 èëè q4, íî íå во все сразу.
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Доопределение E
Функцию переходов E можно доопределить на множество всех цепочек над данным алфавитом S .
Расин О.В. |
Формальные языки и автоматы |
|
|
|
Доопределение E |
Детерминированные конечные автоматы |
Язык, распознаваемый НКА |
Недетерминированные конечные автоматы |
Пример построения ДКА эквивалентного данному НКА |
|
Эквивалентность классов языков, распознаваемых ДКА и |
|
|
Доопределение E
Функцию переходов E можно доопределить на множество всех цепочек над данным алфавитом S .
1) E (q; e) = q; |
|
, åñëè |
|
, è |
w |
|
|
|
. |
|||
2) |
E (q; w) = |
|
q0 |
; : : : ; q0 |
w = e |
q0 |
|
|
||||
|
f |
|
|
q = |
äëÿ i = |
1; k |
|
|||||
|
|
1 |
kg |
|
6 |
|
) |
i |
|
|
|
Расин О.В. |
Формальные языки и автоматы |
|
|