Web Analytics
Privacy Policy Cookie Policy Terms and Conditions Эквивалентность детерминированных и недетерминированных конечных автоматов — Википедия

Эквивалентность детерминированных и недетерминированных конечных автоматов

Материал из Википедии — свободной энциклопедии

Предлагается объединить эту статью с Конечный автомат. (Обсудить)


Эту статью следует викифицировать.
Пожалуйста, оформите её согласно общим правилам и указаниям.


Эта статья или раздел нуждается в переработке.
Пожалуйста, улучшите её в соответствии с правилами написания статей.

Содержание

[править] Детерминированный конечный автомат

Термин «детерминированный» говорит о том, что для всякой последовательности входных символов существует лишь одно состояние, в которое автомат может перейти из текущего.

[править] Определение детерминированного конечного автомата

Детерминированный конечный автомат состоит из следующих компонентов:

  1. Конечное множество состояний S.
  2. Конечное множество входных символов Σ.
  3. Функция переходов, аргументами которой являются текущее состояние и входной символ, а значением новое состояние. Функция переходов обычно обозначается как δ. Представляя автомат в виде графа, δ изображаются отмеченными дугами, соединяющими состояния. Если q— состояние и α— входной символ, то δ (q, α)— это состояние р, для которого существует дуга, отмеченная символом α и ведущая из q в р.
  4. Начальное состояние s0, одно из состояний в S.
  5. Множество заключительных, или допускающих, состояний F. Множество F является подмножеством S.

В дальнейшем детерминированный конечный автомат часто обозначается как ДКА. Наиболее компактное представление ДКА— это список пяти вышеуказанных его компонентов: A=(S, Σ, δ, s0, F)

[править] Более простые представления ДКА

Существует два удобных способа описания автоматов.

  1. Диаграмма переходов, которая представляет собой граф.
  2. Таблица переходов, дающая табличное представление функции δ. Из нее очевидны состояния и входной алфавит.

[править] Недетерминированный конечный автомат

Недетерминированный конечный автомат (НКА) являются обобщением детерминированного. Недетерминированный конечный автомат-распознаватель может быть двух типов: либо существует переход, помеченный пустой цепочкой ε, либо из одного состояния выходят несколько переходов, помеченных одним и тем же символом.

[править] Определение недетерминированного конечного автомата

Структура НКА в основном повторяет структуру ДКА:

A=(S, Σ, δ, s0, F)

  1. S есть конечное множество состояний.
  2. Σ есть конечное множество входных символов (алфавит).
  3. s0, один из элементов S — начальное состояние.
  4. F, подмножество S — множество заключительных (или допускающих) состояний.
  5. Функция переходов δ.

[править] Эквивалентность НКА и ДКА

Теорема: Для любого НКА существует эквивалентный ему ДКА

Пример: Построить ДКА для языка (ab) * a + ab *

  • Построим конечный автомат по данному языку (Рис. 1);
Рис. 1 НКА с пустыми переходами
Увеличить
Рис. 1 НКА с пустыми переходами


Получен автомат с пустыми (ε) переходами.

  • Преобразуем НКА с ε - переходами в НКА без ε - переходов (Рис. 2);

ε - замыканием состояния s принадлежащему S, обозначаемым Ξ(s), называется множество всех состояний, которые достижимы из ε без подачи входного сигнала.

Множеству Ξ(s) принадлежат: само состояние s и все те состояния, которые достижимы из s по ε - переходам. Для автомата, изображенного на Рис. 1: Ξн = {н, 1, 2}; Ξ1 = {1, 2}; Ξ2 = {2}; Ξ3 = {3, 4, к}; Ξ4 = {4, к}; Ξ5 = {5}; Ξк = {к}.

Все состояния, достижимые из любого начального без подачи сигнала, также являются начальными. Множество заключительных состояний являются такие ε - замыкания состояний, в которые входят заключительные состояния: из каждого такого состояния без подачи входного сигнала можно оказаться в заключительном состоянии.

Для автомата на Рис. 1 таблица переходов эвкивалентного недетерминированного автомата без ε - переходов имеет вид (Табл. 1)

Табл. 1
a b
->q0=Ξн={н, 1, 2} {Ξ3, Ξ5, Ξk} ø
->q1=Ξ1={1, 2} {Ξ5, Ξk} ø
->q2=Ξ2={2} {Ξk} ø
*q3=Ξ3={3, 4, k} ø {Ξ4}
*q4=Ξ4={4, k} ø {Ξ4}
q5=Ξ5={5} ø {Ξ1}
*q6=Ξk={k} ø ø

Граф переходов этого НКА без пустых переходов представлен на Рис. 2

Рис. 2 НКА без пустыми переходами
Увеличить
Рис. 2 НКА без пустыми переходами


По сравнению с автоматом на Рис. 1 здесь добавилось новое начальное состояние и два конечных.

  • Преобразовать НКА без пустых переходов в ДКА

Полученный в итоге ДКА должен иметь примерно столько же состояний, сколько и НКА, хотя часто содержит больше переходов, в худшем случае наименьший ДКА может содержать 2n состояний, в то время как НКА для того же самого языка имеет всего n состояний.

В данном примере большинство состояний окажутся недостижимыми, поэтому запишем в таблицу переходов только достижимые состояния (Табл. 2)

Табл. 2
a b
->p0={q0} {q3, q5, q6} ø
*p1={q3, q5, q6} ø {q4, q1}
*p2={q1, q4} {q5, q6} {q4}
*p3={q5, q6} ø {q1}
*p4={q4} ø {q4}
->p5={q1} {q5, q6} ø

По Табл. 2 построим граф для ДКА (Рис. 3)

Рис. 3 ДКА
Увеличить
Рис. 3 ДКА


 
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu