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

§ 1.1. Основные определения 11
П у с т о е слово — это слово длины 0, то есть слово с пустой
областью определения. Пустое слово обозначается ε.
Говоря неформально, слово в алфавите Σ — это конечная последовательность символов из Σ. Пустое слово — это пустая последовательность. Слово
w :[1, n]→
Σ записывают в видеw(1)w(2)
. . . w(n
Множество всех слов в алфавите Σ обозначается Σ∗. Множество всех
непустых слов в алфавите Σ обозначается Σ+. Если
|w|
= 1, то мы
будем отождествлять словоwи символw(1). Поэтому, например,
Σ+\ Σ обозначает множество всех слов длины два и более.
).
Оп ределен ие 3.
Σ — это мощность множества
Ч и с л о с и м в о л о в
{i ∈[1, n
] :w(i) =
a ∈
Σ в слове
w :[1, n]→
a }
. Число символов
a в слове w обозначается |w|a.
Пр име р 1.
такое, чтоw(1) =w(2) =w(5) =a,w(3) =w(4) =b. Тогдаw— слово длины
5. Мы записываем словоwвиде
a и два символа b, поэтому |aabba|a= 3, |aabba|b= 2.
Слово
w(1) = w(2) = w(3) = a. Для этого слова |aaa|a= 3, |aaa|b= 0.
Пусть Σ =
aaa
определяется как отображение
{a, b }
. Пусть задано отображение
aabba
. Слово
aabba
содержит три символа
w0:[1,3]→
w :[1,5]→
Σ такое, что
Σ
Равенство словuиvзаписывается какu=v. Иногда вместо
символа = используется символ
=◦
чтобы подчеркнуть, что речь
именно о графическом совпадении строк. Мы используем символ =,
так как равенство слов — это просто равенство функций, то есть
множеств.
Оп ределен ие 4.
и
v :[1, n]→
Σ называется слово
К о н к а т е н а ц и е й двух словu:[1
w :[1, m+n]→
Σ, определяемое
, m]→
Σ
следующим образом:
(
w(i) =
u(i) при i 6 |u|
v(i − |u|) при |u| < i 6 |u| + |v|.
Конкатенация словuиvобозначается
определению |uv| = |u| + |v|.
u · v
или простоuv. По

12 Глава 1. Формальные грамматики и языки
Теорема 1. Операция конкатенации слов ассоциативна.
Доказательство. Пустьu,vиw— произвольные слова в ал-
фавите Σ. Области определения обоих слов равны [1
Поэтому остаётся проверить, что для любого 1
, |u|+|v|+|w|
6 i 6 |u|+|v|+|w|
имеет место ((uv)w)(i) = (u(vw))(i). Найдём ((uv)w)(i).
(
((uv)w)(i) =
(uv)(i) при i 6 |uv|
w(i − |uv|) при i > |uv|
=
u(i) при i 6 |u|, i 6 |uv|
=
v(i − |v|) при i > |u|, i 6 |uv|
w(i − |uv|) при i > |uv|
=
u(i) при i 6 |u|
=
v(i − |v|) при |u| < i 6 |uv|
w(i − |uv|) при i > |uv|
Раскрывая точно так же (u(vw))(i), убеждаемся, что получается то
же самое выражение (задача 1).
Поскольку конкатенация ассоциативна, вместо (uv)wилиu(vw)
будем писать
uvw
. Из определения конкатенации сразу получаем, что
для любого словаwимеет местоwε=εw=w. Отсюда и из теоремы 1
получаем следующий результат.
].
Теорема 2.
Множество всех слов в произвольном алфавите с опе-
рацией конкатенации образует моноид.
Очевидно, что конкатенация некоммутативна. Например, если
взять Σ =
{a, b },u=a,v=b
, то
uv 6=vu
. Поэтому моноид всех слов
некоммутативен.
Как и любом моноиде, определяется с т е п е н ь слова. Так как ней-
тральным элементом моноида Σ∗являетсяε, то
w0=ε,
i+1
w
=
wiw
Поскольку Σ∗— моноид, то для любыхi,jвыполняются равенства
wiw = wwiи wiwj= wjwi= w
i+j
.
.

§ 1.1. Основные определения 13
Оп ределен ие 5.
если существует словоwтакое, чтоv=uw. Если
Словоuназывается п р е ф и к с о м словаv,
w 6=ε
, то префикс
называется с о б с т в е н н ы м.
Словоuназывается с у ф ф и к с о м словаv, если существует
словоwтакое, чтоv=wu. Если
w 6=ε
, то суффикс называется
с о б с т в е н н ы м .
Словоuназывается п о д с л о в о м словаv, если существуют
словаxиyтакие, чтоv=
xuy
. Если
xy 6=ε
, то подслово называется
с о б с т в е н н ы м .
Одно и то же подслово может встречаться в слове несколько раз,
так, например, в слове
ababb
есть два подсловаabи три подсловаb.
Это неформальное понятие уточняется следующим образом.
Оп ределен ие 6.
н и е словаuв словоvв позицииi— это тройка (
Пустьuиv— слова в алфавите Σ. В х о ж д е -
v, i, |u|
) такая, что
v = xuy для некоторых x, y ∈ Σ∗, где |x| = i − 1.
Во вхождении (
v, i, j
) числоiзадаёт начальную позицию подслова,
а числоj— его длину. Если словоuимеет длину 1 иu(1) =a, то будем
говорить о вхождении символаaв словоvв позицииi. Для удобства
при записи вхождения словаuв словоvмы будем подчёркивать
соответствующее вхождение.
Пр име р 2.
(
ababb,3,
лаbв слово
записать в виде
ababb.
Оп ределен ие 7.
н о с т ь ю словаv=
Вхождениями словаabв слово
2). Их можно записать в виде
ababb
будут (
ababb,ababbиababb
ababb,2,
1), (
. У слова
Словоuназывается п о д п о с л е д о в а т е л ь -
a1a2. . . an, еслиv=
ababb
ababbиababb
ababb,4,
a
i
1) и (
baa
a
i
1
являются (
. Вхождениями симво-
ababb,5,
нет вхождений в слово
. . . a
i
2
k
ababb,1,
1). Их можно
для некоторых
2) и
i1, i2, . . . , ikтаких, что 1 6 i1< i2< · ·· < ik6 n.
Подпоследовательность отличается от подслова тем, что её симво-
лы не обязательно стоят в слове u рядом.

14 Глава 1. Формальные грамматики и языки
Оп ределен ие 8.
ся словоu:[1
, n]→
О б р а щ е н и е м слова
w :[1, n]→
Σ называет-
Σ, определяемое соотношениемu(i) =w(
n−i
+1).
Обращение слова w обозначается w−1.
В следующей теореме сформулированы некоторые свойства опре-
делённых выше операций.
Теорема 3. Для любых слов выполняются следующие свойства:
1) |w| = |w−1|;
2) (w−1)−1= w;
3) (uv)−1= v−1u−1;
4) если u — префикс v, то u−1— суффикс v−1;
5) если u — суффикс v, то u−1— префикс v−1.
Доказательство. Свойство 1) выполняется по определению обра-
щения. Доказательство остальных свойств аналогично доказательству
теоремы 1 (задача 6).
Теперь определим понятие формального языка.
Оп ределен ие 9.
Я з ы к в алфавите Σ — это произвольное мно-
жество слов в алфавите Σ.
Теорема 4.
алфавите Σ существует ℵ0слов и 2
Доказательство. Пусть Σ =
Назовём весом слова w = a
Пусть Σ — конечный или счётный алфавит. Тогда в
ℵ
0
языков.
a
. . . a
i
i
1
2
c(w) =
{a1, . . . , an}
число
i
k
k
X
ij.
j=1
или Σ =
{a1, a2, . . . }
Тогда для любого натурального числаmсуществует лишь конечное
число слов весаm. Упорядочим все слова в алфавите Σ по весу, а
слова равного веса — лексикографически. Тогда взаимно-однозначное
отображение натуральных чисел на Σ∗задаётся следующим образом:
f(i) = i-е слово в описанном упорядочении.
.

§ 1.2. Операции над языками 15
Множество всех языков в алфавите Σ — это множество P(Σ∗), поэтому
ℵ
его мощность равна 2
0
.
Задачи
1. Завершите доказательство теоремы 1.
2.
Докажите, что моноид всех слов в алфавите Σ является моноидом с сокраще-
нием, то есть что из равенства uw = vw следует равенство u = v.
3.
Найдите все префиксы, суффиксы, подслова и подпоследовательности словε,
a, aabba в алфавите { a, b }.
4. Найдите все вхождения подслов ε, aa и bba в слово abbaaaabbaaab
5. Докажите, что |wi| = i|w| для любого i > 0.
6. Докажите теорему 3.
7.
С в е р х с л о в о в алфавите Σ — это отображение
ная последовательность символов из Σ. Докажите, что если Σ — конечный или
счётный алфавит, то существует ровно 2
ℵ
0
сверхслов в алфавите Σ.
w : ω →
Σ, то есть бесконеч-
§ 1.2. Операции над языками
Так как языки — множества, для них определены все теоретикомножественные операции: объединение, пересечение, разность, дополнение и др. Отметим только, что в случае дополнения роль универсума играет множество Σ∗, так что L = Σ∗\ L.
Определим некоторые специфические операции над языками.
Оп ределен ие 10.
К о н к а т е н а ц и е й языков
L1и
L2в алфа-
вите Σ называется язык
L = { w1w2∈ Σ∗: w1∈ L1, w2∈ L2}.
Как и конкатенация слов, конкатенация языков обозначается
или L1L2.
Пр име р 3.
язык L1· L2= {a, ab, aaa, abb, abaa }.
Конкатенацией языков
L1=
{a, ab }иL2=
{ε, b, aa }
Как и слова, языки с операцией · образуют моноид.
L1·L
2
является

16 Глава 1. Формальные грамматики и языки
Теорема 5.
Множество языков в произвольном алфавите с опера-
цией конкатенации образует моноид.
Доказательство. Легко видеть, что для любогоLвыполняется
L · {ε }={ε } · L=L
, поэтому язык
{ε }
является нейтральным
элементом. Остаётся доказать, что конкатенация языков ассоциативна. Пусть
L1,
L2,
L3— произвольные три языка. Докажем, что
(L1L2)L3= L1(L2L3).
Пусть
чтоwможно представить в видеw=xy, где
гично получаемx=uv, где
конкатенации
ция на словах ассоциативна, тоu(vy) = (uv)y=wи
w ∈(L1L2)
L3. По определению конкатенации это значит,
vy ∈ L2L3иu(vy)
u ∈ L1,
∈ L1(
x ∈ L1L2,
y ∈ L3. Анало-
v ∈ L2. Но тогда по определению
L2L3). А поскольку конкатена-
w ∈ L1(
L2L3).
Доказательство в другую сторону аналогично.
Поскольку Σ∗является моноидом, то можно обычным образом
определить с т е п е н ь языка:
L0=
моноиде, выполняются тождества
{ε },L
LiL=LLiи
i+1
=
LiL
. Как и в любом
LiLj=
LjLi=
i+j
L
для всех i и j.
Оп ределен ие 11. И т е р а ц и е й языка L называется язык
∞
[
L∗=
Li= {w1w2. . . wk: k > 0, wi∈ L }.
i=0
Ус е ч ё н н о й и т е р а ц и е й языка L называется язык
L+= LL∗.
Итерация языкаL— это множество всех слов, которые можно
получить конкатенацией произвольной последовательности слов из
языкаL, включая пустую последовательность. Усечённая итерация
языка отличается тем, что пустая последовательность исключается
(
L+всё равно может содержать пустое слово). Непосредственно из
определения следует, что итерация любого языка непуста, так как
ε ∈ L0⊆ L∗.

§ 1.2. Операции над языками 17
Пр име р 4.
L∗, так как оно является конкатенацией трёх слов изL:
Слово
w2=
во
w3=
слов из L.
Теорема 6.
ПустьL=
baa
также принадлежит
baaba
не принадлежит
Язык
{ab, baa }
. Слово
L∗, так как оно не является конкатенацией
w1=
abbaaab
L∗, поскольку оно принадлежитL. Сло-
принадлежит языку
w1=
ab·baa·ab ∈ L3.
L∗конечен тогда и только тогда, когдаL=
∅
или L = {ε }.
Доказательство. Легко видеть, что
∅∗=
{ε }∗=
{ε }
. Докажем
утверждение в обратную сторону. Предположим, что языкLсодержит
непустое словоw. Тогда
Поэтому при
i 6=j |wi| 6=|wj|иwi6=wj. Все слова
wi∈ L∗для всех
i ∈ ω
. Но
|wi|=i|w|
wiпопарно
различны, значит, итерация бесконечна.
В следующей теореме сформулированы основные свойства опера-
ций над языками.
Теорема 7.
1) L1∪ L2= L2∪ L1;
2)(L1∪L2)
3)(L1· L2)
4) L1· (L2∪ L3) =
5) (L1∪ L2) ·L3=
6) L ∪ ∅ = ∅ ∪ L = L;
Для любых языков выполняются следующие тождества:
7) L · ∅ = ∅ · L = ∅;
∪L3=
· L3=
L1∪(L2∪L3);
L1·(L2· L3);
8) (L∗)∗= L∗;
9) L∗L∗= L∗;
10) LL∗= L∗L;
= (L1· L2) ∪(L1· L3);
= (L1· L3) ∪(L2· L3);
11) L∗L ∪ {ε} = L∗;
12) (L1∪ L2)∗= (L
13) ∅∗= {ε}∗= {ε};
14) (L1∪ L
∗
)∗= (L1∪ L2)∗.
2
∗
∗
L
)∗;
1
2
.
Доказательство. Докажем для примера включение
L∗. По определению
w ∈ L∗L
y ∈ L
. Его можно представить в видеw=
. Из
x ∈ L∗следует, что
xy ∈ LiL, поэтому w ∈ L
ε ∈ L∗, поэтому рассмотрим непустое слово
xy
так, что
x ∈ Liдля некоторогоi. Следовательно,
i+1
и w ∈ L∗.
L∗L∪{ ε } ⊆
x ∈ L∗,

18 Глава 1. Формальные грамматики и языки
Теорема 8.
с операциями объединения и конкатенации образует ассоциативное
идемпотентное полукольцо с единицей без делителей нуля. Нейтральным элементом относительно∪является∅, нейтральным элементом
относительно · является { ε }.
Доказательство. Все аксиомы полукольца сформулированы
в теореме 7. Докажем отсутствие делителей нуля. Если
L26=∅
L1L26= ∅.
Оп ределен ие 12.
ϕ:
двух слов x и y имеет место равенство ϕ(xy) = ϕ(x)ϕ(y).
гомоморфизм моноида Σ∗в моноид ∆∗.
Ле мма 9. Если ϕ — гомоморфизм, то ϕ(ε) = ε.
Доказательство. По определению гомоморфизма
, то существуют слова
Σ∗→
Таким образом, гомоморфизм, заданный на словах, — это обычный
Множество всех языков в произвольном алфавите Σ
L16=∅
x ∈ L1и
Пусть Σ и ∆ — два алфавита. Отображение
∆∗называется г о м о м о р ф и з м о м, если для любых
ϕ(ε) = ϕ(εε) = ϕ(ε)ϕ(ε),
y ∈ L2. Тогда
xy ∈ L1L2и
и
откуда ϕ(ε) = ε.
Нетрудно видеть, что гомоморфизмϕ:Σ∗→
деляется своими значениями на символах из Σ. Действительно, если
w = a1a2. . . an, то ϕ(w) = ϕ(a1)ϕ(a2) . . . ϕ(an).
Введём два частных случая гомоморфизма. Первый тип — гомо-
морфизм, не удаляющий символов.
Оп ределен ие 13.
у к о р а ч и в а ю щ и м, если ϕ(a) 6= ε для любого a ∈ Σ.
Еслиϕ— неукорачивающий гомоморфизм, то
любого слова w, что и объясняет название.
Второй тип — гомоморфизм, который удаляет некоторые символы,
оставляя остальные без изменения.
Гомоморфизм
ϕ:
Σ∗→
∆∗полностью опре-
∆∗называется н е -
|w| 6 |ϕ(w)|
для

§ 1.2. Операции над языками 19
Оп ределен ие 14.
е к ц и е й, если ϕ(a) ∈ { a, ε } для любого a ∈ Σ.
Если ∆ =
алфавита Σ на алфавит ∆.
Ле мма 10.
позиции неукорачивающего гомоморфизма и проекции.
Доказательство. Пустьϕ:Σ∗→
физм. Пусть Ω =
ψ : Σ∗→ Ω∗и χ : Ω∗→ ∆∗следующим образом:
Непосредственно проверяется, чтоϕ(a) =χ(ψ(a)) для всех
Как и для произвольных отображений, для гомоморфизма вво-
дятся понятия образа и прообраза.
Оп ределен ие 15.
физм.
О б р а з о м языка
состоящий из образов всех слов языка L:
{a ∈
Любой гомоморфизм можно представить в виде супер-
Гомоморфизмϕ:Σ∗→
Σ :ϕ(a)6=
{a ∈
Σ :ϕ(a)6=
ψ(a) = a, если ϕ(a) 6= ε,
ψ(a) = ε, если ϕ(a) = ε,
χ(a) = ϕ(a) для всех a ∈ Ω.
Пустьϕ:Σ∗→
L ⊆
Σ∗при гомоморфизмеϕназывается язык,
ε }
, тоϕназывается проекцией
∆∗— произвольный гомомор-
ε }
. Определим два гомоморфизма
∆∗— произвольный гомомор-
∆∗называется п р о -
a ∈
Σ.
ϕ(L) = {ϕ(w) : w ∈ L }.
П р о о б р а з о м языка
язык, состоящий из слов, образы которых принадлежат L:
ϕ−1(L) = {w ∈ Σ∗: ϕ(w) ∈ L }.
Теперь определим одну весьма общую операцию, называемую
подстановкой.
Оп ределен ие 16.
с т а н о в к а — это отображение f : Σ → P(∆∗).
L ⊆
∆∗при гомоморфизмеϕназывается
Пусть Σ и ∆ — некоторые алфавиты. П о д -

20 Глава 1. Формальные грамматики и языки
Подстановкаfпродолжается на множество Σ∗следующим обра-
зом:
1) f(ε) = {ε };
2) f(xa) = f (x)f (a) для всех x ∈ Σ∗, a ∈ Σ.
ЕслиL— язык в алфавите Σ, то черезf(L) обозначается мно-
жество
f(L) =
[
f(w).
w∈L
При подстановке языков
L1, . . . , Lnвместо символов
a1, . . . , a
символ aiзаменяется на всевозможные слова из языка Li, поэтому
f(L) = {w
i
1
. . . w
: a
i
. . . a
i
1
k
i
k
∈ L, w
∈ L
i
j
для 1 6 j 6 k }.
i
j
Некоторые из рассмотренных ранее операций могут быть выраже-
ны через подстановку.
Ле мма 11.
Операции объединения, конкатенации, итерации и го-
моморфизма являются частными случаями подстановки.
Доказательство. ЕслиL=
{a, b },f(a
) =
L1,f(b) =
L2, то
f(L) = L1∪ L2.
Если L = {ab }, f(a) = L1, f (b) = L2, то f (L) = L1L2.
Если L = {ai: i > 0 }, f(a) = L1, то f (L) = L
Если
ϕ: {a1, . . . , an}∗→
Σ∗— гомоморфизм,f(
∗
.
1
ai) ={ϕ(
ai)}, то
f(L1) = ϕ(L1).
Многие операции определённые на словах, могут быть перенесены
и на языки.
Оп ределен ие 17.
ПОДПОСЛ(L
) и
Через
ПРЕФ(L),СУФ(L),ПОДСЛ(L
L−1обозначается множество всех префиксов,
суффиксов, подслов, подпоследовательностей и обращений слов
n
),
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
