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. Дисциплина: Логика и теория алгоритмов. Лектор: к.т.н., доцент каф.ОСУ Аксёнов Сергей Владимирович