Смекни!
smekni.com

Алгебра логики (стр. 1 из 2)

Лекция. Алгебра логики

Кроме обычной алгебры существует специальная, основы которой были заложены английским математиком XIX века Дж. Булем. Эта алгебра занимается так называемым исчислением высказываний.

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

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

Рассмотрим некоторую схему и представим ее в виде так называемого "черного" ящика.

Будем считать, что внутреннее содержимое ящика неизвестно.

X1,X2,X3 – входные сигналы, F – выходной сигнал.

Считаем также, что схема А – элементарная, т.е. нет другой схемы Б, меньшей, чем А, которая бы содержалась в А.

Построим абстрактное устройство из элементарных устройств, типа А, Б, В и т.д. Очевидно, более сложное устройство можно построить из простых путем:

1. последовательного соединения элементов;

2. параллельного соединения;

3. перестановки входов элементов.

Тогда роль Y1 для второго элемента Б будет играть:

Y1=FА(X1,X2,X3)Y2=FБ(X1,X2)F=F(Y1,Y2)=F(FА(X1,X2,X3),FБ(X1,X2))

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

В связи с этим, параллельное соединение элементов в алгебре логики не рассматривается.

Функция, которую выполняет элемент, вообще говоря, зависит от переменных, которые подаются на вход.

Поэтому перестановка аргументов влияет на характер функции.


F=F(FА(X1,X2,X3),FБ(X2,X3))

F(FБ(X2,X3),FА(X1,X2,X3))

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

1. последовательное соединение элементов;

2. перестановка входов элементов.

Этим двум физическим приемам в алгебре логики соответствуют:

1. принцип суперпозиции (подстановка в функцию вместо ее аргументов других функций);

2. подстановка аргументов (изменение порядка записи аргументов функций или замена одних аргументов функции другими).

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

Элементарные функции алгебры логики

Существует несколько синонимов по отношению к функциям алгебры логики:

1. функции алгебры логики (ФАЛ);

2. переключательные функции;

3. булевские функции;

4. двоичные функции.

По мере необходимости будем пользоваться всеми этими синонимами.

Рассмотрим некоторый набор аргументов:

<X1,X2,X3,...Хi,...Xn>

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

Чему равно число различных наборов?

Xi = {0, 1}

Поставим каждому набору в соответствие некоторое двоичное число:

X1,X2,...........Xn0, 0,...........,0 нулевой набор0, 0,...........,1 первый набор0, 0,..........1,0 второй набор...................1, 1,...........,1 (2n-1)-ый набор

Очевидно, что количество различных X1,X2,...........Xn n-разрядных чисел в позиционной двоичной системе есть 2n.

Допустим, что некоторая функция F(X1,X2,....Xn) задана на этих наборах и на каждом из них она принимает либо '0'-ое, либо '1'-ое значение.

Такую функцию называют функцией алгебры логики или переключательной функцией.

Чему равно число различных переключательных функций 'n' аргументов?

Т.к. функция на каждом наборе может принять значение '0' или '1', а всего различных наборов 2n, то общее число различных функций 'n' аргументов есть: 22n.

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

Число аргументов 1 2 3 4 5 10
Число различных перекл. ф-ций 4 16 256 65536 ~4*109 ~10300

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

Итак, нужно научиться строить эти сложные функции (а стало быть, и устройства), а также анализировать их.

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

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

ФАЛ одного аргумента

Чтобы задать ФАЛ, нужно задать ее значения на всех наборах аргументов.

Аргумент Х значение Наименование функции
0 1
F0(x) 0 0 константа '0'
F1(x) 0 1 переменная 'х'
F2(x) 1 0 инверсия 'х' (отрицание х)
F3(x) 1 1 константа '1'

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

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

Необходимо рассмотреть более сложные функции, т.е. ФАЛ 2х аргументов.

Дадим такие определения:

1. ФАЛ, принимающие одинаковые значения на всех наборах аргументов, называются равными.

2. ФАЛ существенно зависит от аргумента Хi, если

F(X1,X2,...,Хi-1,0,Xi+1,...,Xn)
F(X1,X2,...,Хi-1,1,Xi+1,...,Xn)

В противном случае она зависит не существенно, а соответствующий аргумент наз. фиктивным.

Например:

Х1 Х2 Х3 F(X1,X23)
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

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

Все ФАЛ от 2-х аргументов. Сведем их в единую таблицу 2.1.

Таблица 2.1.
№ функции Значение функции на наборах логических переменных Наименование функции Обозначение функции
X1 0 0 1 1
X2 0 1 0 1
f0(X1,X2) 0 0 0 0 Константа "ноль" f(X1,X2)=0
f1(X1,X2) 0 0 0 1 Конъюнкция, произведение f(X1,X2)= X1& X2f(X1,X2)= X1
X2f(X1,X2)= X1 · X2f(X1,X2)= X1 X2
f2(X1,X2) 0 0 1 0 Запрет по X2 X1 Δ X2
f3(X1,X2) 0 0 1 1 Переменная X1 f(X1,X2)= X1
f4(X1,X2) 0 1 0 0 Запрет по X1 X2 Δ X1
f5(X1,X2) 0 1 0 1 Переменная X2 f(X1,X2)= X2
f6(X1,X2) 0 1 1 0 Сложение по mod2 (неравнозначность) f(X1,X2)= X1
X2
f7(X1,X2) 0 1 1 1 Дизъюнкция f(X1,X2)= X1
X2f(X1, X2)= X1+ X2
f8(X1,X2) 1 0 0 0 Стрелка Пирса f(X1, X2)= X1
X2
f9(X1,X2) 1 0 0 1 Равнозначность f(X1, X2)= X1
X2f(X1, X2)= X1~X2
f10(X1,X2) 1 0 1 0 Инверсия X2 f(X1, X2)=^X2f(X1, X2)=X2
f11(X1,X2) 1 0 1 1 Импликация от X2 к X1 f(X1, X2)= X2
X1
f12(X1,X2) 1 1 0 0 Инверсия X1 f(X1, X2)=^X1f(X1, X2) = X1
f13(X1,X2) 1 1 0 1 Импликация от X1 к X2 f(X1, X2)= X1
X2
f14(X1,X2) 1 1 1 0 Штрих Шеффера f(X1, X2)= X1|X2
f15(X1,X2) 1 1 1 1 Константа "единица" f(X1, X2)=1

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