В теорії алгоритмів і теорії автоматів, детермінований скінченний автомат (ДСА) — скінченний автомат, який приймає скінченний рядок символів. Для кожного стану існує стрілка переходу в наступний стан для кожного символу. Після зчитування символу ДСА перестрибує детерміновано з одного стану в інший за відповідною стрілкою. Детермінованість означає наявність лише одного результату (тобто переходу в наступний стан для кожного символу (S0 -> Si) або повернення в той самий стан (S0 -> S0)). ДСА має (початковий стан) (позначений графічно стрілкою нізвідки), звідки починаються обчислення, і набір (допустимих станів) (позначених графічно двійними колами), які допомагають визначити успішність обчислень.
ДСА саме розпізнає набір регулярних мов, що є, між іншим, корисним для проведення лексичного аналізу і зіставляння зі взірцем. ДСА можна використати або в режимі приймача для перевірки належності вхідного рядка до мови, або в режимі генерації для створення списку всіх рядків у мові.
ДСА визначається як абстрактна математична концепція, але через свою детермінованість він може бути виконаним на апаратному або програмному рівні для розв'язання різних особливих задач. Наприклад, програмний автомат, який визначає чи є введений рядок правильним телефонним номером або електронною адресою. Іншим прикладом на апаратному рівні є мікросхема, що керує автоматичними дверима, використовуючи вхідні дані від сенсорів руху або кнопок для визначення моменту, коли треба виконувати переходи між станами.
Формальне визначення
Детермінований скінченний автомат M це п'ятірка, (Q, Σ, δ, q0, F), де
- скінченний набір станів (Q)
- скінченний набір вхідних символів, абетка (Σ)
- функція переходу (δ : Q × Σ → Q)
- (початковий стан) (q0 ∈ Q)
- набір (допустимих станів) (F ⊆ Q)
Нехай w = a1a2 … an - рядок над абеткою Σ. Автомат M приймає рядок w, якщо послідовність станів, r0,r1, …, rn в Q, відповідає таким умовам:
- r0 = q0
- ri+1 = δ(ri, ai+1), for i = 0, …, n−1
- rn ∈ F.
Словами, перша умова каже, що автомат починає з початкового стану q0. Друга умова каже, що з кожним наступним символом з w автомат переходить зі стану в стан до функції переходу δ. Остання умова каже, що автомат приймає w, якщо останній символ з w спричиняє перехід автомата в один з допустимих станів. Інакше, кажуть, що автомат відхилив рядок. Набір допустимих рядків M - це мова , що розпізнається автоматом M, і така мова позначається L(M).
Детермінований скінченний автомат без допустимих станів і без початкового стану відомий як модель станів і переходів або .
Приклад
Нижче наведено приклад ДСА М з двійковою абеткою, який розпізнає рядки з парною кількістю 0.
M = (Q, Σ, δ, q0, F), де
- Q = {S1, S2},
- Σ = {0, 1},
- q0 = S1,
- F = {S1}, і
- δ визначена такою таблицею переходів:
S1 | S2 | S1 |
S2 | S1 | S2 |
Стан S1 показує, що серед вхідних даних, наразі опрацьованих , трапилася парна кількість 0, тоді як S2 вказує на непарну кількість. 1 на вході не змінює стану автомата. Після завершення введення даних стан буде вказувати, чи трапилась парна кількість 0. Якщо так дійсно сталося, M опиниться в стані S1, що є допустимим станом, тож поданий на вхід рядок буде розпізнаний.
Мова, що розпізнається M, - це регулярна мова, задана регулярним виразом
де «*» - це зірка Кліні, тобто 1* позначає будь-яку кількість (можливо нуль) символів «1».
Еквівалентні моделі
Незмінна машина Тюринга з рухом праворуч
Незмінні машини Тюринга з рухом праворуч це різновид машин Тюринга яка рухається лише вправо. Вони майже цілком еквівалентні ДСкА.
Визначається як кортеж з 7 елементів:
де
- скінченна множина станів;
- скінченна множина символів стрічки;
- - порожній символ (єдиний символ який зустрічається на стрічці нескінченну кількість разів);
- , підмножина що не включає b, множина вхідних символів;
- це функція яка називається фукнцією переходів, R це рух вправо;
- - початковий стан;
- множина фінальних або допустимих станів.
Така машина завжди приймає регулярну мову. Повинен існувати хоча б один елемент множини F (стан HALT) для того аби мова була не порожньою.
Приклад незмінної машиши Тюринга з 3 станами і 2 символами
В стані A | В стані B | В стані C | |||||||
символ на стрічці | Записати символ | Переміщення | Наступний стан | Записати символ | Переміщення | Наступний стан | Записати символ | Переміщення | Наступний стан |
---|---|---|---|---|---|---|---|---|---|
0 | 1 | R | B | 1 | R | A | 1 | R | B |
1 | 1 | R | C | 1 | R | B | 1 | N | HALT |
- , "порожній";
- , порожня множина;
- див таблицю станів вище;
- , початковий стан;
- одноелемента множина кінцевих станів: .
Переваги і недоліки
ДСА — одна з найпрактичніших моделей обчислення через свій лінійний час, сталу потребу в пам'яті, можливість обробки за допомогою послідовного алгоритму. Для даних двох ДСА існують дієві алгоритми для знаходження ДСА, що розпізнає:
- об'єднання двох ДСА;
- перетин двох ДСА;
- комплементарну мову до розпізнаваної ДСА.
Завдяки можливості зведення ДСА до канонічної форми (найменшого ДСА), існують дієві алгоритми для визначення:
- чи приймає ДСА будь-який рядок;
- чи приймає ДСА всі рядки;
- чи розпізнають два ДСА ту саму мову;
- ДСА з найменшою кількістю станів для окремої мови.
ДСА тотожний за силою обчислення до недетермінованого скінченного автомата.
З іншого боку, ДСА сильно обмежений в мовах, які він може розпізнати; багато простих мов з урахуванням будь-якої задачі, яка вимагає непостійного місця в пам'яті для розв'язання, не можуть бути розпізнані за допомогою ДСА. Класичний приклад просто описаної мови, яку не може розпізнати ДСА, - це мова дужок мови, що містить правильні дужкові послідовності, такі як (()()). Більш формально, мову утворену рядками типу anbn—деяка скінченна кількість a, услід за рівною кількістю b. Якщо немає обмеження на рекурсію (тобто ви можете завжди вставити іншу пару дужок усередину), то буде потрібна нескінченна кількість станів для розпізнавання.
Див. також
Примітки
- Fegaras, Leonidas. . Архів оригіналу за 19 травня 2011. Процитовано 17 лютого 2011.
- Gouda, Prabhakar, Application of Finite automata
{{}}
:|access-date=
вимагає|url=
() - Davis, Martin; Ron Sigal; Elaine J. Weyuker (1994). Second Edition: Computability, Complexity, and Languages and Logic: Fundamentals of Theoretical Computer Science (вид. 2nd). San Diego: Academic Press, Harcourt, Brace & Company. ISBN .
Література
- Формальні мови та алгоритмічні моделі. — І.-Ф. : Голіней, 2023. — 180 с.
- Hopcroft, John E.; ; Ullman, Jeffrey D. (2001). Вступ до теорії автоматів, мов і обчислень (вид. 2nd). Addison–Wesley. с. 521.(англ.)
- Мир, 1972. — 416 с. . Теория рекурсивных функций и эффективная вычислимость. — М. : (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V teoriyi algoritmiv i teoriyi avtomativ determinovanij skinchennij avtomat DSA skinchennij avtomat yakij prijmaye skinchennij ryadok simvoliv Dlya kozhnogo stanu isnuye strilka perehodu v nastupnij stan dlya kozhnogo simvolu Pislya zchituvannya simvolu DSA perestribuye determinovano z odnogo stanu v inshij za vidpovidnoyu strilkoyu Determinovanist oznachaye nayavnist lishe odnogo rezultatu tobto perehodu v nastupnij stan dlya kozhnogo simvolu S0 gt Si abo povernennya v toj samij stan S0 gt S0 DSA maye pochatkovij stan poznachenij grafichno strilkoyu nizvidki zvidki pochinayutsya obchislennya i nabir dopustimih staniv poznachenih grafichno dvijnimi kolami yaki dopomagayut viznachiti uspishnist obchislen Priklad determinovanogo skinchennogo avtomata yakij prijmaye tilki dvijkovi chisla kratni 3 Stan S0 ye odnochasno pochatkovim stanom i dopustimim stanom DSA same rozpiznaye nabir regulyarnih mov sho ye mizh inshim korisnim dlya provedennya leksichnogo analizu i zistavlyannya zi vzircem DSA mozhna vikoristati abo v rezhimi prijmacha dlya perevirki nalezhnosti vhidnogo ryadka do movi abo v rezhimi generaciyi dlya stvorennya spisku vsih ryadkiv u movi DSA viznachayetsya yak abstraktna matematichna koncepciya ale cherez svoyu determinovanist vin mozhe buti vikonanim na aparatnomu abo programnomu rivni dlya rozv yazannya riznih osoblivih zadach Napriklad programnij avtomat yakij viznachaye chi ye vvedenij ryadok pravilnim telefonnim nomerom abo elektronnoyu adresoyu Inshim prikladom na aparatnomu rivni ye mikroshema sho keruye avtomatichnimi dverima vikoristovuyuchi vhidni dani vid sensoriv ruhu abo knopok dlya viznachennya momentu koli treba vikonuvati perehodi mizh stanami Formalne viznachennyaDeterminovanij skinchennij avtomat M ce p yatirka Q S d q0 F de skinchennij nabir staniv Q skinchennij nabir vhidnih simvoliv abetka S funkciya perehodu d Q S Q pochatkovij stan q0 Q nabir dopustimih staniv F Q Nehaj w a1a2 an ryadok nad abetkoyu S Avtomat M prijmaye ryadok w yaksho poslidovnist staniv r0 r1 rn v Q vidpovidaye takim umovam r0 q0 ri 1 d ri ai 1 for i 0 n 1 rn F Slovami persha umova kazhe sho avtomat pochinaye z pochatkovogo stanu q0 Druga umova kazhe sho z kozhnim nastupnim simvolom z w avtomat perehodit zi stanu v stan do funkciyi perehodu d Ostannya umova kazhe sho avtomat prijmaye w yaksho ostannij simvol z w sprichinyaye perehid avtomata v odin z dopustimih staniv Inakshe kazhut sho avtomat vidhiliv ryadok Nabir dopustimih ryadkiv M ce mova sho rozpiznayetsya avtomatom M i taka mova poznachayetsya L M Determinovanij skinchennij avtomat bez dopustimih staniv i bez pochatkovogo stanu vidomij yak model staniv i perehodiv abo PrikladNizhche navedeno priklad DSA M z dvijkovoyu abetkoyu yakij rozpiznaye ryadki z parnoyu kilkistyu 0 Diagrama staniv dlya M M Q S d q0 F de Q S1 S2 S 0 1 q0 S1 F S1 i d viznachena takoyu tabliceyu perehodiv 0 1 S1 S2 S1 S2 S1 S2 Stan S1 pokazuye sho sered vhidnih danih narazi opracovanih trapilasya parna kilkist 0 todi yak S2 vkazuye na neparnu kilkist 1 na vhodi ne zminyuye stanu avtomata Pislya zavershennya vvedennya danih stan bude vkazuvati chi trapilas parna kilkist 0 Yaksho tak dijsno stalosya M opinitsya v stani S1 sho ye dopustimim stanom tozh podanij na vhid ryadok bude rozpiznanij Mova sho rozpiznayetsya M ce regulyarna mova zadana regulyarnim virazom 1 0 1 0 1 displaystyle 1 bigl 0 1 0 1 bigr de ce zirka Klini tobto 1 poznachaye bud yaku kilkist mozhlivo nul simvoliv 1 Ekvivalentni modeliNezminna mashina Tyuringa z ruhom pravoruch Nezminni mashini Tyuringa z ruhom pravoruch ce riznovid mashin Tyuringa yaka ruhayetsya lishe vpravo Voni majzhe cilkom ekvivalentni DSkA Viznachayetsya yak kortezh z 7 elementiv M Q G b S d q 0 F displaystyle M langle Q Gamma b Sigma delta q 0 F rangle de Q displaystyle Q skinchenna mnozhina staniv G displaystyle Gamma skinchenna mnozhina simvoliv strichki b G displaystyle b in Gamma porozhnij simvol yedinij simvol yakij zustrichayetsya na strichci neskinchennu kilkist raziv S displaystyle Sigma pidmnozhina G displaystyle Gamma sho ne vklyuchaye b mnozhina vhidnih simvoliv d Q G Q G R displaystyle delta Q times Gamma to Q times Gamma times R ce funkciya yaka nazivayetsya fuknciyeyu perehodiv R ce ruh vpravo q 0 Q displaystyle q 0 in Q pochatkovij stan F Q displaystyle F subseteq Q mnozhina finalnih abo dopustimih staniv Taka mashina zavzhdi prijmaye regulyarnu movu Povinen isnuvati hocha b odin element mnozhini F stan HALT dlya togo abi mova bula ne porozhnoyu Priklad nezminnoyi mashishi Tyuringa z 3 stanami i 2 simvolami V stani A V stani B V stani C simvol na strichci Zapisati simvol Peremishennya Nastupnij stan Zapisati simvol Peremishennya Nastupnij stan Zapisati simvol Peremishennya Nastupnij stan 0 1 R B 1 R A 1 R B 1 1 R C 1 R B 1 N HALT Q A B C HALT displaystyle Q A B C text HALT G 0 1 displaystyle Gamma 0 1 b 0 displaystyle b 0 porozhnij S displaystyle Sigma varnothing porozhnya mnozhina d displaystyle delta div tablicyu staniv vishe q 0 A displaystyle q 0 A pochatkovij stan F displaystyle F odnoelementa mnozhina kincevih staniv HALT displaystyle text HALT Perevagi i nedolikiDSA odna z najpraktichnishih modelej obchislennya cherez svij linijnij chas stalu potrebu v pam yati mozhlivist obrobki za dopomogoyu poslidovnogo algoritmu Dlya danih dvoh DSA isnuyut diyevi algoritmi dlya znahodzhennya DSA sho rozpiznaye ob yednannya dvoh DSA peretin dvoh DSA komplementarnu movu do rozpiznavanoyi DSA Zavdyaki mozhlivosti zvedennya DSA do kanonichnoyi formi najmenshogo DSA isnuyut diyevi algoritmi dlya viznachennya chi prijmaye DSA bud yakij ryadok chi prijmaye DSA vsi ryadki chi rozpiznayut dva DSA tu samu movu DSA z najmenshoyu kilkistyu staniv dlya okremoyi movi DSA totozhnij za siloyu obchislennya do nedeterminovanogo skinchennogo avtomata Z inshogo boku DSA silno obmezhenij v movah yaki vin mozhe rozpiznati bagato prostih mov z urahuvannyam bud yakoyi zadachi yaka vimagaye nepostijnogo miscya v pam yati dlya rozv yazannya ne mozhut buti rozpiznani za dopomogoyu DSA Klasichnij priklad prosto opisanoyi movi yaku ne mozhe rozpiznati DSA ce mova duzhok movi sho mistit pravilni duzhkovi poslidovnosti taki yak Bilsh formalno movu utvorenu ryadkami tipu anbn deyaka skinchenna kilkist a uslid za rivnoyu kilkistyu b Yaksho nemaye obmezhennya na rekursiyu tobto vi mozhete zavzhdi vstaviti inshu paru duzhok useredinu to bude potribna neskinchenna kilkist staniv dlya rozpiznavannya Div takozhNedeterminovanij skinchennij avtomatPrimitkiFegaras Leonidas Arhiv originalu za 19 travnya 2011 Procitovano 17 lyutogo 2011 Gouda Prabhakar Application of Finite automata a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Citation title Shablon Citation citation a access date vimagaye url dovidka Davis Martin Ron Sigal Elaine J Weyuker 1994 Second Edition Computability Complexity and Languages and Logic Fundamentals of Theoretical Computer Science vid 2nd San Diego Academic Press Harcourt Brace amp Company ISBN 0 12 206382 1 LiteraturaFormalni movi ta algoritmichni modeli I F Golinej 2023 180 s Hopcroft John E Ullman Jeffrey D 2001 Vstup do teoriyi avtomativ mov i obchislen vid 2nd Addison Wesley s 521 angl inshi movi Teoriya rekursivnyh funkcij i effektivnaya vychislimost M Mir 1972 416 s ros