Преобразования входных величин в выходные, осуществляемые дискретными автоматами без памяти, работающими в двухбуквенном алфавите, эквивалентны преобразованиям, совершаемым в формальной логике. Поэтому мы будем называть их логическими автоматами, а функции, описывающие преобразования, выполняемые логическими автоматами, - логическими, функциями. Математическим аппаратом, используемым для решения задач анализа и синтеза логических автоматов, является алгебра логики. Исторически первый вариант алгебры логики был разработан английским ученым Джорджем Булем в 1843 г., вследствие чего она часто называется булевой алгеброй.
Каждый выход ид логического автомата может принимать значение 0 или 1 в зависимости от значений входных переменных х. Определим число всех возможных логических функций преобразования х в yi, если входных величин равно т, каждая из них может принимать значение 0 или 1. Для этого расположим все входные величины в ряд x1, x2,…,xm и будем рассматривать их как разряды двоичного числа. Ясно, что число r различных сочетаний значений входных величин равно числу различных двоичных чисел, содержащих r разрядов, откуда следует, что r=2m. Но каждой из r ситуаций на входе может соответствовать одно из двух значений выхода 0 или 1. Поэтому общее число N всех различных логических функций для логического автомата с m двоичными входами равно
(1)
Логические функции образуются из некоторых элементарных логических функций. Мы будем пользоваться тремя элементарными логическими функциями:
1. `х - отрицание x (читается «не x»). Функция отрицания означает, что x=0, если x=1; и x=1, если x=0.
2. x1 & x2 - логическое умножение или конъюнкция (читается «x1 и x2»). Функция логического умножения означает, что его результат равен единице только тогда, когда x1=1 и x2=1, и равен нулю во всех остальных случаях.
3. x1 v x2- логическое сложение или дизъюнкция ( читается «x1 или x2»). Функция логического сложения означает, что его результат равен нулю только тогда, когда x1=0 и x2=0 , и равен единице во всех остальных случаях.
Логические функции могут задаваться таблицами, в которых указывается значение функции у (индекс i будем опускать) для всех сочетаний аргументов х. В табл.3.1 приведены значения двух элементарных логических функций от двух аргументов: x1 и x2. Эту таблицу нужно читать по строкам : « если х1 = ..., a х2 = ..., то х1 и х2 =..., а х1 или х2 = ...". Логические функции широко используются в теории нейронных сетей и входят в математический аппарат, применяемый при исследованиях процессов переработки информации мозгом.
Таблица 1.
Задание логических функций таблицей
Функция
х1х2
Примечание
f0
f0 – абсолютная ложь
f1
х1 ^ x2 (конъюнкция)
f2
х1 `х2 (запрет х2)
f3
х1 `х2 v х1х2 (переменная х1)
f4
`х1х2 (запрет х1)
f5
`х1 х2 v х1 х2 (переменная х2)
f6
х1 Å х2 (сложение по модулю 2)
f7
х1 v х2 (дизъюнкция)
f8
х1 ¯ х2 (функция Пирса)
f9
х1ºх2 (равнозначность)
f10
`х1 `х2 v х1 `х2 (переменная `х2)
f11
х2® х1(импликация)
f12
`х1 `х2 v `х1х2 (переменная `х1)
f13
х1 ® х2 (импликация)
f14
х1/х2 (функция Шеффера)
f15
f1 – абсолютная истина
Из элементарных логических функций можно составлять логические функции, описывающие свойства различных логических автоматов.