Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов и формальных языков. Учебник.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
§ 7.4. Детерминированные МП-автоматы 351
Непосредственно из построения следует, что автомат
M0детерми-
нированный.
Следующие четыре утверждения описывают работу автоматов
M
и M0на пустом слове.
1) Если
(q, ε, γ1) `
то ([q, 1], ε, γ1) `
2)
Если в вычислении
∗
([r, 1], ε, γ2).
0
M
(24)
нет заключительных состояний (кроме,
быть может, последнего), то ([q, 0], ε, γ1) `
3)
Если в вычислении
(24)
ме состояния в последней конфигурации, то ([q,0]
∗
(r, ε, γ2), (24)
M
∗
([r, 0], ε, γ2).
0
M
есть заключительное состояние кро-
, ε, γ1)
∗
`
M
([r, 1], ε, γ2).
4)
Если ([
(p, ε, γ1) `
Из
(22)и(23)
p, i], ε, γ1)
∗
(q, ε, γ2).
M
∗
`
([
q, j], ε, γ2) для некоторых
0
M
i, j ∈ {0,1}
следует, что при работе на пустом слове
, то
M0прохо-
дит через те же состояния, что иM. Отличие состоит только в том, что состояния находится в незаключительных состояниях,
M0содержат вторую компоненту — 0 или 1. Пока
M0находится в состояни-
M
ях вида [q,0]. КогдаMвпервые попадает в заключительное состояние
qf,
M0попадает в последнее состояние с нулём [
согласно
(23) M0переключается на состояния с единицей и остаётся
qf,
0]. После этого
в них до конца вычисления. Формальное доказательство проводится индукцией по числу шагов.
Введём следующее обозначение:
c1`
e,∗ M
c2, если
c1`
∗
c2и в этом
M
вычислении последний шаг не являетсяε-тактом. Индукцией по докажем следующее утверждение: (
q0, a1. . . ai, z0)
и только тогда, когда ([q0, 0], a1. . . ai, z0) `
e,∗
([q, 0], ε, γ).
0
M
e,∗
`
(
q, ε, γ
M
) тогда
Б а з и с и н д у к ц и и . Еслиi= 0, то прочитанных символов
нет и длина обоих вычислений равна нулю, так как последний шаг
0
i
352 Глава 7. Свойства КС-языков
не являетсяε-тактом. Поэтому оба вычисления существуют тогда и только тогда, когда q = q0.
Ш а г и н д у к ц и и . Пусть для i утверждение верно. Пусть
(q0, a1. . . aia
i+1
, z0) `
e,∗
(q, ε, γ).
M
Это вычисление имеет вид
(q0, a1. . . aia
для некоторых
i+1
, z0) `
M
(p1, a
e,∗
p1, p2∈ Q,γ1, γ2∈
i+1
∗
, γ1) `
M
(p2, a
, γ2) `M(q, ε, γ)
i+1
Γ∗. По индукционному предполо-
жению
([q0, 0], a1. . . aia
i+1
, z0) `
e,∗
([p1, 0], a
0
M
i+1
, γ1).
Используя утверждения 1)–3), мы получаем, что
([p1, 0], a
i+1
, γ1) `
∗
([p2, j], a
0
M
i+1
, γ2),
гдеj= 0 илиj= 1 в зависимости от того, встречались ли заключи­тельные состояния между нить далее команду вида
p1и
p2. В обоих случаях
(21)
, так что ([
p2, j], a
M0может приме-
i+1
, γ2)
0
`
M
([q,0]
, ε, γ
Объединяя эти три вычисления, получаем
([q0, 0], a1. . . aia
i+1
, z0) `
e,∗
([q, 0], ε, γ).
0
M
Доказательство в обратную сторону симметрично. Если
([q0, 0], a1. . . aia
i+1
, z0) `
e,∗
([q, 0], ε, γ),
0
M
).
то вычисление имеет вид
([q0, 0], a1. . . aia
для некоторых
, z0) `
i+1
p1, p2∈ Q,γ1, γ2∈
ному предположению
(q0, a1. . . aia
e,∗
([p1, j1], a
0
M
i+1
∗
`
0
M
, z0) `
, γ1) `
i+1
([p2, j2], a
Γ∗,
j1, j2∈ {0,1}
e,∗
(p1, a
M
i+1
i+1
∗
0
M
, γ2) `
0
([q, 0], ε, γ)
M
. По индукцион-
, γ1),
§ 7.4. Детерминированные МП-автоматы 353
а по утверждению 4)
(p1, a
i+1
Далее
M0применял команду вида
соответствующую команду для чтения символа a
(p2, a
i+1
∗
, γ1) `
(p2, a
M
(21)
, поэтомуMможет применить
, γ2) `M(q, ε, γ).
i+1
, γ2).
i+1
:
Объединяя эти три вычисления, получаем
(q0, a1. . . aia
Теперь докажем, что
i+1
M0— однозначный ДМП-автомат эквива-
, z0) `
e,∗
(q, ε, γ).
M
лентный M . Если w ∈ Lf(M0), то существует вычисление
([q0, 0], w, z0) `
e,∗
([q, 0], ε, γ1) `
0
M
∗
([r, 0], ε, γ2)
0
M
для некоторого r ∈ F . По доказанному выше утверждению
(q0, w, z0) `
∗
(q, ε, γ1) `
M
∗
(r, ε, γ2)
M
и w ∈ Lf(M).
Пусть теперь w ∈ Lf(M), то есть существует вычисление
для некоторого
(q0, w, z0) `
r ∈ F
. При этом можно считать, что на участке между
e,∗
(q, ε, γ1) `
M
∗
(r, ε, γ2)
M
состояниямиqиrнет других заключительных состояний. Согласно доказанному выше получаем
([q0, 0], w, z0) `
e,∗
([q, 0], ε, γ1),
0
M
а по утверждению 2)
([q, 0], ε, γ1) `
∗
([r, 0], ε, γ2),
0
M
354 Глава 7. Свойства КС-языков
поэтому ([ теперь, что автомат
M0детерминированный, то другое вычисление должно иметь
q0,0], w, z0)
M0может распознать словоwдругим способом. Так как
∗
`
([r,0]
M
0
, ε, γ2) и
w ∈ Lf(
M0). Предположим
вид
([q0, 0], w, z0) `
Но поскольку
e,∗
([q, 0], ε, γ1) `
0
M
r ∈ F
, то любаяε-команда, применимая в состоянии
∗
([r, 0], ε, γ2) `
0
M
+
([p, 0], ε, γ3).
0
M
[r,0], переведёт автомат в состояние со второй компонентой равной 1. Из
(22)и(23)
следует, что
M0останется в состояниях с единицей
до конца вычисления. Полученное противоречие показывает, что автомат M0однозначный.
Сл едствие 194.
Класс детерминированных КС-языков является
собственным подклассом класса однозначных КС-языков.
Доказательство. Любой детерминированный КС-язык является однозначным по теореме 193. ЯзыкL=
{anbn:
n >0}∪{anb2n:
n >
0}из теоремы 191 является однозначным, но не является детермини-
рованным.
Задачи
281. Докажите правильность ДМП-автоматов из примеров 103 и 104.
282.
Постройте ДМП-автоматы для следующих языков и докажите их правиль-
ность:
(а) L1= { w#w−1: w ∈ { a, b }∗};
(б) L2= { aibj: i, j > 0, i 6= j };
i
j
i
j
i
j
n
(в) L3= { a
(г) L4= { a
1
1
2
b
i
1
b
2
a
b
. . . a
j
i
j
1
2
2
a
b
. . . a
n
b
: n > 0, ik, jk> 0, in< jn};
i
j
n
n
b
: n > 0, ik, jk> 0, ik< jkпри нечётном k, ik= jkпри чётном k };
(д) L5= { w ∈ { a, b }∗: |w|a= |w|bи w содержит подслово aab };
0
(е) D
— ограниченный язык Дика.
n
283. Постройте ДМП-автоматы для следующих языков:
(а) L1— множество арифметических выражений с переменнымиx,y,z, опе-
рациями + и ∗ и скобками;
§ 7.5. Свойства детерминированных КС-языков 355
(б) L2— множество формул логики первого порядка сигнатуры Ω =
(1)
(2)
(0)
(f
, g
(в) L3— структурированный язык программирования из примера 78.
284.
Докажите, что если язык распознаётся некоторым ДМП-автоматом через заключительные состояния или через опустошение магазина, то он распознаётся и некоторым ДМП-автоматом в обоих смыслах.
285.
Где в доказательстве теоремы 191 используется тот факт, что МП-автомат
M детерминированный?
, c
(2)
; P
) с переменными x, y, z;
§ 7.5. Свойства детерминированных
КС-языков
Как и произвольные МП-автоматы, ДМП-автоматы не всегда мо-
гут дочитать слово до конца. Например, если в автомате есть команда
q, ε, z → q, z
ется. Мы докажем, что любой ДМП-автомат можно перестроить так, чтобы он мог полностью прочитать любое входное слово.
Сначала покажем, как преобразовать ДМП-автомат в эквива­лентный ему ДМП-автомат, который может сделать шаг в любой конфигурации, в которой часть входа осталась непрочитанной.
, то в конфигурациях вида (
a, w, zγ
) автомат зациклива-
Ле мма 195.
По любому ДМП-автомату
M
= (Q,Σ,Γ
, δ, q0, z0, F
можно построить такой эквивалентный ему ДМП-автомат
0
(Q0, Σ, Γ0, δ0, q
1)
для любых
0
, z
, F0), что
0
0
a ∈Σ,q ∈ Q0,
z ∈
Γ0либо
|δ0(
q, a, z)|
= 1 и
δ0(
∅, либо |δ0(q, ε, z)| = 1 и δ0(q, a, z) = ∅;
2) если q, a, z
0
→ p, α ∈ δ0, то α = βz
0
3) если q, a, z → p, α ∈ δ0для z 6= z
Доказательство. Добавим в автомат
0
q
, qeи новый магазинный символ z
0
Q0= Q ∪ {q
0
, qe}, Γ0= Γ ∪{z
0
0
для некоторого β ∈ Γ∗;
0
0
, то α не содержит z
0
M
два новых состояния
0
:
0
0
}.
0
0
0
q, ε, z
.
)
M0=
) =
356 Глава 7. Свойства КС-языков
Теперь определим программу δ0.
1) Добавляется команда q
2)
Если
q, a, z → p, α ∈ δ
0
, ε, z
0
→ q0, z0z
0
для некоторого
0
.
0
a ∈Σ∪ {ε }
, то
q, a, z →
0
p, α ∈ δ0, то есть все старые команды сохраняются.
3)
Еслиδ(
q, ε, z
) =∅иδ(
q, a, z
) =∅для некоторых
q ∈ Q,a ∈
Σ,
z ∈ Γ, то в δ0добавляется команда q, a, z → qe, z.
4) Для всех a ∈ Σ, z ∈ Γ0добавляется команда qe, a, z → qe, z.
На первом шаге
M0записывает символ
z0над символом
M0работает так же, какM. Если в некоторый момент автомат
не может сделать очередной шаг, то
M0переходит с состояние
0
z
. Далее
0
M
qe, в
котором остаётся до конца слова.
ДМП-автомат, обладающий свойствами из этой леммы, никогда не отвергает слово из-за того, что в очередной конфигурации не применима ни одна команда. Однако он по-прежнему может зацик­литься при чтении слова. Изучим некоторые свойства конфигураций, в которых автомат может проделать бесконечно много шагов.
Оп ределен ие 112.
(Q,Σ,Γ
, δ, q0, z0, F
ствуют состояния такие, что
|γi| > |γ|
Конфигурация (
q, w, γ
) ДМП-автоматаM=
) называется з а ц и к л и в а ю щ е й , если суще-
q1, q2, q3, . . .
для всех
и слова
i >
1 и (
γ1, γ2, γ3, . . .
q, w, γ)`M(
в алфавите Γ
q1, w, γ1)
`
M
(q2, w, γ2) `M. . . .
Содержательно, зацикливающая конфигурация — это конфигура­ция, в которой автомат может сделать бесконечно много шагов, не укорачивая магазин.
Пр име р 106. Рассмотрим автомат со следующими командами:
q0, ε, a → q1, ε q2, ε, a → q3, ba q1, ε, b → q1, a q3, ε, b → q2, ab q1, ε, a → q2, aa
§ 7.5. Свойства детерминированных КС-языков 357
Конфигурация (q1, bb, b) является зацикливающей, так как
(q1, bb, b) ` (q1, bb, a) ` (q2, bb, aa) ` (q3, bb, baa) ` (q2, bb, abaa) ` . . .
и далее состояния увеличиваться на единицу на каждом шаге.
Конфигурация ( шаге длина магазина уменьшается: ( после одного такта автомат перешёл из незацикливающей конфигурации в зацикливающую.
Конфигурация ( этой конфигурации не применима ни одна команда.
q2и
q3будут чередоваться, а длина магазина будет
q0, bb, ab
q0, bb, b
) не является зацикливающей, так как на первом
q0, bb, ab)`(q1, bb, b)` . . .
) также не является зацикливающей, так как в
. Заметим, что
Поскольку словоwне влияет на то, является ли конфигурация зацикливающей, далее мы будем рассматривать только конфигура­ции вида (
q, ε, γ
). Кроме того, можно ограничиться рассмотрением конфигураций, содержащих только один символ в магазине. Дей­ствительно, если конфигурация (
q, ε, zγ
) зацикливающая, то верхний символ магазина никогда не удаляется, а значит, символы, лежащие глубже, не влияют на вычисление. Если же конфигурация не является зацикливающей, то либо числоε-тактов, которые может проделать ав­томат, конечно, либо символzудаляется на некотором шаге. В обоих случаях конфигурация (q, ε, z) также не является зацикливающей.
Отметим простое свойство зацикливающих конфигураций.
Ле мма 196.
фигурация (
Пусть (
q, ε, γ
p, ε, z)`∗(
q, ε, γ),z ∈
) зацикливающая, то конфигурация (
Γ,
γ 6=ε
. Если кон-
p, ε, z
) тоже
зацикливающая.
Доказательство. Лемма следует из определения 112 и из того, что |γ| > |z|.
Чтобы описать алгоритм для поиска зацикливающих конфигура-
ций, мы определим для ДМП-автомата
M
два множества
C1(M) и
C2(M).
Оп ределен ие 113.
Для ДМП-автоматаM= (Q,Σ,Γ
, δ, q0, z0, F
)
358 Глава 7. Свойства КС-языков
определяются два множества C1(M) и C2(M).
C1(M) = {(q, z) : q ∈ Q, z ∈ Γ, (q, ε, z) —
зацикливающая конфигурация и (q, ε, z) `
∗
(r, ε, α)
M
для некоторых r ∈ F, α ∈ Γ∗}
C2(M) = {(q, z) : q ∈ Q, z ∈ Γ, (q, ε, z) —
зацикливающая конфигурация и ни для каких
r ∈ F, α ∈ Γ∗не выполняется (q, ε, z) `
∗
(r, ε, α) }
M
Содержательно,
раций, из которых достижимо заключительное состояние, а
C1(M) — это множество зацикливающих конфигу-
C2(M) —
это множество заключительных конфигураций, из которых не дости­жимо никакое заключительное состояние. Может возникнуть вопрос: для чего различать два типа зацикливающих конфигураций? Если автомат зациклился, не дочитав слово до конца, то разницы, дей­ствительно, нет: в обоих случаях слово будет отвергнуто. Разница появляется, если автомат зациклился в конце слова. Если автомат зациклился в конфигурации из
C1(M), то он распознаёт слово, а если
в конфигурации из C2(M) — то отвергает.
Теорема 197.
Существует алгоритм, который по ДМП-автомату
M вычисляет множества C1(M) и C2(M).
Доказательство. ПустьM= (Q,Σ,Γ
, δ, q0, z0, F
). Мы докажем, что по автомату можно найти числоn, обладающее следующим свойством: если автомат выполнил не менее n пустых тактов, начав с конфигурации (
q, ε, z
), где
z ∈
Γ, то (
q, ε, z
) — зацикливающая
конфигурация. Введём следующие обозначения:
n1= |Q|, n2= |Γ|, l = max{|α| − 1 : q, ε, z → p, α ∈ δ },
то естьl— это наибольшее число символов, которые автомат мо­жет добавить в магазин за один такт. Тогда числоnнаходится по
§ 7.5. Свойства детерминированных КС-языков 359
следующим формулам:
n =
n
n
1
n1n2l+1 2
− n
2
n2− 1
2
n
l, если n2= 1.
1
, если n2> 1
Пусть существует вычисление автомата
(p0, ε, γ0) ` (p1, ε, γ1) ` · ·· ` (pn, ε, γn),
где
|γ0|
= 1. Обозначим конфигурацию (
pi, ε, γi) через
Ki. Рассмотрим
два случая.
Предположим сначала, что существует такоеi, что
то есть что одна из конфигураций
Kiимеет «длинный» магазин.
|γi| > n1n2l
Выберем наименьшее из такихi, то есть такое, что в конфигурациях
K0, . . . , K
последовательности
0
K
индукцией по j следующим образом.
j
Б а з и с и н д у к ц и и .
среди
K1, . . . , Kiс магазином длины 1. Такая конфигурация всегда
магазины имеют длину не более
i−1
K0, . . . , Kiподпоследовательность конфигураций
0
K
— это самая правая конфигурация
1
n1n2l
. Выделим из
существует, так как |γ0| = 1.
Ш а г и н д у к ц и и . Пусть конфигурация пусть в конфигурациях фигурация среди
0
K
=
Km. Обозначим черезtдлину самого короткого магазина
j
K
, . . . , Ki. Тогда
m+1
K
, . . . , Kiс магазином длиныt. На рис. 51 изоб-
m+1
K
0
j+1
ражена последовательность магазинов в конфигурациях а серым цветом выделена подпоследовательность K
0
K
уже построена и
j
— это самая правая кон-
K1, . . . , Ki,
0
0
, K
, . . . .
1
2
Пусть получится подпоследовательность
,
0
0
K
1
= (p
, ε, γ
1
0
), . . . , K
1
Её последним элементом будет конфигурация
0
s
= (p
0
0
).
, ε, γ
s
s
Ki, поскольку её мага-
зин имеет наибольшую длину. За один шаг автомат может увеличить длину магазина не более чем на l. Следовательно,
|γ
0
s
| 6 |γ
0
| + l(s − 1) = 1 + l(s −1).
1
360 Глава 7. Свойства КС-языков
K
0
1
K
0
2
K
0
0
K
3
4
Рис. 51. Изменение длины магазина ДМП-автомата.
С другой стороны,
|γi|=|γ
0
|
, а мы предположили, что
s
|γi| > n1n2l
Поэтому получается неравенство n1n2l < 1 + l(s − 1), откуда
n1n2l − 1
s >
Итак, последовательность
+ 1 = n1n2+ 1 −
l
0
K
, . . . , K
1
фигураций. Существует только
z ∈
Γ. Поэтому среди
и
Kv(
u < v
) с одинаковым состоянием и одинаковым символом
K
0
1
, . . . , K
0
содержит больше чем
s
n1n2различных пар (
0
существуют две конфигурации
s
1
> n1n2.
l
q, z
n1n2кон-
), где
q ∈ Q
K
на вершине магазина. По построению та часть магазина, которая лежит ниже верхнего символа в конфигурации имеют вид для любогоjимеет место (
Ku= ( q, ε, zγ)`∗(
зацикливающая конфигурация. Так как конфигурация (
p0, ε, γ0) тоже зацикливающая. Заметим, что пока мы
Ku, далее не меняется. Поэтому
q, ε, zγ),Kv= (
q, ε, zδjγ
|γ0|
q, ε, zδγ
). Поэтому (
). Но тогда
q, ε, zγ
= 1, то по лемме 196
) —
не использовали выражение для n.
Теперь предположим, что для каждогоiвыполняется неравенство
|γi| 6 n1n2l
, то есть что все магазины «короткие». Оценим возможное число различных конфигураций. Число непустых магазинных слов длины не более
n1n2l
не превосходит
n2+
2
n
+
···+n
2
n1n2l
2
. При
n2>
.
,
u
1
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]