Логические и арифметические основы и принципы работы ЭВМ

         

Алгебра логики


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

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

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

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


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

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

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

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

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


Тогда роль 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))

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

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

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

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

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



Дизъюнкция


Это сложное высказывание истинно тогда, когда истинно хотя бы одно высказывание, входящее в него.

X1X2f1(X1,X2)
000
011
101
111

Читается X1 ИЛИ X2: Некоторое отличие от смысла союза "или", принятого в русском языке: в данном случае этот союз употребляется в смысле объединения, а не разъединения.




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


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

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

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

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

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

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

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



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

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

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

Например:

Х1Х2Х3F(X1,X2,Х3)
0000
0010
0101
0111
1000
1010
1101
1111

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

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

№ функцииЗначение функции на наборах логических переменныхНаименование функцииОбозначение функции
X10011
X20101
f0(X1,X2)0000Константа "ноль"f(X1,X2)=0
f1(X1,X2)0001Конъюнкция, произведение

f(X1,X2)= X1& X2

f(X1,X2)= X1

X2

f(X1,X2)= X1 · X2

f(X1,X2)= X1 X2

f2(X1,X2)0010Запрет по X2X1 ? X2
f3(X1,X2)0011Переменная X1f(X1,X2)= X1
f4(X1,X2)0100Запрет по X1X2 ? X1
f5(X1,X2)0101Переменная X2f(X1,X2)= X2
f6(X1,X2)0110Сложение по mod2 (неравнозначность)f(X1,X2)= X1
X2
f7(X1,X2)0111Дизъюнкцияf(X1,X2)= X1
X2

f(X1, X2)= X1+ X2

f8(X1,X2)1000Стрелка Пирсаf(X1, X2)= X1
X2
f9(X1,X2)1001Равнозначность

f(X1, X2)= X1

X2

f(X1, X2)= X1~X2

f10(X1,X2)1010Инверсия X2f(X1, X2)=^X2

f(X1, X2)=X2

f11(X1,X2)1011Импликация от X2 к X1f(X1, X2)= X2
X1
f12(X1,X2)1100Инверсия X1f(X1, X2)=^X1

f(X1, X2) = X1

f13(X1,X2)1101Импликация от X1 к X2f(X1, X2)= X1
X2
f14(X1,X2)1110Штрих Шеффераf(X1, X2)= X1|X2
f15(X1,X2)1111Константа "единица"f(X1, X2)=1

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

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

Например:

В=<один плюс один - два>

есть истинное высказывание.

Рассмотрим, какое смысловое содержание можно вложить в некоторые сложные высказывания на примере ФАЛ 2-х аргументов.



Импликация


Это сложное высказывание ложно только тогда, когда X1 – истинно, а X2 – ложно.

X1X2f1(X1,X2)
001
011
100
111

Читается: если X1, то X2. При этом X1 – посылка, X2 – следствие.

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

Но в действительности, все верно, т.к. содержанием высказываний в алгебре логики не интересуются.

Тогда из ложной посылки может следовать ложное следствие и это можно считать верным:

<если Киев – столица Франции>, то <2-квадрат 3>.



Инверсия


Читается НЕ Х или Х с чертой, отрицание Х.

Возьмем, например, такое высказывание: А=<Киев-столица Франции>, тогда сложное высказывание НЕ А означает: не верно, что А, т.е. не верно, что <Киев-столица Франции>.

Из простых высказываний можно строить более сложные, применяя так называемые связи.

Логические связи – это ФАЛ, аргументами которых являются простые высказывания.



Эквивалентности


В некоторых случаях сложное и длинное высказывание можно записать более коротким и простым без нарушения истинности исходного высказывания. Это можно выполнить с использованием некоторых эквивалентных соотношений.

Дизъюнкция:

х

х
х
х
...
х
х
х= х ,

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

x v x = 1 1

x = 1

– постоянно истинное высказывание.

0

x = x

x1

x2 = x2
x1

- (переместительный) коммуникативный закон.

x1

х2
х3 = (x1
х2)
х3 = x1
(х2
х3)

- сочетательный закон.

Конъюнкция:

х

х
х
х...
х
х
х= х

правило приведения подобных членов:

1

x = х

0

x = 0 - постоянно ложное высказывание

x

 x = 0 - постоянно ложное высказывание



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


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

функции алгебры логики (ФАЛ); переключательные функции; булевские функции; двоичные функции.

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

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

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

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

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

Xi = {0, 1}

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

X1,X2,...........Xn

0, 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.

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

Число аргументовЧисло различных перекл. ф-ций
1234510
41625665536~4*109~10300

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

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

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

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



Конъюнкция


Возьмем 2 высказывания:

А=<Москва – столица РФ> В=<дважды два - четыре>

тогда сложное высказывание: А & В будет истинным, так как истинны оба этих высказывания.

Поскольку таблица истинности для конъюнкции совпадает с таблицей умножения, если истинному высказыванию приписать значение '1', а ложному - '0', то сложное высказывание можно назвать произведением.

X1X2f1(X1,X2)
000
010
100
111

Функция конъюнкции истинна тогда, когда истинны одновременно оба высказывания.




Логическая равнозначность


Это сложное высказывание истинно тогда, когда истинны или ложны одновременно оба высказывания.

Отсюда следует, что вне зависимости от смысла, равнозначными являются как истинные, так и ложные высказывания.

Например,

А=<дважды два - пять> B=<один плюс два - шесть> А~В равнозначны.



Правило де Моргана


x1

x2
...
xn = x1 & x2& ... & xn

x1

x2
...
xn = x1 & x2 & ... & xn

Докажем для двух переменных с помощью таблицы истинности:

Х1Х2Х1
Х2

X1 & X2

0011
0111
1011
1100

Операция поглощения:

Х

XY = X или в общем виде X
X*f(X,Y,Z...) = X;

Операция полного склеивания:

XY

XY = X (по Y) XY
XY = Y (по Х)

Операция неполного склеивания:

XY

XY = Х
XY
XY