Теория автоматов
Теория автоматов — раздел дискретной математики, изучающий абстрактные автоматы — вычислительные машины, представленные в виде математических моделей, и задачи, которые они могут решать.
Теория автоматов наиболее тесно связана с теорией алгоритмов: автомат преобразует дискретную информацию по шагам в дискретные моменты времени и формирует результат по шагам заданного алгоритма.
Существует алгебраическая трактовка теории автоматов, использующая полукольца, формальные степенные ряды, формальные ряды над деревьями, теорию неподвижных точек и теорию матриц.
Терминология
Символ — любой атомарный (то есть неделимый более без потери смысла) блок данных, который может производить эффект на машину. Чаще всего символ — это буква некоего формального языка. Например, символы, применяемые во многих языках программирования, включают буквы обычного языка, разделители, также какие-то дополнительные знаки. Но символом может быть, к примеру, ключевое слово целиком некоего языка программирования (if, for, while и т. д.), графический элемент диаграммы и т. д.
- Слово — строка символов, создаваемая через конкатенацию (соединение).
- Алфавит — конечный набор различных символов (множество символов)
- Язык — множество слов, которые могут быть составлены (порождены) из символов данного алфавита. Язык может быть конечным или бесконечным.
Назначение формальных автоматов
В теории автоматов под этим словом понимается формальная (математическая) конструкция, которая задаёт алгоритм, назначением которого является определение принадлежности заданного слова входному языку, описываемому данным формальным автоматом. Слово «формальный» подчёркивает отличие такого автомата от воплощённых в металле станков-автоматов, автоматических коробок передач и иных подобных устройств. Для краткости изложения в соответствующих пособиях прилагательное «формальный» или «математический» часто опускается (начиная с названия теории — точнее было бы «теория формальных автоматов»), когда понятно о чём идёт речь.
Порядок работы автомата
Для выполнения своего назначения все (формальные) автоматы наделяются свойством нахождения в некотором допустимом состоянии и функциями переходов автомата, в простейшем случае (конечные автоматы) задающих только возможность перехода из одного состояние в другое при чтении очередного символа из входной цепочки. После очередного перехода читающая головка автомата сдвигается на один символ (он «прочитывается»). Так происходит пока не достигнут конец читаемого слова, либо не найдена подходящая функция перехода.
Множество всех допустимых состояний автомата конечно и образует алфавит состояний автомата. Из всего множества состояний выделяют подмножество начальных состояний автомата (в одном из которых может быть начат разбор слова) и подмножество завершающих (или конечных) состояний, в которых автомат (если слово при этом прочитано полностью) может сделать вывод о принадлежности разбираемого (входного) слова языку автомата. Начальные и конечные состояния автомата могут пересекаться. Попадание автомата в завершающее (или конечное) состояние говорит лишь о возможности завершения разбора, то есть автомат в ходе работы может проходить то или иное конечное состояние множество раз, пока чтение слова продолжается.
Начало и завершение работы автомата
Начало работы автомата полностью задаётся его «начальной конфигурацией», включающей разбираемое слово и состояние, в котором находится автомат. Если автомат находится в одном из начальных состояний и имеется функция перехода для данного состояния и первого символа читаемой цепочки, автомат совершает соответствующий переход, сдвигает читающую головку на входном слове и (в простейшем случае — конечные автоматы) переходит к исследованию следующего символа входа.
Для приёма (или, как говорят, допуска) входного слова автоматом необходимо выполнение двух условий:
- Входное слово должно быть прочитано полностью
- Автомат по прочтению слова находится (или может попасть по пустым переходам, если таковые допустимы для соответствующего вида автоматов) в одном из завершающих состояний. Для некоторых видов автоматов этот критерий может быть сформулирован несколько иначе, а в теории автоматов доказывается эквивалентность (равнозначность) таких формулировок останова.
Под «пустым переходом» или «переходом по пустому символу» здесь понимается переход из одного состояния в другое, когда очередной символ из входного слова не считывается или, иначе говоря, «читается» пустой символ. Обозначения см. ниже.
Заметим, что автомат должен принять все допустимые слова описываемого им языка и при этом не принять ни одного слова, которое в этот язык не входит.
Если входное слово не принадлежит языку, то автомат либо
- за конечное число шагов остановится, не прочитав до конца слова и не имея подходящей функции переходов для продолжения чтения
- прочтёт слово целиком, но не будет находиться в одном из завершающих состояний (либо не будет выполнен иной эквивалентный критерий для некоторых видов автоматов)
- войдёт в бесконечный цикл смены допустимых состояний, при котором, однако, не будет одновременно выполняться оба критерия приёма (допуска) слова.
Основные виды автоматов
По сложности разбираемых языков
Формальные автоматы обычно делятся по особенностям своих функций переходов, определяющих степень сложности языка, который он описывает.
По классификации Н. Хомского, известны четыре основных вида (по разнообразию, по сложности) формальных языков:
- Регулярные
- Контекстно-свободные
- Контекстно-зависимые
- Языки общего вида (без доп. ограничений)
Для разбора слов из регулярных языков подходят формальные автоматы самого простого устройства, т. н. конечные автоматы. Их функция перехода задаёт только смену состояний и, возможно, сдвиг (чтение) входного символа.
Для разбора слова из контекстно-свободных языков в автомат приходится добавлять «магазинную ленту» или «стек», в который при каждом переходе записывается цепочка на основе соответствующего алфавита магазина. Такие автоматы называют «магазинные автоматы».
Для контекстно-зависимых языков разработаны ещё более сложные , а для языков общего вида — машина Тьюринга.
При более близком знакомстве с теорией, становится понятно, что чем более сложно устройство автомата, тем больше его возможности распознавания, но и, одновременно, более сложно и трудоёмко становится с ним работать. Поэтому грамотный математик и инженер-программист стараются подбирать наиболее простой вид автомата, решающий с должным качеством поставленную задачу распознавания.
Заметим, что многие задачи поиска сведений во всемирной сети Интернет записываются в понятиях регулярных языков (т.е. с самыми жёсткими ограничениями), а большинство применяемых универсальных языков программирования вполне успешно воплощены на основе контекстно-свободных грамматик (хотя и с некоторыми усовершенствованиями, см. "атрибутные грамматики"). К числу немногих и очень своеобразных исключений относится язык программирования ЛИСП (LISP), разработанный на основе контекстно-зависимых языков. А Машина Тьюринга, при всей своей (в теории) универсальности и мощи, оказывается настолько сложной и неудобной для использования в приложениях, что используется только для теоретического анализа.
По однозначности функции переходов
Для одной и той же текущей конфигурации (состояние автомата, читаемый входной символ и, возможно, некоторые дополнительные параметры для сложных видов автоматов, например, содержание стека в магазинном автомате) функции переходов формального автомата могут задавать как единственный (определённый, детерминированный) переход, так и несколько разных. Иначе говоря, для одной и той же конфигурации автомата вообще говоря возможно существование нескольких функций переходов.
Неопределённость (недетерминированность) автомата может возникать и тогда, когда каждой его конфигурации соответствует лишь одна функция перехода, но при этом допустимы и переходы по «пустой цепочке» (пустому символу). Понятно, что неоднозначность перехода здесь может возникать не за один, а за несколько тактов работы автомата.
По данному признаку автоматы также делятся на детерминированные (определённые) и недетерминированные. Важность данного разделения объясняется ещё и тем, как свойство детерминированности влияет на толкование допуска слова автоматом.
Так, если у нас детерминированный автомат, то если вышеупомянутые условия допуска слова не выполнены, мы можем сразу сказать, что данное слово не принадлежит языку. Если же у нас автомат недетерминированный, то в подобном случае мы этот вывод делаем лишь для одной из возможных веток разбора слова. На деле программисту приходится как-то запоминать все возможные развилки разбора слова и, если одна из веток завершилась неудачно, возвращаться к очередной развилке и исследовать другую ветку разбора. И только после исследования всех возможных вариантов разбора (если ни одна из промежуточных веток не соответствовала условиям допуска), можно уверенно сделать вывод о том, что данное слово не принадлежит языку.
Понятно, что отслеживание и учёт возможных возвратов при разборе слова заметно усложняет работу программиста. Поэтому возникает вопрос, можно ли так преобразовать автомат, чтобы он из недетерминированного стал детерминированным и, в целом ряде случаев, поэтому более удобным для работы с ним. В теории автоматов доказано, что для регулярных языков и соответствующих им конечных автоматов это можно сделать всегда. А для остальных видов языков (по Н. Хомскому), начиная с контекстно-свободных и соответствующих им автоматов, в общем случае — уже нет.
С другой стороны отмечается, что недетерминированные автоматы обычно имеют заметно меньший объём, их логика работы легче понимается человеком. Заметим, что при использовании многопроцессорных (многоядерных) вычислительных машин сама возможность распараллеливания нередко тесно связана с недетерминированностью алгоритма. Программа, все части которой должны выполняться в строго определённой последовательности, распараллеливанию не поддаётся….
Примеры формального определения для конечных автоматов
Автоматы могут быть детерминированными и недетерминированными.
- Детерминированный конечный автомат (ДКА) — последовательность (кортеж) из пяти элементов
, где:
— множество состояний автомата
— алфавит языка, который понимает автомат
— функция перехода, такая что
— начальное состояние
— множество конечных состояний.
- Недетерминированный конечный автомат (НКА) — последовательность (кортеж) из пяти элементов
, где:
— множество состояний автомата
— алфавит языка, который понимает автомат
— отношение перехода,
, где
— пустое слово. То есть, НКА может совершить переход из состояния q в состояние p, в отличие от ДКА, через пустое слово (то есть не читая очередной символ со входа), а также перейти из q по a в одно из нескольких состояний (в ДКА возможен переход из q по a не более чем в одно состояние из Q, отсюда определённость (или, по-английски, детерминированность) всех переходов такого автомата и его название).
— множество начальных состояний
— множество конечных состояний.
- Слово
- Автомат читает конечную строку символов a1, a2, …., an , где ai
Σ, которая называется входным словом. Набор всех слов записывается как Σ*.
- Принимаемое слово
- Слово w
Σ* принимается автоматом, если qn
F.
Говорят, что язык L читается (принимается) автоматом M, если он состоит из слов w на базе алфавита таких, что если эти слова вводятся в M, по окончании обработки он приходит в одно из принимающих состояний F:
Обычно автомат переходит из состояния в состояние с помощью функции перехода , читая при этом один символ из ввода. Есть автоматы, которые могут перейти в новое состояние без чтения символа. Функция перехода без чтения символа называется
-переход (эпсилон-переход).
Применение
Теория автоматов лежит в основе всех цифровых технологий и программного обеспечения, так, например, компьютер является частным случаем практической реализации конечного автомата.
Часть математического аппарата теории автоматов напрямую применяется при разработке лексических и синтаксических анализаторов для формальных языков, в том числе языков программирования, а также при построении компиляторов и разработке самих языков программирования, описания аппаратуры, а также разметки.
Другое важнейшее применение теории автоматов — математически строгое нахождение разрешимости и сложности задач.
Типовые задачи
- Построение и минимизация автоматов — построение абстрактного автомата из заданного класса, решающего заданную задачу (принимающего заданный язык), возможно, с последующей минимизацией по числу состояний или числу переходов.
- Синтез автоматов — построение системы из заданных «элементарных автоматов», эквивалентной заданному автомату. Такой автомат называется . Применяется, например, при синтезе цифровых электрических схем на заданной элементной базе.
См. также
- Лемма о накачке
- Абстрактный автомат
- Клеточный автомат
- Игра «Жизнь»
- Минимальная форма автомата
- Теорема Шеннона — Лупанова
- Муравей Лэнгтона
Примечания
- Современная теория автоматов, 2013, с. 5.
- Серебряков В. А., Галочкин М. П., Гончар Д. Р., Фуругян М. Г. Теория и реализация языков программирования Архивная копия от 3 января 2022 на Wayback Machine — М.: МЗ-Пресс, 2006 г., 2-е изд. — ISBN 5-94073-094-9
Литература
- Виктор Михайлович Глушков. Синтез цифровых автоматов. — М.: Государственное издательство физико-математической литературы, 1962. — С. 476.
- Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М.: Вильямс, 2002. — С. 528. — ISBN 0-201-44124-1.
- Серебряков В. А., Галочкин М. П., Гончар Д. Р., Фуругян М. Г. Теория и реализация языков программирования — М.: МЗ-Пресс, 2006 г., 2-е изд. — ISBN 5-94073-094-9
- Касьянов В. Н. Лекции по теории формальных языков, автоматов и сложности вычислений. — Новосибирск: НГУ, 1995. — C. 112.
- Современная теория автоматов. Калининград: Изд-во БФУ им. И. Канта, 2013. 261 с.: ил. ISBN 978-5-9971-0273-9.
Ссылки
- Применение теории автоматов
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Теория автоматов, Что такое Теория автоматов? Что означает Теория автоматов?
Teoriya avtomatov razdel diskretnoj matematiki izuchayushij abstraktnye avtomaty vychislitelnye mashiny predstavlennye v vide matematicheskih modelej i zadachi kotorye oni mogut reshat Teoriya avtomatov naibolee tesno svyazana s teoriej algoritmov avtomat preobrazuet diskretnuyu informaciyu po shagam v diskretnye momenty vremeni i formiruet rezultat po shagam zadannogo algoritma Sushestvuet algebraicheskaya traktovka teorii avtomatov ispolzuyushaya polukolca formalnye stepennye ryady formalnye ryady nad derevyami teoriyu nepodvizhnyh tochek i teoriyu matric TerminologiyaSimvol lyuboj atomarnyj to est nedelimyj bolee bez poteri smysla blok dannyh kotoryj mozhet proizvodit effekt na mashinu Chashe vsego simvol eto bukva nekoego formalnogo yazyka Naprimer simvoly primenyaemye vo mnogih yazykah programmirovaniya vklyuchayut bukvy obychnogo yazyka razdeliteli takzhe kakie to dopolnitelnye znaki No simvolom mozhet byt k primeru klyuchevoe slovo celikom nekoego yazyka programmirovaniya if for while i t d graficheskij element diagrammy i t d Slovo stroka simvolov sozdavaemaya cherez konkatenaciyu soedinenie Alfavit konechnyj nabor razlichnyh simvolov mnozhestvo simvolov Yazyk mnozhestvo slov kotorye mogut byt sostavleny porozhdeny iz simvolov dannogo alfavita Yazyk mozhet byt konechnym ili beskonechnym Naznachenie formalnyh avtomatovV teorii avtomatov pod etim slovom ponimaetsya formalnaya matematicheskaya konstrukciya kotoraya zadayot algoritm naznacheniem kotorogo yavlyaetsya opredelenie prinadlezhnosti zadannogo slova vhodnomu yazyku opisyvaemomu dannym formalnym avtomatom Slovo formalnyj podchyorkivaet otlichie takogo avtomata ot voploshyonnyh v metalle stankov avtomatov avtomaticheskih korobok peredach i inyh podobnyh ustrojstv Dlya kratkosti izlozheniya v sootvetstvuyushih posobiyah prilagatelnoe formalnyj ili matematicheskij chasto opuskaetsya nachinaya s nazvaniya teorii tochnee bylo by teoriya formalnyh avtomatov kogda ponyatno o chyom idyot rech Poryadok raboty avtomataDlya vypolneniya svoego naznacheniya vse formalnye avtomaty nadelyayutsya svojstvom nahozhdeniya v nekotorom dopustimom sostoyanii i funkciyami perehodov avtomata v prostejshem sluchae konechnye avtomaty zadayushih tolko vozmozhnost perehoda iz odnogo sostoyanie v drugoe pri chtenii ocherednogo simvola iz vhodnoj cepochki Posle ocherednogo perehoda chitayushaya golovka avtomata sdvigaetsya na odin simvol on prochityvaetsya Tak proishodit poka ne dostignut konec chitaemogo slova libo ne najdena podhodyashaya funkciya perehoda Mnozhestvo vseh dopustimyh sostoyanij avtomata konechno i obrazuet alfavit sostoyanij avtomata Iz vsego mnozhestva sostoyanij vydelyayut podmnozhestvo nachalnyh sostoyanij avtomata v odnom iz kotoryh mozhet byt nachat razbor slova i podmnozhestvo zavershayushih ili konechnyh sostoyanij v kotoryh avtomat esli slovo pri etom prochitano polnostyu mozhet sdelat vyvod o prinadlezhnosti razbiraemogo vhodnogo slova yazyku avtomata Nachalnye i konechnye sostoyaniya avtomata mogut peresekatsya Popadanie avtomata v zavershayushee ili konechnoe sostoyanie govorit lish o vozmozhnosti zaversheniya razbora to est avtomat v hode raboty mozhet prohodit to ili inoe konechnoe sostoyanie mnozhestvo raz poka chtenie slova prodolzhaetsya Nachalo i zavershenie raboty avtomataNachalo raboty avtomata polnostyu zadayotsya ego nachalnoj konfiguraciej vklyuchayushej razbiraemoe slovo i sostoyanie v kotorom nahoditsya avtomat Esli avtomat nahoditsya v odnom iz nachalnyh sostoyanij i imeetsya funkciya perehoda dlya dannogo sostoyaniya i pervogo simvola chitaemoj cepochki avtomat sovershaet sootvetstvuyushij perehod sdvigaet chitayushuyu golovku na vhodnom slove i v prostejshem sluchae konechnye avtomaty perehodit k issledovaniyu sleduyushego simvola vhoda Dlya priyoma ili kak govoryat dopuska vhodnogo slova avtomatom neobhodimo vypolnenie dvuh uslovij Vhodnoe slovo dolzhno byt prochitano polnostyu Avtomat po prochteniyu slova nahoditsya ili mozhet popast po pustym perehodam esli takovye dopustimy dlya sootvetstvuyushego vida avtomatov v odnom iz zavershayushih sostoyanij Dlya nekotoryh vidov avtomatov etot kriterij mozhet byt sformulirovan neskolko inache a v teorii avtomatov dokazyvaetsya ekvivalentnost ravnoznachnost takih formulirovok ostanova Pod pustym perehodom ili perehodom po pustomu simvolu zdes ponimaetsya perehod iz odnogo sostoyaniya v drugoe kogda ocherednoj simvol iz vhodnogo slova ne schityvaetsya ili inache govorya chitaetsya pustoj simvol Oboznacheniya sm nizhe Zametim chto avtomat dolzhen prinyat vse dopustimye slova opisyvaemogo im yazyka i pri etom ne prinyat ni odnogo slova kotoroe v etot yazyk ne vhodit Esli vhodnoe slovo ne prinadlezhit yazyku to avtomat libo za konechnoe chislo shagov ostanovitsya ne prochitav do konca slova i ne imeya podhodyashej funkcii perehodov dlya prodolzheniya chteniya prochtyot slovo celikom no ne budet nahoditsya v odnom iz zavershayushih sostoyanij libo ne budet vypolnen inoj ekvivalentnyj kriterij dlya nekotoryh vidov avtomatov vojdyot v beskonechnyj cikl smeny dopustimyh sostoyanij pri kotorom odnako ne budet odnovremenno vypolnyatsya oba kriteriya priyoma dopuska slova Osnovnye vidy avtomatovPo slozhnosti razbiraemyh yazykov Formalnye avtomaty obychno delyatsya po osobennostyam svoih funkcij perehodov opredelyayushih stepen slozhnosti yazyka kotoryj on opisyvaet Po klassifikacii N Homskogo izvestny chetyre osnovnyh vida po raznoobraziyu po slozhnosti formalnyh yazykov Regulyarnye Kontekstno svobodnye Kontekstno zavisimye Yazyki obshego vida bez dop ogranichenij Dlya razbora slov iz regulyarnyh yazykov podhodyat formalnye avtomaty samogo prostogo ustrojstva t n konechnye avtomaty Ih funkciya perehoda zadayot tolko smenu sostoyanij i vozmozhno sdvig chtenie vhodnogo simvola Dlya razbora slova iz kontekstno svobodnyh yazykov v avtomat prihoditsya dobavlyat magazinnuyu lentu ili stek v kotoryj pri kazhdom perehode zapisyvaetsya cepochka na osnove sootvetstvuyushego alfavita magazina Takie avtomaty nazyvayut magazinnye avtomaty Dlya kontekstno zavisimyh yazykov razrabotany eshyo bolee slozhnye a dlya yazykov obshego vida mashina Tyuringa Pri bolee blizkom znakomstve s teoriej stanovitsya ponyatno chto chem bolee slozhno ustrojstvo avtomata tem bolshe ego vozmozhnosti raspoznavaniya no i odnovremenno bolee slozhno i trudoyomko stanovitsya s nim rabotat Poetomu gramotnyj matematik i inzhener programmist starayutsya podbirat naibolee prostoj vid avtomata reshayushij s dolzhnym kachestvom postavlennuyu zadachu raspoznavaniya Zametim chto mnogie zadachi poiska svedenij vo vsemirnoj seti Internet zapisyvayutsya v ponyatiyah regulyarnyh yazykov t e s samymi zhyostkimi ogranicheniyami a bolshinstvo primenyaemyh universalnyh yazykov programmirovaniya vpolne uspeshno voplosheny na osnove kontekstno svobodnyh grammatik hotya i s nekotorymi usovershenstvovaniyami sm atributnye grammatiki K chislu nemnogih i ochen svoeobraznyh isklyuchenij otnositsya yazyk programmirovaniya LISP LISP razrabotannyj na osnove kontekstno zavisimyh yazykov A Mashina Tyuringa pri vsej svoej v teorii universalnosti i moshi okazyvaetsya nastolko slozhnoj i neudobnoj dlya ispolzovaniya v prilozheniyah chto ispolzuetsya tolko dlya teoreticheskogo analiza Po odnoznachnosti funkcii perehodov Dlya odnoj i toj zhe tekushej konfiguracii sostoyanie avtomata chitaemyj vhodnoj simvol i vozmozhno nekotorye dopolnitelnye parametry dlya slozhnyh vidov avtomatov naprimer soderzhanie steka v magazinnom avtomate funkcii perehodov formalnogo avtomata mogut zadavat kak edinstvennyj opredelyonnyj determinirovannyj perehod tak i neskolko raznyh Inache govorya dlya odnoj i toj zhe konfiguracii avtomata voobshe govorya vozmozhno sushestvovanie neskolkih funkcij perehodov Neopredelyonnost nedeterminirovannost avtomata mozhet voznikat i togda kogda kazhdoj ego konfiguracii sootvetstvuet lish odna funkciya perehoda no pri etom dopustimy i perehody po pustoj cepochke pustomu simvolu Ponyatno chto neodnoznachnost perehoda zdes mozhet voznikat ne za odin a za neskolko taktov raboty avtomata Po dannomu priznaku avtomaty takzhe delyatsya na determinirovannye opredelyonnye i nedeterminirovannye Vazhnost dannogo razdeleniya obyasnyaetsya eshyo i tem kak svojstvo determinirovannosti vliyaet na tolkovanie dopuska slova avtomatom Tak esli u nas determinirovannyj avtomat to esli vysheupomyanutye usloviya dopuska slova ne vypolneny my mozhem srazu skazat chto dannoe slovo ne prinadlezhit yazyku Esli zhe u nas avtomat nedeterminirovannyj to v podobnom sluchae my etot vyvod delaem lish dlya odnoj iz vozmozhnyh vetok razbora slova Na dele programmistu prihoditsya kak to zapominat vse vozmozhnye razvilki razbora slova i esli odna iz vetok zavershilas neudachno vozvrashatsya k ocherednoj razvilke i issledovat druguyu vetku razbora I tolko posle issledovaniya vseh vozmozhnyh variantov razbora esli ni odna iz promezhutochnyh vetok ne sootvetstvovala usloviyam dopuska mozhno uverenno sdelat vyvod o tom chto dannoe slovo ne prinadlezhit yazyku Ponyatno chto otslezhivanie i uchyot vozmozhnyh vozvratov pri razbore slova zametno uslozhnyaet rabotu programmista Poetomu voznikaet vopros mozhno li tak preobrazovat avtomat chtoby on iz nedeterminirovannogo stal determinirovannym i v celom ryade sluchaev poetomu bolee udobnym dlya raboty s nim V teorii avtomatov dokazano chto dlya regulyarnyh yazykov i sootvetstvuyushih im konechnyh avtomatov eto mozhno sdelat vsegda A dlya ostalnyh vidov yazykov po N Homskomu nachinaya s kontekstno svobodnyh i sootvetstvuyushih im avtomatov v obshem sluchae uzhe net S drugoj storony otmechaetsya chto nedeterminirovannye avtomaty obychno imeyut zametno menshij obyom ih logika raboty legche ponimaetsya chelovekom Zametim chto pri ispolzovanii mnogoprocessornyh mnogoyadernyh vychislitelnyh mashin sama vozmozhnost rasparallelivaniya neredko tesno svyazana s nedeterminirovannostyu algoritma Programma vse chasti kotoroj dolzhny vypolnyatsya v strogo opredelyonnoj posledovatelnosti rasparallelivaniyu ne poddayotsya Primery formalnogo opredeleniya dlya konechnyh avtomatovAvtomaty mogut byt determinirovannymi i nedeterminirovannymi Determinirovannyj konechnyj avtomat DKA posledovatelnost kortezh iz pyati elementov Q S d S0 F displaystyle Q Sigma delta S 0 F gde Q displaystyle Q mnozhestvo sostoyanij avtomata S displaystyle Sigma alfavit yazyka kotoryj ponimaet avtomat d displaystyle delta funkciya perehoda takaya chto d Q S Q displaystyle delta Q times Sigma rightarrow Q S0 Q displaystyle S 0 in Q nachalnoe sostoyanie F Q displaystyle F subseteq Q mnozhestvo konechnyh sostoyanij Nedeterminirovannyj konechnyj avtomat NKA posledovatelnost kortezh iz pyati elementov Q S D S F displaystyle Q Sigma Delta S F gde Q displaystyle Q mnozhestvo sostoyanij avtomata S displaystyle Sigma alfavit yazyka kotoryj ponimaet avtomat D displaystyle Delta otnoshenie perehoda D lt q a p gt q p Q a S e displaystyle Delta lt q a p gt q p in Q a in Sigma cup e gde e displaystyle e pustoe slovo To est NKA mozhet sovershit perehod iz sostoyaniya q v sostoyanie p v otlichie ot DKA cherez pustoe slovo to est ne chitaya ocherednoj simvol so vhoda a takzhe perejti iz q po a v odno iz neskolkih sostoyanij v DKA vozmozhen perehod iz q po a ne bolee chem v odno sostoyanie iz Q otsyuda opredelyonnost ili po anglijski determinirovannost vseh perehodov takogo avtomata i ego nazvanie S Q displaystyle S subseteq Q mnozhestvo nachalnyh sostoyanij F Q displaystyle F subseteq Q mnozhestvo konechnyh sostoyanij Slovo Avtomat chitaet konechnuyu stroku simvolov a1 a2 an gde ai displaystyle in S kotoraya nazyvaetsya vhodnym slovom Nabor vseh slov zapisyvaetsya kak S Prinimaemoe slovo Slovo w displaystyle in S prinimaetsya avtomatom esli qn displaystyle in F Govoryat chto yazyk L chitaetsya prinimaetsya avtomatom M esli on sostoit iz slov w na baze alfavita S displaystyle Sigma takih chto esli eti slova vvodyatsya v M po okonchanii obrabotki on prihodit v odno iz prinimayushih sostoyanij F L w S d S0 w F displaystyle L w in Sigma star hat delta S 0 w in F Obychno avtomat perehodit iz sostoyaniya v sostoyanie s pomoshyu funkcii perehoda d displaystyle delta chitaya pri etom odin simvol iz vvoda Est avtomaty kotorye mogut perejti v novoe sostoyanie bez chteniya simvola Funkciya perehoda bez chteniya simvola nazyvaetsya ϵ displaystyle epsilon perehod epsilon perehod PrimenenieTeoriya avtomatov lezhit v osnove vseh cifrovyh tehnologij i programmnogo obespecheniya tak naprimer kompyuter yavlyaetsya chastnym sluchaem prakticheskoj realizacii konechnogo avtomata Chast matematicheskogo apparata teorii avtomatov napryamuyu primenyaetsya pri razrabotke leksicheskih i sintaksicheskih analizatorov dlya formalnyh yazykov v tom chisle yazykov programmirovaniya a takzhe pri postroenii kompilyatorov i razrabotke samih yazykov programmirovaniya opisaniya apparatury a takzhe razmetki Drugoe vazhnejshee primenenie teorii avtomatov matematicheski strogoe nahozhdenie razreshimosti i slozhnosti zadach Tipovye zadachi Postroenie i minimizaciya avtomatov postroenie abstraktnogo avtomata iz zadannogo klassa reshayushego zadannuyu zadachu prinimayushego zadannyj yazyk vozmozhno s posleduyushej minimizaciej po chislu sostoyanij ili chislu perehodov Sintez avtomatov postroenie sistemy iz zadannyh elementarnyh avtomatov ekvivalentnoj zadannomu avtomatu Takoj avtomat nazyvaetsya Primenyaetsya naprimer pri sinteze cifrovyh elektricheskih shem na zadannoj elementnoj baze Sm takzheLemma o nakachke Abstraktnyj avtomat Kletochnyj avtomat Igra Zhizn Minimalnaya forma avtomata Teorema Shennona Lupanova Muravej LengtonaPrimechaniyaSovremennaya teoriya avtomatov 2013 s 5 Serebryakov V A Galochkin M P Gonchar D R Furugyan M G Teoriya i realizaciya yazykov programmirovaniya Arhivnaya kopiya ot 3 yanvarya 2022 na Wayback Machine M MZ Press 2006 g 2 e izd ISBN 5 94073 094 9LiteraturaViktor Mihajlovich Glushkov Sintez cifrovyh avtomatov M Gosudarstvennoe izdatelstvo fiziko matematicheskoj literatury 1962 S 476 Dzhon Hopkroft Radzhiv Motvani Dzheffri Ulman Vvedenie v teoriyu avtomatov yazykov i vychislenij Introduction to Automata Theory Languages and Computation M Vilyams 2002 S 528 ISBN 0 201 44124 1 Serebryakov V A Galochkin M P Gonchar D R Furugyan M G Teoriya i realizaciya yazykov programmirovaniya M MZ Press 2006 g 2 e izd ISBN 5 94073 094 9 Kasyanov V N Lekcii po teorii formalnyh yazykov avtomatov i slozhnosti vychislenij Novosibirsk NGU 1995 C 112 Sovremennaya teoriya avtomatov Kaliningrad Izd vo BFU im I Kanta 2013 261 s il ISBN 978 5 9971 0273 9 SsylkiPrimenenie teorii avtomatov
