Конечные автоматы
Доказательство. Без ограничения общности можно пред-
положить, что исходный язык задан праволинейной граммати-
кой, не содержащей правил вида A → u,гдеu ∈ Σ
+
.Поло-
жим Q = N , I = {S}, F = {A ∈ N | (A → ε) ∈ P } и
Δ={A, u, B|(A → uB) ∈ P }.
Пример 2.34. Пусть Σ={a, b}. Язык, порождаемый грамма-
тикой S → aa, S → T , T → baT , T → a,распознаётсяконечным
автоматом Q, Σ, Δ,I,F,гдеQ = {S, T, E}, I = {S}, F = {E} и
Δ={S, aa, E, S, ε, T , T,ba,T, T,a,E}.
2.5*. Нормальная форма
праволинейных грамматик
[АхоУль, с. 145], [ГорМол, с. 387–390], [Бра, с. 77–78]
Определение 2.35. Праволинейная грамматика в нормаль-
ной форме (автоматная грамматика, регулярная граммати-
ка) (finite-state grammar) — это праволинейная грамматика, в ко-
торой каждое правило имеет вид A → ε, A → a или A → aB,где
A ∈ N, B ∈ N, a ∈ Σ.
Теорема 2.36. Каждая праволинейная грамматика эквива-
лентна некоторой праволинейной грамматике в нормальной
форме.
Теорема 2.37. Если праволинейный язык не содержит
пустого слова, то он порождается некоторой праволинейной
грамматикой в нормальной форме без ε-правил.
2.6. Детерминированные конечные автоматы
[Гин, 2.1], [Сал, 2.2], [АхоУль, 2.2.3], [ХопМотУль, 2.2], [Гла, 5.1], [ГорМол,
с. 392–395], [СокКушБад, с. 21], [Лал, с. 174–178, 185], [Бра, с. 101–102],
[ГроЛан, 10.2], [ТраБар, 0.1, 0.2, 1.7], [LewPap2, 2.1], [Sip, 1.1, 1.2], [Рей,
с. 44–48], [КукБей, с. 320–327], [АхоСетУль, 3.6]
Определение 2.38. Конечный автомат Q, Σ, Δ,I,F назы-
вается детерминированным (deterministic), если
1) множество I содержит ровно один элемент,
2) для каждого перехода p, x, q∈Δ выполняется равенство
|x| =1,
15