Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория автоматов. Учебное пособие
.pdf
межутки времени, длительность которых может быть постоянной или
переменной. В асинхронных автоматах моменты перехода автомата из
одного состояния в другое заранее не определены, так как их продолжительность целиком определяется временем переходных процессов,
происходящих в автомате.
При реальной работе любого автомата необходимо учитывать такие негативные явления, которые получили название «гонки» или «состязания». Эти явления обусловлены конечным и ограниченным быстродействием различных физических элементов автомата, конечным
временем распространения электрических сигналов по линиям связи,
различной длиной линий связи. В синхронных автоматах борьба с такими негативными явлениями осуществляется путем выбора (определения) минимально возможного такта работы автомата. В асинхронных
автоматах устранения гонок или состязаний добиваются специальными видами кодирования входных, выходных сигналов и внутренних
состояний автомата.
Надежную работу автомата легче обеспечить, если его выполнить
в виде синхронного автомата, однако максимальным быстродействием
обладают асинхронные автоматы. В то же время основой всех синхронных автоматов являются асинхронные автоматы.
К определению понятия конечного автомата используются два
основных подхода: макроподход и микроподход.
При макроподходе интересуются только внешним поведением автомата, который представляют как «черный ящик», имеющий входной
и выходной каналы. При макроподходе конечный автомат может быть
задан в виде совокупности функциональных зависимостей, конечного ориентированного графа, либо в алгебраической форме. При таком
подходе приходят к понятию абстрактного конечного автомата.
При микроподходе конечный автомат задается не только описанием его внешнего поведения, но и множеством составляющих его элементов и схемой их соединения. Совокупность элементов и схемы их
соединения (или сети связи) конечного автомата принято называть
структурой, в связи с чем, конечный автомат, представленный в таком
виде, называют структурным конечным автоматом или автоматной
сетью.
В соответствии с макроподходом и микроподходом к определению конечного автомата теория автоматов подразделяется на два
взаимосвязанных раздела: теория абстрактных автоматов и теория
структурных автоматов. Иногда данные разделы называют абстрак-
-11-

тной теорией автоматов и структурной теорией автоматов соответственно.
Конечный автомат, как разновидность сложной системы, имеет
так называемое иерархическое строение. Это означает [3], что после
того, как будут выявлены элементы системы и установлена структура
их отношений (т.е. схема соединений), можно (или нужно) переходить
к рассмотрению каждого из найденных элементов в отдельности для
определения состава и отношений «микроэлементов» внутри этих элементов. Чтобы в дальнейшем избежать путаницы и неоднозначности,
целесообразно условиться, что первичные элементы и схему их соединения будем называть элементами первого уровня и структу-
рой первого уровня. Вторичные элементы (т.е. элементы элементов)
и схему их соединения — элементами второго уровня и структурой
второго уровня и т.д. При этом естественно считать, что второй уровень глубже (детальнее) первого, третий — глубже (детальнее) второго
и т.д. Очевидно, чем глубже модель, т.е. чем больше уровней оригинала
она охватывает, тем ближе свойства модели к свойствам оригинала. Одновременно чем глубже модель, тем сложнее ее формальное описание
и тем сложнее с ним оперировать. Поэтому выбор степени детализации
модели реального объекта или процесса определяется целями или условиями решаемой задачи.
Достаточно часто бывают весьма полезны модели нулевого уровня, т.е. такие, которые не могут быть расчленены на составные элементы. В кибернетике такая обобщенная модель нулевого уровня получила
название «черный ящик» или метод «черного ящика». Это наивысший
уровень абстракции реального объекта или процесса.
Понятие «черный ящик» широко используется в науке и технике [4], поэтому целесообразно остановиться на нем подробнее.
По существу, черным ящиком является любой объект или процесс, о котором мы судим на основе изучения его внешних свойств,
не имея возможности непосредственно исследовать его внутреннюю
структуру.
Метод «черного ящика» используют для изучения поведения сложных систем, т.е. для установления закона их функционирования. Толь-
-12-

ко после нахождения закона функционирования можно создать более
или менее удачную гипотезу о внутреннем устройстве «черного ящика»
[3]. Это делается путем подачи (мысленной или реальной) различных
типов воздействий на входной канал с тем, чтобы элементы «черного
ящика» воспринимали эти воздействия и проявляли бы свою реакцию
на них путем изменения сигналов (букв) на выходном канале.
Таким образом, обнаруживаются элементы исследуемого объекта
или процесса, а сам процесс их обнаружения называют эксперимента-
ми над «черным ящиком» или экспериментами над автоматом. Ре-
зультаты таких экспериментов тщательно фиксируются и затем анализируются на предмет выявления функциональных взаимосвязей между
входными (испытательными) воздействиями и выходными (проявляющими результат) элементами «черного ящика». В принципе может быть
построено неограниченное число внутренних структур, приводящих
к данному конкретному типу соответствий между состояниями «входа»
и «выхода» «черного ящика». Но, тем не менее, это уже не произвольные структуры, а вполне определенный их тип (класс). Если же предположить, что внутри «черного ящика» скрыта простейшая из структур
данного типа, то возможные варианты структур сводятся к нескольким
или даже к единственной структуре, единственному типу функциональной зависимости.
При отыскании возможных структур «черного ящика» уменьшить
их разнообразие возможно лишь при том условии, что на разновидности элементов «черного ящика» наложены определенные ограничения.
Такие ограничения приводят к необходимости поиска минимальной
разновидности элементов, необходимых и достаточных для построения структуры сколь угодно сложных устройств и систем определенного класса.
Теория автоматов изначально предназначена для ускорения и облегчения процесса разработки и создания разнообразных дискретных
автоматов с достаточным для практического использования запасом
надежности.
Теория автоматов зарождалась в тот момент времени, когда основным принципом реализации автоматов был аппаратурный [5]. В связи
-13-

с этим развивались методы синтеза структуры автоматов в том или ином
элементном базисе. Под элементным базисом понимается минималь-
но возможный набор элементов, необходимый и достаточный для практической реализации автоматов сколь угодно большой сложности.
С созданием в 1972 г. микропроцессорной техники, оперативных
запоминающих устройств (ОЗУ) и постоянных запоминающих устройств (ПЗУ) достаточно большого объема появилась возможность программной реализации разнообразных автоматов.
Аппаратурная реализация обеспечивает максимально возможное
быстродействие автомата, но требует значительных материальных и
временных затрат на разработку и изготовление автомата. Это связано с тем, что каждый создаваемый автомат требует для своей реализации нового набора элементов и новой схемы их соединения. Автоматы,
реализуемые аппаратурно, получили название «автоматы с жесткой
логикой».
При программной реализации автоматов состав и структура аппаратурных средств изменяются незначительно, требуется лишь разработка программы, реализующей алгоритм работы автомата. Автоматы
с программной реализацией получили название «автоматы с гибкой
логикой». Недостатком автоматов с гибкой логикой является пониженное их быстродействие (иногда существенное) по сравнению с автоматами с жесткой логикой.
Современная элементная база позволяет реализовывать автоматы, в которых часть алгоритма реализуется аппаратурно, а другая
часть — программно. Для программной реализации широко используются микропроцессорные комплекты больших интегральных схем
(МПК БИС). Для аппаратурной реализации используются специальные
БИС с программируемой и перепрограммируемой архитектурой, такие
как программируемые логические матрицы (ПЛМ), базовые матричные
кристаллы (БМК) и т.п. [6].
Большинство задач теории автоматов — общие для основных видов управляющих систем [1]. К ним относятся задачи:
- классификации автоматов;
- анализа и синтеза автоматов;
- способов задания автоматов;
- полноты элементарных автоматов;
- минимизации автоматов;
- эквивалентных преобразований автоматов;
- эффективного кодирования автоматов.
-14-

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

ментном базисе или эквивалентный алгоритм функционирования автомата.
Задача кодирования автомата состоит в переходе от абстрактных
букв входного алфавита, выходного алфавита и алфавита состояний
к так называемому структурному алфавиту, который «понятен» тем
элементарным автоматам, на основе которых предполагается реализовать некоторый автомат. В настоящее время при реализации автоматов
широко используется двоичный структурный алфавит. Автоматы, работающие в двоичном структурном алфавите, часто называют цифровыми автоматами. Именно такие автоматы являются основным объектом
рассмотрения в данном пособии.
Задача кодирования в общем случае сводится к нахождению правил сопоставления буквам абстрактных алфавитов некоторых двоичных структурных кодов. От того, насколько удачно осуществлено такое
сопоставление (кодирование), зависят и сложность автомата, и надежность его работы [7].
-16-

Формализации (представлению в математической форме) любого
понятия предшествует попытка словесного выражения (определения)
данного понятия. В этой связи представляет интерес проследить трансформацию во времени словесных определений понятия «автомат».
В энциклопедии «Просвещение» 1900 г. издания дается следующее
определение (определение 1): «Автомат — прибор, с помощью внутрен-
него механизма подражающий действиям живых существ». Из данного
определения следует, что автомат — материальный объект (так как прибор); внутри этого материального объекта находится некий механизм;
этот механизм действует так, что поведение автомата в целом похоже
на действия каких - то живых существ. В соответствии с рассмотренным
определением попытаемся выяснить: являются ли механические часы
автоматом? Часы — материальный объект; внутри часов работает механизм, отсчитывающий время. Но действиям какого живого существа
подражают обыкновенные механические часы? Таким образом, в соответствии с рассмотренным определением обыкновенные механические часы не могут быть названы автоматом, так как они не подражают
действиям какого-либо живого существа.
Рассмотрим модификацию механических часов, которые кроме часового механизма снабжены еще дополнительным механизмом.
Таким механизмом может быть петушок, кукарекающий каждый раз,
когда часы показывают какое-либо определенное время. В таком случае
-17-

часы, с кукарекающим через определенные интервалы времени петушком, могут быть отнесены, по определению, к автоматам. Но кукарекать
петушка можно «заставить» и без часов, которые отмеривают реальное
время. Следовательно, действительным автоматом, по определению,
является только кукарекающий петушок. А что если внутри кукарекающего петушка будут отсутствовать механические детали? Можно ли
в таком случае отнести такого петушка к автоматам?
Как видно, рассмотренное определение автомата несколько противоречиво, и достаточно широкое, так как живых существ — огромное
множество, включая и человека.
Рассмотрим некоторые последующие словесные определения автомата, не вдаваясь в достаточно глубокий их анализ.
В [8] (1963 г.) дается следующее определение (определение 2): «Авто-
мат (от греч. automatus — самодействующий) — рабочая машина, само-
стоятельно производящая все рабочие, холостые, транспортирующие и
др. движения и осуществляющая управление этими движениями».
В [9] (1980 г.) еще более уточняется понятие автомата (определе-
ние 3): «Автомат (от греч. automatus — самодействующий):
- устройство (совокупность устройств), выполняющее по задан-
ной программе без непосредственного участия человека все операции
в процессах получения, преобразования, передачи и распределения
(использования) энергии, материалов или информации. Программа
автомата задается в его конструкции или извне — посредством перфокарт, магнитных лент и т.п.;
- в кибернетике: математическая модель устройства (процесса),
перерабатывающего дискретную (цифровую) информацию».
В [10] (1988 г.) приводится следующее определение (определение 4):
«Автомат — устройство, предназначенное для выполнения целенаправленных действий без непосредственного участия человека».
Автомат абстрактный — математическая модель автомата (по
определению 4), определяемая заданием трех множеств (входных сигналов, внутренних состояний и выходных сигналов) и двух двуместных
функций (переходов и выходов). Функция переходов отображает первые два множества на второе, а функция выходов отображает первые
два множества на третье.
Автомат структурный — автомат абстрактный, заданный множеством его элементов и схемой их соединения».
Последнее словесное определение дает возможность перейти к формальному определению понятия автомата.
-18-

Математической моделью дискретного устройства является абстрактный автомат, определяемый как шестикомпонентный кортеж,
или вектор [11]:
S = (Z, A, W, δ, λ, a
), (2.1)
1
у которого:
Z = {z
, … zf … zF} — множество входных сигналов автомата (входной
1
алфавит);
A = {a
, … am … aM} — множество состояний автомата (алфавит со-
1
стояний);
W = {w
, … wg … wG} — множество выходных сигналов автомата (вы-
1
ходной алфавит);
δ : A × Z → A — функция переходов автомата, реализующая отобра-
жение D
состояние — входной сигнал (a
томата a
⊆ A × Z на A. Другими словами, функция δ некоторым парам
δ
= δ(am, zf), as ⊆ A;
s
ставит в соответствие состояние ав-
m, zf)
λ : A × Z → W — функция выходов, реализующая отображение
D
⊆ A × Z на W, которая некоторым парам состояние — входной сигнал
l
(a
) ставит в соответствие выходной сигнал автомата wg = λ(am, zf);
m, zf
a
∈ A — начальное состояние автомата.
1
Под алфавитом здесь понимается непустое множество попарно
различных символов. Элементы алфавита называются буквами, а конечная упорядоченная последовательность букв — словом в данном
алфавите.
Абстрактный автомат имеет один вход и один выход. Автомат работает в дискретном времени, принимающем целые неотрицательные
значения t = 0, 1, 2, … . В каждый момент t дискретного времени автомат
находится в некотором состоянии a(t) из множества состояний автома-
та, причем в начальный момент времени t(0) автомат может находить-
ся в начальном состоянии a(0) = a
. В момент t, будучи в состоянии a(t),
1
автомат способен воспринять на входе букву входного алфавита z(t) ∈ Z.
В соответствии с функцией выходов он выдает в тот же момент времени
t букву выходного алфавита w(t) = λ(a(t),
цией переходов перейдет в следующее состояние a(t + 1) = δ
z(t)) и в соответствии с функ-
(a(t), z(t)),
-19-

= D =
Z
W
причем a(t+1)∈A, а w(t) ∈ W. Смысл понятия абстрактного автомата
состоит в том, что он реализует некоторое отображение множества слов
входного алфавита Z в множество слов выходного алфавитаW. Иначе,
если на вход автомата, установленного в начальное состояние a
, по-
1
давать буква за буквой некоторую последовательность букв входного
алфавита z(0), z(1), z(2), … — входное слово, то на выходе автомата будут последовательно появляться буквы выходного алфавита w(0), w(1),
w(2), … — выходное слово. Каждому входному слову соответствует определенное выходное слово, структура которого определяется функциями переходов и выходов. Таким образом, на уровне абстрактной теории
понятие «работа автомата» понимается как преобразование входных
слов в выходные слова.
Структурной моделью нулевого уровня абстрактного автомата является модель, представленная на рис. 2.1. В том случае, когда отображения D
= Dλ = A × Z, автомат называют полностью определенным или
d
полным.
S
Рис. 2.1. Структурная модель абстрактного автомата
(нулевой уровень)
Иными словами, у полностью определенного автомата области
определения функций δ, λ совпадают с множеством A × Z — множеством всевозможных пар вида (a
, zf). У не полностью определенного,
m
или частичного, автомата функции δ или λ определены не для всех пар
(a
, zf) ∈ A × Z.
m
Состояние частичного автомата, соответствующее паре (a
, zf), на
m
котором функция переходов не определена, называют неиспользуемым состоянием автомата. Остальные состояния называют используемыми [5].
Если на каком-либо используемом состоянии автомата не определена функция выходов, то говорят, что этому состоянию соответствует
безразличное состояние выхода. В частном случае может быть безразличным не состояние выхода, а лишь один или несколько выходных
сигналов, набор значений которых определяет данное состояние выхода [5].
Чтобы задать конечный автомат S, необходимо описать все компоненты вектора S = (Z, A, W, δ, λ, a
), т.е. входной и выходной алфавиты
1
-20-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
