1. Детерминирлі шекті автоматқа мысалдар қарастыру
2. Детерминирлі емес шекті автоматтар
1. Мысалдар:
1. Айталыќ детерминирлі шекті автомат былай берілсін::
ША = (Q,, , qa F)
Q = { S, A, B, qf}, = {0.1}
= {SO qf, SO A, A1B, BO qf , BO A}
Ауысу диаграммасы былай бейнеленеді.
1. БНФ формасында берілген жєне ДША т‰рінде берілген идентификатор ±ѓымын ќарастырайыќ
<идент>:: = <єріп> <идент> :: = <идент><єріп><идент> ::= <идент><цифр><єріп>:: = ab:.. = <цифр> ::= <єріп><цифр>
:
|
1
|
2
|
3
|
<әріп>
|
2
|
2
|
-
|
<цфр>
|
4
|
2
|
-
|
<соңы>
|
4
|
3
|
-
|
<әйтпесе>
|
4
|
-
|
-
| Матрица қатарлары енуші символдар, бағандары автомат жағдайы.
Бұл матрицаның кейбір элементері- артық. Дәлірек 3-баған тіпті керегі жоқ. Мұндай “артық” жағдайлар қателер тексеру (диагностикасы үшін) қызмет етуї мүмкін. Енуші алфавит-бұл автомат қабылдай алатын объект. Автомат оларды өзара ажыратуға айталық, әріппен цифрларды айыруы міндетті емес.
2. Арифметикалық өрнек (жақшасыз)
: : =/<идент>: :=: :=+\ -\ *\ / : <цфр>: :=<цфр>
2. Детерминирлі емес шекті автоматтар
Теорема:Егер қайсы бір детерминерлі емес М шекті автоматты үшін L=L(M),онда қайсыбір М’ детерминерлі автоматы үшін L=L(M’)болады.
Бұл теорема М’детерминерлі автоматын құрудың жалпы алгоритімін көрсету жолмен дәлелденеді. Бұл жалпы алгоритм М тілін де анықтайды.
Айталық М=(Q, q0,F) онда біз М’=(Q’,,’,q0’,F’)былайша анықтаймыз :
- Q’ M автоматының жағдайлар жиынымен сәйкес келеді.
- q0’=q0
- F’=
- барлық үшін, мұнда да қайсыбір үшін р бар болады}.
М’-ң М беретін тілі беретінін көрсетуге болады. Осылайша, детерминерлі және детерминерлі емес шекті автоматтар мен берілетін тілдер класы толық сәйкес келеді. Детерминерлі шекті автоматтар ыңғайлы болғандықтан,тек соларды қарастыратын боламыз.
Лекция 11 Тақырыбы: Шекті автоматтардың эквиваленттілігі.
1. Эквиваленттілік анықтамсы
2. Жағдайлар жиынын эквивалент класстарға бөлетін алгоритм
1. АНЫҚТАМА. екі автоматты эквивалентті деп аталады, егер олар ∑ алфавиті үстіндегі бір, және сол бір тілді ғана танитын болса.
АНЫҚТАМА. екі жағдай эквивалентті деп аталады, егер үшін
орындалса.
Егер екі жағдай эквивалентті болатын болса үшін жағдайларыда эквивалентті болатыны айқын.
Бұдан бөлек детерминирлігі шекті автоматта б(q,e) ауысуы тек шекті q жағдайы үшін туындауы мүмкін болғандықтан, ешқандай соңғы айақтаушы жағдай. Аяқтаушы емес жағдайға эквивалент бола алмайды.
Осылайша егер біз автоматтардың бастапқы жағдайлары эквивалентті десек, онда басқада эквивалентті жағдайлар жұбын алуымызға болады.
Егер осындай жұптардың біріне аяқтаушы жағдаймен аяқтаушы емес жағдай түсіп қалатын болса онда эквивалентті емес.
2. Жағдайлар жиынын эквивалентті класстарға бөлінетін алгоритімді жазамыз:
(q10,q20) тізімге ендіру ;
тізім =0; (*эквивалентті жиындар жиыны *)
for each(q in Q1+Q2) {{S} ті Тізімге қосу;}
While (тізімге өттетін (qi,qj) жұбы бар )
(qi,qj) жұбын тізімдерінен жою ;
Айталық, А және А1 болатындай жиындар.
If (A!=A')
{A=A+A' ;
for (a frov ∑) {( бqi,a), бqj,a),)-ны
тізімге қосу;
Осылайша, егер q10,q20 эквивалентті болатын болса Q1U Q2 жиынын эквивалентті жағдайлар жиынынан бөліп тастаймыз. Енді бұл жиындардың ешқайсысыда аяқтаушы және аяқтаушы емес жағдайларға ие еместігін тексеру қалды.
Достарыңызбен бөлісу: |