Как преобразовать выражение суммы продуктов (SOP) в форму продукта сумм (POS) и наоборот в булевой алгебре?
например: F = xy '+ yz'
Как преобразовать выражение суммы продуктов (SOP) в форму продукта сумм (POS) и наоборот в булевой алгебре?
например: F = xy '+ yz'
Ответы:
Я думаю, что самый простой способ - это конвертировать в k-карту, а затем получить POS. В вашем примере вы получили:
\ xy
z \ 00 01 11 10
+-----+-----+-----+-----+
0 | | x | x | x |
+-----+-----+-----+-----+
1 | | | | x |
+-----+-----+-----+-----+
В этом случае исключение левого столбца дает (x + y), а исключение двух нижних средних полей дает (z '+ y'), давая ответ (x + y) (z '+ y')
F = xy '+ yz' в форме СОП
Это также может быть решено с помощью простой булевой алгебры :
Применяя закон распределения : - F = ( xy ') + y .г»
F = ( xy ' + y) . ( xy '+ z'), которая теперь преобразуется в форму POS .
Другой метод - просто принять комплимент заданного выражения:
As: xy '+ yz'
Принимая его комплимент:
(xy '+ yz') '
= (xy ')'. (yz ')' {Использование закона де Моргана (a + b) '= a'.b'}
= (Х '+ у) (у' + Z)
Что также является POS- формой ...!
Используйте закон Деморгана дважды.
Примените закон один раз:
F' = (xy' + yz')'
= (xy')'(yz')'
= (x'+y)(y'+z)
= x'y' + x'z + yy' + yz
= x'y' + x'z + yz
Применить снова:
F=F''
=(x'y'+x'z+yz)'
=(x'y')'(x'z)'(yz)'
=(x+y)(x+z')(y'+z')
=(x+y)(y'+z')
Проверьте ответ, используя wolframalpha.com
Изменить: Ответ может быть упрощен еще один шаг по закону консенсуса булевой алгебры
Если вы хотите проверить свою работу после выполнения ее вручную, вы можете использовать такую программу, как Logic Friday .
Это в терминах минимума / суммы продуктов [SOP] и максимума / продукта сумм [POS], поэтому мы можем использовать для этого карту Карно (K map).
Для SOP мы спариваем 1 и пишем уравнение сопряжения в SOP, в то время как это можно преобразовать в POS, связав в нем 0 и записав уравнение в форме POS.
См. Процедуру в Конъюнктивной нормальной форме: Преобразование из логики первого порядка .
Эта процедура охватывает более общий случай логики первого порядка, но логика высказываний является подмножеством логики первого порядка.
Упрощение, игнорируя логику первого порядка, это:
Очевидно, что если ваш ввод уже в DNF (он же SOP), то, очевидно, первый и второй шаги не применяются.
Пусть x = ab'c + bc '
x '= (ab'c + bc') '
По теореме Деморгана, x '= (a' + b + c ') (b' + c)
x '= a'b' + a'c + bb '+ bc + c'b' + c'c
x '= a'b' + a'c + bc + c'b '
Снова используя теорему Деморгана, x = (a'b '+ a'c + bc + c'b') '
x = (a + b) (a + c ') (b' + c ') (c + b)