- •Лекция 1 основные понятия теории множеств Основные определения
- •X [XX → xY].
- •Алгебра множеств Операция объединения множеств.
- •Операция пересечения множеств.
- •Операция определения разности множеств
- •Операция определения дополнения множества.
- •Тождества алгебры множеств
- •Операция проецирования кортежа
- •X×y y×X.
- •Алгебра предикатов
- •Правила логического вывода
- •Минимизация логических функций
- •Комбинаторные схемы
- •Заключительная сортировка последних после прекращения итераций
- •Дг ж е б а в
- •Оптимизация на графах. Алгоритм краскала
- •Алгоритм Краскала
X×y y×X.
Операция прямого произведения легко распространяется и на большее число множеств. Прямым произведением множеств X1,X2,...,Xk называют множество, обозначаемое X1×X2×...×Xk и состоящее из всех тех и только тех кортежей длины k, первая компонента которых принадлежит X1, вторая X2, и т. д.
Если R – множество вещественных чисел, то R×R представляет собой вещественную плоскость, a R×R×R трёхмерное вещественное пространство.
Операция проецирования множества
Операция проектирования множества тесно связана с операцией проектирования кортежа и может применяться лишь к таким множествам, элементами которых являются кортежи одинаковой длины.
Проекция множества М, состоящего из кортежей одинаковой длины – множество проекций кортежей из М.
Пример. Пусть М ={(1, 2, 3, 4, 5), (2, 1, 3, 5, 5), (3, 3, 3, 3, 3), (3, 2, 3, 4, 3)}. Тогда Пр2М ={2, 1, 3};
Пр2,4М = {(2, 4), (1, 5), (3, 3)}.
АЛГЕБРЫ ЛОГИКИ
Булевой
алгеброй
назовем
множество В
вместе с
тремя операциями
Бинарные операции: +,×
и унарная операция
вместе с двумя элементамиВ,
которые обозначаются символами 0 и 1,
удовлетворяют нижеследующим законам
(в которых операция ×
опущена). Для всех x,y,z
Î
В
:
a) x + 0 = x, б) x×1 = x;
a) x + y = y + x, б) xy = yx - коммутативность;
a) x + (y+z) = (x+y) + z, б) х (yz) = (xy) z - accoциативность;
a) x (y+z) = xy + xz, б) x + yz = (x+y) (x+z) - дистрибутивность;
a)
б)
- комплементарность.
В
начале списка следуют тождества, обычные
для числовой алгебры (заметим, что эти
очевидные законы выполняются не во всех
алгебрах, например, для матриц А
и B
АВ ¹
ВА !).
Специфичными являются дистрибутивный
закон (4.б) и законы (5), характеризующие
элемент-дополнение
.
Следующие, получаемые из аксиом
соотношения особенно часто используются
в булевых вычислениях:
a) x + 1 = 1, б) x×0 = 0;
a) x + x = x, б) хх = х - идемпотентность;
a) x + xy = x, б) х (x+y) = x - поглощение;
a)
б)
- законы де Моргана;
-
двойное дополнение.
В отличие от числовых операций сложения и умножения булевы операции + и × симметрично входят в тождества 1-9. Если в выписанных тождествах взаимно
заменить
символы + и, а также 0 и 1, то получится
то же самое множество тождеств. На этом
основан принцип
двойственности для булевых алгебр:
если доказана
истинность некоторого утверждения, то
истинным будет и двойственное утверждение,
то есть, то, которое получается из данного
взаимной заменой символов + и, а также
0 и 1. Например, доказав тождество
мы можем быть уверены в тождестве
.
Рассмотрим примеры булевых алгебр.
1. Операции над множеством В из двух элементов:
В = {0,1} (1 - истина, 0 - ложь). Поскольку логические переменные принимают только два значения, операции над ними однозначно определяются в виде таблиц истинности для сложения Ú, умножения Ù и отрицания:
-
p
q
pÚq
p
q
pÙq
p

0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
последний столбец таблицы -результат операции над каждым из возможных наборов операндов (представляющим двоичное представление номера соответствующей строки). При построении таблицы истинности сложных формул промежуточные результаты выстраиваются слева направо в виде промежуточных столбцов. Например, для левой и правой частей тождества (4.б):
pÚ qr = (pÚq)(pÚr)
таблицы истинности (в которых число строк теперь будет равно числу трехразрядных двоичных наборов - 23 = 8) примут вид:
-
p
g
r
gr
pÚgr
p
g
R
pÚg
pÚr
(pÚg) (pÚr)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
Cовпадение двух последних столбцов в таблицах доказывает справедливость (4.б). Аналогичным образом можно проверить все тождества (1-10) для всех значений логических переменных.
2.Множество
P
всех
подмножеств универсального множества
I,
включая само I
и пустое множество
,
образует булеву алгебру с нулем
и единицейI,
операциями сложения È,
пересечения Ç
и дополнения ¢.
Подсчитаем число элементов P
в случае конечного множества I,
содержащего n
элементов. При n=1,
I=
{a}
имеем два подмножества: P
= {
,
{a}}
; при n=2,
I
= {a,b}
число подмножеств удвоится: P
= {
,{a},
{b},
{a,b}}.
При n=3
и I
= {a,b,c}
P
будет
содержать перечисленные ранее подмножества
и еще столько же, полученных добавлением
к каждому из них нового элемента с.
Таким образом, при увеличении n
на единицу число подмножеств I
будет удваиваться, следовательно, P
будет
содержать 2n
элементов.
В
алгебре множеств закон (1.a):
означает, что при объединении с пустым
множеством ничего не изменится; закон
(7.б):
означает, что пересечениеА
с самим собой совпадает с А.
Помимо тождеств (1-10) в теории множеств
имеет место ряд законов, связанных с
включением одного множества в другое.
Например, если А
Ì
В и
В Ì
С,
то
А Ì
С;
если
А Ì
С, то
соотношение
эквивалентно![]()
Булевы операции над множествами приводят к построению объектов того же сорта - подмножеств универсального множества I. Сейчас будет изложен способ конструирования более сложных множеств, «вылезающих» за пределы I. Рассмотрим множество размеченных клеток шахматной доски, множество С столбцов, которые обозначим буквами a, b,...,h и множество S строк от 1 до 8. Каждая клетка может быть однозначно задана двумя символами: один из множества С={a, b,...,h}, другой из множества S = {1,2,...,8}, например, e2,e4, h8. Таким образом, из множеств С и S мы образовали множество С´S всех клеток доски.
Декартовым произведением А´В множеств А и В называется множество упорядоченных пар элементов из А и В:
A´B={(a,b): aÎA, bÎB}.
Приведем примеры. Пусть X = {0,1}, Y = {x,y}, тогда X´Y = {(0,x), (0,y), (1,x), (1,y)}; Y´X = {(x,0), (x,1), (y,0), (Y,1)}, таким образом, X´Y ¹ Y´X, то есть, коммутативный закон не выполняется. Декартовым произведением числовой оси R (геометрического образа множества вещественных чисел) на самое себя будет плоскость R2 = R´R.
Пусть даны n множеств A1, A2, ..., An. Множество всех упорядоченных
наборов (а1, а2, ..., аn) таких, что а1ÎА1, а2ÎА2, ..., аnÎАn, называют декартовым произведением A1´ A2 ´ ... ´An . Например, множество разнообразных обедов из трех блюд в ресторане будет декартовым произведением трех меню для каждого из блюд. Декартово произведение R´R´R = {(x,y,z), x,y,zÎR} описывает бесконечное множество всех точек пространства R3.
3.
Случайные события, связанные с некоторым
экспериментом, образуют булеву алгебру
относительно операции сложения А+В
(наступление
хотя бы одного из событий А,
В), умножения
АВ
(одновременное появление А
и В),
перехода от А
к противоположному событию
(наступающему
в точности при не появлении данного
события). Кроме того, фиксируется
невозможное (никогда не наступающее)
событие
,
соответствующее булевому нулю, и
достоверное (всегда наступающее при
проведении данного эксперимента) событиеW,
соответствующее булевой единице.
Тождество (5.а) означает, что в результате
опыта обязательно произойдет либо
событие А,
либо
:A+
=W;
(5.б) означает, что А
и
одновременно произойти не могут:А
=
.
Булева алгебра событий является исходным
материалом для теории вероятности.
Пусть экспериментW
содержит n(W)
исходов, cреди
которых событию А
благоприятствуют n(A)
исходов, тогда
вероятность наступления А
равна р(А)
=
n(A)
/
n(W).
Например, если W
- бросание шестигранной игральной кости
(n(W)=6),
A
- выпадание четной грани (n(A)=3),
то р(А)
= 3/6. Интерпретация события А
как подмножества {2, 4, 6} универсального
множества {1,2,3,4,5,6} всех исходов W,
позволяет привлечь к вычислению
вероятности сложных событий идеи булевой
алгебры множеств.
Выведем формулу вычисления р(А+В) по известным вероятностям р(А), p(B), p(AB). Имеем:
n(A+B) = n(A) + n(B) - n(AB),
так как элементы, содержащиеся одновременно в А и в В, то есть, элементы АВ, считаются дважды при суммировании элементов А с элементами В. Деля обе части равенства на n(W), получим:
p(A+B) = p(A) + p(B) - p(AB).
Для трех слагаемых имеем: p[(A+B)+C] = p(A+B) + p(С) - р[(А+В)C]; закон (4.а)
дает: (A+B)C = AC + BC, отсюда
р[(А+В)C] = p(AC+BC) = p(AC) + p(BC) - p(АСВС).
C учетом равенств АСВС = АВСС = АВС (законы (2.б), (7.б)) окончательно получим:
p(A+B+C) = p(A) + p(B) + p(С) - p(AB) - p(AC) - p(BC) + p(ABC).
АЛГЕБРА ВЫСКАЗЫВАНИЙ
Подобно функциям математического анализа, например f(x,y,z) = x + yz, принимающим вещественные значения для x,y,z Î R, введем в рассмотрение функции нескольких булевых переменных, например, f(p,q,r) = pÚqr, принимающие вместе с аргументами только одно из двух значений: 0, или 1.
Рассмотрим
набор n
переменных (x1,
x2,...,xn),
где xi
Î
{0,1}, который назовем двоичным набором
длины n.
Число таких наборов равно 2n,
поскольку при увеличении n
на единицу будет происходить их удвоение
(комбинирование каждого старого набора
с новым нулем, или единицей). Назовем
булевой
функцией n
переменных
функцию, определенную на двоичных
наборах длины n
и принимающую на этих наборах значения
0, или 1. Так как область определения
такой функции ограничивается 2n
наборами значений аргументов, то ее
можно однозначно описать Таблицей 1 из
2n
строк.
Правый столбец значений функции в
таблице в свою очередь является двоичным
набором длины 2n,
следовательно, число булевых функций
n
аргументов равно числу всех таких
наборов, т. е.
. Например,
существуют
= 4 булевых
функции j
к
одного аргумента (табл. 2)
и
=
24 =
16 булевых функций yк
двух переменных х,у,
представленных в табл. 3, которая содержит
(как частный случай) четыре функции
одного переменного:
j o(x) º 0 º yo(x,y);
j 1(x) º x º y5(x,y);
j
2(x)
º
º
y10(x,y);
j 3(x) º 1 º y15(x,y).
Каждую из 16-ти функций можно отождествить с бинарной логической операцией. Отметим среди них 11-ю и 9-ю, имеющие особое смысловое значение. Импликация x®y, или логическое следование высказываний x и y, принимает ложное значение только в том случае, когда из истинной предпосылки х следует ложное заключение у; эквиваленция х«у принимает истинные значения только при совпадающих значениях операндов (см. табл. 4).
|
Таблица 1. |
|
Таблица 3. | |||||||||||||
|
|
x1 |
x2 |
… |
xn-1 |
xn |
f(x1 ,..., xn) |
1 0 1 0 |
x | |||||||
|
0 1 2 3 … 2n-1 |
0 0 0 0 … 1 |
0 0 0 0 … 1 |
… … … … … … |
0 0 1 1 … 1 |
0 1 0 1 … 1 |
f(0,...,0,0) f(0,...,0,1) f(0,...,1,0) f(0,...,1,1) ............... f(1,...,1,1) |
1 1 0 0 |
y | |||||||
|
0 0 0 0 |
y0(x,y) º 0 | ||||||||||||||
|
1 0 0 0 |
y1(x,y) = x×y | ||||||||||||||
|
0 1 0 0 |
y2(x,y)
=
| ||||||||||||||
|
1 1 0 0 |
y3(x,y) = y | ||||||||||||||
|
0 0 1 0 |
y4(x,y)
=
| ||||||||||||||
|
Таблица 2. |
1 0 1 0 |
y5(x,y) = x | |||||||||||||
|
x |
j 0 |
j 1 |
j 2 |
j 3 |
|
0 1 1 0 |
y6(x,y)
=
| ||||||||
|
0 1 |
0 0 1 1 0 1 0 1 |
1 1 1 0 |
y7(x,y) = x + y | ||||||||||||
|
0 0 0 1 |
y8(x,y)
=
| ||||||||||||||
|
Таблица 4. |
1 0 0 1 |
y9(x,y)
=
| |||||||||||||
|
0 1 0 1 |
y10(x,y)
=
| ||||||||||||||
|
x y |
x®y |
x«y |
|
1 1 0 1 |
y11(x,y) = x®y | ||||||||||
|
0 0 |
1 |
1 |
0 0 1 1 |
y12(x,y)
=
| |||||||||||
|
0 1 |
1 |
0 |
1 0 1 1 |
y13(x,y)
=
| |||||||||||
|
1 0 |
0 |
0 |
0 1 1 1 |
y14(x,y)
=
| |||||||||||
|
1 1 |
1 |
1 |
1 1 1 1 |
y15(x,y) º 1 | |||||||||||
C
помощью таблицы истинности проверяется
справедливость следующей замены:
(1)
Покажем, как сложные высказывания, образованные с помощью произвольных логических операций, сводятся к формулам, включающим три основные операции – конъюнкцию, дизъюнкцию и отрицание.
Для произвольной бинарной функции f(x,y) справедливо тождество, проверяемое непосредственной подстановкой конкретных значений х и у:
.
C его помощью получается разложение:
![]()
Применим это разложение для эквиваленции:
![]()
таким
образом,
![]()
Для булевой функции n переменных справедливо тождество:
![]()
![]()
Применяя это выражение многократно для всех хi (i = 1,2,..., n), получим:
(2)
В
выражении (2) слагаемые, для которых
f(...)
= 0, можно опустить. Дизъюнкция оставшихся
конъюнкций называется совершенной
дизъюнктивной нормальной формой - СДНФ.
Ее совершенство заключается в однородности
состава всех конъюнкций, в каждую из
которых входит полный набор n
аргументов. Формула (1) является примером
несовершенной ДНФ, так как в каждое
слагаемое входит только по одному
аргументу. СДНФ (2) генерируется по
таблице истинности следующим образом.
Суммируются конъюнкции на наборах-строчках
с ненулевым значением f(...)
= 1, при этом единичному значению i-го
аргумента в данной строке соответствует
сомножитель хi
, нулевому значению - его отрицание
В качестве примера приведем к СДНФ
импликацию, заданную таблицей, справа
от которой выписаны слагаемые на
единичных наборах (табл. 5). Ее СДНФ
равна
.
Упрощение СДНФ приводит к более простой ДНФ:
![]()
Дальнейшие
упрощения дают правую часть (1):
![]()
-
Таблица 5
Таблица 6
x y
x®y
x1 x2 x3
f(x1, x2, x3)
0 0
1

0 0 0
0
x1 + x2 + x3
0 1
1

0 0 1
1
1 0
0
0 1 0
0

1 1
1
x y
0 1 1
0

1 0 0
1
1 0 1
1
1 1 0
0

1 1 1
1
Применение законов двойственности к СДНФ позволяет получить представление произвольной булевой функции в виде конъюнкции дизъюнкций - совершенной конъюнктивной нормальной формы (СКНФ). Теперь по таблице истинности выбираются строчки, соответствующие наборам с нулевым значением f(...)=0. Для каждой из них составляется дизъюнкция аргументов, либо их отрицаний (в случае xi = 1).
Построим СКНФ для функции, представленной таблицей 6. Cправа от строк, где f(...)=0, выписаны соответствующие дизъюнкции. СКНФ имеет вид:
.
Алгебра высказываний является эффективным аппаратом проектирования цифровых схем, состоящих из двоичных логических элементов. Рассмотрим электрические схемы из проводников и переключателей (рис. 3.1,а).
Единственные фрагменты, которыми схемы отличаются друг от друга - это их нижние части, содержащие переключатели. Следовательно, остальные части схем можно не изображать (см. релейно-контактные схемы на рис. 3.1,b).

Элементы современных микросхем (рис. 3.1,c) принято называть вентилями И (реализация конъюнкции), ИЛИ (реализация дизъюнкции), НЕ (реализация отрицания – инвертор).
Анализ вентильной схемы заключается в нахождении булевой функции f(x1,...,xn), которую она реализует, и ее таблицы истинности:
-

x
y
z
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
xy
xy + z

0 0 0 0 0 0 1 1
0 1 0 1 0 1 1 1
1 0 1 0 1 0 0 0
Приведем пример обратной задачи синтеза - реализации булевой функции вентильными схемами, соответствующими СДНФ (рис. 3.2,а) и СКНФ (рис. 3.2,b). Очевидно, СКНФ дает более экономичный вариант реализации функции f.
Исчисление высказываний помогает решить задачу оптимального синтеза - упрощения схемы посредством минимизации логических выражений на основе законов булевой алгебры, например:
![]()
|
X Y z |
F |
|
Рис. 3.2 |
|
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
0 1 0 1 0 1 1 1 |
x+y+z
| |
|
СДНФ:
СКНФ:
| |||
Упростим СДНФ предыдущей функции:
![]()
Оптимальная цифровая схема для данной функции реализуется двумя вентилями:

Логические схемы, имеющие множество выходов, описываются системой булевых функций:
Y1 = f(X1, X2,..., Xn),
Y2 = f(X1, X2,..., Xn),
-----------------------
Ym = f(X1, X2,..., Xn).
В качестве примера рассмотрим схему полусумматора, реализующего суммирование одного разряда двоичных чисел в соответствии с таблицей:

|
вход |
выход |
|
A B |
S P |
|
0 0 0 1 1 0 1 1 |
0 0 1 0 1 0 0 1 |
Результат
суммирования S
становится 1 только при комбинациях
(0,1) и (1,0), то есть,
ПереносP
в следующий разряд имеет место только
при (1,1), поэтому P
= AB.


