Лекция Тақырыбы: Алфавиттер, тізбектер және тілдер


Лекция 8. Тақырыбы: Шекті автоматтарды минимизациялау



бет4/13
Дата14.06.2016
өлшемі1.44 Mb.
#135164
түріЛекция
1   2   3   4   5   6   7   8   9   ...   13

Лекция 8.

Тақырыбы: Шекті автоматтарды минимизациялау

1. Шекті автоматтарды минимизациялау этаптары

2. Мысал қарастыру
1. Шекті автоматтарды минимизациялау этаптары


  • Алдымен біз х барлық “қол жетпейтін” (недостижимое ) жағдайлардың барлығын жойып тастаймыз

  • Сосын орындала алатын (қол жететін ) жағдайлардың барлығын айыра алатын (ұқсас неразличимые) жағдайлардың эквивалентті класстарына бөлеміз эквивалентті автоматтарды анықтай алатындығымызды ескеріп, олардың ең ықшамдысын табу үйрену дұрыс болар еді ең ықшам шекті автоматты табу процесін бейнелеу үшін келесі анықтаманы ендіреміз:

  • АНЫҚТАМА. Егер б(S,W) аяқтаушы жағдай, ал б(t,w) аяқтаушы жағдай емес, немесе керісінше, б(S,W) аяқтаушы жағдай емес, ал б(t,w) –аяқтаушы жағдай боп табылатындай енуші W тізбек бар болатын болса, онда W қатары S және t жағдайларын ажыратады деп айтатын боламыз

  • Егер қайсыбір W қатары t1 және t2 жағдайларын ажырататын болса, t1=б (q1,a) және t2= б (q2,a), онда aW қатары q1 және q2 ажырататыны айқын.

  • Енді шекті автоматтарды минимизациялау процесін бейнелеуге өтеміз.

Біз барлық “ қол жетпейтін “ жағдайларды тауып және оларды жоюдан бастаймыз. Бұдан соң, біз автоматтың жағдайлар жиынын сондай бөлуді табуымыз керек, сонда әрбір ішкі жиын айрылмайтын жағдайларға ие болсын, яғни егер S және T қайсібір ішкі жиынға тиісті болса, онда барлық а € ∑ үшін б(s,t) және б(t,a )да осы ішкі жиынға тиісті болады.

Бұл үшін жағдайлар жиынын 2 ішкі жиынға бөлеміз: F және S-F. Әрі қарай, әрбір ішкі жиынды жоғарыда көрсетілген шартты орындай отырып әрбір ішкі жиынды бөлуге тырысамыз. Егер жағдайлар жиынын бөле алмайтындай ситуация туындаса, онда бөлу процесін аяқтаймыз.

Нәтижеде S1, …, Sk жағдайлар жиындарының қайсібір жиынтығын аламыз. Si - ң әрбірі тек ажыратылмайтын жағдайларға ие болады.

Ең соңында минимизацияланған автоматтың жағдайлар жиынына Si жиындарының әрқайсысының бір-бір элементінен енгіземіз. Осымен процесс аяқталады.


2. Мысал қарастыру

Суретте көрсетілген автоматты минимизациялау процессін қарастырайық. Алдымен, “қол жетпейтін” жағдайларды жоямыз. Біздің жағдайда F-ке “қол жетпейтіні” көрініп тұр, сондықтан ол минимизацияланған автоматқа енбейді. Бұдан соң автоматтың жағдайлар жиынын эквивалент класстарға бөлеміз.



  1. E, ABCD

  2. E,ABC, D, өйткені б(D,b)=E

  3. E, AC, B, D, өйткені б(B,b)=D

О
а


сылайша А және С жағдайлары ажыратылмайтындар. Сондықтан, келесі автоматты аламыз.




Лекция 9.

Тақырыбы: Магазинді автомат





  1. Магазинді автоматтар

  2. Детерминирлі магазинді автоматтар

1. Магазинді автоматтарды магазиндік жадысы бар автоматтар не МП автоматтар депте атайды. Ол формольді түрде былай анықталады:

Анықтама. МП- автомат Р═(Q, ∑‚ Г, , q0, Z0,F) жетілігімен анықталады. Мұндағы:

-Q- жағдайлардың шекті жиыны.

-∑- шекті енуші алфавит.

-Г- магазиндік символдардың шекті алфавиті.

-- ауысу функциясы, Q х (∑U{е})х Г жиынның QxГ * жиынының ішкі жиыныдарында бейнеленуі.

- q0 €Q- басқару құрылғысының бастапқы жағдайы.

- Z0 €Г- бастапқы моментте магазинде орналасқан символ (бастапқы символ)

- F Q- аяқтаушы символдар жиыны.



Анықтама. МП –автоматтың Р конфигурациясы деп мына үштік айтылады.

(q, ω,a) € QxΣ*хГ*, мұнда q –басқару құрылғысының ағымдағы жағдайы, ω-енушітізбектің пайдаланылмаған бөлігі.(Егер ω=, онда барлық енуші тізбек оқылған деп есептелінеді), а-магазин мәні (а-тізбегінің сол жақ бірінші символы магазиннің жоғарғы символы деп саналады; егер а= болса, онда магазин бос деп есептеледі.).

МП – автомат әр қадамда магазинге қайсы бір мәнді ендіруі, немесе оның жоғарғысынан қайсыбір мәндерді алуы мүмкін. МП-автомат енуші тізбек аяқталған жағдайда өз жұмысын жалғастыруы мүмкін, бірақ магазин бос болып қалса жұмысын жалғастыра алмайды.

МП-автомат пен танылатын тілдер классы, дәлме-дәл КБ- грамматикалармен берілетін тілдер классымен сәйкес түседі. (мұны дәлелдеп отырмаймыз).

МП- автоматтқа мысал

{0n1h I n≥0} тілік танитын МП –автоматтты қарастырамыз.

Айталық P=({ q0, q1, q2 },{0,1},{Z, 0},, q0, Z, {q0} ), мұнда :

 (q0, 0,Z)={(q1, OZ)}

 (q1,0, 0)={(q1, OO)}

 (q1, 1,0)={(q2, )}

 (q2, ,z)={(q0,, )}

Автомат жұмысының енуші тізбектен бастапқы нольдерді магазинге көшіру және бұдан кейінгі әрбір оқылған бірлікке магазиннен бір-бір нольден алып тастап отырудан тұрады.


2. Детерминирлі МП-автоматтар.

МП-автоматтардың айтарлықтай бір кемшілігі бар - олар табиғатынан детерминирлі емес. Іс жүзінде біз детерминирлі автоматтармен жұмыс істеуді қалаймыз. Оларда әрбір конфигурацияда такт біреуден артпауы мүмкін:

Анықтама:МП-автомат P=(Q,,,Г,q0,,,Z0,,F) детерминирлі деп аталады, егер әрбір qQ және ZГ үшін келесі бекітімдердің біреуі дұрыс болатын болса:

-(q,a,z)-ң a және (q,e.z)= үшін біреуден артық элемменті жоқ.

-(q,a,z)-ң барлық а және (q,e,z)үшін біреуден артық элемменті жоқ.

Өкінішке орай,дитирмирирлі МП-автоматтар барлық КБ-тілдер классының ішкі жиынын ғана бейнелейді. Ол ішкі жиын детерминирлі КБ -тілдері деп аталады. Бұл тілдер классын LR(k)-грамматикалар деп те атайды, өйткені олар тізбекті солдан оңға қарай бір мәнді анықталуы мүмкін. Тізбектің алдын К символға дейін ғана қарай алады.

Детерминирлі КБ-тілдер, КБ-тілдердің толық классы сияқты, бұлармен анықталатын тілдің бостығын не берілген тізбектің тілге тиістілігін тексеруге мүмкіндік береді. Бірақ детерминирлі КБ-тілдер кейбір маңызды теориялық-жиындық қассиеттерге ие емес. Мысалы: детерминирлі КБ-тілдер қиылысу, толықтырылып не біріктіруге қатысты тұйықталмаған.

Бұған қарамастан, компиляция әдісі тұрғысыннан алғанда, LR(k)-грамматикалар классы үлкен маңызға ие. Өйткені, синтаксистік айқындау (разбор) құралдары осы грамматикаларға негізделген.





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   13




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет