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-ներն ավելի դանդաղ են, բայց ավելի պարզ (նույն տերմիններով):