Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка по теории автоматов (ТА).doc
Скачиваний:
207
Добавлен:
11.04.2014
Размер:
864.77 Кб
Скачать

Вопрос 34. Лемма о накачке

Используется только для бесконечных языков (все конечные языки являются автоматами).

Пусть L содержит бесконечное число цепочек. Предположим что L распознаётся КА А с n состояниями.

Для проверки автоматности языка L выберем произвольную цепочку изL длины n.

Если автомат распознает L, то допускается этим Автоматом. Т.е. в автомате А существует путь длиныn из начального в одно из заключительных состояний, помеченный символами цепочки .

Путь этот должен проходить через n+1 состояние, при этом автомат имеет n состояний.

Значит, на этом пути есть цикл с повторяющимися состояниями.

Пусть это состояние qk. Разделим исходную цепочку на 3 части: U, V, W.

U и W – могут быть пустыми. V- нет.

Автомат должен допускать цепочки UVW, UVVW, UVVVW и т.д.

Язык должен допускать накачку – возможность многократного повторения подстроки в любой строке подходящей длины любого бесконечного автоматного языка.

Формальное определение Леммы о накачке.

1.Если L – автоматный язык над алфавитом V то (∃nεN)(∀αεL:|α|≥n)(∃,u,v,wεV*):

[α=uvw&|uv|≤n&|v|≥1&(∀iεN)(uviwεL)]

2. Проверка: является ли язык автоматным?

L – некоторый язык над алфавитом V Если (∀nСN)(∃αεL:|α|≥n)(∀,u,v,wεV*):

[α=uvw&|uv|≤n&|v|≥1&(∃iεN)(uviwεL)]

Вопрос 35. Понятие о нка. Получение дка по нка.

Недетерминированный КА (Карпов)

Определение 6

Недетерминированным КА-распознавателем называется пятерка :

A=<S,X,s0, δ,F >, где

S – конечное непустое множество состояний,

X – входной алфавит,

s0 – начальное состояние,

F – множество заключительных финальных состояний. F⊆S,

δ – функция переходов : δ:S x {X U ε} →2S

здесь ε – пустая цепочка (ε=ø),

2S – булеан S (множество всех подмножеств множества S)

Можно доказать что для любых НДКА (НКА) можно построить эквивалентный ему ДКА :

Теорема 1 Для любого НКА-распознавателя можно получить эквивалентный ему ДКА-распознаватель.

Правда при этом в общем случае НДКА имеет n состояний, а эквивалентный ему ДКА - 2n состояний, хотя это бывает достаточно редко. В большинстве случаев можно получить ДКА, эквивалентный НКА, с относительно небольшим числом состояний и переходов, если отбросить недостижимые состояния. При этом, однако, ДКА как правило, имеет большее число переходов по сравнению с НКА.

Как получить ДКА по НКА с ε ?

В общем случае алгоритм преобразования включает два этапа:

1) Избавление от ε – переходов

2) Построение ДКА по НКА

Пусть Aε = <S, X, s0, δε, F> - НКА с ε – переходами, причем δε : S x (X U ε) →2S .

Покажем, как привести Аε к НКА А = <S, X, Q0, δε, F> без ε – переходов.

ε – замыканием состояния s ε S, обозначаемым Θ(S), называется множество всех состояний, которые достижимы из s без подачи входного сигнала.

1. Множество состояний автомата А – это ε – замыкания состояний Аε.

SA={ Θ(S0), Θ(S1)… Θ(Sn)}

2. Q0 = U (q Є Θ(S0)) Θ(q) : все состояния, достижимые из любого начального без подачи входного сигнала.

3. Множеством заключительных состояний А являются такие ε – замыкания состояний Aε, в которые входят заключительные состояния Аε : из каждого такого состояния без подачи входного символа можно оказаться в заключительном состоянии.

4. Функция переходов δ такого автомата А определяется так :

SA={ Θ(S0), Θ(S1)… Θ(Sn)}

Иными словами, при воздействии входного сигнала а автомат А переходит из ε – замыкания состояния s в ε – замыкания всех тех состояний q, в которые Аε переходит под воздействием а из всех состояний, достижимых из s под воздействием ε.