- •Донецк – 2010
- •Теоретическая справка
- •Свойства бинарных отношений
- •Например:
- •Задание к лабораторной работе
- •Теоретическая справка
- •Определение функции алгебры логики
- •Функции алгебры логики одного аргумента
- •Функции алгебры логики двух аргументов
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Метод Мак-Класки минимизации булевых функций
- •Задание к лабораторной работе
- •Алгоритм генерации варианта
22
Функции алгебры логики двух аргументов
Количество различных ФАЛ от двух аргументов равно 222 = 16.
Элементарные функции алгебры логики
х1х2 |
00 |
01 |
10 |
11 |
f0 |
0 |
0 |
0 |
0 |
f1 |
0 |
0 |
0 |
1 |
f2 |
0 |
0 |
1 |
0 |
f3 |
0 |
0 |
1 |
1 |
f4 |
0 |
1 |
0 |
0 |
f5 |
0 |
1 |
0 |
1 |
f6 |
0 |
1 |
1 |
0 |
f7 |
0 |
1 |
1 |
1 |
f8 |
1 |
0 |
0 |
0 |
f9 |
1 |
0 |
0 |
1 |
f10 |
1 |
0 |
1 |
0 |
f11 |
1 |
0 |
1 |
1 |
f12 |
1 |
1 |
0 |
0 |
f13 |
1 |
1 |
0 |
1 |
f14 |
1 |
1 |
1 |
0 |
f15 |
1 |
1 |
1 |
1 |
Обозначение ФАЛ
тождественный 0, const 0.
х1 и х2, х1 х2, х1&х2, х1 х2 – конъюнкция, логическое «и»
x1 x2 - запрет х2; х1, но не х2
х1 повторение первого аргумента
x2 x1 - запрет х1; не х1, но х2
х2 повторение второго аргумента x1 x2 , x1 x2 - сложение по модулю 2, неравнозначность
х1 х2 – дизъюнкция, сумма, логическое «или» x1 х2 – стрелка Пирса, функция Вебба, ; логическое “или-не”
x1 х2 – эквивалентность, равнозначность, тождество
x 2 - отрицание, инверсия второго аргумента
x2 х1 – обратная импликация
x1 - отрицание первого аргумента
x1 х2 – импликация
x1 | х2 – штрих Шеффера, логическое «и-не », & тождественная 1, константа 1
Условные приоритеты булевых функций
Каждая булева функция имеет свой приоритет при выполнении элементарных функций.
1. ( )
2. отрицание ( x )
3. &
4. ≡
Замечание. В пределах одного приоритета операции в выражении выполняются слева направо.
23
Например:
Дана функция F(x, y, z) x y z y & (z x) .
Составить таблицу истинности функции 3-х переменных: F (x, y, z). Изобразить функцию графически.
Решение:
Расставим порядок выполнения действий, соблюдая приоритеты.
|
|
|
|
|
|
|
|
|
2 |
|
|
|
F(x, y, z) x y z y & (z x) |
|
|
|
|
||||
|
|
|
5 |
3 |
6 |
|
4 |
1 |
|
|
|
Выполним операции согласно порядку от 1 до 6. |
|
|
|||||||
|
Таблица истинности функции F(x, y, z) |
|
|
|
||||||
x |
y |
z |
1 |
2 |
3 |
|
4 |
5 |
F(x,y,z) |
|
0 |
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
0 |
|
0 |
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
|
0 |
1 |
0 |
1 |
0 |
0 |
|
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
1 |
0 |
|
1 |
1 |
0 |
|
1 |
0 |
0 |
1 |
0 |
1 |
|
0 |
1 |
1 |
|
1 |
0 |
1 |
1 |
0 |
0 |
|
0 |
0 |
0 |
|
1 |
1 |
0 |
1 |
0 |
0 |
|
0 |
0 |
0 |
|
1 |
1 |
1 |
1 |
0 |
0 |
|
0 |
0 |
0 |
Изобразим функцию на кубе:
24
.
Законы булевой алгебры
Коммутативность
x1 x 2 x 2 x1
x1 & x 2 x 2 & x1
Ассоциативность
x1 & (x2 & x3 ) (x1 & x2 ) & x3 x1 (x2 x3 ) (x1 x2 ) x3
Дистрибутивность
x1 & (x2 x3 ) x1 & x2 x1 & x3 x1 (x2 & x3 ) (x1 x2 ) & (x1 x3 )
Идемпотентность
x x x x & x x
Закон отрицания отрицания
x x
Закон исключающего третьего
x x 1
Закон противоречия
Свойства констант
x1 1
x0 x
x&1 x
x& 0 0
Законы де Моргана
x1 & x2 x1 x2 x1 x2 x1 & x2
Законы поглощения
x1 x1x2 x1 x1 (x1 x2 ) x1
Правила склеивания
x1x2 x1x2 x1
(x1 x2 ) & (x1 x2 ) x1
Обобщенное склеивание
x1x3 x2x3 x1x2 x1x3 x2x3
Правило вычеркивания
x1 x1x2 x1 x2
x & x 0
25
Свойства , ,
Свойства импликации
x x 1 |
x1 x2 |
x2 x1 |
||
x x x |
||||
x 1 1 |
x1 x2 |
x1 x1 |
||
x 0 x |
x1 x2 x1 x2 |
|||
0 x 1 |
x1 & x2 |
|
|
|
x1 x2 |
||||
1 x x |
|
|
|
|
x1 x2 x2 x1
x1 (x2 x3 ) (x1 x2 ) x3
Свойства
x1 x2 x2 x1
x1 (x2 x3 ) (x1 x2 ) x3 x x 0
x 0 x x 1 x x x 1
x1 x2 x1 x2 x1x2
Свойства функций Шеффера и стрелки Пирса
x1 | x2 x2 | x1 x1 x2 x2 x1
(x1 | x2 ) | x3 x1 | (x2 | x3 )
(x1 x2 ) x3 x1 (x2 x3 )
x | x x |
x x x |
x | 1 x |
x 0 x |
x | x 1 |
x x 0 |
x | 0 1 |
x 1 0 |
Функции и связаны
соотношениями аналогичными формулам де Моргана
x1 | x 2 x1 x 2 x1 x 2 x1 | x 2
Выражение одних элементарных функций через другие
x1 x 2 x1 x 2 |
|
|
||||||||||
x1 x 2 |
|
x1 x 2 |
|
x1 x 2 x1 x 2 |
||||||||
x1 x 2 |
x1 x 2 x1 x 2 |
|
x1 x 2 |
|||||||||
x1 x 2 |
x1 x 2 |
|
|
|
|
|||||||
x1 x 2 |
|
x1 x 2 |
|
|
|
|
||||||
x1 | x 2 |
x1 x 2 |
x1 x 2 |
|
|
||||||||
x1 x 2 |
|
x1 x 2 |
x1 x 2 |
26
Аналитическая запись ФАЛ
Рассмотрим методы перехода от табличного способа задания функций к аналитическому методу (в виде формул).
Дизъюнктивная нормальная форма (ДНФ)
Элементарная конъюнкция – конъюнкция, в которой каждая переменная встречается не более одного раза.
Дизъюнктивная нормальная форма (ДНФ) – дизъюнкция элементарных конъюнкций.
Например:
Используя законы алгебры логики преобразовать по шагам функцию F(x,y,z) в ДНФ. Для полученного результата составить таблицу истинности.
Решение:
Выполним преобразования по шагам:
1.z x z x
2.z x x z
3.y z y z y z
4.x z & y x y z
5.x y z x y z x y z
6.( x y z x y x z )
( x y z x y x z )
( x y z x y x z )
(x x y z x x y xx z z ) ( x y z )
( x y z x y z x y
( x y z x y z x y
( x y z x y z x y
27
Составим таблицу истинности для полученного результата:
x |
y |
z |
x |
y |
z |
x |
|
|
|
x y z |
|
y |
|
F(x, y, z) |
y |
|
z |
x |
z |
||||||||||
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
0 |
0 |
|
0 |
||
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
1 |
0 |
|
1 |
||
0 |
1 |
0 |
1 |
0 |
1 |
0 |
|
|
0 |
1 |
|
1 |
||
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
|
0 |
0 |
|
0 |
||
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
0 |
0 |
|
1 |
||
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
|
0 |
0 |
|
0 |
||
1 |
1 |
0 |
0 |
0 |
1 |
0 |
|
|
0 |
0 |
|
0 |
||
1 |
1 |
1 |
0 |
0 |
0 |
0 |
|
|
0 |
0 |
|
0 |
Последний столбец этой таблицы совпадает со столбцом задания функции F(x,y,z), следовательно, перевод в ДНФ верен.
Дизъюнктивная совершенная нормальная форма (ДСНФ)
Любая таблично заданная ФАЛ f(x1, x2, …, xn) (кроме тождественного нуля) может быть представлена в следующем аналитическом виде:
f (x1 , x2 ,..., xn ) x1 1 & x2 2 & ... & xn n
T1
Представление ФАЛ в таком виде называется дизъюнктивной совершенной нормальной формой этой функции (ДСНФ).
Алгоритм перехода от табличного задания функции к ДСНФ
1.Выбрать в таблице все наборы аргументов, на которых функция обращается в единицу.
2.Выписать конъюнкции, соответствующие этим наборам аргументов. При
этом если аргумент xi входит в данный набор как 1, он вписывается без изменения в конъюнкцию, соответствующую данному набору. Если xi входит в данный набор как 0, то в конъюнкцию вписывается его отрицание.
3.Полученные конъюнкции соединить операцией дизъюнкция.
Конъюнктивная совершенная нормальная форма
Любая таблично заданная ФАЛ f(x1, x2, …, xn) (кроме тождественной единицы) может быть представлена в следующем аналитическом виде:
f (x1 , x2 ,..., xn ) & x1 1 x2 2 ... xn n
T0
Представление ФАЛ в таком виде называется конъюнктивной совершенной нормальной формой этой функции (КСНФ).
28
Алгоритм построения конъюнктивной совершенной нормальной формы
1.Выбрать в таблице все наборы аргументов, на которых функция обращается в 0.
2.Выписать дизъюнкции, соответствующие этим наборам
аргументов. При этом если аргумент xi входит в данный набор как 0, он вписывается без изменения в дизъюнкцию, соответствующую данному
набору. Если xi входит в данный набор как 1, то в дизъюнкцию вписывается его отрицание.
3.Полученные дизъюнкции соединить операцией конъюнкция.
Например:
Построить ДСНФ и КСНФ для функции F(x,y,z).
F(x, y, z) x y z y & (z x)
Решение:
Для нахождения ДСНФ выбираем из таблицы №4 только те строки, в которых стоят наборы значений аргументов, обращающие функцию в единицу. Это вторая, третья и пятая строки. Выпишем конъюнкции, соответствующие выбранным строкам:
x y z, x y z, x y z .
Соединяя эти конъюнкции знаками дизъюнкции, получаем:
F(x, y, z) x y z x y z x y z .
Для нахождения КСНФ выбираем из таблицы №4 только те строки, в которых стоят наборы значений аргументов, обращающие функцию в ноль. Выпишем соответствующие дизъюнкции и соединим их знаками конъюнкции.
Получим: F(x, y, z) (x y z)(x y z)(x y z)(x y z)(x y z) .
Полные системы ФАЛ
Система ФАЛ {f1, f2,…, fn} называется полной в некотором классе функций, если любая функция из этого класса может быть представлена суперпозицией этих функций.
Система ФАЛ, являющаяся полной в некотором классе функций, называется базисом.
Минимальным базисом называется такой базис, для которого удаление хотя бы одной из функций fi, которые его
29
образуют, превращает эту систему функций в неполную.
Любая функция может быть представлена с помощью элементарных
функций {¬, &, }. Эта система ФАЛ образует
универсальный базис.
Наиболее популярными в алгебре логики являются базисы{ ,¬}, |
||||||||||||||||||
|
{&,¬}, { },{|}, которые являются минимальными. |
|
||||||||||||||||
Например: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Представить |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в |
базисах |
|
функцию F(x, y, z) x y z y & (z x) |
||||||||||||||||||
{ , }, {|}. Для проверки результата составить таблицу истинности. |
|
|||||||||||||||||
Решение: |
|
|
|
} применим закон де Моргана к ДСНФ |
||||||||||||||
Для перевода в базис { , |
||||||||||||||||||
функции: F(x, y, z) x y z x y z x y z |
|
|
|
|
|
x y z |
|
. |
|
|
||||||||
x y z |
x y z |
|
|
|||||||||||||||
Для перевода функции в базис {|} применим следующие соотношения к |
||||||||||||||||||
ДСНФ функции: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x y |
x | y |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
x y x | y |
|
|
||||||||||||
|
|
|
|
x x | x |
|
|
|
|
|
|
|
|
||||||
Обозначим F(x, y, z) x y z x y z x y z |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
A |
|
|
|
B |
|
C |
|
|
Выполним перевод в базис {|} по действиям.
1.A (x y) z (x | y) z x | y | z [(x | (y | y)) | (x | (y | y)) | (z | z)] |
[(x | (y | y)) | (x | (y | y)) | (z | z)]
2.B (x y) z x | y | z [((x | x) | (y | y)) | ((x | x) | (y | y)) | z] |
[((x | x) | (y | y)) | ((x | x) | (y | y)) | z]
3.C x y z x | y | z [((x | x) | y) | ((x | x) | y) | (z | z)] |
[((x | x) | y) | ((x | x) | y) | (z | z)]
4.F(x, y, z) (A B) C (A | B) C A | B | C [(A | B) | (A | B)] | C
Проверим преобразования с использованием таблицы истинности:
A [(x | (y | y)) | (x | (y | y)) | (z | z)] | [(x | (y | y)) | (x | (y | y)) | (z | z)]
2 1 3 5 4 6
|
|
Таблица истинности для выражения |
|
: |
|
||||||
|
|
A |
x y z |
||||||||
№ |
x |
y |
z y | y |
x | (y | y) 3 |
z | z 5 |
6 |
|||||
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
|
2 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
30
3 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
4 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
5 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
6 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
7 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
Аналогично, проверяем B и C .
Для проверки, построим таблицу истинности для полученной формы функции F(x, y, z).
F(x, y, z) (A B) C (A | B) C A | B | C [(A | B) | (A | B)] | C
Таблица истинности для F(x,y,z)
№ |
x y z |
|
|
|
|
|
A B C A | B |
|
|
|
| C |
|||||
|
|
|
|
|
A | B |
A | B |
||||||||||
A |
|
B |
C |
|||||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
|
|||
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
|
|||
2 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
|||
3 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
|
|||
4 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
|
|||
5 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
|
|||
6 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
|
|||
7 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
|
Cтолбцы, соответствующие функции F(x, y, z) в таблицах истинности равны, следовательно, преобразования выполнены правильно.