See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Теория автоматов — Википедия

Теория автоматов

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

В дискретной математике, разделе информатики, теория автоматов изучает абстрактные машины в виде математических моделей, и проблемы, которые они могут решать. Теория автоматов наиболее тесно связана с теорией алгоритмов. Это объясняется тем, что автомат преобразует дискретную информацию по шагам в дискретные моменты времени и формирует результирующую информацию по шагам заданного алгоритма. Эти преобразования возможны с помощью технических и/или программных средств. Автомат можно представить как некоторое устройство (чёрный ящик), на которое подаются входные сигналы и снимаются выходные и которое может иметь некоторые внутренние состояния. При анализе автоматов изучают их поведение при различных возмущающих воздействиях и минимизируют число состояний автомата для работы по заданному алгоритму. Такой автомат называют абстрактным. При синтезе автоматов формируют систему из элементарных автоматов, эквивалентную заданному абстрактному автомату. Такой автомат называется структурным.

Слова входного языка можно представить символами множества \boldsymbol{X={x_1,x_2,...x_n}}, который называют входным алфавитом, а слова выходного языка - символами множества \boldsymbol{Y={y_1,y_2,...y_p}}, который называют выходным алфавитом.

Множество состояний автомата \boldsymbol{S={s_1,s_2,...s_m}} называют алфавитом состояний.

Автоматы часто классифицируются через формальные языки, которые они могут распознавать.

Практически, теория автоматов применяется при разработке лексеров и парсеров для языков программирования, а также при построении компиляторов и разработке самих языков программирования.

Другое важнейшее применение теории автоматов — математически строгое нахождение разрешимости и сложности проблем.

Есть несколько классов автоматов, например конечные автоматы (различнают детерминированные и недетерминированные конечные автоматы), клеточные автоматы (игра «жизнь»), машины Тьюринга.

[править] Формальное описание

Символ — любой атомарный блок данных, который может иметь эффект на машину. Чаще всего символ - это буква обычного языка, но может быть, к примеру, графическим элементом диаграммы.

  • Слово — строка символов, создаваемая через конкатенацию (соединение).
  • Алфавит — конечный набор различных символов (множество символов)
  • Язык — множество слов, формируемых символами данного алфавита. Может быть конечным или бесконечным.

Автомат — последовательность (кортеж) из пяти элементов (Q,Σ,δ,S0,F), где:

  • Q — конечное множество состояний автомата
  • Σ — алфавит языка, который понимает автомат
  • δ — функция перехода, такая что \delta : Q \times \Sigma \rightarrow Q
  • S0 — начальное состояние, состояние когда автомат еще не прочитал ни одного символа
  • F — множество состояний, называемое «конечные состояния».

Можно утверждать, что язык L, который читается автоматом M, состоит из множества слов w на базе алфавита Σ, так что если эти слова вводятся в M, он приходит в одно из состояний F:

L= \{ w \in \Sigma^{\star}|\hat\delta(S_0,w)\in F\}

Обычно, автомат переходит из состояния в состояние с помощью функци перехода δ, читая при этом один символ из ввода. Есть также автоматы, которые могут перейти в новое состояния без чтения символа. Функция перехода без чтения символа называется ε-переход (эпсилон-переход).

[править] См. также

[править] Литература

  • Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М.: «Вильямс», 2002. — С. 528. — ISBN 0-201-44124-1
  • Касьянов В.Н. Лекции по теории формальных языков, автоматов и сложности вычислений. - Новосибирск: НГУ, 1995. - C. 112.
На других языках


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 -