1.Построить таблицу значений для булевой функции f(x, y, z

advertisement
1.Построить таблицу значений для булевой функции f(x, y, z) =
((x↓y)’+zx+(y|z))→x.
Обозначим, f1 = (x↓y)’+zx, f2 = (x↓y)’+zx+(y|z),
Решение
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
x↓y
1
1
0
0
0
0
0
0
(x↓y)’
0
0
1
1
1
1
1
1
zx
0
0
0
0
0
1
0
1
y|z
1
1
1
0
1
1
1
0
f1
0
0
1
1
1
0
1
0
f2
1
1
0
1
0
1
0
0
f(x, y, z)
0
0
1
0
1
1
1
1
Примеры для самостоятельного решения.
a)(x↓y’)((z’→x)|y)
b)(x’↓(yz’))→(z↓y’)
c)(z→x’)|((y+x’)|z)
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
2.Для функции f(x, y, z) = x’(z|y’)→((z’y)↓x) найти полином Жегалкина с
помощью a) упрощения функции, b) методом неопределенных
коэффициентов.
Решение
a) Упрощение функции.
x’(z|y’)→((z’y)↓x) = x’(zy’)’→((z’y) ⋁ x)’= (x’(zy’)’)’ ⋁((z’y)⋁x)’ = x ⋁ zy’ ⋁ (z
⋁ y’)x’ = x ⋁ zy’ ⋁ x’z ⋁ x’y’ = x + zy’ + x’z + x’y’ + xzy’ + xx’z+xx’y’+ zy’x’z +
zy’x’y’ + x’zx’y’ + xzy’x’z + xx’zx’y’ + zy’x’zx’y’ + xzy’x’zx’y’ = x + zy’ + x’z +
x’y’ + xzy’ + zy’x’z + zy’x’y’ + x’zx’y’ + zy’x’zx’y’ = x + y’z + x’z + x’y’ + xy’z +
x’y’z + x’y’z + x’y’z + x’y’z = x + y’z + x’z + x’y’ + xy’z + x’y’z + x’y’z + x’y’z +
x’y’z = x + y’z + x’z + x’y’ + xy’z = x + (y+1)z + (x+1)z + (x+1)(y+1) +
x(y+1)z = x + yz + z + xz + z + xy + x + y + 1 + xyz + xz =yz + xy + y + 1 +
xyz.
b)
Нахождение
коэффициентов.
коэффициентов
методом
непределенных
Обозначим, f1 = x’(z|y’), f2 = ((z’y)↓x).
Построение таблицы значений для формулы f(x, y, z).
X
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
y’
1
1
0
0
1
1
0
0
z|y’
1
0
1
1
1
0
1
1
z’
1
0
1
0
1
0
1
0
z’y
0
0
1
0
0
0
1
0
x’
1
1
1
1
0
0
0
0
f1
1
0
1
1
0
0
0
0
f2
1
1
0
1
0
0
0
0
f(x, y, z)
1
1
0
1
1
1
1
1
Вычисление коэффициентов.
X
0
0
0
0
1
y
0
0
1
1
0
z
0
1
0
1
0
f(x, y ,z)
1
1
0
1
1
Коэффициенты
a0=1
a3+a0= 1; a3+1= 1; a3= 0
a2+a0=0; a2+1=0; a2=1
a23+a2+a3+a0 = 1; a23+1+0+1 = 1; a23 = 1
a1+a0= 1; a1+1= 1; a1= 0
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
1
1
1
0
1
1
1
0
1
1
1
1
a13+a1+a3+a0 = 1; a13+0+0+1 = 1; a13 = 0
a12+a1+a2+a0 = 1; a12+0+1+1 = 1; a12 = 1
a123+a12+
a13+
a23+a1+a2+a0
=
a123+1+0+1+0+1+0+1= 1; a123 = 1
1;
f(x, y, z) = a01 + a1x+a2y + a3z + a12xy + a13xz+a23yz + a123xyz =1 + y + xy +
yz + xyz.
Задания для самостоятельной работы
a)((x|y)|(z’→x))(y’→x)
b)(xy’)((z↓(x’→y)) ⋁ x’)
c)(x’→(z|y’))(z↓(x’ ⋁ y))
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
3.Проверить является ли булева функция f(x, y, z) = (x|y’) ⋁ (x’→z)
линейной.
Булева функция линейна, если она представляется полиномом
Жегалкина степени не выше первой.
(x|y’)→(x’z) = (xy)’ → x’z = xy ⋁ x’z = xy + x’z + xyx’z = xy + x’z =
xy+(x+1)z = xy+xz+z.
Найденный полином Жегалкина имеет вторую степень (в состав входит
конъюнкция xy, или xz), следовательно, булева функция нелинейна.
Задания для самостоятельной работы
a)(z|x’)↓((x→y’) ⋁ z)
b) ((y’x’)→z)↓(x|y)
c) (x→y’)(x|(y→z’))’
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
4. Для булевой функции f(x,y,z)=(x ⋁ y’)→ (x↓z) найти двойственную ей
функцию и представить её в виде КНФ.
Решение
f*(x, y, z) = f’(x’, y’, z’) = ((x’ ⋁ y’’)→ (x’↓z’))’ = ((x’ ⋁ y)→ (x’ ⋁ z’)’)’ =
((x’ ⋁ y)’ ⋁ (x’ ⋁ z’)’)’ = (x’ ⋁ y)(x’ ⋁ z’).
Задания для самостоятельной работы
a)(y’→(xz))(x’↓y)
b)(z|y’)→(x’↓y)
c)(yz’)|(x’→(y’↓z))
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
5. Проверить, является ли булева функция f(x, y, z) = xz’ ⋁ x’y
самодвойственной.
f*(x, y, z) = f’(x’, y’, z’) = (x’z’’ ⋁ x’’y’)’ = (x’z ⋁ xy’)’ = (x ⋁ z’)(x’ ⋁ y) = xx’ ⋁
xy ⋁ x’z’ ⋁ yz’ = xy ⋁ x’z’ ⋁ yz’.
Функции f(x, y, z) = xz’ ⋁ x’y и f*(x, y, z)= xy ⋁ x’z’ ⋁ yz’ не равны друг
другу, таким образом, функция f(x, y, z) не является самодвойственной.
Задания для самостоятельной работы
a)xy ⋁ xz ⋁ yz
b)(x→z’)|(y↓x)
c)(z↓(x’y))→x
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
6. Проверить, является ли булева функция f(x, y, z) = (x’y+y’)z
монотонной.
Построение таблицы значений для функции f(x, y, z).
№
1
2
3
4
5
6
7
8
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
x’
1
1
1
1
0
0
0
0
y’
1
1
0
0
1
1
0
0
x’y
0
0
1
1
0
0
0
0
x’y+y’
1
1
1
1
1
1
0
0
f(x, y, z)
0
1
0
1
0
1
0
0
Набор №8 (x8=1; y8=1; z8=1) сравним с набором №2 (x2=0; y2=0; z2=1):
x8≥x2, y8≥y2, z8≥z2, однако отношение f(x8, y8, z8) ≥ f(x2, y2, z2) не
выполняется. Таким образом, булева функция f(x, y, z) = (x’y+y’)z не
является монотонной.
Задания для самостоятельной работы
a) xz ⋁ yz
b)(x↓y)→(z↓x’)
c)(z→y’)(x↓(y→z’))
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
7. Определить является ли система булевых функций x+y′, xy ⋁ z, x⟶ y′
полной. Если система полная, то определить базис.
Решение
Для того, чтобы исследовать систему булевых функций на полноту,
необходимо найти в системе функции, не принадлежащие к классу
функций сохраняющих нуль, к классу функций, сохраняющих единицу, к
классу самодвойственных, линейных и монотонных функций.
Обозначим f1(x, y) = x+y′, f2(x, y, z)= xy ⋁ z, f3(x, y) = x⟶ y′.
Проверка принадлежности функций системы на принадлежность классу
P0.
f1(x=0, y=0) = 1 ⇒ f1(x, y) ∉ P0
f2(x=0, y=0, z=0) = 0 ⇒ f2(x, y, z) ∈ P0
f3(x=0, y=0) = 1 ⇒ f3(x, y) ∉ P0
Проверка принадлежности функций системы на принадлежность классу
P1.
f1(x=1, y=1) = 1 ⇒ f1(x, y) ∈ P1
f2(x=1, y=1, z=1) = 1 ⇒ f2(x, y, z) ∈ P1
f3(x=1, y=1) = 0 ⇒ f3(x, y) ∉ P1
Проверка принадлежности функций системы на принадлежность классу
L. Нахождение полинома Жегалкина для каждой функции.
f1(x, y) = x+y′ = x+y+1 ⇒ f1(x, y) ∈ L
f2(x, y, z) = xy ⋁ z = xy+z+xyz ⇒ f2(x, y, z) ∉ L
f3(x, y) = x⟶ y′ = x′ ⋁ y′= x′ + y′ + x′y′ = x+1+y+1+(x+1)(y+1) =
x+y+xy+x+y+1= xy+1. ⇒ f3(x, y) ∉ L
Проверка принадлежности функций системы на принадлежность классу
S. Нахождение двойственных функций.
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
f1*(x, y) = (x′+y′′)′= x′+y+1 = x+y.
f1*(x, y) ≠ f1(x, y) ⇒ f1(x, y) ∉ S
f2*(x, y, z) = (x′y′ ⋁ z′)′= (x′y′)′( z′)′= (x ⋁ y)z = xz ⋁ yz.
f2*(x, y, z) ≠ f2(x, y, z) ⇒ f2(x, y, z) ∉ S
f3*(x, y) = (x′⟶ y′′)′ = (x′′ ⋁ y′′)′ = (x ⋁ y)′= xy.
f3*(x, y) ≠ f3(x, y) ⇒ f3(x, y) ∉ S
Проверка принадлежности функций системы на принадлежность классу
M.
Для проверки функций на монотонность приведем таблицы значений
этих функций.
Таблица значений функции f1(x, y) = x+y′.
x
y
y′
x+ y′
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
В таблицы существуют сравнимые наборы, например (x1=0, у1=0) и
(x2=0, y2=1), для которых не выполняется условие монотонности.
x1=0≤ x2=0, y1=0≤ y2=1, но f1(x1=0, y1=0) ≥ f1 (x2=0, y2=1) ⇒ f1(x, y) ∉ M
Таблица значений функции f2(x, y, z) = xy ⋁ z
x
y
z
xy
xy ⋁ z
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
1
1
В таблице для всех сравнимых наборов условие монотонности
выполняется, т.е. x1, x2, y1, y2, z1, z2: x1 ≤ x2, y1 ≤ y2, z1 ≤ z2. ⇒
f2(x1, y1, z1) ≤ f2 (x2, y2, z2). ⇒ f2(x, y, z) ∈ M.
Таблица значений функции f3(x, y) = x⟶ y′
x
y
y′
x⟶ y′
0
0
1
1
0
1
0
1
1
0
1
1
1
1
0
0
В таблицы существуют сравнимые наборы, например (x1=0, у1=0) и
(x2=1, y2=1), для которых не выполняется условие монотонности.
x1=0≤ x2=1, y1=0≤ y2=1, но f3(x1=0, y1=0) ≥ f3 (x2=1, y2=1) ⇒ f3(x, y) ∉ M
Результаты анализа поместим в таблицу.
∉P0
∉P1
∉L
∉S
∉M
f1=x+y′
+
-
+
+
+
f2=xy ⋁ z
-
-
-
+
-
f3=x⟶ y′
+
+
+
+
+
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
Из таблицы видно, что в системе есть функция не принадлежащая
классу P0, например f1 или f3, есть функция не принадлежащая классу P1 –
это f3, есть функция не принадлежащая классу L, например f1 или f3, есть
функция не принадлежащая классу S, это – любая f1 , f2 или f3 и есть
функция не принадлежащая классу М, например f1 или f3. Т.е. все условия
полноты выполнены и система считается полной.
Если из этой системы убрать функции f1 и f2, то система все равно будет
удовлетворять всем требованиям полноты. Поэтому базис системы
составляет только одна функция f3=x⟶ y′.
Ответ: Система булевых функций x+y′, xy ⋁ z, x⟶ y′ полная. Базис этой
системы x⟶ y′.
Задания для самостоятельной работы
a) x+y, x↔y, xy ⋁ xz ⋁ yz
b) xy+z, (x⟷y)+z, 1
c) x+y+z, x′, xy, y′+x
Материалы для подготовки к контрольной работе №2. Дисциплина: Логика и теория
алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович
Download