Logo hy.boatexistence.com

Ինչու՞ է կարևոր որոշիչ վերջավոր ավտոմատները:

Բովանդակություն:

Ինչու՞ է կարևոր որոշիչ վերջավոր ավտոմատները:
Ինչու՞ է կարևոր որոշիչ վերջավոր ավտոմատները:

Video: Ինչու՞ է կարևոր որոշիչ վերջավոր ավտոմատները:

Video: Ինչու՞ է կարևոր որոշիչ վերջավոր ավտոմատները:
Video: Ernest Ogannesyan - KAREVOR / New 2022 2024, Մայիս
Anonim

Finite ավտոմատները օգտագործվում են համակարգչային լեզվի կոմպիլյատորների մեծամասնության կողմից՝ օգնելու վերլուծել և պատրաստել կոդը իրական օգտագործման համար Բացի այդ, դրանք լայնորեն օգտագործվում են լեզուների մշակման համակարգերում, ներառյալ բնական լեզվի մշակման մեջ:, օգնելու ծրագրերին հասկանալու, թե ինչպես արձագանքել եզակի և բազմազան մուտքերին:

Ինչու՞ մեզ պետք են ոչ որոշիչ վերջավոր ավտոմատներ:

NFA-ի կիրառում

Կարևոր է, քանի որ NFA-ները կարող են օգտագործվել հաշվարկների տեսության մեջ շատ կարևոր հատկություններ հաստատելու համար պահանջվող մաթեմատիկական աշխատանքի բարդությունը նվազեցնելու համար Օրինակ, շատ ավելի հեշտ է ապացուցել սովորական լեզուների փակման հատկությունները, օգտագործելով NFA-ները, քան DFA-ները:

Որո՞նք են DFA-ի առավելությունները:

DFA-ի առավելությունը է, որ մենք կարող ենք հեշտությամբ լրացնել դրանք: s պետություններ; նույն լեզուն ճանաչող NFA-ին անհրաժեշտ են qtp վիճակներ: DFA-ի առավելությունն այն է, որ մենք կարող ենք հեշտությամբ լրացնել դրանք:

Ո՞ր լեզուն է ընդունվում DFA-ի կողմից:

A լեզուն L ընդունվում է DFA-ի կողմից, եթե և միայն այն դեպքում, եթե L={ w | (q0, w) A }: Այսինքն՝ DFA-ի կողմից ընդունված լեզուն տողերի հավաքածուն է, որն ընդունվում է DFA-ի կողմից:

DFA-ն ավելի արագ է, քան NFA:

Եթե անհրաժեշտ է DFA, գոյություն ունեն ալգորիթմներ (ա) NFA-ը համարժեք DFA-ի փոխակերպելու և (b) DFA-ն նվազագույնի հասցնելու համար: Կատարելով համախառն ընդհանրացումներ՝ DFA-ներն ավելի արագ են, բայց ավելի բարդ (վիճակների և անցումների քանակով), մինչդեռ NFA-ներն ավելի դանդաղ են, բայց ավելի պարզ (նույն տերմիններով):

Խորհուրդ ենք տալիս: