Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория автоматов и формальных языков. Учебник.pdf

§ 7.5. Свойства детерминированных КС-языков 361
эта сумма равна
n1n2l+1
а при
n2= 1 она равна
n
2
n1l
. Так как автомат содержит
n2− 1
− n
2
,
n1состояний,
то в обоих случаях получилось, что число различных конфигураций
не превосходитn. А число конфигураций в вычислении
K0`∗K
большеn. Значит, вычисление содержит хотя бы две одинаковые
конфигурации
яся между
зацикливающей, а значит, (
Kuи
Kv(
u < v
). Поэтому конфигурация, находяща-
Kuи
Kvи имеющая самый короткий магазин, является
p0, ε, γ0) также является зацикливающей
по лемме 196.
Теперь мы можем описать алгоритм для вычисления множеств
C1(M) и C2(M).
1) Вычислить n по автомату M .
2)
Для каждой конфигурации (
q, ε, z
), где
q ∈ Q,z ∈
Γ, запустить
автомат на n шагов.
3)
Если проделатьnшагов не удалось, то (
4)
В противном случае (
r ∈ Fиγ ∈
Γ∗такие, что 0
q, z)∈ C1(M), если существуют
6 j 6 n
q, z)/∈ C1(M)
и (
q, ε, z)`j(
∪ C2(M).
r, ε, γ
j ∈ ω
). Если
же таких j, r, γ не существует, то (q, z) ∈ C2(M).
n
,
Мы уже доказали, что если в конфигурации (
q, ε, z
) автомат может
проделатьnтактов, то эта конфигурация зацикливающая. Обратное
очевидно: в зацикливающей конфигурации автомат может проделать
бесконечно много тактов. Поэтому шаги 1)–3) правильно вычисляют
множество
вильно разбивает его на
попал в заключительное состояние, то (
C1(M)
∪ C2(M). Докажем, что на шаге 4) алгоритм пра-
C1(M) и
C2(M). Если заnшагов автомат
q, z)∈ C1(M) по построению.
Наоборот, пусть заnшагов автомат не попал в заключительное состояние. При рассмотрении двух вариантов мы доказали, что в обоих
случаях состояния в последовательности конфигураций начинают

362 Глава 7. Свойства КС-языков
повторяться ещё на первыхnтактах. Поскольку заnшагов автомат
не попал в заключительное состояние, то он никогда не попадёт в
него, поэтому (q, z) ∈ C2(M).
Теперь мы покажем, что любой ДМП-автомат эквивалентен неко-
торому ДМП-автомату, который никогда не зацикливается.
Оп ределен ие 114.
вается д о ч и т ы в а ю щ и м, если для любого слова
ствуют q ∈ Q, γ ∈ Γ∗такие, что (q0, w, z0) `
ДМП-автоматM= (Q,Σ,Γ
∗
(q, ε, γ).
M
, δ, q0, z0, F
w ∈
Σ∗суще-
) назы-
Непосредственно из определения следует, что для дочитывающего
ДМП-автомата не существует зацикливающих конфигураций, достижимых из начальных. Действительно, если (
конфигурация (
q, ε, γ
) зацикливающая, то автомат не может прочи-
q0, w, z0)
`∗(
q, ε, γ
) и
тать до конца слово wa.
Теорема 198.
По любому ДМП-автомату можно построить эквива-
лентный ему дочитывающий ДМП-автомат.
Доказательство. Пусть
M
= (Q,Σ,Γ
, δ, q0, z0, F
) — ДМП-автомат, удовлетворяющий условиям из леммы 195. Построим ДМПавтомат
M0= (
Q0,Σ,Γ, δ0, q0, z0, F0). Добавим два новых состояния
и r:
Q0= Q ∪ {p, r }.
К заключительным состояниям добавляется p:
F0= F ∪ { p }.
p
Теперь опишем программу.
1)
Для каждого
2)
Если
q, ε, z → q0, α ∈ δиq /∈ C1(M)
a ∈
Σ команды не меняются:
δ0(
q, a, z
∪ C2(M), то оставляем
команду q, ε, z → q0, α.
3) Если (q, z) ∈ C1(M), то добавляем команду q, ε, z → p, z.
4) Если (q, z) ∈ C2(M), то добавляем команду q, ε, z → r, z.
) =δ(
q, a, z
).

§ 7.5. Свойства детерминированных КС-языков 363
5)
Для всех
a ∈
Σ,
z ∈
Γ добавляем команды
p, a, z → r,z
r, a, z → r, z.
и
Непосредственно проверяется, что автомат
ный. Докажем, что
означает, что
Lf(M) =
Lf(
M0). Напомним, что запись
c1`∗c2и при этом последний шаг вычисления не
M0— детерминирован-
e,∗
c1`
c
является ε-тактом.
Пусть w ∈ Lf(M). Тогда существует вычисление
для некоторого
(q0, w, z0) `
q2∈ F
, причём можно считать, что
e,∗
(q1, ε, γ1) `
M
∗
(q2, ε, γ2) (25)
M
(25)
— самое короткое из допускающих вычислений. Все конфигурации, предшествующие (
включительно также нет зацикливающих конфигураций, то
также вычислением автомата
q1, ε, γ1), не зацикливающие. Если между (
M0. Пусть существует зацикливающая
q1, ε, γ1) и (
(25)
q2, ε, γ2)
будет
конфигурация (q, ε, zγ) такая, что
Тогда (
(q0, w, z0) `
e,∗
(q1, ε, γ1) `
M
q, z)∈ C1(M) и по построению в автомате
∗
(q, ε, zγ) `
M
∗
(q2, ε, γ2).
M
M0есть команда
q, ε, z → p, z, поэтому существует допускающее вычисление
(q0, w, z0) `
e,∗
(q1, ε, γ1) `
0
M
∗
(q, ε, zγ) `
0
M
0
(p, ε, zγ).
M
2
Пусть теперь
Сначала предположим, что автомат
w /∈ Lf(M). Рассмотрим три возможных случая.
M
может прочитать слово до
конца и при этом не попадает в заключительное состояние и не
зацикливается в конце слова. Тогда его вычисление будет также
вычислением автомата
вычислении не является зацикливающей, то
M0. Поскольку ни одна конфигурации в этом
M0не может применять
другие команды, следовательно, в этом случае w /∈ Lf(M0).
Теперь предположим, что автомат
M
отвергаетw, так как он
зацикливается в конце слова и при этом не попадает в заключительное

364 Глава 7. Свойства КС-языков
состояние. Тогда вычисление имеет вид
(q0, w, z0) `
где (
q, ε, zγ
) — зацикливающая конфигурация, из которой не дости-
жимы заключительные состояния. Следовательно, (
M0содержит команду
q, ε, z → r, z
∗
(q, ε, zγ),
M
q, z)∈ C2(M) и
. Поэтому вычисление
M0на
имеет вид
(q0, w, z0) `
∗
(q, ε, zγ) `
0
M
0
(r, ε, zγ),
M
причём новые команды не применимы в этой конфигурации. Отсюда
следует, что w /∈ Lf(M0).
Предположим наконец, что
M
отвергаетw, так как не может
прочитать его до конца. Так как в любой конфигурации автомат
может сделать шаг, то это возможно только в том случае, когда
в некоторой конфигурации автомат проделывает бесконечно много
ε
-тактов. Получаетсяw=
uav,a ∈
Σ, (
q0, uav, z0)
последняя конфигурация зацикливающая. Так как (
C2(M), то в
M0есть команда
q, ε, z → s, z
для некоторого
∗
`
(
q, av, zγ
M
q, z)∈ C1(M)
s ∈ {p, r }
) и
Следовательно, вычисление M0на слове w имеет вид
(q0, uav, z0) `
∗
(q, av, zγ) `
0
M
0
(s, av, zγ) `
M
0
(r, v, zγ) `
M
∗
M
0
(r, ε, γ)
w
∪
.
и снова w /∈ Lf(M0).
Итак,
прочитать до конца любое словоw, то есть
Lf(M) =
Lf(
M0). Кроме того, мы проверили, что
M0— дочитывающий
M0может
ДМП-автомат.
Теперь мы докажем, что дополнение детерминированного КС-
языка снова является детерминированным КС-языком.
Теорема 199.
Класс детерминированных КС-языков замкнут от-
носительно дополнения.
Доказательство. ПустьM= (Q,Σ,Γ
, δ, q0, z0, F
) — дочитываю-
щий ДМП-автомат, распознающий языкL. Построим ДМП-автомат

§ 7.5. Свойства детерминированных КС-языков 365
M0= (
Q0,Σ,Γ, δ0, q
0
, z0, F0) для языкаL. Введём следующее обозна-
0
чение: iq= 0 при q /∈ F , iq= 1 при q ∈ F .
Каждое состояние автомата M заменяется на три копии:
Q0= {[q, i] : q ∈ Q, i ∈ {0, 1, 2 }}.
Содержательно, состояние [q,0] означает, что после последнего непустого шага автоматMне посещал заключительное состояние. Состояние [q,1] означает, что после последнего непустого шага автомат
M
посетил заключительное состояние. Состояния [q,2] являются служебными и нужны для распознавания слова. Начальным состоянием
автомата будет
0
q
= [q0, i
0
].
q
0
Заключительными состояниями являются все состояния с двойкой:
F0= {[q, 2] : q ∈ Q }.
Наконец, определим программу δ0.
1) Если q, a, z → p, α ∈ δ, a ∈ Σ, то в δ0добавляются команды
[q, 1], a, z → [p, ip], α, (26)
[q, 2], a, z → [p, ip], α. (27)
2) Если q, ε, z → p, α ∈ δ, то в δ0добавляются команды
[q, 0], ε, z → [p, ip], α, (28)
[q, 1], ε, z → [p, 1], α. (29)
3) Если δ(q, ε, z) = ∅, то в δ0добавляется команда
[q, 0], ε, z → [q, 2], z. (30)
Следующие два утверждения описывают работу автомата
пустом слове. Пусть (q, ε, γ1) `
∗
(r, ε, γ2).
M
M0на

366 Глава 7. Свойства КС-языков
1)
Если в вычислении (
q, ε, γ1)
∗
`
(
r, ε, γ2) нет заключительных
M
состояний, то
∗
([r, 0], ε, γ2).
0
M
∗
`
(
r, ε, γ2) есть заключительные
M
2)
Если в вычислении (
([q, 0], ε, γ1) `
q, ε, γ1)
состояния, то
([q, iq], ε, γ1) `
Если в вычислении (
состояний, то в вычислении
вида
(28)сip= 0. Поэтому
q, ε, γ1)
M0будут использоваться только правила
M0будет оставаться в состояниях, у
которых вторая компонента равна 0. Пусть в вычислении (
(
r, ε, γ2) есть заключительное состояние. Если этоq, то
будут применяться только правила вида
в состояние [r,1]. Если же это неq, то
сработают несколько правил вида
вида
(28)сip= 1 (для первого заключительного состояния) и наконец
несколько правил вида
(29)
. Поэтому
∗
([r, 1], ε, γ2).
0
M
∗
`
(
r, ε, γ2) нет заключительных
M
q, ε, γ1)
iq= 1, поэтому
(29)
, а значит,
M0попадёт
iq= 0, поэтому сначала
(28)сip= 0, затем одно правило
M0снова попадёт с состояние
`
[r,1]. Формальное доказательство проводится индукцией по длине
вычисления.
Теперь индукцией поjдокажем следующее утверждение: если
(q0, a1. . . aj, z0) `
e,∗
(q, ε, γ), то (q
M
0
, a1. . . aj, z0) `
0
∗
([q, iq], ε, γ).
0
M
Б а з и с и н д у к ц и и . Еслиj= 0, то само вычисление имеет
длину 0, поэтому q = q0, γ = z0. Но по построению q
0
= [q0, i
0
].
q
0
Ш а г и н д у к ц и и . Пусть
∗
M
(q0, a1. . . aja
j+1
, z0) `
e,∗
M
(q1, a
j+1
, γ1) `
По индукционному предположению (
Если в вычислении (
состояний, то i
= 0, а по утверждению 1)
q
1
([q1, 0], a
q1, a
j+1
j+1
, γ1)
`
, γ1) `
∗
M
∗
M
∗
(q2, a
M
0
q
, a1. . . aj, z0)
0
(
q2, a
j+1
([q2, 0], a
0
, γ2) `M(q, ε, γ).
j+1
∗
`
([
q1, i
]
M
0
, ε, γ1).
q
1
, γ2) нет заключительных
, γ2).
j+1

§ 7.5. Свойства детерминированных КС-языков 367
В конфигурации (
q2, a
, γ2) автомат
j+1
M
считал символ
a
j+1
, следовательно,ε-команда в этой конфигурации неприменима. Поэтому
автомат
(27)
лении (
M0может применить команду вида
, попав при этом в конфигурацию ([
q1, a
j+1
, γ1)
∗
`
(
M
q2, a
, γ2) есть заключительные состояния,
j+1
q, iq]
(30)
, а затем — вида
, ε, γ
). Если же в вычис-
то согласно утверждению 2)
([q1, i
В конфигурации (
этому автомат
M0может применить команду вида
q
1
q2, a
], a
j+1
, γ2) автомат
j+1
, γ1) `
∗
([q2, 1], a
0
M
, γ2).
j+1
M
читает символ
(26)
и получить
a
j+1
, по-
конфигурацию ([q, iq], ε, γ).
Наконец, докажем, чтоL(
знаётся автоматом
M0тогда и только тогда, когда оно отвергается
M0) =
L(M)
, то есть что словоwраспо-
автоматом M . Пусть w = a1a2. . . an. Пусть
(q0, a1. . . an, z0) `
причём в конфигурации (
q, ε, γ
e,∗
(q1, ε, γ1) `
M
) автомат
∗
(q, ε, γ),
M
M
не может сделать ещё
одного шага. Согласно предыдущему утверждению
0
(q
, a1. . . an, z0) `
0
∗
M
([q1, i
0
], ε, γ1).
q
1
ЕслиMпринимает словоw, то в вычислении (
q1, ε, γ1)
∗
`
(
q, ε, γ
M
встречается некоторое заключительное состояние. Тогда по утверждению 2) ([
q1, i
q
1
]
, ε, γ1)
содержит заключительных состояний. Действительно,
∗
`
([q,1]
, ε, γ
M
0
), причём это вычисление не
M0может по-
пасть в состояние вида [p,2] только из состояния вида [r,0] такого,
что в состоянииrавтоматMне может сделатьε-такта. Но последнее
состояние вычисления имеет вид [q,1], а во всех предыдущихMмог
сделатьε-такт. Поскольку ни одна команда не может сработать в
состоянии [q, 1] (команд вида (29) нет), то M0отвергает w.
ЕслиMотвергает словоw, то в вычислении (
нет заключительных состояний. Тогда
i
q
q1, ε, γ1)
= 0 и по утверждению 1)
1
∗
`
(
q, ε, γ
M
)
)

368 Глава 7. Свойства КС-языков
([
q1, i
]
, ε, γ1)
q
1
конфигурации (
этому следующим тактом
∗
`
M
([q,0]
0
q, ε, γ
, ε, γ
), то в автомате
). Так какMне может сделатьε-такт в
M0есть команда вида
(30)
. По-
M0переходит в состояние [q,2] и принимает
слово w.
Так как класс всех КС-языков не замкнут относительно дополнения по теореме 183, то теорема 199 даёт ещё одно доказательство
существования недетерминированных КС-языков.
Сл едствие 200.
ЕслиL— КС-язык, а языкLне является кон-
текстно-свободным, то L — недетерминированный КС-язык.
Ещё одно интересное свойство детерминированных КС-языков
связано с отношением Майхилла-Нероуда. Для регулярного языка
L
существует конечное число классов по отношению левой взаимо-
замещаемости
Л
≡
. Так как множество всех слов Σ∗бесконечно, то
L
отсюда следует, что хотя бы один класс Майхилла-Нероуда для регулярного языка является бесконечным. Это свойство выполняется и
для детерминированных КС-языков.
Теорема 201.
ствует бесконечный класс по отношению ≡
Доказательство. ПустьM= (Q,Σ,Γ
мат такой, чтоL=
автомат и что все его команды имеют вид либо
q, a, z → p, αz
ЕслиL— детерминированный КС-язык, то суще-
Л
.
L
, δ, q0, z0, F
) — ДМП-авто-
Lf(M). Можно считать, чтоM— дочитывающий
q, a, z → p, ε
для некоторого
α ∈
Γ∗(задача 288). Кроме того, мож-
, либо
но считать, чтоMникогда не опустошает магазин. Такой автомат
никогда не изменяет символ на вершине магазина, он может либо
удалить верхний символ, либо добавить новое слово на вершину.
Для каждого словаwопределим слово
ywследующим образом:
yw— это такое слово, что после срабатывания автомата на входе
wywполучается магазин наименьшей длины. Более формально, если
(
q0, wyw, z0)
словаx, то
∗
`
(
q, ε, γ
M
|γ| 6 |γ0|
) и (
q0, wx, z0)
. Заметим, что слово
∗
`
(
q0, ε, γ0) для некоторого
M
ywвсегда существует, но
не обязательно определено однозначно. В таком случае мы можем

§ 7.5. Свойства детерминированных КС-языков 369
выбрать любое подходящее слово (например, лексикографически
наименьшее). Рассмотрим теперь множество
S1всех словuтаких,
что после прочтенияuавтоматMне укорачивает магазин, то есть для
любогоvиз (
|γ2|
. Множество
q0, uv, z0)
S1бесконечно. Действительно, если
∗
`
M
(
q1, v, γ1)
нём существует самое длинное словоw. Пусть
символ. Слово
больше длиныw. Итак,
рассмотрим вычисление (
конечно много пар вида (
waywaтакже должно принадлежать
S1бесконечно. Для каждого слова
q0, w, z0)
q, z
), где
бесконечно, то в нём существует бесконечное подмножество
∗
`
(
q2, ε, γ2) следует, что
M
∗
`
(
q, ε, zγ
M
q ∈ Q,z ∈
|γ1| 6
S1конечно, то в
a ∈
Σ — произвольный
S1, но его длина
w ∈ S
). Существует лишь
Γ. Так как множество
S2⊆ S
S
такое, что
(q0, w, z0) `
∗
(q, ε, zγ)
M
1
1
1
для всех
нечное подмножество
w ∈ S2и для одних и тех жеqиz. В
S3⊆ S2такое, что все слова из
S2существует беско-
S3принадлежат
либо L, либо L.
Докажем, что все слова из
хилла-Нероуда. Пустьuиv— два слова из
произвольное непустое слово. Запустим автоматMна словах
S3принадлежат одному классу Май-
S3, и пусть
x ∈
Σ+—
ux
vx. Получаем
∗
(q, x, zγ1),
M
∗
(q, x, zγ2).
M
По выбору
(q0, ux, z0) `
(q0, vx, z0) `
S3при дальнейшей работе автомата длина магазина не
уменьшается. Поскольку автомат не удаляет верхний символz, то
слова
γ1и
γ2не могут повлиять на дальнейшее вычисление. Так
как автомат детерминированный, то далее он работает одинаково
на обоих словах, поэтому либо одновременно
одновременно
uиv
одновременно принадлежат либоL, либоL. Итак, для любого
слова
x ∈
ux /∈ L,vx /∈ L
Σ∗выполняется
. Если жеx=ε, то по выбору
ux ∈ L
тогда и только тогда, когда
ux ∈ L,vx ∈ L
S3слова
, либо
vx ∈ L
и
.

370 Глава 7. Свойства КС-языков
Это и значит, что
а значит, существует бесконечный класс по отношению ≡
Сл едствие 202.
уда по отношению
Л
u ≡
v
. Итак, все слова из
L
S3левовзаимозамещаемы,
Л
.
L
Если для языкаLкаждый класс Майхилла-Неро-
Л
≡
имеет конечную мощность, тоLне является
L
детерминированным КС-языком.
Сл едствие 203.
ЯзыкL=
{w ∈ {a, b }∗:w=
w−1}
не является
детерминированным КС-языком.
Доказательство. Каждый класс по отношению
Л
≡
содержит
L
ровно одно слово по теореме 60.
Задачи
286. Докажите, что следующие КС-языки не являются детерминированными:
(а) L1= { anb2n: n > 0 } ∪ { anb3n: n > 0 };
(б) L2= { anbn: n > 0 } ∪ { a2nbn: n > 0 };
(в) L3= { anb2n: n > 0 } ∪ { a2nbn: n > 0 };
(г) L4= { w ∈ { a, b }∗: w = w−1и длина w чётна };
(д) L5= { x#y : x, y ∈ { a, b }∗, x 6= y }.
287.
Докажите, что по любому ДМП-автомату можно построить эквивалентный ДМП-автомат, в котором для любой команды
неравенство |α| 6 2.
288.
Докажите, что по любому ДМП-автомату можно построить эквивалентный
ДМП-автомат, в котором имеются команды только двух видов:
q, a, z → q0, z0z для некоторого магазинного символа z0.
289.
Докажите, что класс детерминированных КС-языков замкнут относительно
операций
q, a, z → q0, α
выполняется
q, a, z → q0, ε
и
(а) префиксов;
(б) суффиксов;
(в) подслов;
(г) подпоследовательностей;
(д) минимума;
(е) максимума;
(ж)
пересечения с регулярными языками;
(з)
объединения с регулярными языками;
(и)
левого и правого деления на регулярные языки;
(к) обращения гомоморфизма;
(л)
обратных детерминированных конечных преобразований.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
