Теория автоматов научная тема. Основные понятия теории автоматов

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

Теория автоматов наиболее тесно связана с теорией алгоритмов: автомат преобразует дискретную информацию по шагам в дискретные моменты времени и формирует результат по шагам заданного алгоритма.

  • 1 Терминология
  • 2 Применение
    • 2.1 Типовые задачи
  • 3 См. также
  • 4 Литература
  • 5 Ссылки

Терминология

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

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


Автоматы

Автоматы могут быть детерминированные и недетерминированные.

Детерминированный Конечный Автомат (ДКА)
  • - функция перехода, такая что
  • - начальное состояние
Недетерминированный Конечный Автомат (НКА) - последовательность (кортеж) из пяти элементов, где:
  • - множество состояний автомата
  • - алфавит языка, который понимает автомат
  • - отношение перехода, где - пустое слово. То есть, НКА может совершить скачок из состояния q в состояние p, в отличие от ДКА, через пустое слово, а также перейти из q по a несколько состояний (что опять же в ДКА невозможно)
  • - множество начальных состояний
  • - множество конечных состояний.
Слово Автомат читает конечную строку символов a1,a2,…., an , где ai ∈ Σ, которая называется входным словом.Набор всех слов записывается как Σ*. Принимаемое слово Слово w ∈ Σ* принимается автоматом, если qn ∈ F.

Говорят, что язык L читается (принимается) автоматом M, если он состоит из слов w на базе алфавита таких, что если эти слова вводятся в M, по окончанию обработки он приходит в одно из принимающих состояний F:

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

Применение

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

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

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

Типовые задачи

  • Построение и минимизация автоматов - построение абстрактного автомата из заданного класса, решающего заданную задачу (принимающего заданный язык), возможно, с последующей минимизацией по числу состояний или числу переходов.
  • Синтез автоматов - построение системы из заданных «элементарных автоматов», эквивалентной заданному автомату. Такой автомат называется структурным. Применяется, например, при синтезе цифровых электрических схем на заданной элементной базе.

См. также

  • Лемма о накачке
  • Абстрактный автомат
  • Игра «Жизнь»
  • Минимальная форма автомата
  • Теорема Шеннона - Лупанова

Литература

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

Ссылки

  • Применение теории автоматов

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

Раздел теоретической кибернетики, в котором изучаются математические модели (называемые автоматами, машинами) реально существующих (технических, биологических и т. п.) или принципиально возможных устройств, перерабатывающих дискретную информацию дискретными временными тактами. А. т. возникла гл. образом под влиянием запросов техники цифровых вычислительных и управляющих машин, а также внутренней потребности теории алгоритмов и математической логики. Понятие «автомата» заметно варьирует в зависимости от характера названных устройств, от принятого уровня абстракции и целесообразной степени общности (автоматы конечные, бесконечные, растущие, вероятностные, детерминированные, автономные и т. п.).

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

Термин «А. т.» вошел в обиход в 50-е годы 20 ст., хотя соответствующая проблематика в значительной мере начала складываться еще в 30-е годы в рамках теории алгоритмов и теории релейных устройств. Еще тогда в алгоритмов теории были сформулированы достаточно общие понятия вычисл. автомата (см. Тьюринга машина) и (неявно) понятие автомата конечного (головка машины Тьюринга). Было установлено, что для осуществления

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

В А. т. достаточно четко вырисовываются отдельные ее направления, обусловленные выбором изучаемых типов автоматов (конечных, вероятностных и т. п.), принятым уровнем абстракции (см. Абстрактная теория автоматов, Структурная теория автоматов) или спецификой применяемых матем. методов (см. Алгебраическая теория автоматов). Наряду с этим родственные задачи и методы интенсивно развиваются в теории релейных устройств, в теории ЦВМ ив теории программирования, поэтому зачастую трудно бывает различать сферы действия этих теорий и А. т.

Поведение и структура. В основе А. т. лежат точные матем. понятия, формализующие интуитивные представления о функционировании и поведении автомата, а также о его структуре (внутреннем устройстве). С точки зрения их поведения, автоматы чаще всего рассматриваются как преобразователи словарной информации, т. е. преобразователи последовательностей букв в последовательности букв. Реализуемое преобразование интерпретируется обычно как вычисление значений некоторой ф-ции (оператора) по заданным значениям аргументов или как преобразование записей условий задач некоторого типа в записи соответствующих решений. В частности, т. н. распознающие автоматы, воспринимая входную информацию, реагируют на нее так, что некоторые входные последовательности сигналов они принимают, а другие - отвергают. В этом смысле они распознают или, как говорят еще, представляют мн-ва входных последовательностей. Наконец, порождающий автомат функционирует как автономная система, не связанная со входной информацией, его поведение определяется тем, какие выходные последовательности он способен порождать. Приведенная классификация в терминах преобразования, распознавания и порождения зависит от правил функционирования автомата, т. е. от программы взаимодействия его внутренних состояний со входными (поступающими из внешней среды) и выходными (вырабатываемыми во внешнюю среду) сигналами. Пусть Q, X, Y - соответственно мн-ва внутренних состояний входных и выходных сигналов автомата. Если это детерминированный автомат, его программа формализуется в терминах ф-ции переходов Ч и ф-ции выходов Ф, указывающих для каждого входного сигнала х и каждого состояния состояние в которое переходит автомат, и вырабатываемый им при этом выходной сигнал

Абстрактная А. т. характеризуется более высоким уровнем абстракции: в ней понятие автомата отождествляется с понятием программы автомата, т. е. с пятеркой (), при полном отвлечении от его структуры. Структура автомата отражает способ его организации из более простых взаимодействующих компонент (элементарных автоматов или просто - элементов), надлежащим образом соединенных в единую систему. Напр., вычисл. машина составлена из элементарных ячеек типа триггеров, инверторов и т. п.; нервная система построена из нейронов. Структурная классификация автоматов определяется характером допускаемых соединений (соединения могут быть жесткими или же изменяться в процессе работы, подвергнуты тем или иным геом. ограничениям), а также спецификой функционирования и взаимодействия употребляемых элементов (напр., элементы могут только обмениваться информацией или же они могут порождать новые элементы, наращивая структуру). Формализация структурных понятий осуществляется в терминах различного рода схем (см. Сеть логическая). А. Н. Колмогоров наметил подход, приведший к формулировке весьма общего, но все еще конструктивного понятия структуры автомата (см. Автоматы растущие), которое, по-видимому, охватывает все известные типы структур автоматов и все те, которые можно предвидеть на современном уровне науки. Вполне очевидно, что имеется тесная связь между структурой автомата и его поведением. Однако раздельное изучение каждого из этих двух аспектов при значительном отвлечении от другого не только возможно, но зачастую и полезно при постановке и решении многих важных проблем. Такое изучение производится соответственно в абстрактной (поведенческой) и структурной теории автоматов.

Типы автоматов. Наиболее распространенной является классификация автоматов и со-отв. разделов А. т., посвященных различным

типам автоматов, по следующим признакам.

1) Объем памяти. Конечные и бесконечные автоматы характеризуются соотв. конечностью и бесконечностью объема памяти (числа внутренних состояний). Конечными автоматами являются отдельные блоки современных вычисл. машин и даже машина в целом. Мозг также можно рассматривать как конечный автомат. Бесконечные автоматы представляют собой естественную матем. идеализацию, вырастающую из представления об автомате с конечным, но необозримо большим числом состояний. При этом имеется в виду лишь потенциальная бесконечность памяти, проявляющаяся в том, что память, хотя и остается конечной в каждый момент времени, может неограниченно возрастать. Такая идеализация возникла впервые в рамках теории алгоритмов в процессе уточнения интуитивного представления об алгоритме. Структурно-растущий автомат представляют в виде соединения элементов, способных к размножению и наращиванию схемы. Современные ЭВМ можно рассматривать как растущие (а вместе с тем и потенциально бесконечные) автоматы в следующем смысле: чтобы вычисления во всех случаях могли быть доведены до конца, приходится допускать возможность неограниченного наращивания внешней (ленточной) памяти.

2) Механизм случайного выбора. В детерминированных автоматах поведение и структура в каждый момент времени однозначно определены текущей входной информацией и состоянием автомата, сложившимся в непосредственно предшествующий момент. В вероятностных (стохастических) автоматах они зависят еще и от некоторого случайного выбора. Стохастические автоматы не следует смешивать с недетерминированными, в которых так же нарушено условие однозначности (однако без участия к.-л. механизма случайного выбора).

Проблемы и методы. К центр, проблемам А. т. относятся проблемы анализа, т. е. описания поведения автомата, исходя из заданной его программы или структуры, и синтеза - т. е. конструирования автоматов, поведение которых удовлетворяло бы заранее предъявляемым требованиям. С этими проблемами тесно связаны и многие др. задачи, которые интенсивно исследуются (полнота и универсальность, минимизация, языки, асимптотические оценки и др.). Более всего анализ и синтез исследованы в теории конечных детерминированных автоматов, причем они по-разному трактуются в абстрактной и в структурной теориях автоматов. Так, напр., в структурной теории под синтезом (см. Синтез автоматов структурный) подразумевается построение схемы из заданного ассортимента элементов, которая была бы оптим. (или близка к оптим.) в смысле некоторого выдвигаемого критерия сложности схем. Здесь преобладают комбинаторно-информационные методы и асимптотические оценки (К. Шэннон, С. В. Яблонский, О. Б. Лупанов и др.). В абстрактной теории автоматов довольствуются построением программы функционирования автомата (см. Синтез автоматов абстрактный), напр., в виде ф-ций перехода и выхода для конечного автомата, которая обычно служит исходным материалом для дальнейшего развертывания структурного синтеза. Здесь используются преимущественно алгебраические (С. К. Клини, В. М. Глушков и др.), математико-логич. (Б. А. Трахтенброт, Р. Бюхи и др.) и игровые (Р. Мак-Нотоп) методы и понятия. Проблема анализа и синтеза конечных детерминированных автоматов занимает видное место и в теории релейных устройств.

В теории экспериментов с автоматами (Э. Мур) разрабатываются методы, которые позволяют по сведениям, получаемым при внешнем наблюдении за поведением автомата, восстанавливать программу его функционирования или по крайней мере некоторые ее свойства. Эти методы можно рассматривать как своеобразный прием абстрактного синтеза и расшифровки автоматов (Я. М. Барздинь). Работы К. Шэннона, М. Рабина и др. послужили толчком к развитию теории вероятностных автоматов в следующих направлениях: 1) в какой мере понятия и методы теории детерминированных автоматов переносятся на стохастические автоматы; 2) какие упрощения вычисл. процесса достижимы при выходе из более узкого класса детерминированных автоматов в более широкий класс автоматов вероятностных. Изучение растущих автоматов сосредоточено в основном на следующих проблемах: 1) разработка моделей растущих автоматов и изучение отдельных их классов (автоматы итеративные - Ф. Хенни, автоматы регистровые - В. М. Глушков, автоматы самовоспроизводящиеся - Дж. фон Нейман, обобщенные растущие автоматы - А. Н. Колмогоров, Я. М. Барздинь); 2) оценка вычисл. способности и сложности вычислений растущих автоматов (Я. М. Барздинь, Б. А. Трахтенброт, Ю. Хартманис, Г. С. Цейтин, М. Рабин и др.).

Связь с другими научными направлениями.

Значение теории алгоритмов и теории релейных устройств для А. т. уже было разъяснено выше. Следует указать и на обратную отдачу А. т., методы которой позволили решить ряд задач, возникших в матем. логике и теории алгоритмов (Р. Бюхи). Проблематика, складывающаяся в теории растущих автоматов (напр., сложность вычислений), лежит по существу на стыке теории алгоритмов и асимптотических закономерностей структурного синтеза автоматов. Сильное взаимное проникновение А. т. и лингвистики математической, одним из важных понятий которой является грамматика порождающая, - объект весьма близкий к порождающему автомату. Поэтому отдельные довольно важные положения теории грамматик могут быть в принципе отнесены к А. т. В абстрактной теории автоматов матем. вопросы обучения, а также целесообразного поведения одного индивидуума или коллектива были уточнены и исследованы в терминах автоматов игр (М. Л. Цетлин). Полезной

оказалась также связь теории конечных автоматов с теорией проектирования ЦВМ и теорией программирования (В. М. Глушков, А. А. Летичевский).

Лит.: Гаврилов М А. Теория релейно-контактных схем. М.- Л., 1950 [библиогр. с. 298-299]; «Труды математического института им. В. А. Стеклова АН СССР», 1958, т. 51; Глушков В. М. Синтез цифровых автоматов. М., 1962 [библиогр. с. 464- 469]; Кобр инский Н. Е., Трахтенброт Б. А. Введение в теорию конечных автоматов. М., 1962 [библиогр. с. 399-402]; Цетлин М. Л. Исследования по теории автоматов и моделированию биологических систем. М., 1969 [библиогр. с. 306-316]; Трахтенброт Б. А., Барздинь Я. М. Конечные автоматы (Поведение и синтез). М., 1970 [библиогр. с. 389-395]; Автоматы. Пер. с англ. М., 1956. Б. А, Трахтенброт.

Вятский Государственный Университет

ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Кафедра Электронных Вычислительных Машин

Теория автоматов (часть I) Конспект лекций

Теория автоматов (часть I). Конспект лекций /Киров, Вятский государственный университет, 2010, 56с.

В конспекте лекций по курсу «Теория автоматов» (Часть I) приведен необходимый теоретический материал, включающий основы прикладной теории цифровых автоматов, основные определения и правила синтеза абстрактных конечных автоматов, схема дискретного преобразователя В.М. Глушкова и три основных модели конечных автоматов: модель Мили, модель Мура и модель С-автомата. Далее рассмотрены методы кодирования элементов памяти, минимизация автоматов с памятью, канонический метод синтеза структурных автоматов. Особое внимание уделено правилам построения оптимальной комбинационной схемы автомата по каноническим уравнениям с учётом выбранных элементов памяти. Указана соответствующая литература.

Курс лекций предназначен для студентов очного обучения специальности 230101 - "Вычислительные машины, комплексы, системы и сети", а также бакалавров направления 230100.62 – "Информатика и вычислительная техника".

Составитель: к.т.н., доцент каф. ЭВМ В.Ю. Мельцов.

    Вятский государственный университет, 2010

    Мельцов В.Ю.

1. Введение 4

2. Задачи анализа и синтеза 4

3. Абстрактный управляющий автомат 7

4. Синтез абстрактных автоматов 9

5. Синхронный автомат 10

6. Асинхронные автоматы 11

7. Автоматы Мили и Мура 12

8. Способы задания автоматов 14

8.1 Табличный способ задания автоматов 15

8.2. Задание автомата с помощью графа 17

8.3. Матричный способ задания автоматов 19

9. Переход от автомата Мили к автомату Мура и обратно 19

10. Этапы синтеза автоматов 23

11. Минимизация числа внутренних состояний автомата 26

12. Минимизация полностью определённых автоматов. 27

13. Совмещённая модель автомата (C-автомата) 31

14. Структурный синтез автомата 32

14.1. Канонический метод структурного синтеза автомата 32

14.2. Структурный синтез С-автомата 35

15. Кодирование состояний автомата 41

15.1. Метод противогоночного кодирования состояний автомата 42

15.2. Соседнее кодирование состояний автомата 45

15.3. Кодирование состояний автомата для минимизации комбинационной схемы 47

16. Элементарные автоматы памяти 50

17. Синтез автоматов на ПЛМ и ПЗУ 54

1. Введение

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

Целью теории систем является задача создания арсенала идей и средств, которые были бы в равной степени полезны специалистам в самых различных областях (электротехника, механика, физика, химия, социология и т.п.). Данная цель достигается путем рассмотрения системы не через ее внутреннюю структуру, а через математические законы, определяющие ее наблюдаемое поведение. При этом наиболее часто используется подход, называемый методом «черного ящика» (т.е. метод, в котором анализируются входные данные и данные, получаемые на выходе автомата, при этом внутренние процессы не рассматриваются). Было доказано, что все системы могут быть охарактеризованы в одинаковых терминах и проанализированы с помощью одного и того же набора правил.

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