Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
16.04.2015
Размер:
919.34 Кб
Скачать

Недетерминированные конечные автоматы

На рис. 3.3 приведена диаграмма переходов этого автомата. Фактически он принимает любые цепочки, составленные из нулей и единиц, в которых встречаются два подряд идущих нуля или единицы.

41

Недетерминированные конечные автоматы

 

 

 

 

0,1

 

Start

 

 

 

 

0

q3

0

q4

0,1

q0

 

 

1

 

 

 

q1

1

0,1 q2

Рис. 3.3. Диаграмма переходов.

42

Теорема 3.3. Пусть L язык, распознаваемый недетерминированным конечным автоматом. Тогда существует детерминированный конечный автомат, который распознаёт L.

Доказательство. Пусть M = (Q, Σ, δ, q0, F)

— ndfa и L = T (M).

 

M

 

 

 

 

 

Определим dfa

 

(Q , ,

q

, F )

 

 

 

 

 

0

 

следующим образом.

Ret 52

Ret 75

43

Эквивалентность недетерминированных и детерминированных конечных автоматов

Положим Q′ = {[s] s 2Q}.

Состояние из множества Q′ будем представлять в виде [q1, q2, ..., qi], где qi Q

(i > 0).

Обозначение будем использовать в

случае, когда i = 0, то есть s = .

Начальное состояние q0′ = [q0].

 

будет хранить след

Таким образом, dfa M

всех состояний, в которых ndfa M мог бы быть в любой данный момент.

44

Эквивалентность недетерминированных и детерминированных конечных автоматов

Пусть F — множество всех состояний из Q′, содержащих хотя бы одно состояние из множества конечных состояний F.

Входной алфавит Σ′ = Σ — такой же, как в данном ndfa M.

45

Эквивалентность недетерминированных и детерминированных конечных автоматов

Определим

 

 

 

 

 

 

 

δ ([q , q ,..., q ], a) [ p , p ,..., p ]

 

1

2

i

1

2

j

тогда и только тогда, когда

 

 

 

δ({q , q ,..., q }, a) {p , p ,..., p }.

 

1

2

i

1

2

j

Индукцией по длине l входной цепочки x Σ* легко показать, что

δ (q0, x) [q1, q2,..., qi]

тогда и только тогда, когда

δ(q , x) {q , q ,..., q }.

0

1

2

i

46

Эквивалентность недетерминированных и детерминированных конечных автоматов

База. Пусть l = 0. Утверждение выполняется, ибо

δ′(q0′, ) = q0′ = [q0] и δ(q0, ) = {q0}.

Индукционная гипотеза. Предположим, что утверждение выполняется для всех l n

(n 0).

Индукционный переход. Докажем, что тогда утверждение выполняется и для l = n + 1.

47

Эквивалентность недетерминированных и детерминированных конечных автоматов

Пусть x = za, где z Σ*, z = n, a Σ. Тогда

δ′(q0′, x) = δ′(q0′, za) = δ′ (δ′(q0′, z), a).

По индукционному предположению

δ′(q0′, z) = [q1, q2,..., qi]

тогда и только тогда, когда

δ(q0, z) = {q1, q2,..., qi}.

Вто же время по построению

δ′([q1, q2,..., qi], a) = [p1, p2,..., pj]

тогда и только тогда, когда

δ ({q1, q2,..., qi}, a) = {p1, p2,..., pj}.

(1)

(2)

48

Эквивалентность недетерминированных и детерминированных конечных автоматов

Таким образом, учитывая (1) и (2), имеем

δ′(q0′, x) = δ′(q0′, za) =

= δ′([q1, q2,..., qi ], a) = [p1, p2,..., pj]

тогда и только тогда, когда

δ(q0, x) = δ(q0, za) =

= δ({q1, q2,..., qi}, a) = {p1, p2,..., pj}.

49

Эквивалентность недетерминированных и детерминированных конечных автоматов

Чтобы закончить доказательство, остается

добавить, что

 

 

x F

 

 

 

 

q

 

 

 

0

 

 

точно тогда, когда δ(q0, x) содержит состояние из множества конечных состояний F.

Следовательно, T(M) = T( M ). Что и требовалось доказать.

50

Соседние файлы в папке lectures