Операция двоичного сложения. Многочлен Жегалкина Обучающийся должен: знать: − операцию двоичного сложения и ее свойства; − методику представления булевой функции в виде многочлена Жегалкина. уметь: − представлять булеву функцию в виде многочлена Жегалкина. Операция двоичного сложения двух высказываний a и b — высказывание, истинное, когда истинностные значения a и b не совпадают и ложное – в противном случае. Обозначение: a b ; a+b (читается: “либо a, либо b”, “или a, или b”) Операция двоичного сложения определяется таблицей: a 0 0 1 1 Свойства: a + b = b + a; (a + b) + с = a + (b + с); b 0 1 0 1 a+b 0 1 1 0 (a + b)c = ac + bc ; a + b = a ~ b = a b ab = (a b)(a b ) ; a + a = 0; a + a = 1; a +0 = a; a +1 = a . Многочлен (полином) Жегалкина Многочлен Жегалкина для функции, содержащей две переменные: P = 0 + 1 x + 2 y + 3 xy . Многочлен Жегалкина для функции, содержащей три переменные: P = 0 + 1 x + 2 y + 3 z + 4 xy + 5 xz + 6 yz + 7 xyz . Методика представления булевой функции в виде многочлена Жегалкина 1 способ. Метод неопределенных коэффициентов. 1. По таблице истинности составить систему уравнений (вместо переменных в многочлен подставить их соответствующие значения, в левой части уравнения – соответствующее этому набору значение функции). 2. Пользуясь таблицами истинности для двоичного сложения и конъюнкции, вычислить коэффициенты i . 3. Подставить в многочлен значения коэффициентов. Пример. Методом неопределенных коэффициентов построить многочлен Жегалкина для функции f (x, y) = x y. x y x∨y 0 0 0 0 1 1 1 0 1 1 1 1 P = 0 + 1 x + 2 y + 3 xy . Выписываем систему уравнений для коэффициентов 0 , 1 , 2 , 3 : f (0,0) = 0 = 0 + 1 0 + 2 0 + 3 0 0 ; f (0,1) = 1 = 0 + 1 0 + 2 1 + 3 0 1 ; f (1,0) = 1 = 0 + 1 1 + 2 0 + 3 1 0 ; f (1,1) = 1 = 0 + 1 1 + 2 1 + 3 1 1 ; или 0 = 0 ; 0 + 2 = 1; 0 + 1 = 1; 0 + 1 + 2 + 3 = 1 . Получаем 0 = 0 , 1 = 2 = 3 = 1 . Следовательно, x y = x + y + xy. 2 способ. Метод треугольника Паскаля x y x∨y 0 0 0 0 1 1 1 0 1 1 y 1 0 0 1 0 1 x 1 0 1 1 1 xy 1 x y = x + y + xy. 3 способ. Преобразование формул. 1. Построить некоторую формулу Ф над множеством связок {, ¬}, реализующую заданную функцию f. 2. Заменить подформулы вида A на A+1. 3. Раскрыть скобки, пользуясь дистрибутивным законом (a + b)c = ac + bc . 4. Применить эквивалентности a a = a , a 1 = a , a + a = 0 , a + 0 = a . Пример 1. Построить многочлен Жегалкина для функции f (x, y) = x y. x y = x y = (x + 1)(y + 1) + 1 = xy + x + y + 1 + 1 = xy + x + y. Пример 2. (𝑥 → 𝑦) → (𝑦 → 𝑥 ) = ̅̅̅̅̅̅̅ 𝑥̅ ∨ 𝑦 ∨ 𝑦̅ ∨ 𝑥 = 𝑥𝑦̅ ∨ 𝑦̅ ∨ 𝑥 = 𝑥 ∨ 𝑦̅ = ̿̿̿̿̿̿̿ 𝑥 ∨ 𝑦̅ = 𝑥̅̅̅̅𝑦̅ = (𝑥 + 1)𝑦 + 1 = 𝑥𝑦 + 𝑦 + 1 f = (x → y ) → yz 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 1 1 0 0 1 1 yz 0 0 0 1 0 0 0 1 f 0 0 0 1 1 1 0 1 P = 0 + 1 x + 2 y + 3 z + 4 xy + 5 xz + 6 yz + 7 xyz 0 = 0; + = 0; 3 0 0 + 2 = 0; 0 + 2 + 3 + 6 = 1; 0 + 1 = 1; 0 + 1 + 3 + 5 = 1; 0 + 1 + 2 + 4 = 0; + + + + + + + = 1. 1 2 3 4 5 6 7 0 0 = 0 , 3 = 0 , 2 = 0 , 6 = 1 , 1 = 1 , 5 = 0 , 4 = 1 , 7 = 0 . P = x + xy + yz . f = (x → y ) → yz x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z x→ y 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 yz 0 0 0 1 0 0 0 1 f 0 0 0 1 1 1 0 1 0 z y yz x xz xy xyz 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 0 1 0 Видео по данной теме можно посмотреть по ссылкам: 1. https://youtu.be/MqZATGAyBZo 2. https://youtu.be/IXBRgBtgbaU 3. https://youtu.be/uhj9LDy956I 4. https://youtu.be/fZqTOv2kpKE 1 0 1 1