Uploaded by mat61

Конспект лекции по дискретной математике Операция двоичного сложения. Многочлен Жегалкина

advertisement
Операция двоичного сложения. Многочлен Жегалкина
Обучающийся должен:
знать:
− операцию двоичного сложения и ее свойства;
− методику представления булевой функции в виде многочлена Жегалкина.
уметь:
− представлять булеву функцию в виде многочлена Жегалкина.
Операция двоичного сложения двух высказываний 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
Download