Существует только четыре различные переключательные функции одной переменной. Как видно из таблицы 14, только две функции не зависят от переменной А (в этих случаях переменная А фиктивна).
Таблица 14
Х | А | Условное обозначение | Название функции |
0 1 | |||
X0=f0 (A)X1=f1 (A)X2=f2 (A)X3=f3 (A) | 0 00 11 01 1 | 0A 1 | Константа 0Переменная АИнверсия АКонстанта 1 |
Для функции двух переменных существует шестнадцать различных переключательных функций. Как видно из таблицы 5, только десять функций существенно зависят от переменных А и В.
На рис. 6, 7 приведены обозначения элементов, реализующих некоторые переключательные функции двух переменных.
Каждой элементарной логической операции можно поставить в соответствие элементарную логическую схему или вентиль. На входе и выходе вентиля мы имеем логические сигналы двух видов, что можно ассоциировать с логическим 0 или логической 1.
1. Элемент «И» 2. Элемент «ИЛИ» 3. Элемент «НЕ»
F=x1∙x2 F=x1 x2 F=
Рис. 6. Символическое обозначение вентилей
а) б) в)
г) д) е)Рис. 7. Условные обозначения переключательных функций двух переменных: а – элемент Шеффера; б – элемент Пирса; в-импликатор; г – запрет; д – равнозначность; е – сложение по модулю 2
В технической литературе используются обозначения элементов, несколько отличающихся друг от друга.
Логическая схема, которая полностью описывается булевыми выражениями или таблицами истинности, называется комбинационной схемой.
Таким образом, комбинационная схема – схема, в которой значения входных переменных в текущий момент времени полностью определяют значения выходных переменных.
Другой класс схем – последовательностные схемы. Это схемы с внутренней памятью. В них значения выходных переменных определяются не только значениями входных переменных в текущий момент времени, но и их значениями в предыдущие моменты времени.
Будем рассматривать только комбинационные схемы.
До сих пор мы рассматривали поведение логической схемы, таблицы истинности и булевы выражения, использованные для описания значений выходной переменной в зависимости от набора значений входных переменных. Но булево выражение содержит сведения и о структуре логической схемы.
Соединив логические элементы в соответствии с булевыми выражениями, получим логическую схему, реализующую данное выражение.
Логическая связь выхода и входов этой схемы описывается исходным булевым выражением. Таким образом, булево изображение – описание логической схемы.
1. Перечислите все известные формы представления булевых функций.
2. Перечислите основные элементы, используемые при построении логических схем.
Описывая конкретные алгоритмы, мы отмечали, что вычисление по алгоритму можно рассматривать как некоторый процесс, который описывается множеством состояний, начальным состоянием и правилами перехода из состояния в состояние.
Рассмотрим три варианта таких правил и соответственно три в принципе различных процесса:
· процесс, в котором переходы выполняются под влиянием некоторых внешних воздействий. Этот процесс называется автоматом;
· процесс, в котором переходы выполняются под влиянием некоторого случайного механизма. Таких процессов можно придумать много, простейший из них, который будем рассматривать в дальнейшем, называется марковской цепью;
· процесс, в котором переходы выполняются по выбору некоего «одушевленного существа», стремящегося выбрать такой набор или последовательность решений, которые обеспечат ему максимальное значение некоторой функции от траектории процесса. Это управляемые процессы.
Разумеется, кроме таких чистых схем имеются и всякого рода смеси. Однако, чистые схемы интересны тем, что по ним можно увидеть, на что в соответствующей конкретной науке обращается особое внимание, и как сильно традиции этой конкретной науки влияют на изучение одного и того же математического объекта.
Пусть заданы:
М – конечное непустое множество, элементы которого называются состояниями автомата;
А – конечное непустое множество внешних воздействий на автомат (входной алфавит автомата);
В-множество ответов автомата на внешние воздействия (выходной алфавит).
Автомат – это процесс, который рассматривается в дискретные моменты времени (такты работы) и в каждый момент времени получает внешние воздействия. В зависимости от воздействия и текущего состояния процесса переходит в новое состояние и вырабатывает свой ответ.
По сравнению со схемой из функциональных элементов конечный автомат является более точной моделью дискретного преобразователя информации, однако, как и любая модель, понятие конечного автомата связано с рядом упрощающих предположений.
Во-первых, предполагается, что вход (выход) автомата в каждый момент времени может находиться в одном из конечного числа различных состояний. Но у реального преобразователя входной сигнал x(t) представляет собой непрерывную величину, и для описания такого преобразователя с помощью модели конечного автомата нужно разделить диапазон изменения x(t) на конечное число уровней и произвести квантование.
Во-вторых, предполагается, что время изменяется дискретно. Это означает, что состояния входа и выхода устройства отмечаются только в определенные моменты времени, образующие дискретную последовательность
t1, t2,…, tn. Каждый момент времени однозначно определяется его индексом, поэтому с целью упрощения будем считать, что время tпринимает значения 1, 2, 3,…, n. Промежуток (n, n+1) называется тактом.
Конечный автомат является математической моделью реальных дискретных устройств по переработке информации. Структура теории конечных автоматов определяется теми задачами, которые возникают при производстве и эксплуатации таких устройств.
Теория автоматов – раздел теоретической кибернетики, в котором изучаются математические модели (называемые автоматами, машинами) реально существующих (механических, биологических и т. п.) или принципиально возможных устройств, перерабатывающих дискретную информацию дискретными временными тактами.
Теория автоматов возникла, главным образом, под влиянием запросов техники цифровых вычислительных и управляющих машин, а также внутренней потребности теории алгоритмов и математической логики.
Понятие «автомата» заметно варьируется в зависимости от характера названных устройств, от принятого уровня абстракции и целесообразной степени общности (автоматы конечные, бесконечные, растущие, вероятностные, детерминированные, автономные и т. п.).
Автомат можно рассматривать как частный случай общего понятия управляющей системы. В теории автоматов широко применяется аппарат алгебры, математической логики, комбинаторного анализа (включая теорию графов) и теорию вероятностей.
Конечные и бесконечные автоматы характеризуются соответственно конечностью и бесконечностью объема памяти (число внутренних состояний). Конечными автоматами являются отдельные блоки компьютера и даже компьютер в целом. Мозг тоже можно также рассматривать как конечный автомат. Бесконечные автоматы представляют собой естественную математическую идеализацию, вырастающую из представления об автомате с конечным, но необратимо большим числом состояний.
Анализ автоматов – нахождение по заданному в том или ином виде автомату отображения «вход-выход», осуществляемого этим автоматом; часто такое отображение можно интерпретировать как вычисление предиката, и поскольку каждый предикат характеризуется своим множеством истинности, то задача анализа автомата сводится к нахождению этого множества (говорят, что это множество распознается автоматом).
Для многих классов автоматов хорошо известны классы распознаваемых ими множеств. Например, машины Тьюринга распознают все рекурсивно перечислимые множества, автоматы с магазинной памятью (недетерминированные) – контекстно свободные языки.
Далеко не всегда по заданным автомату и множеству удается определить, распознает ли автомат в точности это множество. В общем виде для произвольного класса автоматов или даже для произвольного конкретного автомата эта проблема является алгоритмически неразрешимой. Если наложить ограничения на способы задания автоматов и на способы задания множеств, то для многих случаев она становится разрешимой. Например, если регулярные события задавать регулярными выражениями, а конечные автоматы – матрицами переходов и выходов, то существует общий конструктивный прием (алгоритм анализа конечных автоматов), позволяющий находить регулярные выражения для событий, представляемых в произвольном конечном автомате.