Академический Документы
Профессиональный Документы
Культура Документы
1
Регулярная грамматика Эквивалентность регулярных
Gramatică regulată грамматик и конечных автоматов
Регулярные грамматики могут содержать либо Def: Регулярная грамматика G эквивалентна
лево-регулярные правила, либо право-регулярные – конечному автомату КА, если L(G)=L(КА).
Teorema GF: Для любой регулярной
но не оба вида одновременно.
грамматики можно построить эквивалентный
Следующая грамматика не является регулярной: конечный автомат.
G=(VT, VN , P, S), VT = a,b, VN = S, C, Алгоритм построения: (1)
P= Дана регулярная грамматика G = (VN, VT, P, S).
1. S→Ac
Построить КА = (Σ, Q, q0, δ, F), на основе
2. C→bS
3.S→ a данной грамматики.
4.C→b
. 5 7
Эквивалентность регулярных
грамматик и конечных автоматов
Алгоритм построения: (2)
Эквивалентность Элементы автомата определяются так:
Регулярных Грамматик и 1. Входной алфавит: ∑ = VT
2. Множества состояний: Q = VN U { X }, X – новый символ,
2
Sarcini // Задания Sarcini // Задания (rezolvare)
Грамматика КА = (Σ , Q, q0, F, δ),
Să se construiască automatele finite echivalente pentru G=(VN, VT, P, S), Σ = VT={0, 1},
următoarea gramatică: VN={S, A}, VT={0, 1}, Q= VN ={S, A} U { X }={S, A, X},
P={ 1.S → 0S q0=S,
Для следующих грамматиках построить 0
2.S → 1A F = { X },
эквивалентныи КА δ= P
3.S → 0 S=q0
G=(VN, VT, P, S), VN={S, A}, VT={0, 1}, 4.A → 0S
1
δ : δ(S,0)={S} 0 1
P={ 1.S → 0S 5.A → 1A δ(S, 1)={A }
A
6.A → 0 } δ(S, 0)={X}
2.S → 1A порождение слов: 01100 δ(A,0)={S} 0
0
3.S → 0 S → (1) 0S → (2) 01A → (5) 011A δ(A,1)={A}
δ(A,0)={X} X
→ (4)0110S → (3) 01100
4.A → 0S вычисления конфигураций
5.A → 1A (S, 01100) |- (S,1100) |- (A,100) |-
6.A → 0 } |- (A, 00) |- (S,0) |- (X, )
9 11
3
Эквивалентность конечных автоматов и
регулярных грамматик
Sarcini // Задания
Să se construiască gramatica regulată echivalentă pentru
Def: Регулярная грамматика G эквивалентна următorul automat finit:
конечному автомату КА, если L(G)=L(КА).
Teorema GF: Для любого конечного автомата можно Дан КА = (Σ, Q, q0, δ, F), Σ = {a, b, c}, Q = {q0, q1, q2},
Построить эквивалентную регулярную грамматику. F = {q2}, функция перехода δ: δ(q0, a)={q0,q2},
Алгоритм построения: (1) δ(q0,b)={q0, q1}, δ(q1,b)={q2}, δ(q2,c)={q2, q1}.
Дан конечный автомат КА = (Σ, Q, q0, δ, F). Построить регулярную грамматику
Построить регулярную грамматику G = (VN, VT, P, S).
на основе данного конечного автоматаю
a c
a
q0 b q2
b
q1
b c
13 15
4
Эквивалентность конечных автоматов и
регулярных грамматик
Для двух слов, принятых конечным автоматом,
доказать что путем вычисления производных
порождение этих слов и регулярной грамматики.
Конфигурацией (configurația cuvântului )
(q0, ababbcb ) |— (q0, babbcb) |— (q0, abbcb) |—
(q0, bbcb) |— (q1, bcb) |— (q2, cb) |— (q1, b) |—
(q2, b) |— (q2, )
Порождение слов (generarea cuvântului)
q0 aq0 abq0 abaq0 ababq1 ababbq2
ababbcq1 ababbcb
17
Întrebări ?
18