Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов и формальных языков. Учебник.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
§ 7.3. Свойства замкнутости класса КС-языков 341
В заключение покажем, что класс КС-языков не замкнут и от­носительно некоторого варианта обратных недетерминированных конечных преобразований.
Теорема 184.
Существуют КС-язык
L ⊆
∆∗и конечный преобра-
зователь S = (Q, Σ, ∆, δ, q0, F ) такие, что язык
L0= {w ∈ Σ∗: S(w) ⊆ L }
не является контекстно-свободным.
Доказательство. Пусть
L = { caibjaj: i, j > 0 } ∪ {daibiaj: i, j > 0 }.
ПустьS= (
{q0, q1},Σ,∆, δ, q0, {q1}
), где Σ =
{a, b }
, ∆ =
а программа δ содержит следующие команды:
q0, ε → q1, c q1, a → q1, a q0, ε → q1, d q1, b → q1, b
Нетрудно видеть, чтоS(w) = ВключениеS(w)
⊆ L
выполняется тогда и только тогда, когдаw=
{cw, dw }
для любого
anbnanдля некоторого n > 0. Поэтому
L0= {anbnan: n > 0 }.
Но L0не контекстно-свободен (аналогично примеру 100).
Задачи
{a, b, c, d }
w ∈ {a, b }∗.
,
269. Завершите доказательство теоремы 177.
270.
Докажите, что если МП-автоматMиз доказательства теоремы 177 одно-
значный, то автомат M0также однозначный.
271.
Модифицируйте доказательство теоремы 177 так, чтобы оно было примени-
мо и в случае, когда автомат N недетерминированный.
272. Докажите теорему 177, не используя МП-автоматы.
273. Завершите доказательство теоремы 179.
274.
Приведите пример КС-языкаL, дополнение которого не контекстно-
свободно.
275. Докажите, что класс КС-языков замкнут относительно операций
342 Глава 7. Свойства КС-языков
(а) префиксов;
(б) суффиксов;
(в) подслов;
(г) подпоследовательностей;
276. Докажите, что класс КС-языков не замкнут относительно операций
(а) минимума;
(б) максимума;
(в) левого и правого деления;
(г) тасовки;
277. Замкнут ли класс КС-языков относительно счётного объединения?
278.
Докажите, что существуют два КС-языка, для которых не существует
точной нижней границы относительно отношения включения ⊆.
279.
Докажите, что операции
ниями.
280.
Докажите, что если
то L1∪ L2— однозначный КС-язык.
MINиMAX
L1и
L2— однозначные КС-языки такие, что
(д) обращения;
(е)
левого и правого деления на ре­гулярные языки;
(ж)
тасовки с регулярными языками.
(д) взятия первых половин слов;
(е) квадратного корня;
(ж) коммутативного замыкания.
не являются конечными преобразова-
L1∩L2=∅,
§ 7.4. Детерминированные МП-автоматы
Как и конечные автоматы, МП-автоматы могут быть детерми­нированными и недетерминированными. Детерминированные МП­автоматы особенно важны для практических приложений, поскольку их легче моделировать.
Оп ределен ие 110.
МП-автомат
M
= (Q,Σ,Γ
, δ, q0, z0, F
) назы­вается д е т е р м и н и р о в а н н ы м (ДМП-автоматом), если для любых q ∈ Q, z ∈ Γ выполняются следующие условия:
1) |δ(q, a, z)| 6 1 для всех a ∈ Σ ∪{ ε };
2) если |δ(q, a, z)| = 1 для некоторого a ∈ Σ, то δ(q, ε, z) = ∅;
3) если |δ(q, ε, z)| = 1, то δ(q, a, z) = ∅ для всех a ∈ Σ.
КС-язык называется д е т е р м и н и р о в а н н ы м, если он распо-
§ 7.4. Детерминированные МП-автоматы 343
знаётся некоторым ДМП-автоматом.
Первый пункт определения говорит, что в автомате нет двух раз­ных правил с одинаковой левой частью. Второй и третий пункты гарантируют, что отсутствуют конфликты между правилами с ле­выми частями вида
q, a, zиq, ε, z
. Заметим, что, в отличие от ДКА,
ДМП-автомат может содержать ε-команды.
Непосредственно из определения получаем
Сл едствие 185.
Любой регулярный язык является детерминиро-
ванным КС-языком.
Приведём несколько примеров детерминированных КС-языков, не являющихся регулярными. Во всех примерах автоматы распознают соответствующие языки через заключительные состояния.
Пр име р 103.
Заключительными состояниями автомата являются q1и q3:
Сначала автомат проверяет, что есть хотя бы один символa. Он поме­щает его в магазин и переходит в состояние магазине остальные символыa. Состоянию
ai,
i >
0. Когда автомат видит символb, он переходит в незаключительное
состояние
a
больше, чем число символовb. Автомат переходит в состояние распознать слово. В состоянии слово не закончится или число символовbне сравняется с числом символов
a
. В первом случае автомат примет слово в состоянии отвергнет его, так как для магазина.
Приведём примеры работы автомата на слове aaabb:
Построим ДМП-автомат для языка
q0, a, z0→ q1, az q1, a, a → q1, aa q3, b, a → q2, ε q1, b, a → q2, ε
q2. Если магазин содержит символa, то текущее число символов
q3процесс продолжается до тех пор, пока
q2и
q3нет команд для символа
q2, ε, a → q3, a
0
q1соответствуют слова вида
L1=
{aibj:
q1, в котором запоминает в
q3, а во втором —
i > j >0}
q3, чтобы
z0на вершине
.
(q0, aaabb, z0) ` (q1, aabb, az0) ` (q1, abb, aaz0) ` (q1, bb, aaaz0) `
` (q2, b, aaz0) ` (q3, b, aaz0) ` (q2, ε, az0) ` (q3, ε, az0).
344 Глава 7. Свойства КС-языков
Так как состояние
q3заключительное, то автомат распознаёт слово
aaabb
Заметим, что если автомат не сделает последний такт, то получится другое вычисление на слове
aaabb
несмотря на то, что автомат детерминированный.
Рассмотрим теперь работу автомата на слове aabb:
(q0, aabb, z0) ` (q1, abb, az0) ` (q1, bb, aaz0) `
` (q2, b, az0) ` (q3, b, az0) ` (q2, ε, z0).
В конфигурации (
Так как состояние
q2, ε, z0) автомат не может применить никакую команду.
q2не является заключительным, то автомат отвергает
слово aabb.
Пр име р 104.
те Σ =
{a1, ¯a1, . . . , an, ¯an}
Построим ДМП-автомат для языка Дика
. Заключительным состоянием является
Dnв алфави-
q1. В
приведённой программе индекс i принимает значения от 1 до n:
q0, ε, z0→ q1, z q1, ai, z0→ q0, aiz q1, ¯ai, z0→ q0, ¯aiz
0
0
0
q0, ai, z → q0, aiz для всех z /∈ {z0, ¯ai} q0, ¯ai, z → q0, ¯aiz для всех z /∈ {z0, ai} q0, ai, ¯ai→ q0, ε q0, ¯ai, ai→ q0, ε
.
Первое правило проверяет, пуст ли магазин. Если он пуст, то прочитан­ное до сих пор слово принадлежит языку Дика, поэтому автомат переходит в заключительное состояние. Если после этого на входе остаются символы, то автомат возвращается в состояние
q0и сохраняет символы в магазине
(следующие четыре правила). Последние два правила «закрывают» откры-
тые скобки при условии, что типы скобок совпадают.
Для МП-автоматов распознавание языков через заключительные состояния эквивалентно распознаванию через опустошение магазина. Для ДМП-автоматов это свойство выполняется только в одну сторону.
Ле мма 186.
По любому ДМП-автоматуMможно построить экви-
валентный ему ДМП-автомат M0такой, что Le(M) = Lf(M0).
Доказательство. Нетрудно видеть, что конструкция из лем­мы 125 преобразует ДМП-автомат в ДМП-автомат.
§ 7.4. Детерминированные МП-автоматы 345
Обратное утверждение для ДМП-автоматов уже не имеет ме­ста. Чтобы продемонстрировать это, введём понятие беспрефиксного языка.
Оп ределен ие 111.
ли никакое слово изLне является собственным префиксом другого слова из L.
ЯзыкLназывается б е с п р е ф и к с н ы м, ес-
Ле мма 187.
беспрефиксным.
Доказательство. ПустьM= (Q,Σ,Γ мат. Предположим, что
(
q0, w, z0)
автомат детерминированный, то такое вычисление на слове ляется единственным возможным. Действительно, когда автомат прочитал словоw, он мог проделать ещё несколькоε-тактов. В силу детерминированности у автомата нет команд, которые позволили бы ему вместо этого считывать входные символы. Следовательно, автомат обязательно перейдёт в конфигурацию ( в этой конфигурации магазин пуст, то автомат не может прочитать слово слово из из Le(M).
Сл едствие 188.
автоматом через опустошение магазина.
Доказательство. Язык он содержит слова ε и a¯a.
шение магазина, так как он не знает заранее, достигнут ли конец слова. Если же язык является беспрефиксным, то два определения остаются эквивалентными.
wv
Итак, ДМП-автомат не может распознавать язык через опусто-
Для любого ДМП-автомата
w ∈ Le(M), то есть существует вычисление
`∗(
q, ε, ε
). Если
до конца, поэтому
Le(M) не является собственным префиксом другого слова
Язык Дика
v 6=ε
, то (
wv /∈ Le(M). Это и значит, что никакое
Dnне распознаётся никаким ДМП-
Dnне является беспрефиксным, так как
M
, δ, q0, z0, F
q0, wv, z0)
язык
Le(M) является
) — ДМП-авто-
`∗(
q, v, ε
q, v, ε
). Но поскольку
). Так как
wv
яв-
Ле мма 189.
автоматом через заключительные состояния тогда и только тогда,
Беспрефиксный языкLраспознаётся некоторым ДМП-
346 Глава 7. Свойства КС-языков
когда он распознаётся некоторым ДМП-автоматом через опустошение магазина.
Доказательство. В одну сторону утверждение верно по лем­ме 186. Доказательство в другую сторону аналогично доказательству леммы 124. ПустьM= (Q,Σ,Γ новый ДМП-автомат
M0= (
, δ, q0, z0, F
Q∪{q
) иL=
0
, ˜q, qf},Σ,Γ∪{z
0
Lf(M). Построим
0
0
}, δ0, q
0
0
, z
0
, {qf}
0
Добавим в δ0следующие команды:
0
, ε, z
0
0
→ q0, z0z
0
1) q
2) q, a, z → p, α
0
;
0
, если эта команда есть вδ,
a ∈Σ∪ { ε },z ∈
Γ,
p /∈ F ;
3) q, a, z → ˜q, z, если q, a, z → p, α ∈ δ, a ∈ Σ ∪ {ε }, z ∈ Γ, p ∈ F ;
4) ˜q, ε, z → ˜q, ε для всех z ∈ Γ;
5) ˜q, ε, z
0
→ qf, ε.
0
).
Непосредственно проверяется, что автомат
M0детерминирован-
ный. Докажем, что Lf(M) = Le(M0).
∗
`
M
(
p, ε, γ
Пусть
w ∈ Lf(M), то есть существует вычисление (
) для некоторых
p ∈ F,γ ∈
q0, w, z0)
Γ∗. После прочтения словаwавто-
матMмог проделать ещё несколькоε-тактов, поэтому допускающее вычисление может не быть единственным. Выберем кратчайшее из них, то есть такое, что состояниеpявляется единственным заключи­тельным состоянием после прочтенияw. Пусть на последнем шаге применил команду
q, a, z → p, α
, где
a ∈Σ∪ {ε }
. Тогда вычисление
M
имеет вид
(q0, w, z0) `
где
αγ0=γ. Поскольку языкLбеспрефиксный, то между конфигу-
рациями (
q0, w, z0) и (
q, a, zγ0) заключительные состояния не встреча-
лись, а значит, на этих конфигурациях автоматыMи одинаково за исключением того, что магазин автомата
∗
(q, a, zγ0) `M(p, ε, γ),
M
M0работают
M0дополни-
§ 7.4. Детерминированные МП-автоматы 347
`
M
0
. Тогда
0
0
∗
) `
0
0
M
0
(˜q, ε, zγ0z
(q, a, zγ0z
0
∗
) `
0
M
0
) `
0
(˜q, ε, z
0
M
0
0
0
) `
(qf, ε, ε) (20)
M
0
тельно содержит символ z
0
0
(q
, w, z
0
0
) `
0
(q0, w, z0z
M
и w ∈ Le(M0).
Наоборот, пусть
M0должен попасть в состояние˜q, поэтому вычисление
единственно возможным. Так как
w ∈ Le(
M0). Чтобы опустошить магазин, автомат
(20)
является
M0применяет команду
q, a, z → ˜q, z
то в автомате M есть команда q, a, z → p, α, где p ∈ F . Поэтому
(q0, w, z0) `
∗
(q, a, zγ0) `M(p, ε, αγ0)
M
и w ∈ Lf(M).
Сл едствие 190.
новый символ. Язык
ПустьL— язык в алфавите Σ, и пусть $/∈Σ —
L·{$}
распознаётся некоторым ДМП-автоматом через заключительные состояния тогда и только тогда, когда он рас­познаётся некоторым ДМП-автоматом через опустошение магазина.
Доказательство. Язык
L·{$}
беспрефиксный, так как его слова
не содержат символ $ внутри.
Мы уже доказывали, что недетерминированные конечные автома­ты обладают такой же выразительной силой, что и детерминирован­ные. Для МП-автоматов аналогичное утверждение неверно.
,
Теорема 191.
ЯзыкL=
{anbn:
n >0} ∪ {anb2n:
n >0}
не
является детерминированным КС-языком.
Доказательство. Предположим, что языкLраспознаётся ДМП- автоматомM= ( чае язык
L0=
Построим новый МП-автомат
Q, {a, b },Γ, δ, q0, z0, F
{anbncn:
n >0}
M0= (
). Докажем, что в таком слу-
был бы контекстно-свободным.
Q0, {a, b, c },Γ, δ0, q0, z0, F0). Со-
стояниями автомата M0являются состояния автомата M и их двой­ники:
Q0= Q ∪ {q0: q ∈ Q }.
348 Глава 7. Свойства КС-языков
Заключительными состояниями являются двойники заключительных состояний автомата M:
F0= {q0: q ∈ F }.
Программа определяется следующим образом.
1) если q, a, z → p, α ∈ δ, то q, a, z → p, α ∈ δ0;
2) если q, b, z → p, α ∈ δ, то q, b, z → p, α ∈ δ0и q0, c, z → p0, α ∈ δ0;
3) если q, b, z → p, α ∈ δ и q ∈ F , то также q, c, z → p0, α ∈ δ0.
Докажем, что Lf(M0) = L0.
∗
Пусть
0
q
∈ F0. Поскольку в
f
w ∈ Lf(
M0), то есть (
M0нет команд, переводящих состояние со
q0, w, z0)
`
M
0
(
q
, ε, γ
0
) для некоторого
f
штрихом в состояние без штриха, а перейти в штрихованное состояние можно только по символу c, то слово w имеет вид ucv, так что
(q0, u, z0) `
(p, c, γ1) `
(q0, v, γ2) `
причём все состояния между состояния между
q0и
0
q
принадлежат множеству двойников, а
f
∗
(p, ε, γ1),
0
M
0
(q0, ε, γ2),
M
∗
0
(q
, ε, γ),
0
f
M
q0иpпринадлежат множествуQ, все
p ∈ F
Но в таком случае словоuне содержит символовc, аv, наоборот, состоит только из символовc:v=
ck. Из пунктов 1) и 2) конструкции
следует, что в таком случае
(q0, u, z0) `
∗
(p, ε, γ1),
M
из пункта 2) следует, что
(q, bk, γ2) `
∗
(qf, ε, γ),
M
а из пункта 3) следует, что
(p, b, γ1) `M(q, ε, γ2).
.
§ 7.4. Детерминированные МП-автоматы 349
Объединяя вычисления, получаем
(q0, ub
k+1
Поскольку оба состоянияpи
k+1
ub
когда u = a
принадлежат языкуL. Но это возможно только в том случае,
k+1bk+1
. Тогда w = a
Пусть теперьw= Поскольку
akbk∈ Lиakb2k∈ L
, z0) `
akbkck,
∗
M
(p, b
k+1
, γ1) `
∗
(qf, ε, γ).
M
qfзаключительные, то оба словаuи
k+1bk+1ck+1
k >
0. Рассмотрим слово
и w ∈ L0.
w0=
, то вычисление автоматаMна слове
akb2k.
w0имеет вид
(q0, akb2k, z0) `
∗
(q1, bk, γ1) `
M
∗
(q2, ε, γ2),
M
где q1, q2∈ F . Из пунктов 1) и 2) конструкции следует, что
(q0, akbk, z0) `
∗
(q1, ε, γ1),
0
M
а из пунктов 2) и 3) следует, что
∗
(q1, ck, γ1) `
причём q
0
∈ F0. Поэтому (q0, akbkck, z0) `
2
Итак, мы доказали, что МП-автомат
M
0
(q
, ε, γ2),
0
2
∗
0
(q
, ε, γ2) и w ∈ Lf(M0).
0
2
M
M0распознаёт язык
L0, не
являющийся контекстно-свободным (см. пример 100). Значит, предпо­ложение неверно, и никакой ДМП-автомат не распознаёт языкL.
Сл едствие 192.
Класс детерминированных КС-языков является
собственным подмножеством класса всех КС-языков.
ДМП-автоматы могут не быть однозначными.
Пр име р 105. Рассмотрим ДМП-автомат M со следующими командами:
q0, a, z0→ q1, z q1, ε, z0→ q2, z q2, ε, z0→ q1, z
Заключительным состоянием является только
Lf(M) =
{a }
. АвтоматMявляется детерминированным, но не является
0
0
0
q1. Легко проверяется, что
350 Глава 7. Свойства КС-языков
однозначным, так как для словаaсуществует несколько допускающих вычислений:
(q0, a, z0) ` (q1, ε, z0),
(q0, a, z0) ` (q1, ε, z0) ` (q2, ε, z0) ` (q1, ε, z0).
Однако любой ДМП-автомат распознаёт однозначный КС-язык.
Теорема 193.
По любому ДМП-автомату можно построить эквива-
лентный ему однозначный ДМП-автомат.
Доказательство. ПустьM= (Q,Σ,Γ
, δ, q0, z0, F
) — произволь-
ный ДМП-автомат. Построим однозначный ДМП-автомат
(
Q0,Σ,Γ, δ0, q
0
, z0, F0) следующим образом. Каждое состояние авто-
0
мата заменяется на две копии:
Q0= {[q, 0], [q, 1] : q ∈ Q }.
Начальным состоянием автомата
M0является
0
q
= [
q0,
0
0], заключи-
тельными состояниями являются
F0= {[q, 0] : q ∈ F }.
Программа автомата M0определяется следующим образом:
1) если p, a, z → q, α ∈ δ, то в δ0добавляются две команды
[p, 0], a, z → [q, 0], α, [p, 1], a, z → [q, 0], α; (21)
2)
если
p, ε, z → q, α ∈ δиp /∈ F
, то в
δ0добавляются две команды
M0=
3)
[p, 0], ε, z → [q, 0], α, [p, 1], ε, z → [q, 1], α; (22)
если
p, ε, z → q, α ∈ δиp ∈ F
[p, 0], ε, z → [q, 1], α, [p, 1], ε, z → [q, 1], α. (23)
, то в
δ0добавляются две команды
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]