Теория автоматов. Лекции по теории автоматов - файл теория автоматов.doc Группы проблем в теории абстрактных автоматов

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

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

  • 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.

Ссылки

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

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

Поиск материалов:

Количество Ваших материалов: 0.

Добавьте 1 материал

Свидетельство
о создании электронного портфолио

Добавьте 5 материала

Секретный
подарок

Добавьте 10 материалов

Грамота за
информатизацию образования

Добавьте 12 материалов

Рецензия
на любой материал бесплатно

Добавьте 15 материалов

Видеоуроки
по быстрому созданию эффектных презентаций

Добавьте 17 материалов

На протяжении последних десятилетий велись и ведутся интенсивные работы по созданию
и использованию различных систем и устройств для переработки дискретной
информации. Преобразователи дискретной информации широко используются в качестве
различного рода технических автоматов, вычислительных устройств и их функциональных
блоков, устройств управления роботами, управляющих объектами по заданному
алгоритму. Широкий класс таких преобразователей объединяется под общим названием
­автоматы. Эти устройства имеют конечное число входов, воспринимающих информацию,
и конечное число выходов для выдачи переработанной информации. Зависимость между
входами и выходами задается предписанным алгоритмом переработки информации.
Информация на входе и выходе представляется символами, физическими носителями
которых являются квантованные по времени сигналы.
Если «К» символов одновременно следующих по параллельным входным либо выходным
каналам, рассматривать как один символ из соответствующего алфавита, следующего по
единому "склеенному" каналу, то такой автомат можно представить как устройство с
одним входом и одним выходом (рис. 1).
Рис.1 – Общая функциональная модель преобразователя дискретной информации
Известны два подхода к определению термина автомат. При первом его истолковывают
как устройство, которое без непосредственного участия человека выполняет функции
приема, преобразования и передачи энергии, информации и т.п. в соответствии с
заложенной в него программой, при втором ­ как математическую модель реальных
преобразователей дискретной информации. Функционирование его состоит в том, что
последовательность z1,z2,... символов конечного или в общем случае бесконечного
алфавита Z, поступающая на вход, вызывает на его выходе определенную
последовательность w1,w2,... символов того же или другого алфавита. Таким образом,
самой общей математической моделью преобразователя дискретной информации является
последовательностная функция, отображающая множество Z всех последовательностей
символов алфавита Z в другое множество W* последовательностей символов алфавита W.
Такая интерпретация позволяет схематично представить преобразователь как устройство,
реализующее отображение одного множества на другое (рис. 2а).

Рис.2а – Формальная модель преобразователя
Данное отображение называется алфавитным отображением или алфавитным
оператором.
Теория автоматов ­ это раздел теории управляющих систем, изучающий математические
модели преобразователей дискретной информации, называемые автоматами. С
определенной точки зрения такими преобразователями являются как реальные устройства
(вычислительные машины, живые организмы), так и абстрактные системы
(например, формальная система – это совокупность абстрактных объектов, не связанных
с внешним миром, в котором представлены правила оперирования множеством символов в
строго синтаксической трактовке без учета смыслового содержания, т.е.
семантики; аксиоматические теории, описывающие определенную совокупность явлений
в их причинно­следственной связи друг с другом).
Наиболее тесно теория автоматов связана с теорией алгоритмов. Это объясняется тем,
что автомат преобразует дискретную информацию по шагам в дискретные моменты
времени и формирует результирующую информацию по шагам заданного алгоритма. Эти
преобразования возможны с помощью технических и/или программных средств. Автомат
можно представить как некоторое устройство (чёрный ящик), на которое подаются
входные сигналы и снимаются выходные и которое может иметь некоторые внутренние
состояния. При анализе автоматов изучают их поведение при различных возмущающих
воздействиях и минимизируют число состояний автомата для работы по заданному
алгоритму. Такой автомат называют абстрактным, т.к. абстрагируются от реальных
физических входных и выходных сигналов, рассматривая их просто как буквы некоторого
алфавита и в связи с идеализированным дискретным временем. При синтезе автоматов
(процесс соединения или объединения) формируют систему из элементарных автоматов,
эквивалентную заданному абстрактному автомату. Такой автомат
называется структурным. Особое место в теории автоматов занимает понятие конечного
автомата.
Результат преобразования вход => выход (рис.2а) зачастую зависит не только от входа в
данный момент времени, но и от того, что было раньше на входе, от входной истории, т.е.
от предыстории преобразования. Число возможных входных историй бесконечно (счетно),
даже если различных элементов входной информации у автомата конечное число (как в

конечном функциональном преобразователе). Чтобы эти предыстории как­то запоминать и
отличать друг от друга преобразователь должен иметь память. Для этого в устройство
(рис. 1.1,6) вводится алфавит состояний Q = {qx,q2,...qm).
Понятие состояния q при этом играет очень важную роль. В своих состояниях автомат
запоминает свое концентрированное прошлое. На один и тот же входной сигнал
преобразователь может реагировать по­разному в зависимости от того, в каком состоянии
он находится в данный момент.
Конечный автомат (рис.2б) - математическая абстракция, позволяющая описывать пути
изменения состояния объекта в зависимости от его текущего состояния и входных данных,
при условии, что общее возможное количество состояний Q и множество входных сигналов
Z конечны. Конечный автомат является частным случаем абстрактного автомата.
Рис.2б – Конечный автомат
Конечный автомат является одним из важнейших видов управляющих систем.
Главным достоинством конечных автоматов является то, что в них естественным
образом описываются системы, управляемые внешними событиями.
Теория автоматов занимается изучением процессов, протекающих в автоматах различного
рода, и общих закономерностей, которым они подчинены, широко применяя для этого
алгебраический аппарат, математическую логику, комбинаторный анализ и теорию
вероятностей.
Конструируя надежные, хорошо работающие автоматы, приходится решать необычайно
сложные задачи. Например, надо определять устойчивость систем, чтобы уменьшить
различные отклонения в работе автоматических машин. Надо изучать и чувствительность
автоматов, так как в процессе работы свойства систем регулирования не остаются
постоянными.
Теория автоматов находит применение как в математике, так и в решении практических
задач. Например, средствами теории автоматов доказывается разрешимость некоторых
формальных исчислений. Применение методов и понятий теории автоматов к изучению
формальных и естественных языков привело к возникновению математической
лингвистики (математическая лингвистика ­ математическая дисциплина, предметом
которой является разработка формального аппарата для описания строения естественных
и некоторых искусственных языков.) Понятие автомата может служить модельным

объектом в самых разнообразных задачах, благодаря чему возможно применение теории
автоматов в различных научных и прикладных исследованиях.
Актуальность теории автоматов
Существует множество объектов управления, связанных с большой
ответственностью: ядерные и химические реакторы, комплексы промышленного,
оборонного, космического назначения, горное дело. Успех в работе с ними прямо
зависит от четкости и слаженности действий, от умения принимать выверенные решения и
грамотно анализировать ситуацию, от возможности однозначной интерпретации
информации. Различная природа физических процессов, протекающих в объектах, сложный
характер взаимодействия между ними и управляющими системами обуславливает
трудности разработки, алгоритмизации и программирования задач управления. Возникают
трудности, связанные с необходимостью достижения наглядности и структурированности.
Для решения этих задач используется развитый математический аппарат теории автоматов.
Описание логики поведения (при каких условиях необходимо выполнить те или иные
действия) при автоматном подходе структурировано. Это свойство делает автоматное
описание сложного поведения наглядным и ясным. Корректность работы при
использовании автоматов закладывается еще на этапе проектирования, благодаря
графическому представлению, т.е.
 наглядно представляется поведение управляющих автоматов (графически, таблично)
и композиций из них;
 отображаются желаемые состояния;
 отражается динамика и условия переходов автомата из состояния в состояние;
 можно легко увидеть возможные ошибки в проектировании, такие как отсутствие
некоторого перехода, недоступность состояния и т.д.
Все это приводит к четкому пониманию работы устройства. Процессы управления,
проектирования могут быть представлены в виде элементов с предсказуемым поведением.
Пример: один из крупнейших мировых производителей авиационной, космической и
военной техники – американская корпорация «Боинг» занимается системами стабилизации
самолетов с использованием чистой теории автоматов. Большая часть теории автоматов
была успешно использована в системных программах и текстовых фильтрах в ОС UNIX.
Это позволяет множеству людей работать на высоком уровне и разрабатывать очень
эффективные программы.

Области применения ТА поражают своим размахом и не ограничиваются узкой
направленностью и специализацией. Рассмотрим некоторые из них.
Программирование
Возникает вопрос, почему же конечно­автоматная модель теории автоматов особенно
актуальна сейчас, когда существует огромное количество, как языков
программирования, так и сред для разработки ПО? Имеют место две проблемы:
 непредсказуемое поведение кода программы, разработанной исключительно
средствами RAD (Rapid Application Development – средства быстрой разработки
приложений);
 «угасание» «культуры программирования».
Примеры RAD: Borland Delphi и C++ , обеспечивающие ускоренную разработку
приложений за счет использования объектно­ориентированного и визуального
программирования. Они позволяют не только программировать в привычном смысле слова,
но и фактически рисовать программы (как интерфейс, так и реализацию), используя
визуальные компоненты VCL.
Любой визуальный объект VCL характеризуется рядом свойств, методов и событий.
Казалось бы, простой манипуляцией перечисленными атрибутами возможно заставлять
разрабатываемую программу делать то, что требует от нее программист­разработчик. Но
это далеко не так.
Давно стало ясно, что VCL имеет тенденцию скрывать точную реализацию определенных
объектов, тем самым не давая посторонним менять умалчиваемое поведение кода. Как
показывает практика, поведение кода программы, созданной с помощью средств RAD, не
всегда предсказуемо даже для очень опытного программиста, не говоря уже о начинающем.
Программа, несмотря на «очевидность» авторского кода, всегда стремится пойти своим
путем, попадая в такие замысловатые обработчики событий, о существовании которых
можно даже и не догадываться.
В современном мире объемы и сложность разрабатываемых приложений возрастают с
каждым днем, поэтому такой подход резко увеличивает время тестирования и отладки ПО.
Управлять поведением кода дает возможность механизм теории автоматов еще
сорокалетней давности.
Стили программирования различаются по базовым понятиям, в качестве которых
используются такие понятия как «событие», «подпрограмма», «функция», «класс»

(«объект») и т. д. Стиль программирования, основанный на явном выделении состояний
и применении автоматов для описания поведения программ, назван «автоматное
программирование», а соответствующий стиль проектирования программ -
«автоматное проектирование». Автоматное программирование можно рассматривать не
только как самостоятельный стиль программирования, но и как дополнение к другим
стилям, например, к объектно­ориентированному, т.к. речь идет не только и не столько об
использовании конечных автоматов в программировании, сколько о методе создания
программ в целом, поведение которых описывается автоматами. Т.е. как отдельный
компонент, так и программа в целом может быть реализована как автомат.
В автоматном программировании существует два направления: SWITH­технология и
КА (конечно­автоматная) технология. Switch­технология - технология разработки систем
логического управления на базе конечных автоматов, охватывающая процесс
проектирования, реализации, отладки, верификации (проверки), документирования и
сопровождения.
Кодирование/программирование автоматов в рамках КА­технологии основано на
следующих принципах:
 введено понятие динамичного объекта, который может быть наделен алгоритмом
поведения во времени;
 алгоритм поведения объекта задается моделью конечного автомата;
 язык описания автомата основан на базе табличной формы представления автоматов;
 логика поведения объекта (таблица переходов автомата) отделена от методов
автоматного объекта (предикатов и действий), связанных с реализацией его
поведения во времени;
 любые динамичные объекты могут выполняться параллельно.
Рассмотрим эти технологии подробнее:
1) SWITH­технология. Основные положения: предлагается сделать понятие «состояние»
первичным, а алгоритмы представлять в виде графов переходов (диаграмм состояний), т.е.
представлять программу как систему взаимодействующих конечных автоматов,
описываемых графами переходов. Состояния кодируются для того, чтобы их различать.
Графы в наглядной для человека форме отражают переходы между состояниями, а также
«привязку» выходных воздействий и других автоматов к состояниям и/или переходам.
Внутри программы автоматы могут взаимодействовать:

 по вложенности (один автомат вложен в одно или несколько состояний другого
автомата)
 по вызываемости (один автомат вызывается с определенным событием из выходного
воздействия, формируемого при переходе другого автомата)
 обмену сообщениями (один автомат получает сообщения от другого)
 по номерам состояний (один автомат проверяет, в каком состоянии находится
другой автомат).
Ни число автоматов, вложенных в состояние, ни глубина вложенности не ограничены.
Основной критерий оптимальности реализации управляющих автоматов – возможность
преобразования графа переходов в программный код. <><><>Известно большое число
инструментальных средств для генерации программ, реализующих графы переходов:
 Visio2Switch ­ инструментальное средство Visio2Switch позволяет по графу
переходов, построенному с помощью редактора Microsoft Visio, автоматически
реализовать его в виде изоморфной программы на языке С. Конвертор Visio2Switch
используется в настоящее время при создании программного обеспечения ряда
ответственных систем реального времени.
 MetaAuto ­ инструментальное средство MetaAuto позволяет по графу переходов,
построенному с помощью того же редактора, автоматически реализовать его в виде
изоморфной программы на любом языке программирования, для которого
предварительно построен шаблон (C, C# , Turbo Assembler и т.д.).
 UniMod ­ инструментальное средство UniMod предназначено для поддержки
автоматного программирования и построения и реализации не только автоматов, но и
программ в целом.
Практика показала, что для многих классов программ только 20–30% программного
кода строится вручную.
На основе SWITCH­технологии уже разработаны приложения для: устройства продажи
газированной воды, банкомата (см. пример 1), светофора, системы управления
пассажирским лифтом, система управления автомобильной сигнализации (см. пример 2),
автоматизированной системы оплаты мобильного телефона, устройства обмены валюты,
устройства для продажи проездных билетов и т.д.
2) КА­технология позволяет реализовать идею параллелизма. Технологии разработки
программ “сверху вниз”, “снизу вверх”, структурный подход таких возможностей или не

имеют, или они ограничены. Даже в технологии объектно­ориентированного
программирования (ООП) вопросы параллельной работы объектов вынесены за ее рамки.
Использование других технологий, базирующихся на известных параллельных моделях,
сопряжено с трудностями, связанными если не с ограничениями области их применения, то
с проблемами последующей реализации на программном и/или аппаратном уровнях.
Параллельные модели ­ одно из основных и перспективных направлений в области развития
программирования и аппаратных средств. Идея параллелизма весьма привлекательна. Но
для ее использования необходимо, во­первых, решить проблему описания, т.е. выбора
формальной параллельной модели, и, во­вторых, проблему реализации модели. КА­
технология использует модель со средствами представления и описания параллелизма,
которые по своим возможностям не уступают другим параллельным моделям, а ее
реализация во многом проще. Кроме того, применяя стандартные приемы, несложно
перейти от параллельного конечно­автоматного представления к последовательному
описанию.
Примеры применения КА­технологии: бухгалтерские программы типа расчета
заработной платы или учета квартирной платы, проект системы управления
технологическим процессом выращивания кристаллов с множеством динамически
порождаемых параллельно функционирующих объектов реализующих процессы съема
данных с датчиков, выдачу управляющих воздействий на объект, автоматные алгоритмы
работы драйверов с разнообразной аппаратурой, процессы отображения и расчета.
3) Основное отличие рассматриваемых технологий заключается в реализации логики
автоматных программ. В SWITCH­технологии она реализуется переводом автоматного
описания в программный код языка программирования, в КА­технологии реализуется
прямое исполнение автоматов путем интерпретации его исходного табличного
представления. Это более короткий и наглядный путь реализации автоматов, хотя и более
медленный, если рассматривать уровень отдельного компонентного автомата сети
автоматов.
Вывод: Автоматное программирование используется в настоящее время при
проектировании программного обеспечения систем автоматизации ответственных объектов
управления (автомат управления криогенно­вакуумной установкой, дизель­генератором).
Конечный автомат работает по принципу «шаг в сторону – недопустимо». Реализовать
непредусмотренные действия конечный автомат не даст ни пользователю (исходный
вариант кода), ни самой программе (модифицированный вариант кода).

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

обучению. Использование автоматов при создании искусственных нейронных сетей
позволяет исключить появление непредусмотренных состояний в работе.
Нейронные технологии особенно интенсивно применяются в экспертных системах
прогнозирования месторождений и финансовом деле при оценке инвестиций.
Пример: В жидкостных ракетных двигателях (ЖРД), представляющих собой сложную
техническую систему, состоящую из множества агрегатов, взаимодействующих между
собой, необходима быстрая реакция контролирующей системы на процессы, происходящие
в одном из самых ответственных и напряженных агрегатов – турбонасосном агрегате
(ТНА). При использовании нейронных сетей и автоматов появляется возможность
раннего диагностирования аварийных ситуаций, что позволяет снизить последствия аварии
и предотвратить разрушение двигателя при проведении огневых испытаний (см. пример 3).
При функционировании ТНА представляется в виде конечного автомата. Состояния, в
которых он может находиться: Ожидание, Запуск, Основной режим, Останов, Аварийное
состояние (разделяется на ряд состояний, классифицирующих характер отказа).
Значение предельного отклонения подбирается с таким расчетом, чтобы быть
минимальным и в то же время допускать небольшие вариации. В случае отказа (выход
любой из четырех сетей равен единице) активируются нейронные сети, обученные на
характерных для ТНА отказах, по показаниям которых можно определить, что послужило
причиной отказа (выход сети равен единице). Если этого сделать не удается (несколько
выходов сетей равны единице), то считается что отказ комбинированный – одновременно
произошло несколько отказов, а в случае неопределенности (все выходы сетей равны
нулю), автомат переходит в состояние Новый отказ.
Разработанная методика позволяет обнаруживать отказы турбонасосного агрегата. Т.к.
данное устройство является очень сложным, то после наступления аварийной ситуации
проблематично определить вид поломки, в каком состоянии работы на данный момент
находится агрегат и как его снова перевести в рабочее состояние. Нейронная сеть
позволяет либо предупредить аварию, либо фиксирует время, когда произошел отказ и
определяет вид отказа. Применение SWITCH­технологии при разработке управляющего
ПО позволяет получить полный протокол работы диагностирующего автомата – в любой
момент времени его работы можно узнать в каком состоянии автомат находится, и в какое
состояние его можно перевести.
Создание прикладного ПО для мобильных устройств и микроконтроллеров

При построении серверных приложений, отвечающих на запросы, большую роль играет
«отсутствие состояния» - нет нужды сохранять состояния между двумя
последовательными запросами.
При построении удачного интерактивного приложения управляемого событиями, многое
зависит от того, продумана ли модель управления состояниями.
Конечный автомат - весьма удобная концепция, которую целесообразно использовать для
структурирования приложений.
Поскольку мобильные приложения должны использовать пространство экрана и системные
ресурсы эффективно, конечные автоматы оказываются особенно полезными при
разработке ПО для таких приложений.
Программа представляет собой совокупность конечных автоматов, взаимодействующих
друг с другом и с «внешним миром». Диаграмма переходов КА описывает переходы между
экранными формами, дуги переходов из состояния в состояние описывают действия
пользователя. С каждой из конструируемых форм должен связываться конечный автомат,
управляющий визуальным поведением формы. Если в самой форме содержится несколько
страниц, например, диалоговые окна с вкладками, то предусматривается для каждой из
подстраниц собственный конечный автомат.
Конечные автоматы значительно расширяют возможности управления выполнением
фоновых задач. Их использование делает возможным предоставление фоновыми потоками
информации о состоянии выполнения, а также обращение других потоков с запросами к
фоновому потоку на выполнение определенных действий, например, с запросом на
прекращение выполнения фоновой работы. При этом в наглядной графической форме
могут быть выражены как связи между автоматами, так и их внутренняя
структура. Главное преимущество: возможность повторного использования кода, быстрая
модификация, наглядность, что важно в случае приложений для мобильных устройств,
требующих экономного расходования экранного пространства, памяти, вычислительной
мощности и других ресурсов.
Построение моделей документооборота на основе конечно­автоматной модели теории
автоматов
В современном обществе идет процесс интенсификации вычислительных и
информационных технологий во всех отраслях деятельности.
Документооборот - движение документов в организации с момента их создания или
получения до завершения исполнения: отправки и/или направления в дело. Внедрение

электронного документооборота является актуальной задачей современного общества, т.к.
он позволяет сделать процесс движения документов управляемым и контролируемым, что
обеспечивает более качественные услуги управления. Предприятия и организации для
решения этой задачи тратят значительные средства и время. В тоже время, каждая
разработка системы документооборота является уникальной и возможность повторного
использования полученного опыта в полном объеме практически отсутствует. Правильная
организация данного процесса определяет качество и стабильность работы любого
предприятия.
Использование автоматной модели в разработке спецификаций документооборота и
программного продукта позволяет создавать системы более адекватные требованиям
пользователей и обеспечивает возможность достижения совместимости приложений.
Теория автоматов позволяет реализовать логику ветвления движения документов между
участниками процессов документооборота. Автомат позволяет установить реакцию
элементов системы документооборота на изменения в системе.
В качестве моделируемого объекта рассматривается так называемый композитный
документооборот, то есть такой документооборот, в котором участвуют, как электронные,
так и бумажные представления документов. Композитный документооборот
представляется тройкой: Дт = {У, Д, Ф}, где
 Дт – формальная модель документооборота;
 У – множество участников;
 Д – множество действий;
 Ф – множество состояний документов.
Множество состояний документов S получается путем анализа жизненного цикла
документа. Это множество всех состояний, которые могут быть приняты документом в
пределах моделируемого документооборота, где каждое значение уникально: {S}={Ф}.
Под начальным состоянием подразумевают первоначальное состояние, в которое поступает
документ после инициализации процесса. При представлении документооборота в виде
совокупности процессов, начальное состояние представляет первый шаг, после которого
можно говорить о том, что документ существует и процесс активизирован. Таким образом,
начальные состояния – это объекты, элементы множества Ф, которые имеют одну или
несколько исходящих связей и ни одной входящей.

Документооборот состоит из совокупности процессов, каждый из которых обрабатывает
один или несколько документов. Жизненный цикл процесса документооборота
определяется движением документов от начальных состояний к завершающим состояниям.
В рассматриваемой модели завершающие состояния автомата определяются, как состояния
документа, после возникновения которых работа автомата останавливается, то есть
процесс документооборота перестает существовать. Таким образом, завершающие
состояния можно определить как объекты множества Ф, которые имеют одну или
несколько входящих связей и ни одной исходящей.
В документообороте документ принимает следующее состояние в зависимости от
результата действия, которое над ним произвели. Функцию перехода автоматной
модели документооборота можно определить как i­й элемент множества действий {Д}
документооборота, после выполнения которого, происходит смена состояния на
состояние. {F}={Д}
Алфавит автомата – это множество символов, наборы которого поступают или могут
поступить автомату. В качестве алфавита автомата следует рассматривать список
участников.
Можно однозначно определить автомат, который будет адекватно реализовывать модель
документооборота. Модель, построенная на детерминированных автоматах, позволяют
строить модели, которые легче воспринимаются визуально. Для них проще построить
программную реализацию. В то же время, при создании моделей процессов, имеющих
сложную ветвящуюся структуру, автоматная модель на детерминированных автоматах
получается большой и громоздкой.
Недетерминированные автоматы позволяют задавать сложные процессы, используя
меньшее количество описательного материала. Однако, для наглядного восприятия они
намного сложнее.
Вывод: при небольших слаборазветвленных процессах лучше использовать
детерминированные автоматы, в то время, как недетерминированные более удобны при
задании процессов с большим количеством шагов и ветвлений.
После разработки теоретической базы реализуется программное обеспечение,
применяющее на практике автоматную и графовую модели документооборота. Каждый из
участников имеет возможность получать доступ к конкретным видам документов и
выполнять над ними строго определенные действия.

Реализация систем композитного документооборота позволяет сделать делопроизводство
более прозрачным и прогнозированным, уменьшает личностное влияние исполняющего
персонала на конечный результат.
Рассмотренная отрасль в настоящее время быстро развивается. Проводятся дальнейшие
исследования в данном направлении, особенно это касается применения КС­грамматик и
создания программного обеспечения, реализующих описанную автоматную модель
композитного документооборота в полном объеме.
Поиск цепочек в тексте
Согласно данным официальной статистики, около 85 % пользователей Интернет постоянно
обращаются к поисковым системам
(Google, Yandex, Rambler, Yahoo!, Апорт, Поиск@Mail.ru и др.) с целью найти
необходимую им информацию о товарах или услугах.
Положения теории автоматов прекрасно подходят для описания таких реальных
задач, возникающих в приложениях, как поиск в сети Internet и извлечение
информации из текста. Многие современные поисковые системы Интернета используют
специальную программу – поисковый робот, который является автоматом.
В век Internet и электронных библиотек с непрерывным доступом обычной является
следующая проблема. Задано некоторое множество слов, и требуется найти все
докумен¬ты, в которых содержится одно (или все) из них. Популярным примером такого
процесса служит работа поисковой машины, которая использует специальную технологию
поиска, называемую обращенными индексами (inverted indexes). Для каждого слова,
встречающегося в Internet (а их около 100,000,000), хранится список адресов всех мест, где
оно встречается. Машины с очень большим объемом оперативной памяти обеспечивают
постоянный доступ к наиболее востребованным из этих списков, позволяя многим людям
одновременно осуществлять поиск документов.
В методе обращенных индексов конечные автоматы не используются, но этот метод
требует значительных затрат времени для копирования содержимого сети и переписывания
индексов. Существует множество смежных приложений, в которых применить технику
обращенных индексов нельзя, зато можно с успехом использовать методы на основе
автоматов. Те приложения, для которых подходит технология поиска на основе автоматов,
имеют следующие отличительные особенности:
1. Содержимое хранилища текста, в котором производится поиск, быстро
меняется.

Вот два примера:
o каждый день аналитики ищут статьи со свежими новостями по
соответствующим темам. К примеру, финансовый аналитик может искать
статьи с определенными аббревиатурами ценных бумаг или названиями
компаний;
o "робот­закупщик" по требованию клиента отслеживает текущие цены по
определенным наименованиям товаров. Он извлекает из сети страницы,
содержащие каталоги, а затем просматривает эти страницы в поисках
информации о ценах по конкретному наименованию.
2. Документы, поиск которых осуществляется, не могут быть каталогизированы.
Например, очень непросто отыскать в сети все страницы, содержащие информацию обо
всех книгах, которые продает компания Amazon.com, поскольку эти страницы
генерируются как бы "на ходу" в ответ на запрос. Однако мы можем отправить запрос на
книги по определенной теме, скажем, "конечные автоматы", а затем искать в той части
текста, которая содержится на появившихся страницах, определенное слово, например
слово "прекрасно".
Моделирование работы банкомата
Банкомат ­ это автоматизированное устройство, позоляющее удаленно осуществлять
операции, связанные с аутентификацией пользователя (держателя счета в банке),
просмотром текущего состояния счета, снятием денег со счета и осуществлением
различных платежей. В данном примере рассматривается работа банкомата, включая не
только клиентскую часть, но и серверную часть, обрабатывающую запросы, а также
подсистему авторизации.
Основная задача при реализации таких систем ­ гарантия высокого уровня надежности
клиентов­пользователей банка и информационной системы банка.

Несмотря на отсутствие связи между автоматами, AServer вложен в AClient. При
нахождении автомата AClient в состояниях «Авторизация», «Запрос баланса» и
«Запрос денег» программно управление передается автомату AServer , который
отправляет запрос на сервер, получает ответ и возвращает управление автомату

AClient. Сам сервер спроектирован традиционным путем и реализован как
консольное приложение.
Интерфейс программы:
Пример показывает, что инструментальное средство UniMod позволяет упростить процесс
создания программы, по сравнению с традиционным подходом. При этом большая часть
времени разработчика уходит на проектирование системы. Ввиду того, что основная часть
кода генерируется автоматически, повышается надежность программы.
Система управления автомобильной сигнализациейфары, сирена и светодиод – как объекты управления. Использование сложного состояния
«2. Включена» (содержит 3 состояния) обеспечивает возможность выключения
сигнализации в каком бы состоянии не находился автомат.
Генераторы событий системы
Генератор событий p1. Этот объект описывает события, производимые пультом
управления сигнализацией. События:
 e11 – нажатие кнопки «1»;
 e12 – нажатие кнопки «2»;
 e13 – нажатие кнопки «3».
Генератор событий p2. Этот объект соответствует датчику удара. Он может выдавать два
события:
 e21 – фиксирование слабого удара;
 e22 – фиксирование сильного удара.
Генератор событий p3. Этот объект запускает один из трех таймеров. Когда отсчет
завершается, он генерирует соответствующее событие. Таймер запускается по запросу
объекта управления «o2» с указанием номера и требуемого времени.
 e31 – таймер «1» завершил отсчет (таймер для отсчета времени в состоянии «3.
Тревога» автомата А1);

 e32 – таймер «2» завершил отсчет (таймер для отсчета времени в состоянии «2.
Состояние опасности» автомата А1);
 e33 – таймер «3» завершил отсчет (таймер для управления выключением звука).
Объекты управления системы
Объект управления o1. Этот объект описывает действия, совершаемые фарами
автомобиля.
 z1 – мигнуть один раз;
 z2 – мигнуть два раза;
 z3 – мигнуть три раза;

 z5 – прервать любые действия.
Объект управления o2. Этот объект используется для запуска таймера «p3».
 z1 – запустить таймер «1» на 15 с;
 z2 – запустить таймер «2» на 5 с;
 z3 – запустить таймер «3» на 3 с;
z4 – остановить все таймеры.
Объект управления o3. Данный объект управления отражает работу сирены. Его
выходные воздействия практически совпадают с выходными воздействиями фар.
 x1 – логическая переменная, показывающая включен звук (то есть может подавать
сигналы) или нет;
 z1 – генерация звука, соответствующего постановке автомобиля на сигнализацию;
 z2 – генерация звука, соответствующего снятию автомобиля с сигнализации;
 z3 – генерация звука, соответствующего реакции на слабый удар;
 z4 – начать подавать тревожный сигнал;
 z5 – прервать звук;
 z6 – включить звук (разрешить подавать сигналы);

 z7 – выключить звук (запретить подавать сигналы).
Объект управления o4. Этот объект управления описывает работу светодиода,
расположенного в машине. Он показывает текущее состояние сигнализации.
 z1 – начать мигание;
 z2 – завершить мигание.
Объект управления o5. Данный объект управления используется для вывода

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

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

Термин «А. т.» вошел в обиход в 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. Б. А, Трахтенброт.

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

Вопросы шпаргалки

  1. Предмет теории автоматов
  2. Классификация автоматов
  3. Приложения теория автоматов
  4. Двоичное умножение
  5. Умножение в инверсных кодах
  6. Деление
  7. Деление в инверсных кодах. Особенности
  8. Особенности выполнения операций в формате с плавающей запятой
  9. Двоично-десятичные коды. Сложение в ДДК
  10. Модель дискретного преобразователя Глушкова
  11. Микропрограммирование
  12. Структуры операционных автоматов
  13. Синтез операционного автомата (ОА) процедурного типа
  14. Синтез ОА структурного типа
  15. Автоматные языки. Формальное задание Автомата
  16. Модели автоматов Мили и Мура
  17. Эквивалентность конечных автоматов (КА). Теорема Мура
  18. Минимизация конечных автоматов
  19. Эквивалентность автомата Мили и Мура
  20. Виды управляющего автомата (УА)
  21. Структурные схемы УА. Мили и Мура
  22. Этапы синтеза управляющего автомата с жесткой логикой (УАЖЛ)
  23. Примеры синтеза УАЖЛ
  24. Гонки и способы борьбы с ними
  25. УА с программируемой логикой (УАПЛ)
  26. Алгебраическая и структурная теория КА
  27. Объединение нескольких УА в один
  28. Программная реализация КА. Варианты реализации. Шаблон Состояние
  29. Назначение и краткая характеристика VHDL
  30. Реализация УА на VHDL
  31. Понятие о языке моделирования UML
  32. Понятие о языках и формальных грамматиках
  33. Классификация языков
  34. Лемма о накачке
  35. Понятие о НКА. Получение ДКА по НКА
  36. Регулярные выражения. Синтаксические диаграммы. Теорема Клини
  37. Применение РВ. Различные нотации РВ
  38. КС-грамматики и магазинные автоматы
  39. Машины Тьюринга
  40. Использование МТ для анализа алгоритмов

Пример вопроса из шпаргалки

Предмет теории автоматов

Автомат – объект (идеальный, материальный или более конкретно – устройство), осуществляющий переработку информации.

Изучение способов преобразования информации является предметом теории автоматов в широком смысле.

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

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

С точки зрения абстрактной ТА автомат представляет собой совокупность множеств и отображений. Например, автомат может задаваться как шестерка объектов: А = , где:

  • X – множество входных символов автомата
  • Y – множество выходных символов автомата
  • Q – множество состояний автомата
  • q0 – начальные состояния автомата
  • A – функция перехода: Q x X -> Q
  • B – функция выхода: Q x X -> Y

Автоматные преобразования: выходные слова автомата зависят не только от выходных слов состояний, но и от значений слов в предыдущем состоянии.

Математический автомат рассматривается иногда как алгебра, при этом выделяется множество состояний автомата и операции над этим множеством.

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

Можно выделить следующие виды Теорий Автоматов:

  • Абстрактные ТА (математические);
  • Структурные ТА (технические);
  • Общие ТА;
  • Прикладные ТА;

ПТЦА - дискретный автомат – устройство, выполняющее преобразование цифровой информации по заданному алгоритму.

ТТ-автомат – устройство, выполняющее преобразование (распознавание) входных слов (текста).

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования РФ

Государственное образовательное учреждение

высшего профессионального образования

Сибирский Государственный аэрокосмический университет

имени академика М.Ф. Решетнева

Кафедра Системного анализа

Реферат по дисциплине "Теория систем" на тему:

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

Выполнил: Ларионов А.Ю.

Проверил: Иконников О.А.

Красноярск 2013 г.

Введение

1. Общие сведения о теории автоматов

1.1 Распознаватели

1.2 Классификация автоматов

1.2.1 Абстрактный автомат

1.2.2 Виды и подвиды автоматов

2. Цифровые автоматы. Общие сведения

2.1 Логические элементы

2.2 Теория конечных цифровых автоматов с памятью

2.3 Частичные автоматы

2.4 Т-триггер

2.5 D-триггер

2.6 RS-триггер

2.7 JK-триггер

2.8 Универсальный триггер

Заключение

Список использованных источников

Введение

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

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

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

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

1. Общие сведения о теории автоматов

Теория автоматов подразделяется на абстрактную и структурную теорию.

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

Структурная теория автоматов изучает общие приёмы построения структурных схем автоматов на основе элементарных автоматов.

1.1 Распознаватели

Работа автомата обуславливается работой распознавателя. Существует класс грамматик, которому соответствует свой класс распознавателей, определяющий тот же класс языков:

Язык L праволинейный тогда и только тогда, когда он определяется односторонним детерминированным конечным автоматом;

Язык L контекстно свободный тогда и только тогда, когда он определяется односторонним недетерминированным автоматом с магазинной памятью;

Язык L контекстно зависимый тогда и только тогда, когда он определяется двухсторонним недетерминированным автоматом с магазинной памятью;

Язык L рекурсивно перечислимый тогда и только тогда, когда он определяется машиной Тьюринга (этот вид математических объектов рассматривается в курсе "Математическая логика и теория алгоритмов").

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

Рисунок 1 - Распознаватель

Работа распознавателя осуществляется следующим образом:

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

Незаполненные ячейки (по окончании входной строки) заполняются специальным символом, обозначающим конец строки. Обычно совпадает с символом пустой строки языка е (см. рис. 1);

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

А - распознаватель - математический объект. P - входной алфавит распознавателя, содержащие символы, записываемые на входную ленту. S - множество состояний распознавателя, где s0 - начальное состояние и это состояние из множества S соответственно. ц - функция перехода.

Входное слово (строка) называется допустимым для распознавателя A, если при последовательном чтении символов с входной ленты распознаватель переходит из начальной конфигурации в одну из конечных.

1.2 Классификация автоматов

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

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

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

1.2.1 Абстрактный автомат

Абстрактный автомат - математический объект, представляющий собой совокупность элементов: A=(S,X,Y,д,л), где S - конечное множество состояний автомата; X,Y - конечные входной и выходной алфавиты соответственно, из которых формируются строки, считываемые и выдаваемые автоматом; д:SxY->S - переходное отношение (переходная функция); л - выходная функция.

Абстрактный автомат имеет следующую функциональную схему, в соответствии с рисунком 2.

Рисунок 2 - Функциональная схема абстрактного автомата

Где si - новое состояние автомата; xi - текущий входной символ; yi - текущий выходной символ.

Порядок работы абстрактного автомата следующий:

При поступлении очередного символа на вход автомата переходная функция у на основании поступившего символа xi и текущего состояния si определяет новое состояние автомата Si+1;

Выходная функция на основе текущего состояния автомата si и текущего входного символа xi определяет текущий выходной символ.

Объемом памяти абстрактного автомата называют количестве его внутренних состояний.

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

Понятие абстрактного автомата является наиболее общим. И фактически большинство видов автоматов являются частным случаем абстрактного автомата. В целом иерархия автоматов может быть представлена в соответствии с рисунком 3.

Рисунок 3 - Иерархия автоматов

1.2.2 Виды и подвиды автоматов

Инициальные автоматы - представляют собой отдельный класс, - это абстрактные автоматы с выделенным начальным состоянием. Таким образом, множество инициальных автоматов описывается одним абстрактным автоматом.

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

Детерминированные и недетерминированные автоматы различаются количеством состояний, в которых автомат может находиться одновременно. Детерминированный автомат в каждый момент времени находится в единственном состоянии, в то время как недетерминированный автомат в каждый момент времени может находиться в нескольких состояниях одновременно.

Частным случаем недетерминированного автомата является вероятностный автомат. Если функция переходов и/или функция выходов являются случайными, то автомат называют вероятностным. Иными словами, вероятностным автоматом называется система, описываемая конечными наборами входных сигналов Х={x1, x2,..., xn}, состояний S={s1, s2,..., sn}, выходных сигналов Y={y1, y2,..., yn}. Также задан набор условных вероятностей того, что вероятностный автомат, находясь в состоянии aj и получив входной сигнал x, перейдет в состояние ai, и выдаст сигнал y.

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

По наличию дополнительно памяти выделяют автоматы с магазинной памятью. В отличии от абстрактных автоматов, объём памяти, которых определяется количеством состояний, в таких автоматах имеется дополнительный элемент, называемый стеком. Стек реализует модель памяти LIFO (Last In - First Out) и служит для хранения промежуточных результатов работы.

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

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

2. Цифровые автоматы. Общие сведения

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

Все схемы ЭВМ можно разделить на два больших класса:

Класс логических или комбинационных схем (КС).

Класс конечных автоматов.

В логических (комбинационных) схемах значение выходных сигналов в момент времени t однозначно определяется значениями входных сигналов в момент времени t1 t.

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

Технические вопросы синтеза комбинационных схем решаются с помощью аппарата математической логики. При этом используется самая простая часть математической логики, а именно, алгебра логики или Булева алгебра. Основным понятием в алгебре логики, на котором основывается её приложение к синтезу КС, является понятие Булевой или переключательной функции (ПФ).

2.1 Логические элементы

Среди систем элементов, выпускаемых промышленностью, наибольшее распространение получили логические элементы, реализующие операции: И-НЕ, ИЛИ-НЕ, И-ИЛИ-НЕ, а так же элементы булевого базиса.

В эту систему элементов входят как элементы универсального базиса: И-НЕ, ИЛИ-НЕ, так и комбинации операций булевого базиса: И-ИЛИ-НЕ.

2.2 Теория конечных цифровых автоматов с памятью

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

y (t ) = f (x (t ) ) .

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

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

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

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

Например: в алфавите X = (x1, x2), состоящем из двух букв, словами будут: x1, x2, x1x1, x1x2, x2x1,x2x2, x1x1x1 и т.д.

Наряду со словами, состоящими не менее чем из одной буквы, введем слово, не содержащее ни одной буквы, которое будем обозначать символом е и называть пустым словом или пустой буквой.

Математической моделью реального конечного автомата является абстрактный автомат, который имеет один входной канал и один выходной канал.

Автомат функционирует в дискретные моменты времени, интервал, между которыми Т называется тактом. При этом в каждый дискретный момент времени на вход автомата поступает одна буква входного алфавита, автомат переходит из одного состояния в другое и выдается одна буква выходного алфавита. В зависимости от того, как задается длительность такта Т, различают автоматы синхронного действия (T=const) и асинхронного действия (Tconst). Мы будем рассматривать, в основном, синхронные автоматы, функционирующие в дискретные моменты времени, которые можно обозначить целыми неотрицательными натуральными числами, t=0,1,2,3,…., имеющими смысл номера такта.

Для задания конечного автомата S необходимо задавать совокупность из пяти объектов: S(A, X, Y,), где A = {a0,a1,a2,...,an}- множество внутренних состояний автомата, X = {x1, x2,…, xm} - множество входных сигналов (входной алфавит), xi - буква входного алфавита, Y = {y1, y2,…, yk} - множество выходных сигналов (выходной алфавит),

Функция переходов, определяющая состояние автомата a(t+1), в котором автомат будет находится в момент времени (t+1), в зависимости от состояния автомата a(t) и входного сигнала x(t) в момент времени t, то есть a(t+1) = ,

Функция выходов, определяющая значение выходного сигнала y(t) в зависимости от состояния автомата a(t) и входного сигнала x(t) в момент времени t, т.е. y(t) = .

Автомат работает следующим образом: в каждый момент времени t он находится в определенном состоянии a(t) из множества А возможных состояний. Причем в начальный момент времени t = 0 он всегда находится в состоянии a(t = 0) = a0. В момент времени t автомат воспринимает входной сигнал x(t), выдает выходной сигналу y(t) = и переходит в следующее состояние a(t+1)=. Другими словами абстрактный автомат каждой паре символов a(t) и x(t) ставит в однозначное соответствие пару символов a(t+1) и y(t). Такие автоматы называют детерминированными. На преобразование информации в детерминированных автоматах наложены условия.

Условия преобразования информации в детерминированных автоматах:

1) любое входное слово, длинною l букв, преобразуется в выходное слово той же длины.

2) если каждый раз перед подачей входных сигналов автомат находится в одном и том же состоянии, то при совпадении в двух входных словах первых l 1 букв, в выходных словах первые l 1 букв также совпадут.

Кроме детерминированных автоматов существуют вероятностные или стохастические автоматы, в которых переход из одного состояния в другое под воздействием случайных или детерминированных входных сигналов происходит случайно. Работа таких автоматов описывается уже матрицей переходов, элементами которой являются вероятности переходов из одного состояния в другое. Нами будут рассмотрены, в основном, детерминированные автоматы.

Применяемые на практике автоматы принято разделять на два класса - это автоматы Мили и автоматы Мура, названные так по имени американских ученых, которые впервые начали их изучать. Функционирование автоматов строго подчиняется определённым законам (законы функционирования автоматов). Законы функционирования автоматов описываются системами уравнений:

Автомат Мили:

a(t + 1) =

y(t) =

Автомат Мура:

a(t + 1) =

Отличительной особенностью автоматов Мили является то, что их выходные сигналы зависят как от состояния автомата, так и от значения входного сигнала. В автоматах Мура выходные сигналы y (t ) в каждый дискретный момент времени t однозначно определяются состоянием автомата в тот же момент времени и не зависят от значения входного сигнала.

При табличном способе задания автомат Мили описывается двумя таблицами: таблицей переходов и таблицей выходов.

Таблица переходов

Строки этих таблиц соответствуют входным сигналам x (t ), а столбцы - состояниям. На пересечении столбца ai и строки x j в таблице переходов ставится состояние a s = [ a i, x j], в которые автомат перейдет из состояния a i под воздействием сигнала x j; а в таблице выходов - соответствующий этому переходу выходной сигнал y g = [ a i,x j]. Иногда автомат Мили задают совмещенной таблицей переходов и выходов, она в некоторых случаях более удобна.

Совмещенная таблица переходов и выходов автомата Мили:

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

Отмеченная таблица переходов автомата Мура:

В этой таблице каждому столбцу приписан, кроме состояния a i, еще и выходной сигнал y (t ) = (a (t)), соответствующий этому состоянию. Таблица переходов автомата Мура называется отмеченной потому, что каждое состояние отмечено выходным сигналом.

При графическом способе задание автомата осуществляется с помощью графа. Этот способ основан на использовании ориентированных связных графов. Вершины графов соответствуют состояниям автомата, а дуги - переходам между ними. Две вершины графа a i и a s соединяются дугой, направленной от a i к a s, если в автомате имеется переход из a i в a s, то есть a s = (a i, x j). В автомате Мили дуга отмечается входным сигналом x j, вызвавшим переход, и выходным сигналом y g, который возникает при переходе. Внутри кружочка, обозначающего вершину графа, записывается состояние.

Граф для автомата Мили:

Граф для автомата Мура

2.3 Частичные автоматы

В инженерной практике часто встречаются автоматы, на входы которых некоторые последовательности сигналов никогда не подаются. Такие последовательности будем называть запрещенными входными словами данного автомата, а сам автомат - частичным автоматом. У частичного автомата функции переходов и выходов определены не на всех парах ai, xj. На месте неопределенных состояний и выходных сигналов ставится прочерк. При синтезе обычно производят доопределение частичного автомата, чтобы его схемная реализация получилась как можно проще.

Пример таблицы переходов и выходов частичного автомата Мили

Из таблицы переходов видно, что Т-триггер обладает полной системой переходов и выходов, поскольку для каждой пары состояний (0-0, 0-1, 1-0,

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

Матрица переходов:

Матрица переходов определяет значения сигналов на входах элементарного автомата, обеспечивающие каждый их четырех возможных переходов. Здесь Q(t) и Q(t+1) - состояния автомата в моменты времени t и t+1 соответственно. Поскольку Т-триггер имеет один вход, а число возможных переходов равно четырем, то матрица переходов имеет четыре строки.

Для записи закона функционирования Т-триггера в аналитическом виде составим диаграмму Вейча по матрице перехода:

Из диаграммы имеем:

=> (T(t) + Q(t)) mod 2

Поскольку эта формула совпадает с аналитической записью переключательной функции сложение по модулю два, то Т-триггер часто называют триггером со счетным входом Т, а входной сигнал, поступающий на вход Т, счетным сигналом. На практике кроме асинхронного Т-триггера, работу которого мы рассмотрели, используют так же и синхронный Т-триггер, который в отличие от асинхронного меняет свои состояния только при Т = 1 и С = 1. Если хотя бы один из этих сигналов равен нулю, то триггер сохраняет свое состояние. Вход С называют входом синхронизации.

Поясняющая работу комбинационная схема и обозначение синхронного

Т-триггера представлены на рисунке:

2.5 D-триггер

D-триггером (триггером задержки) называют элементарный автомат Мура с двумя устойчивыми состояниями и одним входом D таким, что Q(t+1) = D(t). Название D-триггера происходит от английского слова "delay" - задержка. Из определения следует, что состояние триггера в момент времени t+1 повторяет значение входного сигнала D(t) в момент времени t (отсюда и название триггера задержки).

Матрица переходов для D-триггера:

Обозначения асинхронного и синхронного D-триггеров:

В синхронном D-триггере при С=0 триггер свое состояние не меняет, а при С=1 работает так же, как и асинхронный, то есть

Q(t+1)=D(t)*C(t) v Q(t)*

Асинхронный D-триггер практического значения не имеет.

Граф D-триггера

2.6 RS-триггер

RS-триггером называют автомат Мура с двумя устойчивыми состояниями, имеющий два входа R и S такие, что при S=1 и R=0 триггер принимает состояния 1, а при R=1 и S=0 состояние 0. В соответствие с состоянием, принимаемым триггером, вход S называет единичным входом, а вход R нулевым.

Матрица переходов RS-триггера:

Комбинация сигналов R=1 и S=1 является запрещенной и поэтому переход в триггере при таких значениях входных сигналов не определен. Переход триггера из 0 в 0 возможен при двух комбинациях входных сигналов: R=0, S=0 и R=1, S=0. Поэтому в первой строке матрицы переходов RS триггера в столбце R поставлена переменная b1, которая может принимать два значения 0 v 1. Аналогично, переход из состояния 1 в 1 также возможен при двух комбинациях входных сигналов: R=0, S=0 и R=0, S=1. Поскольку при таком переходе значения сигнала на входе S безразлично, то в нижней строке матрицы переходов в столбце S записана переменная b2. По матрице переходов можно построить граф RS-триггера.

Автоматы, которые могут переходить из одного состояния в другое под действием нескольких комбинаций входных сигналов, называются автоматами с избыточной системой переходов. Избыточность можно использовать в процессе синтеза для упрощения схемы, придавая переменным b1 и b2 такие значения, которые позволяют минимизировать число элементов. Поэтому, если схемы двух элементарных автоматов равноценны по сложности, то предпочтение отдают автомату, имеющему большую избыточность системы переходов.

Запишем закон функционирования RS-триггера в аналитическом виде, для чего составим по матрице переходов диаграмму Вейча:

2.7 JK-триггер

JK-триггером называют автомат Мура с двумя устойчивыми состояниями и двумя входами J и K, который при условии J * K = 1 осуществляет инверсию предыдущего состояния (т.е. при J*K=1, Q(t+1) = Q(t)), а в остальных случаях функционируют в соответствии с таблицей истинности RS триггера, при этом вход J эквивалентен входу S, а вход K - входу R. Этот триггер уже не имеет запрещенной комбинации входных сигналов и его таблица истинности, то есть зависимость Q(t+1) = f имеет вид:

Таблица истинности JK-триггера:

По этой таблице можно построить диаграмму Вейча для Q(t+1), которую можно использовать для минимизации, и матрицу переходов:

Матрица переходов JK-триггера:

В интегральной схемотехнике применяются только тактируемые (синхронные) JK триггера, которые при C=0 сохраняют свое состояние, а при C=1 работают как асинхронные JK триггера.

2.8 Универсальный триггер

Триггер JK относится к разряду универсальных триггеров, поскольку на его основе путем несложной внешней коммутации можно построить RS-, D- и T- триггера. RS-триггер получается из триггера JK простым наложением ограничения на комбинацию входных сигналов J=K=1, так как эта комбинация является запрещенной для RS триггера.

Счетный триггер на основе JK триггера получается путем объединения входов J и K.

Триггер задержки (D-триггер) строится путем подключения к входу K инвертора, на который подается тот же сигнал, что и на вход J. В этом случае вход J выполняет функцию входа D, а все устройство в целом реализует таблицу переходов D-триггера .

Заключение

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

Исследование абстрактных автоматов в результате привели к активному развитию вычислительной техники и микросхемотехники соответственно.

Список использованных источников

1. Дискретная математика. Учебное пособие. Саяпин А.В., Сливина Т.А. Редакционно-издательский отдел СибГАУ. Красноярск 2010 163с.

2. Лекции по теории цифровых автоматов [Электронный ресурс]. Лекции [Сайт]. URL: http://www.twirpx.com/file/455856/

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа , добавлен 18.10.2015

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

    учебное пособие , добавлен 07.06.2009

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

    контрольная работа , добавлен 04.02.2012

    Теория игр – раздел математики, предметом которого является изучение математических моделей принятия оптимальных решений в условиях конфликта. Итеративный метод Брауна-Робинсона. Монотонный итеративный алгоритм решения матричных игр.

    дипломная работа , добавлен 08.08.2007

    Теория графов как раздел дискретной математики, исследующий свойства конечных множеств с заданными отношениями между их элементами. Основные понятия теории графов. Матрицы смежности и инцидентности и их практическое применение при анализе решений.

    реферат , добавлен 13.06.2011

    Предмет вычислительной техники - задачи, которые умеют решать машины. Измерение сложности задачи. Алгоритм сортировки слиянием. Полиномиальные и не полиномиальные задачи. Понятие недетерменированного алгоритма. Графическое представление классификации.

    презентация , добавлен 22.10.2013

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

    учебное пособие , добавлен 11.02.2014

    реферат , добавлен 13.01.2011

    Изучение конкретного раздела дискретной математики. Решение 5-ти задач по изученной теме с методическим описанием. Методика составления и реализация в виде программы алгоритма по изученной теме. Порядок разработки программного интерфейса и руководства.

    курсовая работа , добавлен 27.04.2011

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