Σ -алфабиті бойынша регуляр өрнек келесідей рекурсивті жолмен анықталады: 0-регуляр өрнек болып табылады; 1- регуляр өрнек болып табылады; егер болса, онда
-регуляр өрнек болады; егер
регуляр өрнек болса, онда (
), (
) және
өрнектері де регуляр өрнектер болады.
Жақшаларды азайту мақсатында, операциясының приоритеті көбейту операциясынан жоғары, ал көбейту амалының приоритеті қосу операциясына қарағанда жоғары деп аламыз. Көбінесе
-тің орнына
деп жазады.
Мысалы: . Онда
–регуляр өрнек болады.
Әрбір е регуляр өрнегі алфабиті бойынша қандай да бір тіл құрады, ол келесідей рекурсивті жболмен анықталады:
1) L(a)⇔{a}, егер болса,
2) L(0)⇔ø,
3) L(1)⇔{e},
4) L(e*f)⇔ ,
5)
АН: L- регуляр тіл деп аталады, егер ол қандай да бір регуляр өрнекпен анықталса.
Ан: е-регуляр өрнек болсын. Онда
1) 2)
3) e+0=e 4)
5) 6)
8)
9)
10) 11)
Лемма: Кез-келген регуляр өрнектері үшін келесі тепе-теңдіктер орындалады:
1)
2)
3)
4)
Лемма: Кез-келген
L тілі регулярлы тіл деп аталады, егерде М автоматы табылып: орындалса. Ақырлы автоматпен қабылданатынбарлық тіл регулярлы.
5. Детерменистік ақырлы автоматтар, олармен қабылданатын тілдер. Конфигурация.Детерминистік автоматпен қабылданатын тіл. Ақырлы автомат (finite automaton,FA) M=(Q,Σ,δ,q0,F) Q——күйлердің бос емес ақырлы жиыны. ∀q∈Q,q-ді M-ның бір күйі деп атаймыз. (state). Σ—— алфавит (Input alphabet). Енгізілген сөздер тізбегі тек Σ дағы cимволдардан алынады. q0——q0∈Q, M-автоматының бастапқы күйі (initial state). δ——күй ауыстыру функциясы (transition function). δ:Q×Σ→Q, ∀(q,a)∈Q×Σ,үшін δ(q,a)=p арқылы :M-автоматының q күйінде тұрып a символын оқып, күйін p-ға ауыстыруды сонымен бірге оңға қарай бір қадам жылжытуды білдіреді. F——F⊆Q, M-ның аяқтау күйлерінің жиынын білдіреді (final state). ∀q∈F, q-ді M-ның тоқтау күйі деп атаймыз немесе қабылдау күйі (accept state). Анықтама: Конфигурация немесе тез бейнелеу(instantaneous description) ақырлы автоматы (Q, Σ, ∆, I, F) деп кез-келген реттелген жұпты (q, ) айтамыз, мұнда q∈Q және
∈
.
Анықтама: Барлық конфигурацияның көбіндегі ақырлы автоматын М бинарлық қатынасты келесідей анықтаймыз. Егер (p, x, q) ∈∆ және
∈
, онда (p, x
)
(q, w)
δ ны толықтыру: : Q×
> Q. Кез-келген q∈Q
∈
∈
үшін (1)
(q,
)= q (2)
(q,
)= δ (
(q,
), a)
(q,
)=
(q,
)= δ (
(q,
), a) = δ(q,
) Кез келген q∈Q, a∈Σ үшін δ(q,a)-нақтылы анықтаған мәні бар болса, онда ондай автоматты Детерминистік ақырлы автомат деп атаймыз M- қабылдайтыаан тіл: ∀x∈Σ*үшін,егер δ(q,w)∈F болса, онда x-ті M-қабылдайды дейміз, ал δ(q,w) ∉F болса, онда M-автоматы x-ті қабылдамайды деп атаймыз. L(M)={x| x∈Σ*әрі δ(q,w)∈F } M-автоматымен қабылданатын тіл. -L(M1)=L(M2)={02n|n≥1} Егер L(M1)=L(M2), онда M1мен M2 автоматтары эквивалент деп аталады. Егер q ден
қа дейін w арқылы жол бар болса, онда оны төмендегідей белгілейміз
(q,
) =
6.Ақырлы детерминистік емес автомат ұғымы. Детерминистік емес автоматпен қабылданатын тіл. Детерминистік емес ақырлы автомат - бұл мына бестіктен тұрады:М=(K, Σ, ∆, s, F) K- ақырлы күйлердің жиыны Σ- алфавит s∈K- бастапқы күй F - ақырлы күйлер жиыны ∆- көшу күйі, K×(Σ
K Анықтама: Конфигурация немесе тез бейнелеу(instantaneous description) ақырлы автоматы (Q, Σ, ∆, I, F) деп кез-келген реттелген жұпты (q,
) айтамыз, мұнда q∈Q және
∈
. Ламбда тасымалы
Орындалады сонда және тек қана сонда егер qi-ден qj -ге дейін w бойынша бір жол
бар болса болады
Әр үштік (q, u, p) ∈∆ М ге көшу деп аталады; Бұл бағыттың формализациясы. Анықталынған детерменистік ақырлы автоматтармен детерменистік емес ақырлы автоматты есептеудiң анықтамасы өте ұқсас. Конфигурация М бұл K× . Конфигурацияның арасындағы жағдай
былай анықталады: (q, w)
(
) сонда және тек сонда ғана, u∈
{e} болған жағдайда, w=u
және (q, u,
) ∈∆. Байқасақ
– міндетті түрде функция емес: кейбір конфигурацияларға (q, w) бірнеше жұп болуы мүмкін (
) немесе ешқандай жұп болмауы мүмкін - (q, w)
(
).
7. Детерминистік емес автоматтар мен детерминистік автоматтардың
Эквиваленттілігі.
L()=L(
)
NFA=DFA?
{NFA қабылдайтын тіл} = {DFA қабылдайтын тіл} Дәлелдейміз: NFA және DFA да бірдей есептеу күші бар 1 КАДАМ: {NFA қабылдайтын тіл} {DFA қабылдайтын тіл}
Дәлел: әрбір DFA-NFA болады, DFA қабылдайтын тілді NFA қабылдайды.
2 ҚАДАМ: {NFA қабылдайтын тіл} ⊆ {DFA қабылдайтын тіл}
Дәлел: кез келген NFA-ны сәйкес пара-пар DFA-ға аударуға болады. NFA қабылдаған тілді DFA қабылдайды.
NFA-дан DFA-ға