С. В. ТЮРИН ЭЛЕМЕНТЫ ТЕОРИИ АВТОМАТОВ (Часть 1)

advertisement
С. В. ТЮРИН
ЭЛЕМЕНТЫ ТЕОРИИ АВТОМАТОВ
(Часть 1)
УЧЕБНОЕ ПОСОБИЕ
ВОРОНЕЖ 2002
УДК 519.713(075)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ
ФЕДЕРАЦИИ
Воронежский государственный технический университет
Международный институт компьютерных технологий
ЭЛЕМЕНТЫ ТЕОРИИ АВТОМАТОВ
(Часть 1)
Учебное пособие
Тюрин С.В. Элементы теории автоматов (Часть 1): Учебное пособие. Воронеж: Воронеж. гос. техн. ун-т, 2002. 98 с.
Рассматриваются основные задачи теории автоматов; различные
словесные определения автоматов и их формальная классификация;
математические и структурные модели типовых автоматов; способы
задания абстрактных и структурных автоматов; вопросы минимизации абстрактных автоматов.
Изложены математические основы алгебры логики, некоторые
понятия и определения, дающие возможность формального описания логических преобразователей (комбинационных автоматов), которые являются основой всех конечных автоматов, включая последовательностные (автоматы с памятью).
Учебное пособие предназначено для студентов технических вузов, обучающихся по специальности 220100 "Вычислительные машины, комплексы, системы и сети".
Учебное пособие подготовлено на магнитном носителе в текстовом редакторе MS WORD 97.0 и содержится в файле "Элементы
ТА.doc).
Табл. 16. Ил. 35. Библиогр.: 21 назв.
Научный редактор д-р техн. наук С.Л. Подвальный
Рецензенты: кафедра автоматизированных систем управления Военного института радиоэлектроники
(начальник
кафедры канд. техн. наук
М.И. Чурсин);
д-р техн. наук Н.И.Баранников
Издается по решению редакционно-издательского совета Воронежского государственного технического университета.
Воронеж 2002
© Тюрин С.В., 2002
©
Оформление.
Воронежский
технический университет, 2002
государственный
ВВЕДЕНИЕ
Объектами профессиональной деятельности инженеров
по специальности 220100 "Вычислительные машины, комплексы, системы и сети" являются "способы и методы проектирования, производства и эксплуатации аппаратных и программных средств вычислительной техники, применяемых в различных областях" [Государственный образовательный стандарт
высшего профессионального образования. - М:, 1995г.].
Одной из общих профессиональных дисциплин по специальности 220100 является "Теория автоматов". Изложение
материалов этой теории базируется на содержании таких дисциплин как "Дискретная математика", "Математическая логика", "Основы алгоритмизации и программирования". Содержание самой "Теории автоматов" наиболее тесно связано с такими дисциплинами, как "Схемотехника ЭВМ", "Микропроцессорные системы", "Организация ЭВМ, комплексов и систем",
"Системное программное обеспечение".
Рождение теории автоматов как самостоятельного
научно - технического направления относят к 1950 году. Естественно, что за прошедшие более чем 70 лет трудом многих
талантливых ученых и инженеров накоплен огромный объем
общих и специфических знаний, совокупность которых и объединяют понятием - теория автоматов. В данном пособии
предпринята попытка взаимоувязано изложить лишь элементы
теории автоматов, необходимые и достаточные для подготовки
студентов к самостоятельному углублению знаний в данной
предметной области, а также к практическому применению
полученных знаний по синтезу и анализу комбинационных и
последовательностных автоматов малой сложности.
Учебным планом специальности 220100 предусмотрено
в рамках дисциплины "Теория автоматов" выполнение курсового проекта. Его содержанием является логический синтез в
заданном элементном базисе управляющего или микропрограммного автоматов, реализующих некоторый алгоритм
функционирования. Именно по этой причине подбор материа3
лов к данному учебному пособию, их объем и логика изложения подчинены основной цели - подготовка студентов к восприятию основ теории автоматов, самостоятельному выполнению и, в какой-то мере, к оформлению курсового проекта.
В данной части пособия рассматриваются основные понятия абстрактной и структурной теории автоматов, а также различные языки задания автоматов. Изложены математические
основы алгебры логики и ее применение для формального
описания комбинационных и последовательностных автоматов.
Глава 1. Становление теории автоматов и ее основные
задачи
1.1 Взаимосвязь теории автоматов и других научнотехнических направлений
Теория автоматов является разделом теории управляющих систем, изучающим математические и структурные модели преобразователей дискретной информации, которые и
называют автоматами [1], [2]. С определенной точки зрения
такими преобразователями являются как материальные объекты (вычислительные машины, живые организмы и т.п.), так и
абстрактные системы (математические машины, аксиоматические теории и т.п.).
Теория автоматов возникла в середине ХХ века в связи
с изучением конечных автоматов.
Понятие конечного автомата сформировалось в свою
очередь с попытками описать на математическом языке функционирование нервных систем, универсальных вычислительных машин и других реальных и гипотетических дискретных
объектов и процессов. Такие попытки были впервые предприняты зарубежными учеными У. Мак-Каллоком, У. Питсом
(1943г.), С.К. Клини (1951г.), А. Берксом и Райтом (1954г.) и
др.
4
Характерной особенностью такого математического
описания является дискретность соответствующих математических моделей и конечность областей значений параметров
моделей, что и приводит к понятию конечного автомата. При
этом внешние воздействия, реакции (выходные воздействия) и
состояния автомата рассматриваются как буквы трех алфавитов, которые соответственно называют входным алфавитом,
выходным алфавитом и алфавитом состояний (иногда говорят,
алфавитом внутренних состояний). Тогда описать работу автомата можно некоторыми законами преобразования букв (слов)
входного алфавита в буквы (слова) выходного алфавита. Для
формализации таких законов преобразования необходимо и
достаточно задать всего две функции - функцию переходов и
функцию выходов, которые вместе отображают пары "состояние - входная буква" в следующее состояние автомата и его
выходную букву. Таким образом, в каждый из моментов дискретного времени автомат, находящийся в определенном состоянии, воспринимает входной сигнал - букву входного алфавита, выдает выходной сигнал - букву выходного алфавита,
определяемую функцией выходов, и переходит в новое (следующее) состояние, определяемое функцией переходов.
Наряду с конечным автоматам в теории автоматов рассматриваются различные его обобщения и модификации, которые более точно (адекватно) отражают те или иные особенности реальных объектов [1], [2]. Для конечного автомата существующие модификации можно разбить на следующие три основные группы [1].
К первой группе относятся автоматы, у которых некоторые из алфавитов (входной, выходной, состояний) бесконечны, в связи с чем такие автоматы называют бесконечными.
Ко второй группе относятся автоматы, у которых вместо однозначных функций переходов и выходов допускаются
произвольные отношения или случайные функции переходов и
выходов. К этой группе относятся частичные, недетерминированные, вероятностные и некоторые другие автоматы.
5
К третьей группе относятся автоматы со специфическими множествами входных алфавитов. К такой группе относятся
автоматы с переменной структурой, автоматы над термами и
т.п.
Существуют также автоматы, принадлежащие одновременно разным группам, например, нечеткие автоматы.
В настоящее время класс исследуемых объектов и проблематика теории автоматов существенно расширились, включив некоторые понятия и задачи из других научно - технических областей и направлений. Наиболее тесно теория автоматов связана со следующими научно - техническими направлениями: теорией алгоритмов, теорией абстрактых машин, теорией кодирования, теорией формальных языков и грамматик,
теорией надежности и контроля управляющих систем, системы
искусственного интеллекта.
1.2 Подходы к определению конечного автомата.
Конечный автомат - математическая модель устройства
с конечной памятью (числом состояний), преобразующего дискретную информацию. Конечный автомат является одним из
важнейших видов управляющих систем. Содержательно конечный автомат можно охарактеризовать как устройство, имеющее входной и выходной каналы и находящееся в каждый из
моментов дискретного времени, называемых тактами (или тактовыми моментами), в одном из конечного числа внутренних
состояний. По входному каналу в каждый тактовый момент
времени в автомат поступают сигналы - буквы входного алфавита. В те же тактовые моменты времени по выходному каналу
автомат выдает выходной сигнал - букву выходного алфавита
и переходит в новое состояние из разрешенного числа состояний.
В теории автоматов важное значение имеет понятие автоматного времени. Работа автомата рассматривается в определенные моменты времени, продолжительность которых принимается равной нулю. Эта идеализация не соответствует дей6
ствительности, но весьма удобна при построении математических моделей. Такие моменты времени следуют через дискретные интервалы конечной продолжительности, которые и
называют тактами. Совокупность следующих друг за другом
тактов и образует автоматное время.
Существует две основные трактовки понятия автоматного времени. Если автомат рассматривают как модель алгоритма переработки входного алфавита в выходной, то говорят
о "шаге алгоритма" или "шаге автоматного преобразования",
не сопоставляя ему меру времени. Если автомат рассматривают как модель устройства, реализующего данный алгоритм, то
говорят о такте работы автомата, длительность которого достаточна для надежной практической реализации автоматом некоторой элементарной операции по преобразованию дискретной
информации.
По способу организации автоматного времени все автоматы делят на два больших класса: синхронные автоматы и
асинхронные автоматы. Для синхронных автоматов моменты
времени, в которых фиксируются изменения состояния автомата, задаются специальным устройством - генератором синхронизирующих сигналов (синхросигналов). Генератор формирует синхронизирующие сигналы через определенные промежутки времени, длительность которых может быть постоянной или переменной. В асинхронных автоматах моменты перехода автомата из одного состояния в другое заранее не определены, так как их продолжительность целиком определяется
временем переходных процессов, происходящих в автомате.
При реальной работе любого автомата необходимо учитывать такие негативные явления, которые получили название
"гонки" или "состязания". Эти явления обусловлены конечным
и ограниченным быстродействием различных физических элементов автомата, конечным временем распространения электрических сигналов по линиям связи, различной длиной линий
связи. В синхронных автоматах борьба с такими негативными
явлениями осуществляется путем выбора (определения) минимально возможного такта работы автомата. В асинхронных ав7
томатах устранения гонок или состязаний добиваются специальными видами кодирования входных, выходных сигналов и
внутренних состояний автомата.
Надежную работу автомата легче обеспечить, если его
выполнить в виде синхронного автомата, однако максимальным быстродействием обладают асинхронные автоматы. В то
же время основой всех синхронных автоматов являются асинхронные автоматы.
К определению понятия конечного автомата используются два основных подхода: макроподход и микроподход.
При макроподходе интересуются только внешним поведеним автомата, который представляют как "черный ящик",
имеющий входной и выходной каналы. При макроподходе конечный автомат может быть задан в виде совокупности функциональных зависимостей, конечного ориентированного графа,
либо в алгебраической форме. При таком подходе приходят к
понятию абстрактного конечного автомата.
При микроподходе конечный автомат задается не только описанием его внешнего поведения, но и множеством составляющих его элементов и схемой их соединения. Совокупность элементов и схемы их соединения (или сети связи) конечного автомата принято называть структурой, в связи с чем
конечный автомат, представленный в таком виде, называют
структурным конечным автоматом или автоматной сетью.
В соответствии с макроподходом и микроподходом к
определению конечного автомата теория автоматов подразделяется на два взаимосвязанных раздела: теория абстрактных
автоматов и теория структурных автоматов. Иногда данные
разделы называют абстрактной теорией автоматов и структурной теорией автоматов соответственно.
Конечный автомат, как разновидность сложной системы, имеет, так называемое, иерархическое строение. Это означает [3], что после того, как будут выявлены элементы системы
и установлена структура их отношений (т.е. схема соединений), можно (или нужно) переходить к рассмотрению каждого
из найденных элементов в отдельности для определения соста8
ва и отношений "микроэлементов" внутри этих элементов.
Чтобы в дальнейшем избежать путаницы и неоднозначности,
целесообразно условиться, что первичные элементы и схему их
соединения будем называть элементами первого уровня и
структурой первого уровня. Вторичные элементы (т.е. элементы элементов) и схему их соединения - элементами второго
уровня и структурой второго уровня и т.д. При этом естественно считать, что второй уровень глубже (детальнее) первого,
третий - глубже (детальнее) второго и т.д. Очевидно, чем
глубже модель, т.е. чем больше уровней оригинала она охватывает, тем ближе свойства модели к свойствам оригинала.
Одновременно, чем глубже модель, тем сложнее ее формальное описание и тем сложнее с ним оперировать. Поэтому выбор степени детализации модели реального объекта или процесса определяется целями или условиями решаемой задачи.
Достаточно часто бывают весьма полезны модели нулевого уровня, т.е. такие, которые не могут быть расчленены на
составные элементы. В кибернетике такая обобщенная модель
нулевого уровня получила название "черный ящик" или метод
"черного ящика". Это - наивысший уровень абстракции реального объекта или процесса.
1.3 Сущность метода "черного ящика".
Понятие "черный ящик" широко используется в науке и
технике [4], поэтому целесообразно остановиться на нем подробнее.
По существу, "черным ящиком" является любой объект
или процесс, о котором мы судим на основе изучения его
внешних свойств, не имея возможности непосредственно исследовать его внутреннюю структуру.
Метод "черного ящика" используют для изучения поведения сложных систем, т.е. для установления закона их функционирования. Только после нахождения закона функционирования можно создать более или менее удачную гипотезу о
внутреннем устройстве "черного ящика" [3]. Это делается пу-
тем подачи (мысленной или реальной) различных типов воздействий на входной канал с тем, чтобы элементы "черного
ящика" воспринимали эти воздействия и проявляли бы свою
реакцию на них путем изменения сигналов (букв) на выходном
канале.
Таким образом, обнаруживаются элементы исследуемого объекта или процесса, а сам процесс их обнаружения называют экспериментами над "черным ящиком" или экспериментами над автоматом. Результаты таких экспериментов тщательно фиксируются и затем анализируются на предмет выявления функциональных взаимосвязей между входными (испытательными) воздействиями и выходными (проявляющими результат) элементами "черного ящика". В принципе может быть
построено неограниченное число внутренних структур, приводящих к данному конкретному типу соответствий между состояниями "входа" и "выхода" "черного ящика". Но, тем не менее, это уже не произвольные структуры, а вполне определенный их тип (класс). Если же предположить, что внутри "черного ящика" скрыта простейшая из структур данного типа, то
возможные варианты структур сводятся к нескольким или даже к единственной структуре, единственному типу функциональной зависимости.
При отыскании возможных структур "черного ящика"
уменьшить их разнообразие возможно лишь при том условии,
что на разновидности элементов "черного ящика" наложены
определенные ограничения. Такие ограничения приводят к
необходимости поиска минимальной разновидности элементов, необходимых и достаточных для построения структуры
сколь угодно сложных устройств и систем определенного
класса.
1.4 Основные задачи теории автоматов
Теория автоматов изначально предназначена для ускорения и облегчения процесса разработки и создания разнооб-
9
10
разных дискретных автоматов с достаточным для практического использования запасом надежности.
Теория автоматов зарождалась в тот момент времени,
когда основным принципом реализации автоматов был аппаратурный [5]. В связи с этим развивались методы синтеза структуры автоматов в том или ином элементном базисе. Под элементным базисом понимается минимально возможный набор
элементов, необходимый и достаточный для практической реализации автоматов сколь угодно большой сложности.
С созданием в 1972 году микропроцессорной техники,
оперативных запоминающих устройств (ОЗУ) и постоянных
запоминающих устройств (ПЗУ) достаточно большого объема
появилась возможность программной реализации разнообразных автоматов.
Аппаратурная реализация обеспечивает максимально
возможное быстродействие автомата, но требует значительных
материальных и временных затрат на разработку и изготовление автомата. Это связано с тем, что каждый создаваемый автомат требует для своей реализации нового набора элементов и
новой схемы их соединения. Автоматы, реализуемые аппаратурно, получили название "автоматы с жесткой логикой".
При программной реализации автоматов состав и структура аппаратурных средств изменяются незначительно, требуется лишь разработка программы, реализующей алгоритм работы автомата. Автоматы с программной реализацией получили название "автоматы с гибкой логикой". Недостатком автоматов с гибкой логикой является пониженное их быстродействие (иногда существенное) по сравнению с автоматами с
жесткой логикой.
Современная элементная база позволяет реализовывать
автоматы, в которых часть алгоритма реализуется аппаратурно,
а другая часть - программно. Для программной реализации
широко используются микропроцессорные комплекты больших интегральных схем (МПК БИС). Для аппаратурной реализации используются специальные БИС с программируемой и
перепрограммируемой архитектурой, такие как программиру-
емые логические матрицы (ПЛМ), базовые матричные кристаллы (БМК) и т.п. [6].
Большинство задач теории автоматов - общие для основных видов управляющих систем [1]. К ним относятся задачи:

классификации автоматов;

анализа и синтеза автоматов;

способов задания автоматов;

полноты элементарных автоматов;

минимизации автоматов;

эквивалентных преобразований автоматов;

эффективного кодирования автоматов.
Задача классификации автоматов необходима для выявления характерных классов автоматов, их свойств, особенностей и возможностей теоретической и практической реализации.
Задача анализа состоит в том, чтобы по заданной структуре автомата описать его поведение (закон функционирования) или по неполным данным об автомате и законе его функционирования установить те или иные свойства автомата.
Задача синтеза состоит в нахождении способов построения автомата с наперед заданным законом функционирования.
Задача способов задания автоматов понимается как выбор варианта описания автомата, его функционирования или
поведения. Способы задания автоматов зависят от подхода к
определению автомата. При макроподходе используются способы описания внешнего поведения автоматов; при микроподходе - выбираются способы описания структуры автомата. При
выборе способов задания автоматов необходимо иметь в виду,
что процесс синтеза автомата есть, по сути, процесс последовательной смены модельных описаний еще несуществующего
материального объекта путем преобразования некоторого первичного описания, оптимизации заданных характеристик проектируемого автомата или алгоритма его работы, устранением
некорректности первичного описания. Это достигается описанием автомата на различных языках, которые должны быть
совместимы между собой и наиболее адекватны решаемой задаче.
Задача полноты состоит в отыскании применительно к
конкретному классу автоматов или автоматных отображений
адекватного элементного базиса, обладающего функциональной полнотой. В качестве элементного базиса отыскиваются
элементарные (простейшие) автоматы и правила их композиции (соединения), такие, что при минимальном количестве
разновидностей элементарных автоматов и правил их композиции можно реализовать любой, сколь угодно сложный автомат из заданного класса.
Задача минимизации автоматов сводится к поиску минимальных по сложности аппаратурной или программной реализации алгоритма функционирования автомата.
Задача эквивалентных преобразований ставится как для
структуры автомата, так и для алгоритма его функционирования. Эквивалентные преобразования автоматов позволяют
найти эквивалентный автомат другого типа (класса), эквивалентную структуру автомата в другом элементном базисе или
эквивалентный алгоритм функционирования автомата.
Задача кодирования автомата состоит в переходе от абстрактных букв входного алфавита, выходного алфавита и алфавита состояний к, так называемому, структурному алфавиту,
который "понятен" тем элементарным автоматам, на основе
которых предполагается реализовать некоторый автомат. В
настоящее время при реализации автоматов широко используется двоичный структурный алфавит. Автоматы, работающие в
двоичном структурном алфавите, часто называют цифровыми
автоматами. Именно такие автоматы являются основным объектом рассмотрения в данном пособии.
Задача кодирования в общем случае сводится к нахождению правил (способов) сопоставления буквам абстрактных
алфавитов некоторых двоичных структурных кодов. От того,
насколько удачно осуществлено такое сопоставление (кодиро-
вание), зависят и сложность автомата, и надежность его работы
[7].
Глава 2. Формальная классификация абстрактных автоматов и их математические модели.
2.1 Словесные определения автоматов.
Формализации (представлению в математической форме) любого понятия предшествует попытка словесного выражения (определения) данного понятия. В этой связи представляет интерес проследить трансформацию во времени словесных определений понятия "автомат".
В энциклопедии "Просвещение" 1900 года издания дается следующее определение (определение 1): "Автомат – прибор, помощью внутреннего механизма подражающий действиям живых существ". Из данного определения следует, что автомат - материальный объект (т.к. прибор); внутри этого материального объекта находится некий механизм; этот механизм
действует так, что поведение автомата в целом похоже на действия каких - то живых существ. В соответствии с рассмотренным определением попытаемся выяснить: являются ли механические часы автоматом? Часы - материальный объект; внутри часов работает механизм, отсчитывающий время. Но, действиям какого живого существа подражают обыкновенные механические часы? Таким образом, в соответствии с рассмотренным определением обыкновенные механические часы не
могут быть названы "автоматом", т.к. они не подражают действиям какого-либо живого существа.
Рассмотрим модификацию механических часов, которые кроме часового механизма снабжены еще дополнительным
механизмом. Таким механизмом может быть петушок, кукарекающий каждый раз, когда часы показывают какое-либо
определенное время. В таком случае часы, с кукарекающим
через определенные интервалы времени петушком, могут быть
отнесены, по определению, к автоматам. Но кукарекать петушка можно "заставить" и без часов, которые отмеривают реаль-
ное время. Следовательно, действительным автоматом, по
определению, является только кукарекающий петушок. А что
если внутри кукарекающего петушка будут отсутствовать механические детали? Можно ли в таком случае отнести такого
петушка к автоматам?
Как видно, рассмотренное определение автомата несколько противоречиво, и достаточно широкое, так как "живых существ" - огромное множество, включая и человека.
Рассмотрим некоторые последующие словесные определения автомата, не вдаваясь в достаточно глубокий их анализ.
В [8] (1963 год) дается следующее определение (определение 2).
Автомат (от греческого automatus - самодействующий) рабочая машина, самостоятельно производящая все рабочие,
холостые, транспортирующие и др. движения и осуществляющая управление этими движениями.
В [9] (1980 год) еще более уточняется понятие автомата
(определение 3).
Автомат (от греческого automatus - самодействующий)
1) устройство (совокупность устройств), выполняющее по
заданной программе без непосредственного участия человека все операции в процессах получения, преобразования,
передачи и распределения (использования) энергии, материалов или информации. Программа автомата задается в
его конструкции или извне - посредством перфокарт, магнитных лент и т.п.;
2) в кибернетике: математическая модель устройства (процесса), перерабатывающего дискретную (цифровую) информацию.
В [10] (1988 год) приводится следующее определение
(определение 4).
1) Автомат – устройство, предназначенное для выполнения
целенаправленных действий без непосредственного участия человека.
2) Автомат абстрактный – математическая модель автомата по
п.1, определяемая заданием трех множеств (входных сигналов, внутренних состояний и выходных сигналов) и двух
двуместных функций (переходов и выходов). Функция переходов отображает первые два множества на второе, а
функция выходов отображает первые два множества на
третье.
3) Автомат структурный – автомат абстрактный, по п.2, заданный множеством его элементов и схемой их соединения.
Последнее словесное определение дает возможность
перейти к формальному определению понятия автомата.
2.2 Формальное определение абстрактного автомата.
Математической моделью дискретного устройства является абстрактный автомат, определяемый как шестикомпонентный кортеж, или вектор [11]:
S = (Z, A ,W, δ, λ, a1),
(2.1)
у которого:
Z={z1,…zf…zF} - множество входных сигналов автомата
(входной алфавит);
A={a1,…am…aM} - множество состояний автомата (алфавит состояний);
W={w1,…wg…wG} – множество выходных сигналов автомата
(выходной алфавит);
δ : A х Z  A – функция переходов автомата, реализующая
отображение Dδ  A х Z на A. Другими словами, функция δ
некоторым парам состояние - входной сигнал (am, zf) ставит в
соответствие состояние автомата as = δ (am, zf), as  A;
λ : A х Z  W – функция выходов, реализующая отображение D  A х Z на W, которая некоторым парам состояние входной сигнал (am, zf) ставит в соответствие выходной сигнал
автомата wg = λ (am, zf);
a1  A – начальное состояния автомата.
Под алфавитом здесь понимается непустое множество
попарно различных символов. Элементы алфавита называются
буквами, а конечная упорядоченная последовательность букв словом в данном алфавите.
16
Абстрактный автомат имеет
один вход и один выход.
Автомат работает в дискретном времени, принимающем целые
неотрицательные значения t = 0,1,2,… В каждый момент t
дискретного времени автомат находится в некотором состоянии a(t) из множества состояний автомата, причем в начальный
момент времени t(0) автомат может находиться в начальном
состоянии a(0) = a1. В момент t, будучи в состоянии a(t), автомат способен воспринять на входе букву входного алфавита
z(t)  Z. В соответствии с функцией выходов он выдает в тот
же момент времени t букву выходного алфавита
w(t) =
λ (a(t), z(t)) и в соответствии с функцией переходов перейдет в
следующее состояние a(t +1) = δ (a(t), z(t)), причем a(t +1) 
A, а w(t)  W. Смысл понятия абстрактного автомата состоит в
том, что он реализует некоторое отображение множества слов
входного алфавита Z в множество слов выходного алфавита W.
Иначе, если на вход автомата, установленного в начальное состояние a1, подавать буква за буквой некоторую последовательность букв входного алфавита z(0), z(1), z(2), … - входное
слово, то на выходе автомата будут последовательно появляться буквы выходного алфавита w(0), w(1), w(2), … - выходное
слово. Каждому входному слову соответствует определенное
выходное слово, структура которого определяется функциями
переходов и выходов.
Таким образом, на уровне абстрактной теории понятие
"работа автомата" понимается как преобразование входных
слов в выходные слова. Структурной моделью нулевого уровня
абстрактного автомата является модель, представленная на
рис. 2.1.
S
Z
W
Рис. 2.1. Структурная модель абстрактного автомата
(нулевой уровень)
В том случае, когда отображения D = D = A х Z, автомат называют полностью определенным или полным. Иными словами, у полностью определенного автомата области
определения функций δ, λ совпадают с множеством A х Z –
множеством всевозможных пар вида (am, zf). У не полностью
определенного, или частичного, автомата функции δ или λ
определены не для всех пар (am, zf)  A х Z.
Состояние частичного автомата, соответствующее паре
(am, zf), на котором функция переходов не определена, называют неиспользуемым состоянием автомата. Остальные состояния называют используемыми [5].
Если на каком-либо используемом состоянии автомата
не определена функция выходов, то говорят, что этому состоянию соответствует безразличное состояние выхода. В частном случае может быть безразличным не состояние выхода, а
лишь один или несколько выходных сигналов, набор значений
которых определяет данное состояние выхода [5].
Чтобы задать конечный автомат S, необходимо описать
все компоненты вектора S = (Z, A ,W, δ, λ, a1), т.е. входной и
выходной алфавиты и алфавит состояний, а также функции
переходов и выходов. Среди множества состояний может
быть выделено начальное состояния автомата a1, в котором
автомат находится в момент t = 0.
2.3 Формальная классификация автоматов
Один из способов классификации абстрактных автоматов состоит в рассмотрении мощностей множеств A, Z, W и
общих свойств функций переходов δ и выходов λ, которые
также называют характеристическими [1], [2], [13].
1. Автомат инициальный - автомат, для которого задано a1 (начальное состояние) и который всегда
начинает функционировать с этого состояния;
2. Автомат не инициальный - автомат, для которого в
качестве начального состояния может быть взято
любое
из
допустимых
его
состояний
A={a1,…am…aF};
18
3. Автомат конечный - автомат, у которого одновременно конечны множества входного, выходного алфавитов и алфавита состояний, т.е. Z   , A   и
W  ;
4. Автомат бесконечный - автомат, у которого бесконечны хотя бы одно из множеств входного, выходного алфавитов или алфавита состояний, т.е. Z   ,
или A   , или W   ;
5. Автомат без памяти (комбинационный автомат) - автомат, у которого множество состояний состоит из
одного элемента, т.е. A  1. Для такого автомата
характерно то, что функция переходов вырождается
(отсутствует), а функция выходов однозначно определяет выходной символ как некоторую функцию от
входного символа, т.е. W= λ(Z);
6. Автомат без входов (автономный автомат) - автомат,
у которого множество входных символов состоит из
одного элемента Z  1 , т.е. автомат не имеет входов
или, что то же самое, состояние его входа (входной
символ) имеет неизменное значение, и функционирование автомата не зависит от входных символов. В
этом смысле говорят, что автономный автомат является автоматом без входов. Для таких автоматов характерно то, что следующее состояние автомата и
его выходной символ однозначно определяется
только состоянием автомата в данный момент времени;
7. Автомат без выхода (распознаватель) - автомат, у
которого множество выходных символов состоит из
одного символа. Поведение автомата без выхода
можно охарактеризовать тем, как последовательность входных символов перерабатывается в последовательность внутренних состояний автомата. Иногда поведение автомата без выхода рассматривают
как поведение устройства, воспринимающего вопросы и дающего на них ответы "да" или "нет";
8. Детерминированный автомат - автомат, для которого
функции переходов и выходов являются всюду
определенными (однозначными) функциями;
9. Недетерминированный автомат - автомат, для которого допускаются многозначные функции переходов
и выходов, т.е. при данных входном символе и внутреннем состоянии автомат может переходить в несколько различных состояний;
10. Вероятностный автомат - автомат, в котором функции переходов и выходов являются случайными
функциями. Они задаются матрицей переходных и
выходных вероятностей, в соответствии с которой
при входном символе будет выбираться выходной
символ и следующее состояние автомата;
11. Нечеткие автоматы - автоматы, для которых функции переходов и выходов заменяют нечеткими отношениями. Нечеткие автоматы являются математическими моделями некоторых распознающих
устройств и используются в задачах распознавания
образов.
2.4 Математические модели автоматов
Все существующие математические модели автоматов
можно разделить на общие и специализированные модели, что
отражает многообразие разновидностей автоматов.
К общим моделям относят модели Мили и Мура,
названные по имени впервые исследовавших эти модели американских ученых G.H. Mialy и E.F. Moore, а также модель Савтомата, которая является совмещением моделей Мили и Мура.
Из специализированных моделей, получившей распространение в автоматике и вычислительной технике, наиболее
20модель микропрограммного
известна и широко используется
автомата, как композиция управляющего автомата и операционного автомата.
2.4.1 Модель Мили.
Закон функционирования автомата типа Мили математически задается следующей системой уравнений (2.2):
a(t 1) ( a(t ), z (t ))
,

w
(
t
)


(
a
(
t
),
z
(
t
))

(2.2)
где
a(t) – внутреннее состояние автомата в момент
времени t (настоящий момент времени);
z (t) – входной сигнал в момент времени t;
w (t) – выходной сигнал в момент времени t;
a (t+1) - внутреннее состояние автомата в момент времени (t+1) (в следующий момент времени);
δ - функция переходов;
λ - функция выходов.
Первое уравнение в (2.2) отражает тот факт, что переход
автомата в следующее состояние a(t+1) осуществляется только
с приходом входного сигнала (входного символа) z(t) в момент времени t. При этом, то конкретное состояние, в которое
перейдет автомат в момент времени (t+1), определятся парой
(am, zf), т.е. состоянием автомата a(t) и входным сигналом (символом) z(t) в момент времени t.
Второе уравнение в (2.2) отражает закономерность
формирования выходного сигнала (символа) автоматом типа
Мили. Из уравнения видно, что выходной сигнал формируется
автоматом в тот же момент времени t, в который действует
входной сигнал z(t) и только до тех пор, пока автомат не перейдет в новое состояние a(t+1). Конкретное значение выходного сигнала (символа) однозначно определяется парой (am,
zf), т.е. состоянием автомата a(t) и входным сигналом (символом) z(t) в момент времени t. Если автомат Мили перейдет в
неиспользуемое состояние a(t+1), на котором функция переходов не определена, или в устойчивое состояние, из которого не
возможен выход под действием такого же входного сигнала,
как и действующего в момент времени t, то и с математической, и с технической точек зрения модель Мили корректна.
Возможна, также ситуация, при которой автомат под
воздействием входного сигнала z(t) должен перейти в некоторое состояние a(t+1), из которого под воздействием такого же
сигнала возможен переход в другое состояние автомата. В этом
случае промежуточное состояние автомата будет неустойчивым (автомат его "проскочит"), если длительность входного
сигнала будет превышать время переходного процесса в автомате (т.е. время перехода автомата из одного состояния в другое). Из данных рассуждений следует, что математическая и
техническая корректность модели Мили обеспечивается только
в том случае, если допустить, что длительность входного сигнала столь мала, что не превосходит времени переходных процессов в автомате. Но тогда, как следует из второго уравнения
(2.2), длительность выходного сигнала будет не больше длительности входного сигнала и, следовательно, выходной сигнал в автомате Мили будет таким же "коротким", как и входной сигнал.
Характерной особенностью автомата типа Мили является также и то, что он "не помнит" предшествующей последовательности своих состояний и "не знает" своих последующих
действий, отдаленных более чем на один такт автоматного
времени. Данная особенность характерна и для большинства
разновидностей дискретных автоматов, в том числе и для автоматов типа Мура, С-автоматов и микропрограммных автоматов.
2.4.2 Модель Мура.
22
Закон функционирования автомата типа Мура математически задается следующей системой уравнений (2.3):
a(t 1) ( a(t ),z (t ))
,

w(t ) ( a(t ))
Второе уравнение в (2.2) отражает закономерность
формирования выходного сигнала (символа) автоматом типа
Мура. Из уравнения видно, что выходной сигнал определяется
только состоянием автомата в момент времени t и в явном виде
не зависит от входного сигнала z(t). Соответствующий состоянию a(t) выходной сигнал в автомате Мура формируется на
всем протяжении времени, пока автомат находится в состоянии
a(t). В связи с данной особенностью автомата типа Мура говорят, что данный тип автомата формирует "длинные" выходные
сигналы, которые однозначно определяются тем состоянием
автомата, в котором он находится в данный момент времени.
Не смотря на то, что состояние выхода автомата Мура
не зависит явно от состояния входа, его можно рассматривать
как частный случай автоматов Мили. Действительно, так как
для автоматов Мура справедливо
(2.3)
где
a(t) – внутреннее состояние автомата в момент
времени t (настоящий момент времени);
z (t) – входной сигнал в момент времени t;
w (t) – выходной сигнал в момент времени t;
a (t+1) - внутреннее состояние автомата в момент времени (t+1) (в следующий момент времени);
δ - функция переходов;
λ - функция выходов.
Первое уравнение в (2.3) отражает тот факт, что переход
автомата в следующее состояние a(t+1) осуществляется только
с приходом входного сигнала (входного символа) z(t) в момент времени t. При этом, то конкретное состояние, в которое
перейдет автомат в момент времени (t+1), определятся парой
(am, zf), т.е. состоянием автомата a(t) и входным сигналом (символом) z(t) в момент времени t. Функция переходов в автомате
типа Мура имеет такой же вид, как и для автомата типа Мили
со всеми рассмотренными ранее особенностями математической и технической корректности модели.
a(t) = δ (a(t-1), z(t-1)),
то справедливо и следующее соотношение:
w(t) = λ (a(t)) = g (a(t-1), z(t-1)).
(2.4)
(2.5)
Соотношение (2.5) показывает, что в автомате Мура
выходной сигнал реально зависит от входного сигнала, но
только действующего в предыдущий момент времени. Различие между автоматами Мура и Мили состоит в том, что в автоматах Мили выходной сигнал возникает одновременно с вызывающим его входным сигналом, а в автоматах Мура - с
опозданием (задержкой) на один такт автоматного времени.
Поэтому автоматы Мура можно рассматривать как автоматы
Мили, имея в виду, что последовательность состояний выхода
автомата Мили опережает на один такт последовательность
состояний выхода автомата Мура.
В теории автоматов доказано [11], что между автоматами Мили и Мура существует взаимооднозначное соответствие:
любой автомат Мили может быть преобразован в эквивалентный ему автомат Мура и наоборот.
При переходе от автомата Мура к автомату Мили число состояний автомата не меняется, тогда как при обратном
переходе число состояний в автомате Мура, как правило, возрастает. Таким образом, эквивалентные между собой автоматы
могут иметь различное число состояний, в связи с чем в теории
автоматов возникает задача нахождения минимального (с
наименьшим числом состояний) автомата в классе эквивалентных между собой автоматов.
Существование для любого абстрактного автомата эквивалентного ему абстрактного автомата
с минимальным чис24
лом внутренних состояний впервые было доказано Муром.
2.4.3 Модель совмещенного автомата (С-автомата)
Модель совмещенного автомата представляет собой
комбинацию моделей Мили и Мура. Совмещенный автомат
позволяет одновременно формировать выходные сигналы как
"короткие", так и "длинные".
Абстрактный С-автомат - математическая модель дискретного устройства, для которого заданы следующие параметры:
Q={q1,...,qn}
X={x1,...,xm}
Y={y1,...,yg}
U={u1,...,uf}
 : Q  XQ
1 : Q  XY
2 : QU
q0  Q
 множество состояний;
 входной алфавит;
 выходной алфавит типа 1;
 выходной алфавит типа 2;
 функция переходов, реализующая
отображение DQX в Q;
 функция выходов, реализующая
отображение D1QX на Y;
 функция выходов, реализующая
отображение D2Q на U;
 начальное состояние автомата.
Абстрактный С-автомат можно представить в виде
устройства с одним входом, на который поступают сигналы из
входного алфавита X, и двумя выходами, на которых появляются сигналы из выходных алфавитов Y и U (рис.2.2).
Отличие С-автомата от моделей Мили и Мура состоит в
том, что он одновременно реализует две функции выходов 1 и
2, каждая из которых характерна для этих моделей в отдельности. Этот автомат можно 25
описать следующей системой
уравнений:
q(t  1)   (q(t ), x(t ))

 y (t )  1 (q(t ), x(t ))
u (t )   (q(t ))
2

(2.6)
Выходной сигнал u=2(qs) выделяется все время, пока
автомат находится в состоянии qs. Выходной сигнал
y=1(qs, xn) выдается во время действия входного сигнала xn
при нахождении автомата в состоянии qs. От С-автомата легко
перейти к автоматам Мили или Мура (с учетом возможных
сдвигов во времени на один такт), так же как возможна трансформация автомата Мили в автомат Мура, и наоборот.
Y={y1,...,yg}
X={x1,..., xm}
Q={q1,....,qn}
U={u1,...,uf}
Рис. 2.2 Модель совмещенного автомата с одним
входом и двумя выходами (С-автомат)
2.4.4 Модель микропрограммного автомата
Принцип функционирования микропрограммного автомата (МП-автомат) удобно рассматривать во взаимодействии с
управляемыми им функциональными блоками (ФБ) [5]. При
этом среди ФБ целесообразно выделить два типа блоков: операторные (ОФБ) и логические (ЛФБ). МА-автомат вырабатывает последовательность выходных сигналов (воздействий) zai
и zpj, которые управляют работой ОФБ и ЛФБ.
r1
Z a1
rk
Z ak
ОФБ1
ОФБk
МП
p1
Z p1
pm
Z pm
ЛФБ1
При воздействии на ЛФБj им вырабатывается одно из
двух возможных значений проверяемого параметра pj, которое
поступает на вход микропрограммного автомата. Следовательно, на вход pj воздействие может поступить лишь в том случае,
если имеется воздействие на выходе zpj. Поэтому все входы
МП-автомата разделяют на две группы: внешние r1,…,rk и
внутренние p1,…,pm. Выходы zp1,…,zpm можно назвать внутренними выходами, а za1,…,zak - внешними.
Наличие зависимости поступления воздействий на
внутренние входы МП-автомата
27 от его внутренних выходных
воздействий является одной из основных особенностей МПавтомата. Второй особенностью является то, что при неизменном состоянии внешнего входа автомат вырабатывает последовательность сигналов на основных выходах.
Примем, что Q={q1,...,qn} множество внутренних состояний МП - автомата. Тогда его закон функционирования можно задать одним из следующих способов:
q (t + 1) =  ((q(t), r(t), p(t)),
(2.7)
Z a(t) = 1((q(t), r(t), p(t)),
Z p(t) = 2((q(t), r(t), p(t)),
или
q (t + 1) =  ((q(t), r(t), p(t)),
(2.8)
Z a(t) = 1((q(t)),
Z p(t) = 2((q(t)).
Соотношение (2.7) задает МП - автомат, который соответствует модели Мили, а соотношение (2.8) - соответствует
модели Мура.
ЛФБm
Глава 3 Структурные модели первого уровня абстрактных автоматов
Рис. 2.3 Структурное представление микропрограммного автомата
Первый уровень структурной детализации автоматов
может быть получен на основе рассмотренной формальной
классификации разновидностей автоматов и их математических моделей.
3.1. Структурная модель автомата Мили
В структурной теории автомат представляется в виде
совокупности некоторых элементарных автоматов, соединенных определенным образом.
Структурная модель первого уровня автомата Мили с
учетом (2.2) может быть представлена в виде совокупности
комбинационных автоматов (КА1 и КА2) и автомата с памятью
(кратко, памяти) следующим образом (рис. 3.1). Комбинацион28
ный автомат КА1 реализует функцию
выходов, а комбинационный автомат КА2 совместно с памятью - функцию переходов.
z(t)
КА1
w(t)
λ (a(t),z(t))
КА2
такте. В частном случае в качестве элементов памяти могут
применяться элементы задержки, которые формируют с запаздыванием на своем выходе воздействия, поданные на их вход в
предшествующем такте автоматного времени.
Использовать элементы задержки не всегда удобно или
возможно. Поэтому были разработаны более сложные (по
сравнению с элементами задержки) элементарные автоматы с
двумя устойчивыми состояниями, которые получили название
триггеры.
3.2. Структурная модель автомата Мура
Структурная модель первого уровня автомата Мура с
учетом (2.3) может быть представлена в виде совокупности
комбинационных автоматов (КА1 и КА2) и автомата с памятью
(кратко, памяти) следующим образом (рис. 3.2).
Комбинационный автомат КА1 реализует функцию выходов, а комбинационный автомат КА2 совместно с памятью функцию переходов.
δ (a(t),z(t))
а(t)
КА1
а(t+1)
w(t)
λ (a(t))
z(t)
КА2
память
Рис. 3.1 Структурная модель первого уровня автомата
типа Мили
Задачей автомата с памятью (памяти) является запоминание на один такт автоматного времени внутреннего состояния автомата. Память состоит из элементарных элементов памяти с числом внутренних состояний не менее двух. Физическая реализация элементов памяти может быть различной, но
они должны обеспечивать запоминание (фиксацию) воздействия, которое было на их входе в предыдущем автоматном
δ (a(t),z(t))
а(t)
а(t+1)
память
Рис. 3.2 Структурная модель первого уровня автомата
типа Мура
Память может быть реализована различными способами, но ее задача такая же, как и для автомата типа Мили.
Особенность структурной модели автомата типа Мура
отражает специфику математической модели, а именно, неявную зависимость выходного сигнала (символа) от входного
сигнала (символа).
3.3 Структурная модель С - автомата
30 уровня С - автомата с учеСтруктурная модель первого
том (2.6) может быть представлена в виде совокупности комбинационных автоматов (КА1, КА2 и КА3) и автомата с памятью (кратко, памяти) следующим образом (рис. 3.3). Комбинационный автомат КА1 реализует функцию выходов первого
типа u(t)=λ1(a(t)), комбинационный автомат КА2 - функцию
выходов второго типа w(t)=λ2 (a(t),z(t)), а комбинационный автомат КА3 совместно с памятью - функцию переходов а(t+1)=
=δ (a(t),z(t)).
z(t)
КА1
λ1 (a(t))
u(t)
КА2
λ2 (a(t),z(t))
w(t)
КА3
δ (a(t),z(t))
а(t)
3.4 Структурная модель микропрограммного автомата
При описании работы широкого класса дискретных систем, в том числе и микропрограммных автоматов, стало уже
классическим их представление в виде композиции управляющего автомата (УА) и операционного автомата (ОА) (рис. 3.4).
Рис.3.4 Структурная модель первого уровня микропрограммного автомата.
а(t+1)
память
Рис. 3.3 Структурная модель первого уровня C - автомата
Операционный автомат выполняет преобразование
входных слов информации (двоичных векторов), поступающей
на его входы γ. Такими словами могут быть: слагаемые или
операнды для какой-либо арифметической операции, множимое и множитель для умножения и т.п. Результатом преобразо-
вания, реализуемого операционным автоматом, является информация, которая формируется на выходах β.
Задачей управляющего автомата является выработка
распределённой во времени последовательности управляющих
сигналов yi, под воздействием которых в операционном автомате выполняется некоторая операция.
Элементарный неделимый акт обработки информации в
операционном автомате, происходящий в течение одного такта
автоматного времени, называют микрооперацией (yi). Каждая
микрооперация возбуждается соответствующим сигналом yi,
32
причем, если микрооперация выполняется,
то yi=1, а если нет,
то yi=0.
Совокупность микроопераций, выполняемых одновременно за один такт автоматного времени, называется микрокомандой Yj. Для задания порядка следования микрокоманд вводятся и формируются специальные переменные, которые называют либо логическими условиями, либо осведомительными
сигналами xm.
Проверка логического условия в каждом такте работы
управляющего автомата однозначно определяет микрокоманду, реализуемую в следующем такте.
Таким образом, совокупность микрокоманд и функции
переходов образует микропрограмму.
Операционный автомат, как правило, является комбинационным автоматом, управляющий автомат – всегда последовательностный автомат, следовательно, с памятью.
Глава 4. Способы задания абстрактных и структурных
автоматов.
В зависимости от способа задания функцией переходов
и выходов ( и ) в настоящее время выделяют два класса языков - начальные языки и стандартные, или автоматные языки,
которые используют для задания (описания) абстрактных автоматов [12].
В начальных языках автомат описывается на поведенческом уровне, т.е. функции переходов и выходов обычно в явном виде не заданы. Поведение автомата описывается в терминах входных и выходных последовательностей, реализуемых
операторов (отображений) или управляющих последовательностей сигналов, воздействующих на операционный автомат.
В автоматных языках поведение автомата задается путем явного задания функций переходов и выходов.
Для описания, синтеза, анализа структурных автоматов
широко используется язык (математический аппарат) алгебры
логики и язык временных диаграмм.
4.1 Начальные языки
4.1.1 Язык регулярных выражений алгебры событий
Рассмотрим кратко язык регулярных выражений алгебры событий. Для заданного конечного множества входных
букв X={x1...xn} регулярное выражение задается следующим
образом. Для построения языка регулярных выражений используется три операции над событиями (две бинарных и одна
унарная):
1) AB  объединение (дизъюнкция);
2) AB  умножение (конкатенация);
3) {A}  итерация (обозначается также A*).
Выражение, построенное из букв алфавита X и из символов операций объединения, умножения и итерации с использованием соответствующим образом расставленных скобок,
называется регулярным выражением в алфавите X. Всякое регулярное выражение R определяет некоторое событие S (S получается в результате выполнения всех операций, входящих в
выражение R). События, определяемые таким образом, называется регулярными событиями над алфавитом X. Другими
словами, регулярным событием называется событие, полученное из элементарных событий (однобуквенных слов x i) применением конечного числа раз операций дизъюнкции, умножения
и итерации. Например, в алфавите из трех букв x, y, z регулярное выражение x{x  y  z} (y  z) задает регулярное событие из всех слов, которые начинаются буквой x и заканчиваются буквой y или z.
Пусть необходимо описать автомат, выдающий сигнал
1 всякий раз, когда происходит изменение входной буквы с x 1
на x2. Другими словами, сигнал 1 должен выдаваться в ответ
на любые входные последовательности, кончающиеся последовательностью x1x2. Фраза «любые входные последовательности» формализуется всеобщим, или
34 универсальным, событием,
состоящим из всех возможных слов в алфавите x 1x2. Такое событие записывается как {x1x2}. Тогда событие S1, в ответ на
которое должен выдаваться сигнал 1, будет описываться регулярным выражением: S1/1={x1x2} x1x2.
4.1.2 Язык логических схем
1) содержат один начальный (vn) и один конечный оператор (vk);
2) перед оператором vn и после оператора vk стрелок
быть не должно;
3) вслед за каждым логическим условием всегда стоит
верхняя стрелка;
4) не существует двух одинаковых (с одинаковыми
цифрами) нижних стрелок;
5) для каждой нижней стрелки должна быть, по крайней мере, одна соответствующая ей (с одинаковой
цифрой) верхняя стрелка;
6) для каждой верхней стрелки должна быть точно одна соответствующая ей (с одинаковой цифрой) нижняя стрелка.
Описание поведения автомата с помощью ЛСА поясним
на следующем примере:
1
В 1953 г. А.А. Ляпунов предложил записывать алгоритмы в виде конечной строчки, состоящей из символов операторов, логических условий и верхних и нижних стрелок, которым
приписаны натуральные числа.
Порядок выполнения операций в автомате определяется
программой (или микропрограммой), представляющей собой
совокупность микроопераций и логических условий.
Под микрооперацией обычно понимается элементарный
процесс переработки информации в одной из частей автомата,
происходящий за время такта работы автомата. При этом
устройство управления вырабатывает управляющие сигналы,
которые обозначим символом V={v1,v2...vn}. Ход выполнения
микроопераций может нарушаться в зависимости от условий,
задаваемых множеством Z={z1,z2...z3}.
Запись алгоритма, выполненная с учетом вышеизложенного, называется логической схемой алгоритма (ЛСА).
Логические схемы алгоритмов удовлетворяют следующим условиям:
1
2
2
2
vnz1  v1  z2  v2v3z3  v4  v5vk.
(4.1)
Эта ЛСА имеет операторы начала и конца (vn и vk), пять
операторов (v1v5) и три логических условия (z1, z2, z3).
Начальному оператору соответствует некоторое начальное состояние автомата, при котором никакие микрооперации не выполняются. Если в начальном состоянии на первый вход
устройства придет сигнал, равный единице (z1=1), то устройство перейдет в новое состояние, в котором выполняется оператор v1 - первый справа после логического условия z1, а затем
проверяется логическое условие z2. Если же z1=0, то
1
выходим по верхней стрелке  и входим по нижней стрелке с
той же цифрой на проверку логического условия z2, минуя выполнение оператора v1. Если же z2=1, то выполняются операторы v2 и v3 и проверяется условие z3; если z3=0, то оператор v4
не выполняется, происходит переход к оператору v5. После
выполнения оператора v5 происходит переход к конечному
оператору, т.е. работа дискретного устройства заканчивается.
4.1.3 Язык граф – схем алгоритмов
Другой разновидностью языка, позволяющего описывать логические схемы алгоритмов, является язык граф-схем
алгоритмов (ГСА). Граф-схема алгоритма  ориентированный
связный граф, содержащий одну начальную вершину, произвольное число условных и операторных вершин и одну конечную вершину.
36
а), б) - начальная и конечная вершины; в) - операторная
вершина; г) - условная вершина.
Рис. 4.1 Графическое представление вершин ГСА.
Конечная, операторная и условная вершины имеют по
одному входу, начальная вершина входов не имеет. Начальная
и операторная вершины имеют по одному выходу. Конечная
вершина выходов не имеет. Условная вершина имеет два выхода, помеченных символами 1 и 0. Граф-схема алгоритма
удовлетворяет следующим условиям:
1) входы и выходы вершин соединяются друг с другом с помощью дуг, направленных всегда от выхода ко входу;
2) каждый выход соединен только с одним входом;
3) любой вход соединяется, по крайней мере, с одним выходом;
4) любая вершина графа лежит, по крайней мере, на одном
пути из начальной к конечной вершине;
5) в каждой условной вершине записывается один из элементов множества логических условий Z={z1...zl}, разрешается
в различных условных вершинах записывать одинаковые
элементы множества Z;
6) в каждой операторной вершине записывается один из элементов множества операторов V={v1...vt}, разрешается в
различных операторных вершинах запись одинаковых элементов множества V.
На рис. 4.2 представлена граф-схема алгоритма, соответствующая ЛСА, заданной (3.1). Язык ГСА используется
37
очень часто при описании алгоритмов
функционирования, как
самого цифрового автомата, так и программ, выполняющих то
или иное действие.
Vn
z1
Рис. 4.2 Пример граф - схемы алгоритма
V1
0
0
z2
4.1.4 Язык схем алгоритмов
При проектировании различных устройств ЭВМ обычно
используются содержательные схемы алгоритмов, которыми
описываются не только формальные элементы, а также логические условия и микрооперации в содержательных терминах.
Основные правила выполнения содержательных схем алгоритмов и программ, которым студенты должны следовать в процессе выполнения курсового проекта, представлены в соответствующих ГОСТах.
Графическое описание алгоритма дается в виде чертежа,
состоящего из ограниченного числа геометрических фигур
(называемых символами), соединенных стрелками указывающими последовательность некоторых действий.
Различают безусловные и условные типы символов.
Безусловные позволяют описывать операции, связанные с вводом/выводом и выполнением операторов (инструкций) алгоритма. Символы условного типа позволяют отобразить ситуации, требующие ветвления вычислительного процесса в зависимости от выполненного результата.
Конфигурацию и размер символов, а также порядок построения схем алгоритмов определяет ГОСТ 19.002-80 и
19.003-80 Единой Системы Программной Документации
(ЕСПД).
Все символы (блоки) в алгоритме нумеруются. Номера
проставляются в разрыве верхней линии блока слева (рис. 4.3).
Линии потока указывают направление перехода к следующему блоку алгоритма. Стрелки на линиях потока не ставят, если линии потока направлены вниз или слева направо.
1
1
V2
V3
1
z3
0
V4
V5
Vk
Противоположные направления (то есть снизу вверх или справа на лево) обязательно помечают стрелкой на линии потока.
Линии потока могут подвергаться изломам до 90. В этом случае на линиях потока также ставится стрелка.
В состав схемы алгоритма могут быть включены соединитель и межстраничный соединитель.
Рис. 4.3 Обозначение и нумерация блоков алгоритма.
Соединитель используется для обозначения связи между блоками (символами) при необходимости обрыва линии потока. Такая потребность возникает в том случае, когда участок
схемы алгоритма слишком насыщен линиями потока или когда
соединяемые символы находятся далеко друг от друга, но в
пределах одного и того же листа. На рис. 4.4 иллюстрируется
использование соединителя между блоками 2 и 7 (линии потока направлены от блока 2 к блоку 7).
Если приходится изображать алгоритм на нескольких
листах, то используют межстраничный соединитель. Внутри
символа межстраничного соединителя указывают номер листа
(трехзначный) и номер символа, с которым должно быть соединение. На рис. 4.5 а) показано, что линия потока уходит на
второй лист к 23 блоку, а на рис. 4.5 б) - что, к 23 блоку идет
линия потока с первого листа от пятого блока.
Рекомендуется использовать соединители в крайних
случаях, так как иначе снижается наглядность схемы алгоритма и ее понимание.
40
Рис. 4.4 Пример использования соединителя.
Рис. 4.5 Пример использования межстраничного соединителя
4.2 Автоматные языки
Среди автоматных (стандартных) языков наиболее распространены таблицы и матрицы переходов и выходов, а также
графы автоматов [12].
автомата S1
(табл.4.3):
4.2.1 Таблицы переходов и выходов
Таблица переходов (выходов) представляет собой таблицу с двойным входом, строки которой нумерованы входными
буквами, а столбцы  состояниями. На пересечении строк и
столбцов указывается состояние, в которое переходит автомат
(в таблице переходов) или выходной сигнал, выдаваемый им (в
таблице выходов).
Описание работы автомата Мили таблицами переходов
и выходов иллюстрируется на примере автомата S1 (табл.4.1и
4.2):
x1
x2
имеем
следующую
совмещенную
таблицу
Таблица 4.3
:Q  XQ; :Q  XY
q1
q2
q3
q2/y1
q3/y3
q2/y3
q3/y2
q2/y1
q1/y1
Так как в автомате Мура выходной сигнал зависит
только от состояния, автомат Мура задается одной отмеченной
таблицей переходов, в которой каждому ее столбцу приписан,
кроме состояния qm, еще и выходной сигнал yg=(qm), соответствующий этому состоянию. Пример табличного описания автомата Мура S2 показан в табл. 4.4:
Таблица 4.4
Таблица 4.1
: Q  XQ
q1
x1
q2
x2
q3
q2
q3
q2
Таблица 4.2
: Q  XY
q1
x1
y1
x2
y2
q3
q2
q1
q2
y3
y1
q3
y3
y1
На пересечении столбца qm и строки xi в таблице переходов (табл.4.1) ставится состояние qs=(qm, xi), в которое автомат переходит из состояния qm под действием сигнала xi, а в
таблице выходов (табл. 4.2)  соответствующий этому переходу выходной сигнал yg=(qm, xi).
Иногда при задании автоматов Мили используют одну
совмещенную таблицу переходов и выходов, в которой на пересечении столбца qm и строки xi записываются в виде qs/yg
следующее состояние и выдаваемый выходной сигнал. Так, для
42
x1
x2
y1
q1
q2
q4
:Q  XQ, :QY:
y1
y3
q2
q3
q5
q3
q2
q2
y2
q4
q3
q1
y3
q5
q3
q1
Для частичных автоматов, у которых функции  или 
определены не для всех пар (qm, xi)QX, на месте неопределенных состояний и неопределенных выходных сигналов ставится прочерк.
4.2.2 Матрицы переходов и выходов
Иногда применяется способ задания автомата с помощью матрицы переходов и выходов, которая представляет собой таблицу с двумя входами. Строки и столбцы таблицы отмечены состояниями. Если существует переход из состояния
qm под действием входного сигнала xi в состояние qs, с выдачей
выходного сигнала yi, то на пересечении строки qs и столбца
qm записывается пара xi/yi.
Для автомата Мура используется матрица, столбцы ко-
а)
y2
x2
y
q1 1
x1
б)
q3
x1
y
x2 3
x1
y1
q1 x 1
x2
y3 y
1
y1
q 2 x2
43
x1
x2
q5
y3
x1
x2 q
4
x1
y2
x2
q 2 y2
x2
q3 y
3
x1
торой отмечены выходными сигналами yi, а на пересечении ее
строк и столбцов указываются только входные сигналы xi.
Ниже приведены матрицы переходов и выходов для
рассмотренных ранее автоматов S1 (табл. 4.5) и S2 (табл.4.6):
q1
q2
q3
q1
q2
q3
q4
q5
q1
q2
x1/y1
x2/y2
x2/y1
x1/y3
y1
q1
y1
q2
y3
q3
x1
x2
x2
x1
x2
x1
Таблица 4.5
q3
x2/y1
x1/y3
Таблица 4.6
y2
y3
q4
q5
x2
x2
x1
x1
4.2.3 Граф автомата
Часто автомат задают с помощью графа автомата.
Этот язык удобен и нагляден. Граф автомата  ориентированный граф, вершины которого соответствуют состояниям, а дуги  переходам между ними. Две вершины графа автомата qm и
qs (исходное состояние и состояние перехода) соединяются дугой, направленной от qm к qs, если в автомате имеется переход
из qm в qs, т.е. если qs=(qm, xi) при некотором xiX. Дуге (qm,
qs) графа автомата приписывается входной сигнал xi и выходной сигнал yg=(qm, xi). При описании автомата Мура в виде
графа выходной сигнал yg записывается внутри вершины qm
или рядом с ней. На рис. 4.6, а,44б приведены графы автоматов
S1 и S2, описанных ранее табличным способом.
Рис. 4.6 Графы автомата для автоматов S1 (а) и S2 (б)
Любой автомат может быть задан с помощью графа, но
не всякий граф в алфавитах Q, X,Y задает автомат. В графе автомата не должно существовать двух дуг с одинаковыми входными сигналами, выходящих из одной и той же вершины
(условие однозначности).
Состояние автомата, вершина графа для которого имеет
только исходящие дуги, но не имеет входящих дуг, называется
переходящим. В такое состояние попасть нельзя, из него можно только выйти.
Состояние автомата называется тупиковым, если соответствующая вершина графа не содержит исходящих дуг, но
имеет хотя бы одну входящую дугу.
Изолированным состоянием называется также состояние, которому соответствует вершина графа, не имеющая как
входящих, так и исходящих дуг.
Таким образом, с помощью графов абстрактная модель
автомата записывается в виде некоторого пространственного
изображения, которое помогает при решении задач анализа
или синтеза.
Любое разбиение множества состояний автомата на ряд
подмножеств, объединяющих некоторые состояния, приводит
к понятию подавтомата.
4.3 Язык алгебры логики (булевой алгебры)
Конечная цель синтеза цифровых автоматов – построение заданного автомата из ограниченной совокупности некоторых элементарных автоматов.
Канонический метод структурного синтеза цифровых
автоматов разработан советским ученым В.М. Глушковым
[14]. Данный метод предполагает сведение задачи синтеза произвольных автоматов к задаче синтеза комбинационных автоматов (автоматов без памяти).
Структурным алфавитом современных цифровых автоматов является двоичный алфавит, т.е. алфавит, содержащий
всего два различных нечисловых символа. Эти символы обозначают самыми разными способами: "включено" и "выключено"; "высокий уровень напряжения" и "низкий уровень напряжения"; "есть ток" и "нет тока"; "единица" и "нуль" и т.п. Данное обстоятельство играло решающую роль для выбора математического аппарата, который бы мог эффективно использоваться для структурного синтеза цифровых автоматов. В качестве такого аппарата стал широко использоваться начальный
раздел математической логики – исчисление высказываний,
или алгебра логики. Логика – наука о законах и формах мышления. Математическая логика занимается изучением возможностей применения формальных методов для решения логических задач [15]. Иногда алгебру логики называют булевой алгеброй по имени английского математика Джорджа Буля, который в 1847 году изложил основы такой алгебры в работе
"Математический анализ логики, сопровождаемый наброском
исчисления дедуктивных рассуждений". В 1948 году (через 100
лет после создания алгебры логики!) американский ученый
46
К.Шеннон и советский ученый В.И. Шестаков независимо друг
от друга показали возможность практического использования
алгебры логики для анализа и синтеза релейно-контактных
схем, отождествив понятия "истина" и "ложь" в алгебре логике
с понятиями "замкнуто" и "разомкнуто" в релейно-контактных
схемах. В последствии алгебра логики стала широко использоваться для проектирования цифровых электронных вычислительных машин.
Начальным понятием алгебры логики является понятие
высказывания. Под высказыванием понимается любое утверждение, которое оценивается только с точки зрения его истинности или ложности. Высказывание может быть только либо
истинным, либо ложным.
Исчисление высказываний основано на том, что каждое
высказывание можно рассматривать как некоторую двоичную
переменную, которая может принимать только одно из двух
своих возможных значений. Такие переменные условились
называть логическими (булевыми) переменными и приписывать им значение 1 в случае истинности высказывания и значение 0 в случае ложности высказывания.
Высказывания могут быть простыми и сложными. Высказывание называется простым, если его значение истинности
не зависит от значений истинности каких-либо других высказываний. Простое высказывание содержит одну законченную
мысль. Сложным называется высказывание, значение истинности которого зависит от значений истинности простых высказываний, составляющих сложное высказывание. Следовательно, любое сложное высказывание можно считать логической
(булевой) функцией некоторых двоичных аргументов – простых высказываний, входящих в состав сложного высказывания.
Сложные высказывания в свою очередь также могут
служить аргументами еще более сложных логических функций, т.е. при построении логических функций справедлив
принцип суперпозиции. Отсюда следует, что можно строить
логические функции любой сложности, пользуясь ограничен-
ным числом логических связей (операций) и принципом суперпозиции. При этом ограниченный набор логических связей
(операций), обеспечивающий на основе принципа суперпозиции построение логических функций сколь угодно большой
сложности, должен обладать свойством функциональной полноты.
Математические основы алгебры логики и ее приложения к решению задач синтеза и анализа дискретных автоматов
подробно будут рассмотрены в самостоятельных разделах
данного пособия.
4.4 Язык временных диаграмм
Временная диаграмма – это, по сути, упрощенный график изменения во времени токов или напряжений, характеризующих некоторый электрический процесс.
По горизонтали на временной диаграмме располагают
ось времени, а по вертикали - ось напряжений или токов. Время увеличивается слева направо, то есть из двух событий то,
которое отображается правее, является и более поздним. Такое
расположение и направление оси времени традиционное и используется также во всех осциллографах – приборах, которые
чаще всего применяют в инженерной практике при проектировании, отладке и эксплуатации цифровых автоматов.
Временные диаграммы являются эффективным способом визуализации (зрительного представления) динамики работы дискретных автоматов, а также международным языком,
поясняющим особенности закона функционирования цифровых автоматов.
Так как современные цифровые автоматы используют
двоичный структурный алфавит, то для физического представления символов такого алфавита используют два, существенно
различных уровня напряжения: один уровень напряжения - для
представления логической 1, а другой - логического 0. Если
для представления логической 1 используют более высокий
уровень напряжения, то принято говорить, что такой автомат
48
функционирует в положительной (позитивной) логике. Если
же за логическую 1 принимают более низкий уровень напряжения, то принято говорить, что автомат функционирует в отрицательной (негативной) логике. При изложении дальнейшего
материала считается, что речь идет об автоматах, функционирующих в положительной (позитивной) логике.
В природе не существует идеальных дискретных явлений или процессов, поэтому реальный дискретный сигнал есть
аналоговый (непрерывный) сигнал, специальной формы, который и принимается за дискретный сигнал.
Дискретные сигналы выглядят на экране осциллографа
примерно так, как показано на рис. 4.7(а), а идеализированное
их представление соответствует рис. 4.7(б).
Рис. 4.7 Формы дискретных сигналов
а) на экране осциллографа; б) условное графическое
изображение (пунктиром показано изображение идеального
дискретного сигнала).
Ранее отмечалось, что дискретные сигналы могут быть
"короткими" (как в автомате типа Мили), и "длинными" (как в
автомате типа Мура). В инженерной практике в среде разработчиков цифровой аппаратуры вместо терминов "короткие" и
"длинные" сигналы используют термины "импульс" и "потенциал", соответственно [16].
Под импульсом понимают цифровой сигнал, длительность которого является его характеристикой. Для импульсного сигнала задана его временная характеристика (длительность), отклонение значения которой незначительны относительно некоторой заданной величины.
Под потенциалом понимают сигнал, длительность которого не регламентирована.
Возможны и иные инженерные трактовки импульса и
потенциала, например, на основе сопоставления их длительностей относительно периода следования сигналов синхронизации, генерируемых самым высокочастотным генератором
цифрового автомата. В этом случае, импульсным сигналом
считается любой сигнал, длительность которого не превосходит периода следования тактовых импульсов от самого высокочастотного генератора. Все другие сигналы относят к потенциальным сигналам.
Иногда под импульсным сигналом понимают любой исполнительный сигнал, то есть тот, воздействие которого непосредственно приводит к исполнению некоторой процедуры.
Под потенциальным сигналом, в этом случае, понимают сигнал, подготавливающий или разрешающий/запрещающий некоторое действие.
Приведенные определения импульса и потенциала не
совпадают с общепринятыми определениями в электронике и
импульсной технике, но весьма продуктивны в инженерной
практике и, в частности, для "чтения" временных диаграмм.
И импульс, и потенциал имеют несколько зон, каждая
из которых может быть использована в качестве рабочей зоны,
вызывающей переход автомата из одного состояния в другое
и/или определяющей момент формирования выходных сигна50
лов автомата. Все рабочие зоны дискретного сигнала показаны
на рис. 4.8.
U
da+
da-
Ua max
Ua min
а
а
t1 t2
а
t3 t4
t
Рис. 4.8 Рабочие зоны дискретного сигнала
У двоичного дискретного сигнала выделяют несколько
рабочих зон: зона, в которой сигнал (в данном случае сигнал а)
принимает значение Ua min ; зона, в которой сигнал принимает
значение Ua max; зона, в которой сигнал переходит с Ua min на
Ua max; зона, в которой сигнал переходит с Ua max на Ua min .Для
каждой зоны вводятся специальные обозначения и наименования, которые для сигнала а можно обобщить следующим образом:
а - до t1 и после t4 (называется "не а");
da+ - на интервале t1…t2 (называется фронт
а =
сигнала или положительный перепад);
da- - на интервале t3…t 4 (называется срез
а - t2 - t3 сигнала или отрицательный перепад);
интервале t2 и фронт;
t3 (называется "а").
da+ - t1 -аt2 -–на
положительный
da- - t2 - t 4 – отрицательный срез.
При изображении временной диаграммы нулевая отметка на оси времени, как правило, не наносится, так как большинство дискретных процессов периодически повторяются.
Поэтому достаточно изобразить на временной диаграмме интервал времени несколько больший, чем период повторения
процесса и оговорить тот момент времени, который для данного процесса может быть принят за начало отсчета.
Излагаемый в дальнейшем материал заимствован из
[17] и иллюстрирует ряд соглашений, принятых при изображении временных диаграмм.
Изображение высокого (“1”), низкого (“0”) и высокоимпедансного (“Z”) уровней напряжений сигнала изображают
так, как показано на рис. 4.9.
уровня к высокому называется фронтом (рис. 4.10, а) ), а от
высокого к низкому - срезом (рис. 4.10, б) ). Употребляют также термины нарастающий и спадающий фронт; положительный и отрицательный фронт; передний и задний фронт.
Рис. 4.10 Изображение переходов сигналов с различных уровней напряжений
Если переход от одного уровня напряжения к другому
происходит не в конкретный момент времени, а может произойти в любой из моментов на некотором интервале t1 ... t2,
то такую ситуацию изображают так, как показано на рис. 4.11.
Рис. 4.9 Изображение уровней напряжений сигнала
На рис. 4.9 показано, что на интервале времени t0 ... t1
формируется уровень напряжения, соответствующий логической единице; на интервале времени t1 ... t2 формируется уровень напряжения, характеризующий высокоимпедансное (z)
состояние; на интервале t2 ... t3 формируется уровень напряжения, соответствующий логическому нулю.
На рис. 4.10 показано, как изображается переход сигнала с одного уровня напряжения на другой. Переход от низкого
52
Рис. 4.11 Изображение неопределенности о моменте перехода
сигналов на другой уровень
Изменение уровня одного сигнала может быть причиной изменения другого сигнала. Это изменение может вызываться фронтом сигнала, срезом, высоким или низким уровнем.
Причину изменения принято отмечать кружком на том фрагменте сигнала, который вызывает изменение, а фигурной
стрелкой показывают на вызываемые изменения (следствие)
зависимого сигнала так, как показано на рис. 4.12.
Рис. 4.12 Изображение взаимозависимости сигналов
Иногда изменение нескольких сигналов может быть
причиной изменения одного сигнала. Такая ситуация изображается согласно рис. 4.13.
Рис.4.13 Изображение зависимости нескольких сигналов от одного
54
Часты ситуации, когда изменение некоторого сигнала
вызывается определенными изменениями нескольких других
сигналов, что может быть изображено так, как на рис. 4.14.
Рис. 4.14 Изображение зависимости одного сигнала от
совокупности других
Если уровень напряжения входного сигнала не влияет
на определенном временном интервале на работу дискретного
устройства, или если уровень выходного сигнала не может
быть однозначно определен на этом временном интервале, или
не имеет принципиального значения, то такая ситуация иллюстрируется рис. 4.15.
Рис. 4.15 Изображение зон неопределенности сигнала.
Временные диаграммы позволяют отображать изменения группы сигналов, которые меняют свои значения в одинаковый момент времени, но имеют разные уровни сигналов.
Временная диаграмма, представленная на рис. 4.16, иллюстрирует такие ситуации.
На временных диаграммах допускается изображение
дополнительной буквенно-цифровой информации на выносных
линиях, так как показано на рис. 4.17.
Временная диаграмма изображенная на рис. 4.17 может быть прочитана следующим образом.
В некоторой системе после установки кода на шинах
адреса А0 ... А15 формирование сигнала выбора устройства
(CS) должно быть произведено за время, не превышающее t1.
После того, как будет сформирован срез сигнала CS, через 200
наносекунд на шине данных (Д0 ... Д7) будет установлен действительный код.
Рис. 4.16 Изображение изменения уровней напряжения
группы сигналов
На рис. 4.16 временная диаграмма для сигналов С1 и С2
характерна для иллюстрации работы, например, одного разряда счетчика, не имевшего начальной установки или конкретное
состояние которого не имеет принципиального значения. Диаграмма С3 характерна для графического изображения переключения в высокоимпедансное состояние группы сигналов
(например, на шине данных микропроцессора). Диаграммой С4
можно иллюстрировать неопределенность состояния или пассивность некоторой группы сигналов.
56
Рис. 4.17 Изображение дополнительной информации на
временных диаграммах
Глава 5 Минимизация абстрактных автоматов
Описательные обозначения различных состояний являются полезными для интуитивного понимания их роли при определении соотношений вход – выход и для определения функций переходов (δ) и выходов (λ) по словесному описанию абстрактного автомата. Они становятся бесполезными после того, как эти функции определены. Поэтому обозначение состояний не имеет какого-либо особого значения и может выбираться произвольно. Например, вершины графа на рис. 5.1 соответствующие состояниям системы, можно обозначить первыми
девятью буквами русского алфавита. Автоматы, у которых
функции δ и λ одинаковы, за исключением возможных различий в обозначениях состояний, называются изоморфными друг
другу [13]. Если задан автомат A, представляющий определенную систему, то любой автомат, изоморфный к А, тоже может
служить представлением этой системы, т. е. система может
быть представлена несколькими изоморфными автоматами.
(a,0)v(b,0)v(d,0)
(b,0)v(c,0)
Q1
(d,1)
Q2
(b,0)
(c,0)
Q4
(b,0)v(c,0)
(a,0)
(b,0)
(b,0)v(c,0)
(b,0)
(a,0)
Q3
(d,0)
(d,0)
Q7
(c,0)
(a,0)
Q0
(a,0)v(c,0)v(d,0)
Q8
(b,0)
(b,0)
Q5
(a,0)v(d,0)
(a,0)v(c,0)v(d,0)
(d,0)
(a,0)v(b,0)v(c,0)
Рис. 5.1 Граф гипотетического автомата
58
Q6
(a,0)v(d,0)
Понятие изоморфизма в терминах графов переходов допускает очень простую интерпретацию: автоматы изоморфны,
если они имеют одинаковые графы, отличающиеся, быть может, только обозначениями вершин. Чтобы автомат А заменить
изоморфным ему автоматом, достаточно изменить обозначения
одной или нескольких вершин.
Пусть автомат А задан графом переходов с r вершинами.
Переставив обозначения вершин всеми r! возможными способами, получим множество, состоящее из r! изоморфных автоматов, которое называется семейством перестановок автомата
А.
При рассмотрении автоматов нет необходимости ни
наблюдать, ни интересоваться физической природой состояний. Единственное назначение состояний в том, чтобы участвовать в определении зависимостей между входом и выходом
автоматов. Поэтому любое множество состояний, выполняющих эту функцию, является приемлемым, независимо от того
выражают эти состояния какой-либо интуитивный смысл или
нет. Эта свобода выбора множества состояний очень важна,
поскольку она позволяет заменять одно множество другим, что
может оказаться удобным для многих целей, например, найти
оптимальное или минимальное по тому или другому критерию
множество состояний.
При всех таких рассмотрениях важную роль играет понятие эквивалентности. Говорят, что состояние Qi автомата A1 и
состояние Qj, автомата А2 эквивалентны, если автомат A1,
находящийся в состоянии Qi и автомат A2, находящийся в состоянии Оj под воздействием любой входной последовательности символов выдают одинаковые выходные последовательности символов. Если Qi, и Qj не эквивалентны, то говорят, что
состояния различимы. Состояния Qi, и Qj могут относиться к
одному и тому же автомату. Таким образом, состояния Qi, и Qj
эквивалентны только тогда, когда, наблюдая выходные последовательности символов, нельзя отличить автомат A1 с начальным состоянием Qi, от автомата A2 с начальным состоянием Qj.
Состояния Qi, и Qj различимы, если имеется хотя бы одна
входная последовательность символов, которая дает на выходах автоматов различные последовательности символов. Во
всех случаях предполагается, что автоматы A1 и A2 имеют
одинаковые входные и выходные алфавиты, но могут иметь
различное число состояний. Имеются способы выявления эквивалентности и различимости двух состоянии автоматов для
разных форм их задания.
Понятие эквивалентности можно распространить на весь
автомат с помощью следующих определений. Автомат A1 и
автомат A2 эквивалентны, если каждому состоянию Qi автомата A1 соответствует по крайней мере одно эквивалентное ему
состояние в автомате A2 и если каждому состоянию Qj автомата A2 соответствует, по крайней мере одно эквивалентное ему
состояние в автомате A1. Если автоматы A1 и A2 эквивалентны,
то они не различимы. Автоматы A1 и A2 являются различимыми тогда, когда имеется, по крайней мере, одно состояние в A1,
которое не является эквивалентным никакому состоянию в A2,
и если имеется, по крайней мере, одно состояние в A2 которое
не является эквивалентным никакому состоянию в A1. Таким
образом, автоматы A1 и A2, для которых в качестве начальных
состояний взяты эквивалентные состояния Qi, и Qj, являются
эквивалентными только тогда, когда, наблюдая последовательности символов на их выходах, образующихся под воздействием любой входной последовательности символов, нельзя отличить автомат А1 от автомата А2. Эквивалентность инициальных автоматов означает, что они осуществляют одинаковую
переработку входного алфавита в выходной, а эквивалентность
не инициальных — что этого всегда можно добиться путем
подходящей настройки (нахождения эквивалентных состояний).
Для всякого автомата Мили существует эквивалентный
ему автомат Мура (это справедливо как для инициальных, так
и для не инициальных автоматов). Поэтому автоматы Мили и
Мура обладают равными функциональными возможностями в
том смысле, что всякое преобразование дискретной информации, осуществляемое в одном из них, осуществимо и в другом.
60
Пусть даны автоматы A1 с Q={Q11, Q12, Q13} и A2 с Q={Q21,
Q22} (рис. 5.2.), имеющие одинаковые входные алфавиты x={а,
b} и выходные алфавиты y={0, 1}. Эквивалентные состояния
могут существовать в одном автомате. Действительно, для автомата А1 состояния Q12 и Q13 эквивалентны, так как для каждого из них поступление символа a приводит к переходу в одно и то же состояние Q11 и выдаче выходного символа 1 и следовательно, далее любая последовательность входных символов не позволит различить состояния Q12 и Q13 автомата A1.
Если начало последовательности входных символов будет состоять из любого числа символов b, после которых следует
символ а, то можно убедиться, что и в этом случае по выходным последовательностям автомата состояния Q12 и Q13 не различимы. Автоматы A1 и A2, графы переходов которых приведены на рис. 5.2., эквивалентны, так как, проведя аналогичные
рассуждения, можно увидеть, что состояние Q11 эквивалентно
состоянию Q21, состояние Q12 — состоянию Q22 и состояние
Q13 — состоянию Q22. Следовательно, автоматы A1 и A2 эквивалентны.
(a,0)
Q11
A1
(a,1)
(b,1)
(b,1)
A2
Q12
(a,0)
(b,1)
Q21
(a,1)
а)
(b,1)
Q13
б)
(b,1)
Q22
(a,1)
Рис. 5.2 Пример эквивалентных автоматов А1 и А2
При создании автоматов входной и выходной алфавиты,
как правило, заданы, в то время как на множество Q внутренних состояния обычно никаких условий не накладывается.
Требуемое преобразование входной последовательности символов в выходную может быть осуществлено автоматами с
61
различным числом состояний. Поэтому возникает желание
построить автомат, для которого это число минимально. Автоматы, одинаково преобразующие входную информацию в выходную, называют эквивалентными. Автомат, эквивалентный
заданному и имеющий наименьшее число состояний, назовем
минимальным. Тогда проблему построения минимального автомата можно назвать задачей минимизации автомата.
Для дальнейшего обсуждения проблемы минимизации автомата введем понятие k-эквивалентности. Состояние Qi автомата A1 и состояние Qj - автомата A2 называются kэквивалентными, если при приложении к А1/Qi, и к А2/Qj входной последовательности длины k они вырабатывают одинаковые выходные последовательности. Обозначение A/Q принято
для краткой записи высказывания «автомат А в состоянии Q».
Если Qi и Qj не являются k-эквивалентными, то они называются k-различимыми. Обозначения А1 и A2 могут относиться к
одному и тому же автомату. Для 1-различимых состояния принято называть явно различимыми. Если два состояния являются
k-эквивалентными, то они являются и l-эквивалентными для
каждого l ≤ k. Если два состояния являются k-различимыми, то
они являются и l-различимыми для каждого l ≥ k. Если состояния Qi и Qj эквивалентны для любого конечного k, то они эквивалентны. Состояние, в которое переходит автомат из состояния Qi, при подаче входной последовательности длины k,
называется k-м преемником Qi по отношению к этой последовательности. Если состояния Qi и Qj являются эквивалентными, то их k-е преемники по отношению к любой входной последовательности длины k и для любого k являются эквивалентными. Входным последовательностям, поданным на A1/Qi
и A2/Qj, можно сопоставить два пути, начинающиеся состояниями Qi и Qj на графах переходов (рис. 5.3.) автоматов A1 и A2
соответственно. Приведенное выше утверждение означает, что
если два начальных состояния на этих путях эквивалентны, то
каждые два соответствующих состояния на этих путях
(т. е. состояния, в которые переходят автоматы из начальных
62
состояний после прохождения одного и того же числа дуг) являются также эквивалентными.
A1
Qi
Qi1
Qi2
Qik
Э к в и в а л е н т ы
Qj
Qj1
Qj2
Qjk
A2
Рис. 5.3 К - эквивалентные автоматы
Построение минимального автомата А' осуществляется в
два этапа. Вначале проводится разбиение множества состояний
автомата на классы эквивалентных состояний, а затем на этой
основе строится минимальный автомат. Разбиение состояний
автомата на классы эквивалентных состояний ведется по следующим правилам: 1) все состояния, принадлежащие к одному классу, должны быть k-эквивалентными; 2) все состояния, принадлежащие к разным классам, должны быть kразличимыми. Такое разбиение называется k-эквивалентным
разбиением автомата. Минимизация автомата производится
за счет объединения вершин графа переходов, принадлежащих
к одному классу эквивалентных состояний. Метод минимизации автомата, основанный на объединении эквивалентных состояний, был предложен Д. А. Хаффменом и состоит в последовательном выделении классов эквивалентных состояний с
помощью таблицы переходов и таблицы выходов автомата.
Рассмотрим метод Хаффмена на примере. Пусть в результате первого этапа синтеза автомата A3 был получен граф переходов, изображенный на рис. 5.4. Для автомата A3 входной
алфавит x={, , }, выходной алфавит y={1, 0} и множество
состояний Q={Q1, Q2, .…, Q9}. По графу переходов построены
таблицы переходов (таблица 5.1.) и выходов (таблица 5.2.). Если двум состояниям автомата соответствуют различные значе-
ния столбцов в таблице выходов (табл.5.2), то эти состояния
не
эквивалентны, так как при подаче одного из входных символов
выходные символы различаются. В то же время множество состояний можно разбить на классы 1-эквивалентных состояний
так, что в один и тот же класс Vn попадут те состояния, которым соответствуют одинаковые значения столбцов в таблице
выходов (табл.5.2). Классами 1-эквивалентных состояний будут V1={Q1, Q3, Q5, Q7, Q8} и V2={Q2, Q4, Q6, Q9}.
Таблица 5.1
(,1)v(,0)
(,1) v (,1)
Q2
Xi
(,1) v (,1)
(,0)



Q1
(,0) v
(,1)
Qa
Qb
Q4
(,0)
Q3
(,1) v (,0)
(,0)
(,1)
(,0)
Q6
(,1)
(,1)
Q3
Q2
Q2
Q5
Q4
Q3
Q2
Q2
Q6
Q8
Q9
Q6
Q7
Q6
Q2
Q8
Q8
Q4
Q4
Q7
Q9
Q7
Q3
Q7
(,1)
(,1)
Q9
(,0) v (,1)
Xi
Q7



Q1
1
0
0
Q2
0
1
1
Q3
1
0
0
Q4
0
1
1
Qi
Q5
1
0
0
Q6
0
1
1
Q7
1
0
0
Q8
1
0
0
Q9
0
1
1
Qe
Q5
.
Рис. 5.4 Граф минимизируемого автомата А3
64
Таблица 5.2.
(,0)
(,0)
Q8
(,0)
Q2
Q1
Q4
Q4
(,0)
(,0)
(,0)
Q1
Q2
Q2
Q5
Qi
Q5
Q6
Q4
Q2
Все состояния, входящие, например, в класс V2, есть состояния 1-эквивалентные, но это не значит, что Q2 и Q4 не является в то же время, например, 3-эквивалентными. Для эквивалентности внутренних состояний автомата не достаточно их
эквивалентности для некоторого конкретного значения k, требуется эквивалентность при любом k, т. е. нужно, чтобы при
любом другом возможном переходе, при начальной установке
автомата в эквивалентные состояния, отображения (преобразования) любого входного символа в выходной совпадали. Для
проверки этого условия следующий шаг делаем из первых пре-
емников и выясняем, будут ли состояния,
ранее входившие
в один класс эквивалентных состояний, 2-эквивалентными, т.
е. остаются ли множества состояний в своих классах эквивалентных состояний.
Построим таблицу переходов (табл. 5.3), строкам и
столбцам которой соответствуют значения Xj, и Qi. На пересечении j-й строки к i-го столбца таблицы ставим обозначение
класса 1-эквивалентных состояний, содержащего состояние, в
которое переходит автомат из состояния Qi под действием
символа Xj. Так, например, в таблице 5.3 на пересечении строки а и столбца Q2 стоит класс V2, так как в соответствии с
табл.5.1 автомат из состояния Q2 при входном символе а переходит в состояние Q1,
которое
входят в класс V1
1-эквивалентных состояний.
Таблица 5.3
Xi



Q1
V2
V2
V1
Q2
V1
V2
V2
Q3
V2
V2
V1
Q4
V1
V2
V2
Qi
Q5
V2
V2
V1
Q6
V1
V2
V2
Q7
V2
V2
V1
Q8
V2
V2
V1
Q9
V1
V2
V1
Если элементам класса Vi будут соответствовать различные значения столбцов табл. 5.3, то этот класс не является
классом 2-эквивалентных состояний. В этом случае каждый
класс Vi разбивается на два новых, причем в каждый из них
входят все состояния из класса Vi, с одинаковыми значениями
столбцов. Анализ табл. 5.3. показывает, что класс V1 является
2-эквивалентным, потому что все состояния Q1, Q3, Q5, Q7, Q8 в
таблице имеют одинаковые значения столбцов. Это означает,
что состояния, входящие в класс V1, являются не только 1эквивалентными, но и 2-эквивалентными состояниями. Класс
V2 должен быть разбит на два, один из которых, являющийся
классом 2-эквивалентных состояний, будет содержать состояния Q2, Q4, Q6, а другой — только Q9, не имеющее 2-
66
эквивалентного состояния. В этом можно убедиться
(табл. 5.4), рассмотрев с помощью графа переходов автомата
A3 (см. рис. 5.4) выходные последовательности, образующиеся
при воздействии на него всех возможных входных последовательностей длины два (Xj1, Xj2; j =1,2,3), если исходными являются состояния Q2, Q4, Q6, Q9. После второго шага имеем 2эквивалентное разбиение, состоящее из трех классов эквивалентных состояний: V1={Q1, Q3, Q5, Q7, Q8}, V2={Q2, Q4, Q6},
V3={Q9}.
Таблица 5.4
Qi
Q2
Q4
Q6
Q9

01
01
01
01

00
00
00
00

00
00
00
00

10
10
10
10
Xj1-Xj2

11
11
11
11

11
11
11
11

10
10
10
10

11
11
11
10

11
11
11
10
После получения классов V1, V2, V3 снова строим таблицу
переходов и так далее до тех пор, пока каждый класс в эквивалентном разбиении останется неизменным. Этот процесс иллюстрируется табл. 5.5 —5.7, из которых следует, что для 3эквивалентного разбиения имеем: V1={Q1, Q3, Q5, Q7,Q8},
V2={Q2, Q4}, V3={Q9}, V4={Q6};
Таблица 5.5
Xj



Q1
V2
V2
V1
Q2
V1
V2
V2
Q3
V2
V2
V1
Q4
V1
V2
V2
Qi
Q5
V2
V2
V1
Q6
V1
V3
V2
Q7
V2
V2
V1
Q8
V2
V2
V1
Q9
V1
V3
V1
Таблица 5.6
Xj



Q1
V2
V2
V1
Q2
V1
V2
V2
Q3
V2
V2
V1
Q4
V1
V2
V2
Qi
Q5
V4
V2
V1
Q6
V1
V3
V4
Q7
V4
V2
V1
Q8
V2
V2
V1
Q9
V1
V3
V1
Таблица 5.7
Xj



Q1
V2
V2
V5
Q2
V1
V2
V2
Q3
V2
V2
V5
Q4
V1
V2
V2
Qi
Q5
V4
V2
V1
Q6
V1
V3
V4
Q7
V4
V2
V1
Q8
V2
V2
V5
Q9
V5
V3
V5
ются все, кроме одной. Полученный в результате граф будет
графом минимального автомата А3'.
Введем следующие обозначения для состояний автомата
A3, входящих в один класс эквивалентных состояний :
Qa={Q1, Q3, Q5}, Qb={Q2, Q4}, Qc={Q9}, Qd={Q6}, Qe={Q5, Q7};
Эквивалентные состояния на рис. 5.4. бъединены штриховой линией. Применяя описанную выше процедуру к графу
A3, изображенному на рис. 5.4, получаем граф переходов минимального автомата A'3, показанный на рис. 5.5. Состояния Q2
и Q4 (см. рис. 5.4), объединенные в состояние Qb, соединены
двумя дугами, не выходящими за пределы контура, образованного штриховой линией. Это означает, что при поступлении
символа  или  состояние автомата Qb не изменяется, поэтому
в графе переходов минимального автомата A'3 (см. рис. 5.5.) у
состояния Qb имеется петля (, 1)v(, 1).
4-эквивалентное разбиение есть: V1={Q1, Q3, Q8}, V2={Q2,
Q4}, V3={Q9}, V4={Q6}, V5={Q5, Q7}.
(,0)
Из табл. 5.6 и 5.7 следует, что 5-эквивалентное разбиение
совпадает с 4-эквивалентным. Это означает, что в классы эквивалентности входят не k-эквивалентные состояния, а эквивалентные состояния и все состояния одного класса ведут себя
как одно состояние, которым его и заменяют.
Граф переходов минимального автомата A3’ по заданному
графу переходов автомата A3 и его эквивалентному разбиению
строят следующим образом: 1) заменяют обозначение каждого
состояния, которое имеется в графе переходов A3 на обозначение класса, к которому относится данное состояние: 2) объединяют все одинаково обозначенные состояния (рассматривая
дуги графа как «гибкие связи») и представляют объединенные
состояния одним состоянием, имеющим общее обозначение; 3)
из каждой группы дуг, имеющих общее исходное и конечное
состояния (все такие дуги обозначены одинаково), вычеркива-
68
(,0)
Qa
(,1)v(,0)
Qb
Qe
(,0)
(,0)
(,1)v(,1)
(,1)
(,0)
Qd
(,1)
(,1)
(,0)v(,1)
Qc
(,1)
Рис. 5.5 Граф минимального автомата А3'
Глава 6. Математические основы алгебры логики
69
6.1 Формальное определение алгебры логики
Алгебра логики является теоретической основой проектирования современных цифровых автоматов и базируется на
символической логике, предложенной математиком Джорджем
Булем. Существует множество формальных определений булевых алгебр [18,19], зависящих от различных подходов к выбранной системе аксиом.
Булева алгебра может быть определена как алгебраическая система, удовлетворяющая следующим аксиомам [20].
Булевой алгеброй является система, состоящая из множества B = a,b,c… и двух типов операторов + и * (логическая сумма и логическое произведение), для которых справедливы следующие пять соотношений:
a + b = b + a, a * b = b * a для любых a, b  B
(коммутативность);
(6.1)
a + (b*c) = (a + b)*(a+c), a * (b+c) =a* b + a*c
для любых a, b,c  B (дистрибутивность);
(6.2)
найдутся 1  B и 0  B,
такие,
что a + 0 = a, a*1 = a
для любого a  B (единичные элементы);
(6.3)
найдется a  B, такой, что a + a = 1,
бого a
 B (дополнение);
a + b + c + … = max (a, b, c…);
a * b * c * …= min(a, b, c…)
с учетом того, что 1 > 0.
a * a = 0 для лю(6.4)
(6.5)
Одним из вариантов булевой алгебры может служить
алгебраическая система, в которой множество B содержит все70
го два элемента B = 1,0 , и которые одновременно являются
единичными элементами. При этом, соотношение (6.4) можно
трактовать как введение дополнительной (третьей) логической операцией, которую называют "отрицание" или "инверсия". Именно такую, самую простую, алгебраическую систему
булевой алгебры и принято называть в научно-технической литературе алгеброй логики, переключательной алгеброй, алгеброй релейно - контактных схем.
6.2 Аксиомы, теоремы и законы алгебры логики
Алгебра логики в качестве аргументов использует логические переменные. Логические переменные и функции от них
могут быть либо истинными (равными 1), либо ложными (равными 0). Логические переменные принято обозначать строчными латинскими буквами, а логические функции - прописными латинскими буквами.
В алгебре логики определены отношение эквивалентности ( = ) и три логические операции [21]: дизъюнкция (называют также логическое сложение, операция ИЛИ); конъюнкция
(называют также логическое умножение, операция И); отрицание (называют также инверсия, операция НЕ).
По аналогии с обычной алгеброй операцию ИЛИ обозначают в виде + или
(знак дизъюнкции); операцию И обозначают *, или
, или & (знак конъюнкции); операцию НЕ
обозначают чертой над переменными или над значениями переменных, например, x , 1, 0. Знак *, как и в обычной алгебре,
чаще всего опускают (например, x * y = xy).
Отношение эквивалентности удовлетворяет следующим
свойствам: x = x – рефлективность; если x = y, то y = x –
симметричность; если x = y и y = z, то x = z – транзитивность.
Из отношения эквивалентности следует принцип подстановки:
если x = y, то в любой формуле, содержащей x, можно подставить y и будет получена эквивалентная формула.
6.2.1 Аксиомы алгебры логики
71
.
x=0, если x1
x=1, если x0
(6.6)
Аксиома (6.6) утверждает, что значения логических переменных и функций могут принимать всего два взаимоисключающих значения. Данную аксиому иногда называют " закон исключенного третьего". Следует помнить, что "1" и "0" это не количественные характеристики, а качественные. Однако принимается, что 1 › 0.
c = a + b = max (a, b) =
0+0=0
0+1=1
1+0=1
1+1=1
(6.7)
Аксиома (6.7) определяет операцию дизъюнкции (логического сложения). Аксиома справедлива для любого числа слагаемых.
c = a * b = min (a, b) =
0*0=0
0*1=0
1*0=0
1*1=1
(6.8)
Аксиома (6.8) определяет операцию конъюнкции (логического умножения). Аксиома справедлива для любого
числа сомножителей.
0 при a = 1;
1 при a = 0;
c=a=
(6.9)
72 операцию логического отАксиома (6.9) определяет
рицания (инверсию).
В алгебре логики действует закон двойственности,
который определяет соотношение между логической операцией «или», логической операцией «и» и логической операцией «не». Суть этого закона такова: если в уравнениях, задающих операцию «или», все переменные поменять на инверсные (противоположные) значения и заменить знак
«или» на знак «и», то получим уравнения, задающие логическую операцию «и». И наоборот.
6.2.2
Теоремы алгебры логики
x+0=x
(6.10)
x*0=0
(6.16)
x+1=1
(6.11)
x*1=x
(6.17)
x+x= x
(6.12)
x*x= x
(6.18)
x+x = 1
(6.13)
x * x = 0 (6.19)
x=x
(6.14)
x = x (6.20)
Теоремы (6.10 - 6.20) легко доказываются с помощью
аксиом (6.7 - 6.9) и метода подстановки возможных значений
аргументов x.
6.2.3 Законы алгебры логики
Коммутативный закон (переместительный закон):
относительно логического сложения
x + y = y + x,
(6.21 а)
относительно логического умножения
73
x*y=y*x.
(6.21 б)
Данный закон гарантирует получение тождественного
результата при перестановке местами аргументов.
Ассоциативный закон (сочетательный закон):
относительно логического сложения
x + y + z = y + (x + z) = (y + x) + z,
(6.22 а)
относительно логического умножения
x * y * z = y * (x * z) = (y * x) * z.
(6.22 б)
Данный закон позволяет при помощи скобок изменять
порядок вычислений и гарантирует получение правильного результата, а также утверждает, что вычисление логической
функции большого количества аргументов может быть сведено
к последовательному ее вычислению суперпозицией функций
двух аргументов.
Дистрибутивный закон (распределительный закон):
относительно логического сложения
x + (y * z) = (x + y) *( x + z),
(6.23 а)
относительно логического умножения
x *(y + z) = (x * y) + ( x * z).
(6.23 б)
Данный закон устанавливает правила раскрытия скобок
относительно операций логического сложения и умножения.
Законы (правила) де Моргана:

x1x2…xn =x1+x2+…+xn,

x1+x2+…xn =x1 x
742…xn.
(6.24 а)
(6.24 б)
Законы де Моргана определяют правила перехода от
логической операции умножения к сложению (6.24 а) и наоборот (6.24 б).
Закон (6.24 а) утверждает, что отрицание конъюнкции,
есть дизъюнкция отрицаний.
Закон (6.24 б) утверждает, что отрицание дизъюнкции,
есть конъюнкция отрицаний.
Законы де Моргана называют также законами двойственности.
Как и в обычной алгебре в алгебре логики определен
порядок выполнения логических операций: первой выполняется операция инверсии; второй - конъюнкции; третьей - дизъюнкции.
6.3 Основные понятия и определения
Любая научно - техническая дисциплина использует
специфическую терминологию, что позволяет лаконично и достаточно однозначно обмениваться информацией между специалистами соответствующего профиля.
Рассмотрим основные термины и понятия, наиболее
Xn-1
a
Xn-2
b
…...
…...
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
X0
q
0
1
0
1
0
1
0
1
y
широко используемые в алгебре логике.
Логическая (двоичная) переменная характеризует
простое высказывание, которое содержит одну законченную
мысль. Она обозначается буквой, например, х и может принимать значения 0 или 1.
Логическая функция — это сложное высказывание,
состоящее из нескольких простых, связанных между собой
соединительными союзами. Она записывается аналитически
в виде Y = f(x1,x2, ..., xn), где хi— двоичная переменная,
хi { 0,1};Y{0,1 }.
Входной набор — это определенная комбинация значений двоичных переменных в логической функции. Максимальное число входных наборов определяется выраже75 переменных. Максимальное чиснием m = 2n, где n — число
ло логических функций n переменных определяется выражением N = 2 m = 22ⁿ.
Таблица истинности — представление логической
функции в виде таблицы. Таблица истинности содержит
(n + k) столбцов и 2n строк, где n — число логических переменных, а k - число логических функций от n переменных.
В таблице истинности перечисляются (записываются)
все возможные входные наборы логических переменных и указываются значения логических функций на каждом из входных
наборов логических переменных. Для того, чтобы правильно
перечислить все возможные входные наборы логических переменных, можно придерживаться следующего правила заполнения таблицы истинности: все логические переменные, определяющие логическую функцию, номеруются (начиная справа)
целыми числами от 0 до n-1. Каждой логической переменной в
таблице истинности, начиная сверху, присваивают чередующиеся группы значений (начиная с 0) через 2j элементов в
группе, где j - номер логической переменной (см.рис.6.1).
2n-1
2n-2 22 21 20
Рис. 6.1 Пример заполнения таблицы истинности для одной
логической функции n аргументов
Иными словами, для правильного заполнения таблицы истинности можно представить каждый входной набор значений логических переменных двоичным n-разрядным числом, и записать все возможные двоичные числа в порядке возрастания их
значений, начиная со значения, равного нулю.
В правый крайний столбец (столбцы) таблицы истинности записываются значения логической функции.
Полностью определенная функция – это логическая
функция, имеющая определенные значения 0 или 1 на всех
входных наборах.
Частично определенная функция – это логическая
функция, значения которой определены
не на всех входных
76
наборах. На тех входных наборах, где функция не определена,
проставляется прочерк (или любой другой символ, отличный
от 0 и 1).
Рабочие наборы – это входные наборы, для которых
логическая функция полностью определена.
Безразличные наборы - это входные наборы, для которых логическая функция не определена. Частично определенную функцию, в конечном счете, делают полностью определенной (доопределяют), приписав безразличным наборам 0-е
или 1-е значения функции. Простейший способ доопределения логической функции - произвольный (случайный) выбор
значений, равных 0 или 1.
В алгебре логики существуют понятия: элементарная
конъюнкция/дизъюнкция, конституента единицы/нуля, ранг
элементарной конъюнкции/дизъюнкции, соседние элементарные конъюнкции/дизъюнкции.
Элементарные конъюнкция/дизъюнкция-это конъюнкция/дизъюнкция входных переменных, имеющих или не имеющих отрицаний. Любой символ переменной в элементарной
конъюнкции/дизъюнкции может встречаться один раз. Например, f1 (x1, x2, x3, x4)= x1x2x3x4 есть элементарная конъюнкция, а
f2(x1, x2 , x3 , x4)= x1x2 x3x4x1 и f2 (x1, x2 , x3, x4)= x1x2x3x4 не являются элементарной конъюнкцией.
слагаемых. Это правило является следствием распределительного закона. Например,
Ранг элементарной конъюнкции/дизъюнкции - число
входных
переменных
в
элементарной
конъюнк77
ции/дизъюнкции. Так, f1 (x1)= x1- это элементарная конъюнкция первого ранга; f2(x1, х2 , х3)= x1х2x3 — элементарная конъюнкция третьего ранга.
Конституента единицы (минтерм) - логическая функция от n аргументов, которая принимает значение, равное единице, только на одном наборе аргументов. На остальных наборах функция равна нулю. Минтерм можно также определить
как элементарную конъюнкцию максимального ранга, на которой значение логической функции равно 1. Логическая сумма
всех минтермов равна 1.
Конституента нуля (макстерм) - логическая функция
от n аргументов, которая принимает значение, равное нулю,
только на одном наборе аргументов. На остальных наборах
функция равна единице. Макстерм можно также определить
как элементарную дизъюнкцию максимального ранга, на которой значение логической функции равно 0. Логическое произведение всех макстермов равно 0.
Соседние элементарные конъюнкции /дизъюнкции —
две элементарные конъюнкции /дизъюнкции одного и того же
ранга, если они являются функциями одних и тех же переменных и отличаются только знаком отрицания (инверсии) одной из
переменных. Например, конъюнкции х1х2х3x4 и х1 х2 х3 x4 являются соседними, так как они - функции одних и тех же переменных и отличаются знаком инверсии только одной переменной х1.
На основе законов алгебры логики могут быть сформулированы правила преобразования логических выражений .
Правило склеивания для соседних элементарных конъюнкций: логическую сумму двух соседних элементарных конъюнкции некоторого ранга r можно заменить одной элементарной
конъюнкцией ранга r-1, являющейся общей частью исходных
х1 х2 х3 x4 v х1х2 х3 x4 = х2 х3 x4 , х1 х2 v х1 х2 = х1 .
78
Правило склеивания для соседних элементарных дизъюнкций:
логическое произведение двух соседних элементарных дизъюнкций ранга r можно заменять одной элементарной дизъюнкцией ранга r - 1, являющейся общей частью исходных дизъюнкций. Это правило является следствием распределительного
закона и применяется для упрощения логических выражений. Например:
(х1 v х2 v х3v x4)( х1v х2vх3v x4)= х2v х3v x4,
(х1v х2) (х1v х2)= х1.
Правило поглощения для элементарных конъюнкций:
дизъюнкцию двух элементарных конъюнкций разных рангов,
из которых одна является собственной частью другой, можно
заменить конъюнкцией, имеющей меньший ранг. Это правило является следствием распределительного закона. Например,
х1 х2 х3 x4 v х1х2 = х1х2, х1v х1х2 = х1.
Кроме того, справедливы выражения:
х1v х1х2 = х1v х2 ,
х1v х1х2=х1v х2.
Правило поглощения для элементарных дизъюнкций:
логическое произведение двух элементарных дизъюнкций разных рангов, из которых одна является общей частью другой,
можно заменить дизъюнкцией, имеющей меньший ранг. Это
правило является следствием распределительного закона и находит широкое применение для упрощения логических функций.
Например,
(x1 v x2 v x3 v x4)(x1 v x2)=x1 v x2, x1(x1 v x2) = x 1 .
В алгебре логики существуют две теоремы разложения:
f ( x 1 , x2, ...,xn ) = x 1 f ( 1 , x2, ..., xn)\/ x1 f(0,x2, ..., xп), (6.25)
79
f ( x 1 , x2,...,xn)=[x 1 V f ( 0 , x2,...,xn)][x 1 V f ( 1 , x2,..., n)] (6.26)
Y= x 1 (x1х2 v х1х3 v х2х3)= x1 (0·х2 v 1·х3 v х2х3)=
= x 1 (х3 v х2х3)=x1 х3.
6.4 Формы представления логических функций
x1f(x1,x1, x2 , x3,...,xn)= x1f(0,1,x2 , x3,...,xn),
(6.28)
80
На отдельных этапах анализа
и синтеза комбинационных автоматов используются различные формы их представления (задания): словесная, табличная, аналитическая, числовая,
геометрическая и кубическая. Задать логическую функцию - значит указать значения, которые принимает функция (т.е. 1, или 0,
или неопределенное значение) при всех возможных комбинациях
входных наборов.
x1V f(x1, x1,x2 , x3,...,xn)= x1Vf(1,0,x2 , x3,...,xn),
(6.29)
6.4.1 Словесная форма представления логических функций
x1V f(x1,x1,x2 , x3,...,xn)= x1Vf(0,1,x2 , x3,...,xn).
(6.30)
Любая логическая функция может быть представлена в
виде словесного описания.
Пример 6.2. Функция f от двух переменных истинна тогда и только тогда, когда обе переменные одновременно ложны.
Пример 6.3. Функция g от трех переменных истинна
только тогда, когда одновременно истинны не менее двух аргументов.
Функция g определена (задана) достаточно лаконично,
но вместе с тем, не достаточно определенно. Для полной определенности данную функцию нужно было бы задать следующим образом: функция истинна тогда, когда одновременно истинны аргумент первый и второй, или когда истинны аргумент
первый и третий, или когда истинны аргумент второй и третий,
или когда истинны все три аргумента.
Таким образом, словесное описание логических функций
усложняется по мере увеличения числа аргументов, что может
приводить к неоднозначности задания функции. Однако и при
небольшом числе аргументов словесное описание логической
функции может выглядеть в форме, достаточно трудной для понимания. Рассмотрим в качестве примера следующую араб-
и четыре соотношения, позволяющие упрощать логические функции:
x1f(x1,x1,x2 , x3,...,xn)= x1f(1,0,x2 , x3,...,xn),
(6.27)
Из соотношений (6.27) и (6.29) следует, что в функции f все
переменные х1 следует заменить на единицу, а х1 — на нуль. В
соотношениях (6.28) и (6.30), наоборот, все переменные х1
нужно заменить на нуль, а переменные х1— на единицу. Рассмотрим примеры использования некоторых соотношений.
Пример 6.1.Упростить логическое выражение
Y= x 1 (х1х2 v х1х3 v х2х3).
Р е ш е н и е. Воспользовавшись соотношением (6.27), получим
Y=x 1 (x1х2 v х1х3 v х2х3) = x1 (1·х2 v 0·х3 v х2х3)=
= x 1 (х2 v х2х3)=x1 х2.
Пример 6.2.Упростить логическое выражение
Y= x 1 (х1х2 v х1х3 v х2х3).
Р е ш е н и е. Воспользовавшись соотношением (6.28), получим
скую мудрость, которая выражает целесообразность общения
между людьми.
Пример 6.3.
81 что он не знает,
"Если не знает, и не знает,
тот глуп - избегай его.
Если не знает, и знает, что он не знает,
ученик - научи его.
Если знает, и не знает, что он знает,
тот спит - разбуди его.
Если знает, и знает, что он знает,
мудрец - учись у него."
Эта арабская мудрость может интерпретироваться как
логическая функция двух аргументов (знает/не знает, знает/
не знает), которая рекомендует не общаться только с глупцами.
Словесная форма задания логических функций наиболее
часто используется на начальном этапе проектирования комбинационных автоматов.
6.4.2 Табличная форма представления логических функций
Логическую функцию можно представить в табличной
форме (таблицей истинности или картой Карно). Принцип построения таблиц истинности рассмотрен в п.6.3. В таблице 6.1
представлена в табличной форме логическая функция из примера 6.2.
Т а б л и ц а 6.1
Таблица истинности функции f
х2
0
0
1
1
х1
0
1
0
1
f
1
0
0
0
В таблице 6.2 задана в табличной форме логическая
функция g от трех переменных из примера 6.3.
82 Таблица 6.2.
Таблица истинности функции g
х2
0
0
0
0
1
1
1
1
х1
0
0
1
1
0
0
1
1
х0
0
1
0
1
0
1
0
1
g
0
0
0
1
0
1
1
1
Карта Карно - это прямоугольник, разбитый на квадраты, число которых равно числу входных наборов логической
функции, т.е. 2n. Каждая клетка карты соответствует одному
входному набору. Клетки размечают так, чтобы наборы, которые соответствуют смежным минтермам (макстермам), располагались бы в соседних ячейках карты Карно. Координатами каждой клетки карты Карно являются комбинации переменных из
всех возможных входных наборов логической функции.
Для двух переменных карта Карно представляет собой
квадрат, разделенный на четыре ячейки, по одной на каждый
входной набор. Строки карты связаны с переменной x 1 , столбцы
— с переменной х2 .Следовательно, расположенная слева вверху
ячейка соответствует входному набору (0,0) или минтерму (x1 x2),
а расположенная справа внизу ячейка — входному набору ( 1 , 1 )
или макстерму (x1 v x2).Такого рода карта называется картой
Карно на две переменные (рис. 6.2). Представление логической
функции на карте Карно производится в соответствии, с табли-
цей истинности. Если функция f = x1 x2=1 на входном наборе
(0,0),то этот факт отражается на карте Карно записью в левую
верхнюю ячейку единицы (рис. 6.2,а ). Остальные ячейка остаются незаполненными. Карта Карно может заполняться нулями
в те ячейки, на входных наборах которых функция равна нулю.
На рис. 6.2,б приведен пример заполнения карты Карно для тех
83 f = 0,
наборов, на которых функция
x2
0
x1
0
1
1
x2
1
0
x1
0
1
f =1
а)
1
0
0
расположенные в двух крайних столбцах, и расположенные в
двух крайних строках.
В случае пяти переменных целесообразно использовать
две 16-ячеечные карты (рис. 2.4), а не одну 32-ячеечную
(рис. 2.5) Каждая из указанных на рис. 2.4 карт связана с одним из значений переменкой x5.
84 потребуется уже четыре 16В случае шести переменных
ячеечные карты. Каждая карта должна быть связана с одной
из четырех возможных комбинаций переменных х5 и x6 . Для
логических функций с числом переменных n>6 карты Карно
становятся громоздкими и неудобными для практического
применения.
0
x2x3
f =0
б)
x1
Рис.6.2. Изображение функции f на карте Карно
Карта Карно (табл.6.1 и рис.6.2), содержит все 2n возможных входных наборов и значения функции, соответствующие каждому из наборов.
В случае трех переменных карта Карно (рис.6.3) содержит восемь ячеек, по одной для каждого входного набора, указанного внутри ячейки. Переменная x1связана с двумя строками карты, а переменные x2 и x3 — с четырьмя столбцами. Таким образом, любые две рядом расположенные ячейки являются соседними и их координаты отличаются только одной переменной. Кроме того, соседними являются ячейки, стоящие в
первом и последнем столбцах карты.
Поскольку для четырех переменных существует 16 входных наборов, карта Карно разделена на 16 ячеек (рис. 6.4).
Каждая ячейка пронумерована в соответствии с десятичным
номером входного набора. Карта Карно обладает свойством цилиндричности: смежными являются минтермы или макстермы,
00
01
11
10
0
000
001
011
010
1
100
101
111
110
Рис.6.3. Карта Карно для функции трех переменных
x3x4
x1x2
00
01
11
10
00
0
1
3
2
01
4
5
7
6
11
12
13
15
14
10
8
9
11
10
Рис.6.4. Карта Карно для функции четырех переменных
x3x4
x1x2
x3x4
00
01
11
10 85
00
0
3
7
5
01
9
11
15
13
11
25
27
31
29
10
17
19
23
21
.
x1x2
00
01
11
10
00
0
2
6
4
01
8
10
14
12
11
24
26
30
28
10
16
18
22
20
а)
б)
Рис. 6.5. Представление функции пяти переменных на двух 16ячеечных картах Карно а- при x5 ; б- при x5
x3x4 x5
000
001
011
010
110
111
101
100
00
x1x2
01
11
10
Рис 6.6.Карта Карно для функции пяти переменных
Карты Карно наиболее эффективны не для первичного
задания логических функций, а для упрощения (минимизации)
аналитических выражений, задающих логические функции.
Методы минимизации логических функций будут рассмотрены
в отдельном разделе данного пособия.
6.4.3 Аналитическая форма представления логических
функций
86
Табличные способы задания логических функций становятся весьма громоздкими с увеличением числа аргументов.
Так, уже при восьми аргументах количество строк в таблице
истинности или количество клеток карты Карно равно 256.
Аналитические формы представления логических функций более компактны и наглядны, и позволяют очень просто синтезировать комбинационные автоматы из ограниченного количества логических элементов, реализующих логические операции
умножения (конъюнкцию), сложения (дизъюнкцию) и отрицания (инверсию). В то же время, аналитические формы логических функций позволяют выполнять различные их математические преобразования с целью получения более простых соотношений или для каких - либо других целей.
Аналитический способ предусматривает запись логической функции в форме логического выражения, показывающего, какие логические операции над аргументами должны выполняться и в какой последовательности. Сложные функции от
многих аргументов могут быть представлены в форме "функций от функций", т.е. выражаться через более простые функции - от меньшего числа аргументов. Так, если z = z(x,y);
x = x (a,b); y = y (c,d), то z = z (a,b,c,d). Операция замены аргументов одной функции другими, более простыми функциями
носит название суперпозиции функции. Многократное использование принципа суперпозиции дает возможность получить
функции желаемого числа аргументов.
Для аналитического задания логических функций используются, так называемые, нормальные формы.
В алгебре логики существует две самые распространенные аналитические формы представления функции: совершенная дизъюнктивная нормальная форма (СДНФ) и совершенная конъюнктивная нормальная форма (СКНФ). Каждая
логическая функция имеет одну СДНФ и одну СКНФ.
Применяя к (6.32) правило де Моргана, получим
F(x1, x2,… xn)
2n -1
= ∏ (fi + Mi),
i=0
(6.33)
СДНФ логической функции может быть получена путем
многократного применения теоремы
разложения (6.25) к неко87
торой функции n аргументов для каждой ее переменной xi
(i=1…n). Применяя теорему разложения, получим
где fi - значение логической функции на i -ом входном наборе
аргументов;
88
Mi - i -ый макстерм или i -ая элементарная дизъюнкция
максимального ранга.
F(x1, x2,… xn) = f(0,0,…0 )x1 x2…xn +
+ f(1,0,…0 )x1 x2…xn +
(6.31)
+ f(0,1,…0 )x1 x2…xn +
n
……………………… 2 -1
+ f(1,1,…1 )x1 x2…xn = ∑ fi mi,
i=0
где fi - значение логической функции на i -ом входном наборе
аргументов;
mi - i -ый минтерм или i -ая элементарная конъюнкция максимального ранга.
Представление логической функции в виде (6.33) называется совершенной конъюнктивной нормальной формой (СКНФ).
СКНФ логической функции — это конъюнкция конституент нуля (макстермов), соответствующих входным наборам, для
которых функция равна нулю.
Рассмотрим алгоритмы перехода от табличного описания
логической функции к ее аналитическому описанию (СДНФ,
СКНФ).
Алгоритм перехода от таблицы истинности логической
функции к ее записи в виде СДНФ:
Из (6.31) следует, что СДНФ логической функции —
это дизъюнкция конституент единицы (минтермов), соответствующих наборам входных переменных, для которых функция равна единице. Совершенная дизъюнктивная нормальная
форма записывается для истинного значения логической функции. В то же время относительно логической функции можно
сказать, что она истинна тогда, когда не ложна. Такое утверждение можно формализовать следующим образом.
Образуем логическую функцию по ее нулевым значениям на всех входных наборах. Тогда
1) выбрать в таблице истинности такие входные наборы, на
которых функции обращается в единицу;
2) по каждому такому набору составить элементарные конъюнкции максимального ранга (минтермы);
3) в минтермы записать не инвертированными переменные,
заданные единицей в таблице истинности, а инвертированными - те переменные, которые в таблице истинности заданы нулем;
4) полученные минтермы соединить между собой знаками
дизъюнкции.
F(x1, x2,… xn)
2n -1
= ∑
fi mi.
i=0
(6.32)
Алгоритм перехода от таблицы истинности логической
функции к ее записи в виде СКНФ:
1) выбрать в таблице истинности такие входные наборы, на
которых функция имеет нулевые значения;
2) по каждому такому набору составить элементарные дизъюнкции максимального ранга (макстермы);
3) в макстермы записать не инвертированными переменные,
заданные нулем в таблице истинности, а инвертированными те переменные, которые в таблице истинности заданы единицей;
89
4) полученные макстермы соединить между собой знаками конъюнкции.
Решение. По таблице истинности находим, что функция
P(x,y,z) принимает единичные значения на четырех входных
наборах аргументов. Данным наборам аргументов соответствуют
следующие четыре минтерма: x y z, x y z, x y z, x y z.
Тогда, в виде СДНФ данная логическая функция будет
представлена в следующем виде:
Pсднф(x,y,z) = x y z + x y z + x y z + x y z.
90
Таблица 6.3
Помимо двух основных (СДНФ и СКНФ) аналитических форм представления функций в алгебре логики существуют дизъюнктивные и конъюнктивные нормальные формы (ДНФ и КНФ), а также минимальные дизъюнктивные и
конъюнктивные нормальные формы (МДНФ и МКНФ).
ДНФ/КНФ – это дизъюнкция/конъюнкция элементарных
конъюнкций /дизъюнкций, ранг хотя бы одной из которых отличается от максимального ранга. ДНФ/КНФ называется минимальной, если она содержит наименьшее число букв по сравнению
со всеми ДНФ/КНФ, существующими для данной функции.
При помощи правил развертывания элементарных конъюнкций
и дизъюнкций, ДНФ и КНФ могут быть преобразованы в
СДНФ и СКНФ.
В общем виде СДНФ и СКНФ записываются выражениями (6.32) и (6.33), которые могут быть слишком громоздкими.
Для их упрощения используется более компактная числовая
форма записи, предусматривающая только перечисление десятичных эквивалентов двоичных наборов, на которых функция
принимает значение единицы (для СДНФ) или нуля (для
СКНФ), соединив их знаками дизъюнкции (для СДНФ) и
конъюнкции (для СКНФ).
Пример 6.4. Пусть логическая функция P(x,y,z) задана следующей таблицей истинности (табл. 6.3). Требуется представить
ее в виде СДНФ и СКНФ.
z
0
0
0
0
1
1
1
1
Входные
наборы
y
x
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
Значение
функции
0
1
1
0
1
0
0
1
СДНФ
СКНФ
минтерм
макстерм
x +y+ z
xyz
xyz
x +y +z
xyz
x +y +z
x +y +z
xyz
По аналогии, представим данную логическую функцию
в виде СКНФ. В итоге получим:
Pскнф(x,y,z) = (x +y+ z ) (x +y+ z) (x+ y+ z) (x+ y+ z).
6.4.4 Геометрическая и кубическая формы представления
логических функций
В геометрическом смысле каждый двоичный набор
(a1 a2.... an) переменных логической функции можно рассматривать как n-мерный вектор, определяющий точку n-мерного
пространства. Исходя из этого, всe множество наборов, на которых определена функция n переменных, представляется в
видe вершин n-мерного куба. Отмечая точками вершины, в
которых функция имеет единичные значения, получают ее
геометрическое представление, например так, как показано на
рис. 6.6, а.
91
а)
б)
в)
Рис. 6.6. Геометрическое и кубическое представление функции
Y= (3,4,5,6,7): a — 0-кубы; б — 1-кубы; в — 2-куб
На основе геометрических представлений строятся кубические представления логических функций, в которых используются элементы n-мерных кубов. Геометрически каждому набору (a1 a2.... an) соответствует вершина n-мерного куба с
данными координатами. Каждую вершину, на которой функция принимает единичное
значение, принято называть
0-кубом (нулевым кубом). Множество 0-кубов образует нулевой кубический комплекс Ко. Например, для функции Y = V(3,
4, 5, 6, 7) нулевой кубический комплекс имеет вид Ко = (011,
100 101, 110, 111) и в данном случае состоит из пяти 0-кубов,
каждый из которых соответствует определенной вершине
трехмерного куба (рис. 6.6, а).
Если два 0-куба из комплекса К0 различаются только по
одной координате, то они образуют один 1-куб (единичный
куб). Он представляется общими элементами 0-кубoв, а на ме-
сте координаты, по которой различаются 0-кубы, указывается
символ «-», обозначающий независимую координату. Например, два 0-куба: 100, 101 различаются только по третьей координате и, следовательно, образуют единичный куб 10-, которому соответствует ребро трехмерного куба. Все множество
единичных кубов функции образует единичный кубический
комплекс К1. Для функции Y =V(3, 4, 5, 6, 7) он состоит из пяти
1-кубов: K1 ={-11, 10-, 1-0, 1-1, 11-} и определяет все множе92
ство ребер, на которых функция Y принимает единичные значения (рис. 6.6,б).
Если два единичных куба из комплекса K1 имеют общую независимую координату и различаются только по одной
координате, то они образуют один 2-куб (двоичный куб). Его
запись состоит из общих компонент 1-кубов, а координата,
принимающая различные значения в 1-кубах, обозначается в 2кубе как независимая координата «-» (пробел). Например, два
единичных куба 1-0 и 1-1 образуют один двоичный куб 1--.
Для рассматриваемой функции Y двоичный комплекс имеет
вид К2 ={1--} и состоит из одного двоичного куба, соответствующего грани трехмерного куба (рис. 6.6, в). Размерность
куба определяется числом независимых; координат (символов
«-»).
Объединение кубических комплексов К0, К1, … Кn
функции f(x1, x2,…,xn) образует кубический комплекс функции
К(f). Для рассматриваемого примера комплекс К(f) соответствует объединению комплексов К0 , К1 и К2.
В отличие от аналитических форм записи логических
функций, где используюется большой набор индексированных
букв и математических знаков, кубические представления позволяют задавать логические функции в виде множества кубов,
компонентами которых являются только три символа; 0, 1, - .
Ограниченное число символов в записи функций позволяет использовать кубические представления в ЭВМ при решении
задач автоматизированного логического проектирования комбинационных автоматов.
11.
12.
Баранов С.И. Синтез микропрограммных автоматов (граф-схемы и автоматы). - Л.: Энергия, 1979.
- 232 с.
Савельев А.Я. Прикладная теория цифровых автоматов. - М.: Высш. шк., 1987. - 272с.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Математическая93 энциклопедия. Ред. коллегия:
И.М.Виноградов (гл. ред.) [и др.]. Т.1 - М.: Советская энциклопедия, 1977. - 1152 стб.
2. Кудрявцев В.Б., Алешин С.В., Подколзин А.С. Введение в теорию автоматов. - М.: Наука. Гл. ред.
физ.-мат. лит., 1985. - 320с.
3. Мельников Г.П. Азбука математической логики. М.: Знание, 1967. -104с.
4. Лернер А.Я. Начала кибернетики. - М.:Наука, 1967.
- 400с.
5. Лазарев В.Г., Пийль Е.И. Синтез управляющих автоматов. - 3-е изд., перераб. и доп. - М.: Энергоатомиздат, 1989. - 328с.
6. Угрюмов В.П. Цифровая схемотехника. - СПб.:
БВХ-Петербург,2001. 528 с.
7. Ачасова С.М. Алгоритмы синтеза автоматов на программируемых матрицах / Под ред. О.Л.Бадман. М.: Радио и связь, 1987. - 136с.
8. Энциклопедический словарь. Гл. ред. Б.В. Введенский. В 2-х Т. Т1. - М.: Советская энциклопедия,
1963. - 656с.
9. Советский энциклопедический словарь. - М.: Советская энциклопедия, 1980. - 1600с.
10. Заморин А.П., Марков А.С. Толковый словарь по
вычислительной технике и программированию.
Основные термины. - М.: Русский язык, 1988г.221с.
14.
15.
16.
17.
18.
19.
20.
21.
13. Хлытчиев С.М. Основы автоматики и автоматизации производственных
процессов /
94
С.М.Хлытчиев, А.С.Ворожцов, И.А.Захаров. - М.:
Радио и связь,1985. - 288с.
Глушков В.М. Синтез цифровых автоматов. - М.:
Физматгиз, 1962. - 467с.
Гетманова А.Д. Учебник по логике. 2-е изд. – М.:
"ВЛАДОС", 1994. - 303с.
Завадский В.А. Компьютерная электроника. - Киев: ВЕК, 1996. - 368с.
Простейшая микро - ЭВМ: Проектирование.
Наладка. Использование / Л.Н.Буреев, А.Л.Дудко,
В.Н.Захаров. – М.: Энергоатомиздат, 1989. 216с.
Сикорский Р. Булевы алгебры. – М.: Мир, 1069. 376с.
Яглом И.М. Булева структура и ее модели. – М.:
Сов. радио, 1980. - 192с.
Киносита К., Асада К., Карацу О. Логическое проектирование СБИС. – М.: Мир, 1988. - 309с.
Миллер Р. Теория переключательных схем: В 2-х
т./ Пер. с англ. – М.: Наука, 1970, 1971. - Т.1, 2.
ОГЛАВЛЕНИЕ
95
ВВЕДЕНИЕ……………………………………………………….3
ГЛАВА 1. Становление теории автоматов и ее основные
задачи……………………………………………...……4
1.1 Взаимосвязь теории автоматов и других научнотехнических направлений………………………………..4
1.2 Подходы к определению конечного автомата…………..6
1.3 Сущность метода "черного ящика"……………………...9
1.4 Основные задачи теории автоматов…………………....10
ГЛАВА 2. Формальная классификация абстрактных автоматов
и
их математические модели……………………..14
2.1 Словесные определения автоматов………………...14
2.2 Формальное определение абстрактного автомата...16
2.3 Формальная классификация автоматов……………18
2.4 Математические модели автоматов………………..20
2.4.1 Модель Мили………………………………...…21
2.4.2 Модель Мура…………………………………...23
2.4.3 Модель совмещенного автомата………………25
2.4.4 Модель микропрограммного автомата………..27
ГЛАВА 3. Структурные модели первого уровня абстрактных
автоматов…………………………………………...…..28
3.1. Структурная модель автомата Мили………………28
3.2. Структурная модель автомата Мура…………...….30
3.3 Структурная модель совмещенного автомата……..31
3.4 Структурная модель микропрограммного автомта.32
ГЛАВА 4. Способы задания абстрактных и структурных автоматов…………………………………………………….33
4.1 Начальные языки………………………………...…..34
4.1.1Язык регулярных выражений алгебры событий34
4.1.2 Язык логических схем………………………….35
4.1.3 Язык граф – схем алгоритмов………………....36
4.1.4 Язык схем алгоритмов…………………………39
4.2 Автоматные языки………………………………..…41
4.2.1 Таблицы переходов и выходов………….….…41
4.2.2 Матрицы переходов и выходов………………..43
96
4.2.3 Граф автомата…………………………………..44
4.3 Язык алгебры логики (булевой алгебры)…………..46
4.4 Язык временных диаграмм………………………….48
ГЛАВА 5 Минимизация абстрактных автоматов……………..58
ГЛАВА 6. Математические основы алгебры логики……...…70
6.1 Формальное определение алгебры логики………..70
6.2 Аксиомы, теоремы и законы алгебры логики……..71
6.2.1 Аксиомы алгебры логики……………………..72
6.2.2 Теоремы алгебры логики………………………73
6.2.3 Законы алгебры логики………………………...73
6.3
Основные понятия и определения………….…..75
6.4 Формы представления логических функций……...81
6.4.1 Словесная форма представления логических
функций…………………………………………81
6.4.2 Табличная форма представления логических
функций…………………………………………82
6.4.3 Аналитическая форма представления логических
функций…………………………………………87
6.4.4 Геометрическая и кубическая формы представления
логических функций……………………91
БИБЛИОГРАФИЧЕСКИЙ СПИСОК …………………………..94
Воронежский государственный технический университет
394026 Воронеж, Московский просп.,14
97
Учебное издание
Тюрин Сергей Владимирович
ЭЛЕМЕНТЫ ТЕОРИИ АВТОМАТОВ
(Часть 1)
Компьютерный набор С.В. Тюрина
ЛР № 066815 от 25.08.99. Подписано к изданию 25.12.2002.
Уч-изд.л. 6,1.
Элементы ТА.doc
(наименование файла)
СПРАВОЧНИК МАГНИТНОГО ДИСКА
(кафедра автоматизированных и вычислительных систем)
С.В. Тюрин
ЭЛЕМЕНТЫ ТЕОРИИ АВТОМАТОВ
(Часть 1)
Учебное пособие
1 352 192 байт
(объем файла)
27.12.2002
(дата)
Download