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

Stephen Cole Kleene

January 5, 1909, Hartford, Connecticut, United States – January 25, 1994, Madison, Wisconsin

111

Теорема 3.10. (С.Клини).

То, что M, является непосредственным следствием из леммы 3.1 (объединение) и теорем 3.7 (конечные множества), 3.8 (произведение) и 3.9 (замыкание).

Остается показать обратное вложение, то есть, что M .

112

Теорема 3.10. (С.Клини).

Пусть L1 — множество, принимаемое некоторым dfa

M = ({q1, q2,..., qn}, Σ,

δ, q1, F).

Требуется показать, что L1

= T(M) .

Пусть

k

обозначает множество всех

Ri j

цепочек x, таких, что δ(qi, x) = qj, причём, если y является непустым префиксом x, не совпадающим с x (x = yz, y , z ), то

δ(qi, y) = ql, где l k.

113

Теорема 3.10. (С.Клини).

k

множество всех

Другими словами, Ri j

цепочек, которые переводят fa M из состояния qi в состояние qj, не проходя через какое-либо состояние ql, где l > k.

Под “прохождением через состояние ql” мы подразумеваем вход в состояние ql и выход из него. Но i и j могут быть больше k.

Мы можем определить

 

 

k

R

i j рекурсивно:

 

 

 

 

 

k

k 1

k 1

k 1*

 

k 1

Rij

Rij

Rik

Rkk

 

Rkj ,

Rij0 {a

a , qi, a) q j }.

114

k 1, i j

Теорема 3.10. (С.Клини).

Приведённое означает, что

определение

R

k

неформально

i j

 

 

 

цепочки, которые переводят

автомат M из состояния qi в состояние qj без перехода через состояния выше, чем qk,

(1) либо все находятся во множестве R

т. е. никогда не приводят автомат в состояние столь высокое, как qk,

115

Rkk k1

Теорема 3.10. (С.Клини).

(2) либо каждая такая цепочка начинается с

цепочки из множества

k 1

(которая пере-

Ri k

водит автомат M в состояние qk первый раз), за которой следует сколько-то цепочек из множества , переводящих автомат M из состояния qk снова в состояние qk без перехода через состояние qk и высшие по

номеру

состояния, за

которыми следует

цепочка

из множества

k 1

, переводящая

R k j

автомат M из состояния qk в состояние qj, не достигая состояния qk и большие по номеру состояния.

116

Теорема 3.10. (С.Клини).

Индукцией по параметру k мы можем

показать, что множество Rikj

для всех i и j

находятся в пределах класса .

База. Пусть k = 0.

 

Утверждение очевидно,

поскольку все

множества

R0 i j

являются конечными.

Индукционная гипотеза. Предположим,

что утверждение выполняется для всех k, таких, что 0 k m (0 m < n).

117

Теорема 3.10. (С.Клини).

Индукционный переход. Докажем, что

утверждение верно и для

Это так, поскольку R m i j

1

k = m + 1.

выражается через

объединение, конкатенацию и замыкание различных множеств вида R mpq , каждое из которых по индукционному предположе-

нию находится в классе

Остается заметить, что L1

qj F Итак, из L1 = T(M) следует, что

Что и требовалось доказать.

R

n

.

 

 

 

1 j

 

L1 .

118

Теорема 3.10. (С.Клини).

Следствие 3.1 (из теоремы Клини). Из теоремы 3.10 следует, что любое выражение, построенное из конечных подмножеств множества *, где — конечный алфавит, и конечного числа операций

объединения ‘ ’, произведения ‘.’ (символ обычно опускаемый) и замыкания *’ со скобками, которые определяют порядок действий, обозначает множество, принимаемое некоторым конечным автоматом.

119

Теорема 3.10. (С.Клини).

И наоборот, каждое множество, принимаемое некоторым конечным автоматом, может быть представлено в виде такого выражения, которое называется регулярным выражением.

120

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