Дэтэрмінаваны канчатковы аўтамат (DFSM), таксама вядомы як дэтэрмінаваны канчатковы аўтамат (DFA), з'яўляецца фундаментальнай канцэпцыяй у галіне тэорыі вылічэнняў і аўтаматаў. Гэта тэарэтычная машына, якая выкарыстоўваецца для распазнання звычайных моў, якія ўяўляюць сабой наборы радкоў, вызначаных пэўнымі шаблонамі. DFSM складаецца з канчатковай колькасці станаў, уключаючы адзін пачатковы стан і адзін або некалькі прымаючых станаў, і ён апрацоўвае ўваходныя радкі сімвал за сімвалам, пераходзячы паміж станамі ў адпаведнасці з наборам дэтэрмінаваных правілаў.
Пытанне аб тым, ці можа DFSM паўтарацца без якой-небудзь выпадковасці, адносіцца да прыроды пераходаў станаў і цыклаў у машыне. Каб вырашыць гэтае пытанне ўсебакова, вельмі важна разумець структуру і паводзіны DFSM.
Структура DFSM
DFSM фармальна вызначаецца як картэж з 5 (M = (Q, сігма, дэльта, q_0, F)), дзе:
– (Q) канечны набор станаў.
– (Сігма) - гэта канечны набор уваходных сімвалаў, які называецца алфавітам.
– (дэльта: Q, памножанае на сігму, стрэлка справа Q) — гэта функцыя пераходу, якая адлюстроўвае стан і сімвал уводу ў новы стан.
– (q_0 у Q) – пачатковы стан.
– (F subseteq Q) - гэта мноства прымаючых (або канчатковых) станаў.
Дэтэрмінаваны характар
Дэтэрмінаваны аспект DFSM мае на ўвазе, што для дадзенага стану і ўваходнага сімвала функцыя пераходу (дэльта) вызначае роўна адзін наступны стан. Гэты дэтэрмінізм гарантуе, што паводзіны машыны цалкам прадказальныя і паўтараюцца для любога зададзенага ўваходнага радка.
Паўтарэнне ў ДФСМ
Паўтарэнне ў кантэксце DFSM можна зразумець з пункту гледжання цыклаў у графе пераходу стану. Цыкл узнікае, калі паслядоўнасць пераходаў станаў вядзе да ранейшага стану. Калі DFSM уваходзіць у цыкл, ён патэнцыйна можа паўтараць паслядоўнасць станаў бясконца доўга, у залежнасці ад уваходнага радка.
Прыклад простага DFSM з цыклам
Разгледзім DFSM, вызначаны наступнымі кампанентамі:
– (Q = {q_0, q_1, q_2})
– (Сігма = {a, b})
– (дэльта) вызначаецца як:
– (дэльта(q_0, a) = q_1)
– (дэльта(q_1, b) = q_2)
– (дэльта(q_2, a) = q_1)
– (дэльта(q_2, b) = q_0)
– (q_0) – пачатковы стан.
– (F = {q_0}) мноства прымальных станаў.
У гэтым DFSM існуе цыкл, які ўключае станы (q_1) і (q_2):
– Ад (q_0), чытанне (a) пераводзіць машыну ў (q_1).
– Ад (q_1), чытанне (b) пераводзіць машыну ў (q_2).
– Ад (q_2), чытанне (a) вяртае машыну да (q_1).
Калі ўваходны радок складаецца з сімвалаў (a) і (b), якія чаргуюцца (напрыклад, "ababab…"), машына будзе бясконца шматразова пераходзіць паміж станамі (q_1) і (q_2). Гэта паўтарэнне адбываецца без якой-небудзь выпадковасці, паколькі пераходы з'яўляюцца цалкам дэтэрмінаванымі і прадыктаваны радком уводу.
Няма выпадковасці ў DFSM
Адсутнасць выпадковасці ў DFSM з'яўляецца прамым следствам іх дэтэрмінаванай прыроды. Функцыя пераходу (дэльта) дакладна вызначана і адназначна, яна вызначае ўнікальны наступны стан для кожнай пары стану і ўваходных сімвалаў. У выніку паводзіны DFSM цалкам прадказальныя і паўтараюцца для любога ўваходнага радка.
Практычныя наступствы
Дэтэрмінаваныя і паўтаральныя паводзіны DFSM маюць значныя наступствы ў розных галінах, уключаючы кібербяспеку, фармальную тэорыю мовы і распрацоўку праграмнага забеспячэння. Напрыклад, DFSM выкарыстоўваюцца ў лексічных аналізатары для распазнання токенаў у мовах праграмавання, у аналізатары сеткавых пратаколаў для праверкі паслядоўнасцяў паведамленняў і ў сістэмах бяспекі для выяўлення шаблонаў шкоднасных дзеянняў.
Conclusion
DFSM сапраўды можа паўтарацца без якой-небудзь выпадковасці, бо яго паводзіны цалкам дэтэрмінаваныя. Наяўнасць цыклаў у графе пераходаў станаў дае магчымасць паўтараць паслядоўнасці станаў пры ўмове, што ўваходны радок праводзіць машыну праз гэтыя цыклы. Гэта дэтэрмінаванае паўтарэнне з'яўляецца фундаментальнай характарыстыкай DFSM і займае цэнтральнае месца ў іх прымяненні ў распазнаванні звычайных моў і распрацоўцы надзейных вылічальных сістэм.
Іншыя апошнія пытанні і адказы адносна Асновы тэорыі складанасці вылічэнняў EITC/IS/CCTF:
- Якія асноўныя матэматычныя азначэнні, абазначэнні і ўводзіны неабходныя для разумення фармалізму тэорыі вылічальнай складанасці?
- Чаму тэорыя вылічальнай складанасці важная для разумення асноў крыптаграфіі і кібербяспекі?
- Якая роля рэкурсійнай тэарэмы ў дэманстрацыі невырашальнасці ATM?
- Разглядаючы КПК, які можа чытаць паліндромы, не маглі б вы падрабязна апісаць эвалюцыю стэка, калі ўвод з'яўляецца, па-першае, паліндромам, а па-другое, не паліндромам?
- Разглядаючы недэтэрмінаваныя КПК, суперпазіцыя станаў магчымая па азначэнні. Аднак недэтэрмінаваныя КПК маюць толькі адзін стэк, які не можа знаходзіцца ў некалькіх станах адначасова. Як такое магчыма?
- Што з'яўляецца прыкладам КПК, якія выкарыстоўваюцца для аналізу сеткавага трафіку і ідэнтыфікацыі шаблонаў, якія паказваюць на магчымыя парушэнні бяспекі?
- Што значыць, што адна мова больш магутная за іншую?
- Ці пазнаюцца кантэкстна-залежныя мовы машынай Цьюрынга?
- Чаму мова U = 0^n1^n (n>=0) нерэгулярная?
- Як вызначыць FSM, які распазнае двайковыя радкі з цотнай колькасцю сімвалаў «1», і паказаць, што з ім адбываецца пры апрацоўцы ўваходнага радка 1011?
Больш пытанняў і адказаў глядзіце ў раздзеле "Асновы тэорыі вылічальнай складанасці" EITC/IS/CCTF