Jak przekonwertować wyrażenie z SOP na POS iz powrotem w Algebrze Boolean?

9

Jak przekonwertować wyrażenie sumy produktów (SOP) na postać produktu sum (POS) i odwrotnie w algebrze logicznej?

np .: F = xy '+ yz'

jskroch
źródło
8
W rzeczywistości dotyczy to logiki cyfrowej. Jest to równoważne z powiedzeniem, jak zmienić obwód składający się z grupy bramek i bramek zasilających bramę lub bramę na taką, która składa się z grupy bramek zasilających bramę bramek i.
Chris Stratton,
1
Co to jest SPO i POS?
AndrejaKo,
3
SOP = suma produktów. POS = iloczyn sum, np. (X + y) (~ x + ~ y). Logiczne „LUB” jest sumą, podczas gdy „AND” jest produktem.
Eryk Sun
Z pewnością uczy się tego na licencjackich kursach logiki cyfrowej, ale tyblu ma rację, że należy to do matematyki SE. @TheLameProgrammer, Wyszukaj mapy Karnaugh (mapy K) i twierdzenie DeMorgan.
Eryk Sun
2
... korzystać z praw DeMorgan? również przykład podany w pytaniu nie jest kanoniczną SOP, ponieważ wszystkie zmienne powinny być obecne pod każdym względem, prawda?
vicatcu

Odpowiedzi:

15

Myślę, że najprostszym sposobem jest konwersja do mapy K, a następnie zdobycie POS. W twoim przykładzie masz:

  \ xy
 z \  00    01    11    10
    +-----+-----+-----+-----+
 0  |     |  x  |  x  |  x  |
    +-----+-----+-----+-----+
 1  |     |     |     |  x  |
    +-----+-----+-----+-----+

W tym przypadku wykluczenie lewej kolumny daje (x + y), a wykluczenie dwóch dolnych środkowych pól daje (z '+ y'), dając odpowiedź (x + y) (z '+ y')

FryGuy
źródło
Ale powinno to być F = (x + y) (y '+ z').
Eryk Sun,
Ups, masz rację. Minęło trochę czasu, odkąd zrobiłem mapy k, więc źle to odczytałem. Naprawiłem odpowiedź.
FryGuy
5

F = xy „+ yz” ma postać SPO

Można to również przeszukać, stosując proste techniki algebry boolowskiej , takie jak:

Stosowanie prawa dystrybucyjnego : - F = ( xy ') + y . z ”

F = ( xy ' + y) . ( xy „+ z”), który jest teraz konwertowany na formularz POS .

Syed Fahad
źródło
4

Inną metodą jest komplement danego wyrażenia:

Jako: xy „+ yz”

Przyjmując komplement:
(xy „+ yz”) ”

= (xy ')'. (yz ')' {Korzystanie z prawa De Morgansa (a + b) '= a'.b'}

= (x '+ y) (y' + z)

Który jest również formularzem POS ...!

Syed Fahad
źródło
6
To daje POS, ale jest całkowitym przeciwieństwem podanego wyrażenia.
Nirmal Seneviratne
2

Użyj prawa DeMorgan dwa razy.

Zastosuj prawo raz:

F' = (xy' + yz')'
   = (xy')'(yz')'
   = (x'+y)(y'+z)
   = x'y' + x'z + yy' + yz
   = x'y' + x'z + yz

Zastosuj ponownie:

F=F''
 =(x'y'+x'z+yz)'
 =(x'y')'(x'z)'(yz)'
 =(x+y)(x+z')(y'+z')
 =(x+y)(y'+z')

Sprawdź odpowiedź za pomocą wolframalpha.com

xy „+ yz”

(x + y) (y '+ z')

Edycja: Odpowiedź można uprościć jeszcze jeden krok za pomocą logicznej zasady algebry konsensusu

wannik
źródło
1

Jeśli chcesz sprawdzić swoją pracę po zrobieniu jej ręcznie, możesz użyć programu takiego jak Logic Friday .

mjh2007
źródło
1

Jest to minimalna / Suma produktów [SOP] i maksymalna / Product of Sums [POS], więc możemy do tego użyć mapy Karnaugh (mapa K).

W przypadku SOP parujemy 1 i zapisujemy równanie parowania w SOP, podczas gdy można je przekonwertować na POS, łącząc w nim 0 i zapisując równanie w postaci POS.

Na przykład dla SPO, jeśli piszemy xyz potem dla pos piszemy x+y+z.

dipen
źródło
0

Zobacz procedurę w łączonej postaci normalnej: Konwertowanie z logiki pierwszego rzędu .

Ta procedura obejmuje bardziej ogólny przypadek logiki pierwszego rzędu, ale logika zdań jest podzbiorem logiki pierwszego rzędu.

Upraszczając, ignorując logikę pierwszego rzędu, jest to:

  • Wyeliminuj implikacje
  • Przenieś negacje do wewnątrz, stosując prawo DeMorgan
  • Rozłóż dysocjacje na spójniki

Oczywiście, jeśli twoje dane wejściowe są już w DNF (inaczej SOP), to oczywiście pierwszy i drugi krok nie mają zastosowania.

Doug McClean
źródło
0

Niech x = ab'c + bc '

x '= (ab'c + bc') '

Według twierdzenia DeMorgan, 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 '

Ponownie wykorzystując twierdzenie DeMorgan, x = (a'b '+ a'c + bc + c'b') '

x = (a + b) (a + c ') (b' + c ') (c + b)

Shivani Singh
źródło
Witamy w Elektrotechnice StackExchange. Jeśli podasz nową odpowiedź na stare pytanie, wyjaśnij, co dodałeś do poprzednich odpowiedzi lub co było nieprawidłowe w poprzednich odpowiedziach. Nawiasem mówiąc, czy twoja druga linia nie jest w formie POS? OP nie poprosił o zmniejszenie równania, więc reszta twojej odpowiedzi może być myląca.
Joe Hass
To jest poprawne.
Nirmal Seneviratne