Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов и формальных языков. Учебник.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
§ 3.3. Конечные преобразователи 161
Нетрудно видеть, что новый преобразователь
S0эквивалентенS.
Вместо того чтобы читать и писать длинные слова, он выполняет чтение и запись посимвольно.
Теперь мы докажем, что класс конечных преобразований замкнут
относительно композиции.
Теорема 72.
Композиция конечных преобразований является ко-
нечным преобразованием.
Доказательство. Рассмотрим два конечных преобразователя
S1= (
Q1,Σ,∆, δ1, q
1
, F1) и
0
S2= (
Q2,∆,Ω, δ2, q
2
, F2). По лемме 71
0
можно считать, что каждый из них читает и печатает не более одного символа на каждом шаге. Для каждого состояния в соответствующий преобразователь команду конечный преобразовательS= ( произведение преобразователей следующим образом: если
(
q1, q2)
, a →(p1, p2)
, c ∈ δ
. Здесь и далее до конца доказательства
Q1× Q2,Σ,Ω, δ,(q
S1и
S2. Программаδопределяется
q1, a → p1, b ∈ δ1,
q ∈ Q1∪Q2добавим
q, ε → q, ε
1
0
. Построим
2
, q
)
, F1× F2) как
0
q2, b → p2, c ∈ δ2, то
a ∈ Σ ∪{ε }, b ∈ ∆ ∪ {ε }, c ∈ Ω ∪{ε }.
), (
q2, v, ε)`
∗
S
((
p1, p2)
∗
S
2
, ε, w
) тогда и только тогда,
(
p2, ε, w
) для некоторого
Докажем, что ((
когда (
q1, u, ε)`
∗
S
1
q1, q2)
(
p1, ε, v
, u, ε)`
v ∈ ∆∗.
Пусть сначала ((
q1, q2)
, u, ε)`
n S
((
p1, p2)
, ε, w
). Проведём индукцию
по n.
Б а з и с и н д у к ц и и . Еслиn= 0, тоu=ε,w=ε,
q1=
p1,
q2= p2, поэтому можно взять v = ε.
Ш а г и н д у к ц и и . Пусть u = u0a, w = w0c, и пусть
((q1, q2), u0a, ε) `
n
((r1, r2), a, w0) `S((p1, p2), ε, w0c).
S
По индукционному предположению существует слово v0такое, что
(q1, u0, ε) `
(q2, v0, ε) `
∗
(r1, ε, v0),
S
1
∗
(r2, ε, w0).
S
2
162 Глава 3. Свойства регулярных языков
Так как вSесть команда (
r1, r2)
, a →(p1, p2)
, c
, то существует
b ∈
∆ ∪{ε } такое, что r1, a → p1, b ∈ δ1, r2, b → p2, c ∈ δ2. Поэтому
(q1, u0a, ε) `
(q2, v0b, ε) `
Пусть теперь (
q1, u, ε)`
в каждом состоянииqесть команда
∗
(r1, a, v0) `
S
1
∗
(r2, b, w0) `
S
2
∗
(
p1, ε, v
S
1
(p1, ε, v0b),
S
1
(p2, ε, w0c).
S
2
), (
q2, v, ε)`
q, ε → q, ε
∗
(
S
2
p2, ε, w
). Так как
, то можно считать, что эти вычисления «согласованы» в следующем смысле: на каждом шаге преобразователь печатает преобразователь печатаетi-й символ на шаге
j26=j1. Выберем наименьшее из такихi. Если j1− j2команд
чтение символа на тот же такт, когда его печатает то нужно вставить
S2считывает тот же фрагмент словаv, который
S1. Действительно, пусть, например,
j1, а
S2считывает его на шаге
j2, где
j2< j1, то, вставив
q, ε → q, ε
j2− j1команд в вычисление
в вычисление
S2, мы можем «сдвинуть»
S1. Если
j2> j1,
S1. Аналогичным
S
образом можно добиться, чтобы вычисления имели одинаковую длину. Для этого нужно приписать в конец более короткого вычисления несколько команд вида q, ε → q, ε.
Итак, пусть (
q1, u, ε)`
n S
1
(
p1, ε, v
), (
q2, v, ε)`
n S
2
(
p2, ε, w
). Проведём
индукцию по n.
Б а з и с и н д у к ц и и . Еслиn= 0, тоu=ε,v=ε,w=εи
(q1, q2) = (p1, p2).
Ш а г и н д у к ц и и . Пусть v = v0b, и пусть
(q1, u, ε) `
(q2, v0b, ε) `
n+1
(p1, ε, v0b),
S
1
n+1 S
2
(p2, ε, w).
Эти вычисления имеют вид
(q1, u0a, ε) `
(q2, v0b, ε) `
n
(r1, a, v0) `
S
1
n
(r2, b, w0) `
S
2
(p1, ε, v0b),
S
1
(p2, ε, w0c).
S
2
По индукционному предположению
1
((q1, q2), u0, ε) `
∗
((r1, r2), ε, w0).
S
§ 3.3. Конечные преобразователи 163
Так как преобразователи
r2, b → p2, c
, то вSесть команда (
S1и
S2содержат команды
r1, r2)
, a →(p1, p2)
r1, a → p1, b
, c
. Следователь-
но,
1
, ε, v
∗
((r1, r2), a, w0) `S((p1, p2), ε, w0c).
S
L ⊆
Σ∗выполняется
w ∈ S(L
1
q
0
2
), (
q
0
, q
, v, ε)`
). Это значит, что существует
2
)
, u, ε)`
0
∗
1
2
((
q
, q
)
S
∗
2
(
q
, ε, w
S
f
2
, ε, w
f
f
). Поэтому
) и
q
v ∈
∆∗такое,
v ∈ S1(u),
1
f
∈ F1,
((q1, q2), u0a, ε) `
Теперь докажем, что для любого языка
S(L
) =
S2(
S1(L)). Пусть
слово
q
что (
u ∈ L
2
∈ F2. Согласно доказанному выше, существует слово
f
1
q
, u, ε)`
0
такое, что ((
∗
(
q
S
f
1
w ∈ S2(v), а значит, w ∈ S2(S1(u)).
Наоборот, пусть
v ∈ S1(L) такое, что ( S1(L), то существует слово
1
q
∈ F1. По доказанному утверждению ((
f
w ∈ S2(
2
q
, v, ε)`
0
S1(L)). Это значит, что существует слово
∗
S
u ∈ L
2
(
q
, ε, w
f
2
такое, что (
1
q
0
) и
q
f
q
2
, q
)
, u, ε)`∗((
0
2
∈ F2. Так как
1
, u, ε)`
0
∗
S
1
1
q
f
(
, q
q
1
, ε, v
f
2
f
)
, ε, w
v ∈
) и
поэтому w ∈ S(L).
Мы уже видели, что гомоморфные образы и прообразы, а так­же пересечение с регулярными языками являются конечными пре­образованиями. Оказывается, что любое конечное преобразование выражается через эти три операции.
и
),
Теорема 73
(Теорема Нива).Отображение
f :
P(Σ∗)→P(∆∗) яв-
ляется конечным преобразованием тогда и только тогда, когда су­ществует алфавит Ω, регулярный язык
ϕ:
Ω∗→
∆∗,
ψ :
Ω∗→
Σ∗такие, чтоf(L) =ϕ(
R ⊆
Ω∗и гомоморфизмы
ψ−1(L)∩R) для любого
L ⊆ Σ∗.
Доказательство. Гомоморфизмы, прообразы при гомоморфиз­мах и пересечение с регулярными языками являются частными случа­ями конечных преобразований. По теореме 72 их композиция также является конечным преобразованием.
Докажем теорему в другую сторону. ПустьS= (Q,Σ,∆
, δ, q0, F
) —
конечный преобразователь. Определим алфавит Ω как
Ω = {[q, u, v, p] : q, u → p, v ∈ δ }.
164 Глава 3. Свойства регулярных языков
В качестве R возьмём язык
R = { [q0, u0, v0, q1][q1, u1, v1, q2] . . . [q
Слово [
q0, u0, v0, q1][
q1, u1, v1, q2]
. . .[q
n > 0, qn∈ F, qi, ui→ q
n−1
n−1
, u
, u
n−1
n−1
, v
, qn] :
n−1
i+1
, v
, qn] принадлежит
n−1
, vi∈ δ }.
языкуRтогда и только тогда, когда существует вычисление пре­образователяS, в котором последовательно применяются команды
q0, u0→ q1, v0,
. . .,q
n−1
, u
n−1
→ qn, v
. ЯзыкRрегулярный, так
n−1
как он представляется в виде R = Ω+\ (R1∪ R2∪ R3), где
R1= Ω∗{[q1, u1, v1, p1][q2, u2, v2, p2] : p16= q2}Ω∗,
R2= {[q, u, v, p] : q 6= q0}Ω∗,
R3= Ω∗{[q, u, v, p] : p /∈ F }.
Гомоморфизмы ϕ и ψ определим следующим образом:
ϕ([q, u, v, p]) = v, ψ([q, u, v, p]) = u.
Докажем, что S(L) = ϕ(ψ−1(L) ∩R).
Пусть
(
q0, u, ε)`∗(
лении применялись команды Тогда
[
q0, u0, v0, q1]
Так какxпредставляет допускающее вычисление, то
v ∈ S(L
qn, ε, v
u0u1. . . u
. . .[q
), то есть существует слово
) для некоторого
qn∈ F
q0, u0→ q1, v0, . . . , q
=u,
n−1
n−1
, u
n−1
v0v1. . . v
, v
n−1
=v. Обозначим черезxслово
n−1
, qn]. Тогдаψ(x) =uи
u ∈ L
такое, что
. Пусть в этом вычис-
n−1
, u
n−1
→ qn, v
n−1
x ∈ ψ−1(L).
x ∈ R
, поэтому
x ∈ ψ−1(L) ∩R и ϕ(x) ∈ ϕ(ψ−1(L) ∩R), то есть v ∈ ϕ(ψ−1(L) ∩R).
Обратно, пусть ет слово
x
имеет вид [
v0v1. . . v
x ∈ ψ−1(L)
n−1
q0, u0, v0, q1][
=v,
v ∈ ϕ(ψ−1(L)
∩ R
такое, чтоv=ϕ(x). Так как
q1, u1, v1, q2]
qi, ui→ q
i+1
∩ R
, vi∈ δ
). Это значит, что существу-
. . .[q
для 0
, u
n−1
6 i 6 n −
n−1
, v
, qn], причём
n−1
x ∈ R
1. Поэтому
, то
существует вычисление преобразователяS, в котором входом явля­ется слово
u0u1. . . u
, а выходом — слово
n−1
v0v1. . . v
n−1
=v. Так
.
§ 3.3. Конечные преобразователи 165
как
x ∈ ψ−1(L), тоψ(x)
∈ L
, то есть
u0u1. . . u
n−1
∈ L
. Итак, сло­воvявляется переводом слова, принадлежащегоL. Следовательно, v ∈ S(L).
Задачи
130.
Докажите, что еслиL=L(
конечный преобразователь из примера 65.
131.
Постройте детерминированный конечный преобразователь, прибавляющий
единицу в к числу, записанному в троичной системе.
132.
Постройте детерминированный конечный преобразователь, умножающий
на два число, записанное в троичной системе.
133.
Постройте конечные преобразователи, вычисляющие следующие отношения
(входной и выходной алфавиты равны { a, b }):
(а) R1= { (x, y) : x — собственный суффикс y };
(б) R2= { (x, y) : y — подслово x };
(в) R3= { (x, y) : y — подпоследовательность x };
(г) R4= { (x, y) : |x|a= |y|a};
(д) R5= { (x, y) : |x| 6= |y| }.
134.
Входной алфавит равен
Постройте детерминированные конечные преобразователи для следующих задач:
(а)
заменить чётные по счёту символыbнаc(нумерация начинается с едини­цы);
(б) стереть все символы a, стоящие непосредственно после символа b;
(в)
заменить каждый блок символовaилиbна одну соответствующую букву;
(г) вставить cc после каждого блока символов a нечётной длины.
135.
Постройте конечный преобразовательSс входным и выходным алфавитом
{ a, b }
такой, что (
удалением всех блоков символов a чётной длины.
136.
Докажите, что отношение из предыдущей задачи не вычисляется никаким
детерминированным конечным преобразователем.
137.
Докажите, что не существует конечных преобразователей, вычисляющих
следующие отношения:
(а) R1= { (w, w−1) : w ∈ { a, b }∗};
(б) R2= { (w, ww) : w ∈ { a, b }∗};
x, y)∈ R(S
a∗ba∗), то
{ a, b,$}
) тогда и только тогда, когдаyполучается из
S1(L) =L(11001 + 0(00)∗0), где
, символ $ помечает конец входного слова.
S1—
x
166 Глава 3. Свойства регулярных языков
(в) R3= { (an, w) : w — двоичная запись числа n }.
138.
Пусть
f :Σ→
Докажите, что отображение f (L) является конечным преобразованием.
P(∆∗) — подстановка такая, что все языкиf(a) регулярны.
§ 3.4. Свойства замкнутости класса
регулярных языков
Мы уже доказывали, что класс регулярных языков замкнут отно­сительно объединения, пересечения, разности и дополнения. Такие классы языков имеют специальное название.
Оп ределен ие 77.
Класс языков называется б ул е в о й а л г е б ­р о й, если он замкнут относительно объединения, пересечения и дополнения, а также содержит языки ∅ и Σ∗.
Теорема 74. Класс регулярных языков образует булеву алгебру.
Доказательство. Языки∅и Σ∗регулярны, а замкнутость отно- сительно требуемых операций была доказана в следствии 29.
Чтобы можно было говорить о замкнутости некоторого класса языков относительно гомоморфных образов и прообразов, нужно ограничить рассматриваемые алфавиты, так как в противном случае мы придём к множеству всех алфавитов, что аналогично множеству всех множеств. Мы будем считать, что зафиксирован некоторый уни­версальный алфавит Υ, а все рассматриваемые алфавиты являются его подмножествами.
Теорема 75.
Класс регулярных языков замкнут относительно го-
моморфных образов.
Доказательство. Пусть ДКА языкL. Пустьϕ:Σ∗→
∆∗— гомоморфизм. Занумеруем все команды
автоматаM, начиная с единицы. Еслиi-я команда имеет вид иϕ(a) =
b1. . . bk,
k >
0, то в автомат
M
= (Q,Σ
, δ, q0, F
) распознаёт
q, a → p
M0мы добавим новые состояния
§ 3.4. Свойства замкнутости класса регулярных языков 167
i
i
q
, q
1
2
q, b1→ q
, . . . , q
i
и команды
k−1
i
, q
1
1
i
, b2→ q
i
, . . . , q
2
i k−2
, b
k−1
→ q
i k−1
, q
i
k−1
, bk→ p.
Если же ϕ(a) = ε, то добавим в M0команду
q, ε → p.
Начальное состояние и множество заключительных состояний не меняются. Таким образом,
M0= (
Q0,Σ, δ0, q0, F
), где
Q0содержит все
старые состояния из множестваQи новые состояния, определённые выше. Из построения немедленно следует, что если (
(p, ϕ(a)) `
Пустьw=
∗
(q, ε). Докажем, что L(M0) = ϕ(L).
0
M
a1. . . an∈ L,ϕ(w
) =ϕ(
a1)
. . . ϕ(an)
p, a)`M(
∈ ϕ(L
). Автомат
q, ε
), то
M распознаёт слово w:
(q0, a1. . . an) `M(q1, a2. . . an) `M··· `M(q
где
qn∈ F
. Тогда на словеϕ(w) автомат
M0работает следующим
, an) `M(qn, ε),
n−1
образом:
(q0, ϕ(a1) . . . ϕ(an)) `
∗
(q1, ϕ(a2) . . . ϕ(an)) `
0
M
∗
`
··· `
0
M
∗
M
∗
0
M
(q
0
, ϕ(an)) `
n−1
∗
M
Следовательно, ϕ(w) ∈ L(M0).
Пусть теперь некоторого слова следующее утверждение: если при работе фигурация ( словоvтакое, чтоu=ϕ(v) и (
w ∈ L(M0). Нужно доказать, чтоw=ϕ(v) для
v ∈ L
. Пусть (
q0, w)`
∗
(
qf, ε),qf∈ F
0
M
M0наwвстретилась кон-
q, u
), где
q ∈ Q
— «старое» состояние, то существует
q, v)`
∗
M
(
qf, ε
). Проведём обратную
индукцию по номеру конфигурации в последовательности.
Б а з и с и н д у к ц и и . Если q = qf, то v = ε. Ш а г и н д у к ц и и . Рассмотрим конфигурацию (
щуюся последней. Пусть (
q0, u0) — первая конфигурация со «старым»
q, u
), не являю-
(qn, ε).
0
. Докажем
168 Глава 3. Свойства регулярных языков
состоянием, следующая за ( ся, так как заключительное состояние «старое». При переходе из ( в (
q0, u0) автомат
M0считывает некоторое словоα. По построению это
q, u
). Такая конфигурация всегда найдёт-
q, u
слово является гомоморфным образом некоторой буквыa. Значит, в автоматеMесть команда жению существует слово
q, a → q0. По индукционному предполо-
v0такое, что
u0=ϕ(
v0), (
q0, v0)
∗
`
M
(
qf, ε
Пусть v = av0. Тогда (q, v) `M(q0, v0) `M(qf, ε).
Применим доказанное утверждение к начальной конфигурации. Поскольку состояние ϕ(v) = w и (q0, v) `
Теорема 76.
Класс регулярных языков замкнут относительно го-
q0«старое», то существует словоvтакое, что
∗
(qf, ε). Но это и значит, что w ∈ ϕ(L).
M
моморфных прообразов.
Доказательство. Пусть ДКА языкL. Пусть
M
= (Q,Σ
ϕ:
Σ∗→
∆∗— гомоморфизм. В новом автомате
, δ, q0, F, δ0) множество состояний, начальное состояние
M
= (Q,∆
, δ, q0, F
) распознаёт
и множество заключительных состояний не меняются, а програм­ма определяется следующим образом: ко тогда, когда (
q, ϕ(a))`
∗
M
(
p, ε
). В частности, еслиϕ(a) =ε, то
q, a → p ∈ δ0тогда и толь-
q, a → q ∈ δ0для любого состоянияq. Индукцией по длине слова
∗
M
∗
(
p, ε
) тогда и только тогда, когда
0
M
q0, w)`
(
qf, ε
) для некоторого
∗
M
(
qf, ε
0
) тогда и только
qf∈ F
. Но это и
∈ L
, то есть
w
доказывается, что (
(
q, ϕ(w))`
тогда, когда ( значит, что
∗
(
p, ε
M
q0, ϕ(w))`
w ∈ L(M0) тогда и только тогда, когдаϕ(w)
q, w)`
). В частности, (
L(M0) = ϕ−1(L).
Из доказанных утверждений следуют свойства замкнутости отно­сительно конечных преобразований и их обращений.
)
).
Теорема 77.
Класс регулярных языков замкнут относительно ко­нечных преобразований и обратных детерминированных конечных преобразований.
Доказательство. Замкнутость относительно конечных преобра­зований следует из теоремы Нива и замкнутости класса регулярных
§ 3.4. Свойства замкнутости класса регулярных языков 169
языков относительно пересечения, гомоморфных образов и прообра­зов (следствие 29, теоремы 75 и 76). По лемме 69 всякое обратное детерминированное конечное преобразование является конечным.
Определим ещё один тип классов языков, обладающих различны-
ми свойствами замкнутости.
Оп ределен ие 78.
Класс языковLназывается а б с т р а к т н ы м с е м е й с т в о м я з ы к о в (АСЯ), если он замкнут относительно операций
1) объединения;
2) конкатенации;
3) усечённой итерации;
4) пересечения с регулярными языками;
5) неукорачивающего гомоморфизма;
6) обращения гомоморфизма.
АСЯ называется п о л н ы м, если оно замкнуто относительно
гомоморфизма и итерации.
Так как
L+=
L∗L
, то всякое полное АСЯ является АСЯ, так что
это определение корректно.
Теорема 78. Класс регулярных языков образует полное АСЯ.
Доказательство. Класс регулярных языков замкнут относитель­но объединения и пересечения (следствие 29), конкатенации (лем­ма 41), итерации (лемма 42), гомоморфных образов и прообразов
(теоремы 75 и 76).
Задачи
139. Докажите, что класс регулярных языков замкнут относительно операций
170 Глава 3. Свойства регулярных языков
(а) префиксов
(б) суффиксов;
(в) подслов;
(г) подпоследовательностей;
(д) минимума;
(е) максимума;
(з) тасовки;
(и) обращения;
(к) циклического сдвига;
(л) взятия первых половин слов;
(м) квадратного корня;
(н) подстановки.
(ж) левого и правого деления;
140.
Докажите, что для любого регулярного языкаLи любого конечного преоб-
разователя S языки
S−1(L) = { w ∈ Σ∗: S(w) ⊆ L }
и
[−1]
S
(L) = { w ∈ Σ∗: S(w) ∩ L 6= ∅ }
являются регулярными.
ПустьL— произвольный язык. Обозначим через
141.
bin(L
) множество слов в
алфавите { 0, 1 }, представляющих в двоичной системе длины слов из языка L:
bin(L) = { w ∈ { 0, 1 }∗: существует слово u ∈ L такое, что
w является двоичной записью числа |u| }.
Докажите, что если языкLявляется регулярным, то язык
bin(L
) также является
регулярным.
142.
Докажите, что класс регулярных языков не замкнут относительно коммута-
тивного замыкания.
143.
Приведите пример языкаLтакого, чтоLне является рекурсивно перечис-
лимым, а КОММ(L) является регулярным.
144.
Приведите пример языкаLтакого, чтоLне является рекурсивно перечис-
лимым, а L∗является регулярным.
145.
Докажите, что класс регулярных языков является наименьшим АСЯ, содер-
жащим все конечные языки.
146.
Докажите, что класс рекурсивных языков образует АСЯ, но не образует
полное АСЯ.
147.
Докажите, что класс КЗ-языков образует АСЯ, но не образует полное АСЯ.
148.
Докажите, что класс рекурсивно перечислимых языков образует полное
АСЯ.
149.
Докажите, что для любогоnсуществует ДКА сnсостояниями такой, что
любой ДКА для языка L(M )−1имеет не менее 2
n−2
состояний.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]