W poprzedniej sekcji poznaliśmy wyrażenia SOP(suma produktu) i POS(iloczyn sumy) oraz obliczyliśmy formularze POS i SOP dla różnych funkcji boolowskich. W tej sekcji dowiemy się, jak możemy przedstawić formularz POS w formularzu SOP i formularz SOP w formularzu POS.
Aby przekonwertować wyrażenia kanoniczne, musimy zmienić symbole ∑, ∑. Symbole te ulegają zmianie, gdy podajemy numery indeksowe równań. Z pierwotnej postaci równania liczby te są wykluczone. Formy SOP i POS funkcji boolowskiej są względem siebie dualne.
Istnieją następujące kroki, dzięki którym możemy łatwo przekształcić postacie kanoniczne równań:
- Zmień symbole operacyjne użyte w równaniu, takie jak ∑, ∏.
- Skorzystaj z zasady De-Morgana dualności, aby zapisać indeksy terminów, które nie są przedstawione w danej postaci równania lub numery indeksów funkcji Boole'a.
Konwersja POS do formularza SOP
Aby otrzymać formularz SOP z formularza POS, musimy zmienić symbol ∑ na ∑. Następnie zapisujemy indeksy numeryczne brakujących zmiennych danej funkcji boolowskiej.
Aby przekształcić funkcję POS F = Π x, y, z (2, 3, 5) = x y' z' + x y' z + x y z' do postaci SOP, należy wykonać następujące kroki:
- W pierwszym kroku zmieniamy znak operacyjny na Σ.
- Następnie znajdujemy brakujące indeksy terminów 000, 110, 001, 100 i 111.
- Na koniec zapisujemy formę iloczynu zauważonych terminów.
000 = x' * y' * z'
001 = x' * y' * z
100 = x * y' * z'
110 = x * y* z'
111 = x * y * z
Zatem formularz SOP wygląda następująco:
F = Σ x, y, z (0, 1, 4, 6, 7) = (x' * y' * z') + (x' * y' * z) + (x * y' * z') + (x * y* z') + (x * y * z)Konwersja formularza SOP do formularza POS
Aby uzyskać postać POS danego wyrażenia formularza SOP, zmienimy symbol ∑ na ∑. Następnie napiszemy indeksy liczbowe zmiennych, których brakuje w funkcji boolowskiej.
Aby przekonwertować funkcję SOP, należy wykonać następujące kroki: F = ∑ x, y, z (0, 2, 3, 5, 7) = x' y' z' + z y' z' + x y' z + xyz' + xyz do punktu sprzedaży:
- W pierwszym kroku zmieniamy znak operacyjny na ∏.
- Znajdujemy brakujące indeksy terminów 001, 110 i 100.
- Zapisujemy formę sumy odnotowanych terminów.
001 = (x + y + z)
zawiera w ciągu
100 = (x + y' + z')
110 = (x + y' + z')
Zatem formularz POS to:
F = Π x, y, z (1, 4, 6) = (x + y + z) * (x + y' + z') * (x + y' + z')Konwersja formularza SOP do standardowego formularza SOP lub kanonicznego formularza SOP
Aby uzyskać standardową formę SOP z podanego niestandardowego formularza SOP, dodamy wszystkie zmienne w każdym określeniu produktu, które nie mają wszystkich zmiennych. Używając prawa algebraicznego Boole'a (x + x' = 0) i wykonując poniższe kroki, możemy łatwo przekształcić normalną funkcję SOP w standardową postać SOP.
- Pomnóż każdy niestandardowy termin produktu przez sumę jego brakującej zmiennej i jej uzupełnienia.
- Powtarzaj krok 1, aż wszystkie powstałe terminy dotyczące produktów będą zawierać wszystkie zmienne
- Dla każdej brakującej zmiennej w funkcji liczba terminów iloczynowych podwaja się.
Przykład:
Konwertuj niestandardową funkcję SOP F = AB + A C + B C
Słońce:
F = A B + A C + B C= ZA B (C + C') + A (B + B') C + (A + A') B C
= A B do + A B C' + A B C + A B' C + A B C + A' B C
= ZA B do + A B C' + A B' C + A' B C
Zatem standardowa forma SOP w formie niestandardowej to F = A B C + A B C' + A B' C + A' B C
Konwersja formularza POS do standardowego formularza POS lub formularza Canonical POS
Aby uzyskać standardowy formularz POS z danego niestandardowego formularza POS, dodamy wszystkie zmienne w każdym określeniu produktu, które nie mają wszystkich zmiennych. Korzystając z prawa algebraicznego Boole'a (x * x' = 0) i wykonując poniższe kroki, możemy łatwo przekształcić normalną funkcję POS w standardowy formularz POS.
- Dodając każdy niestandardowy składnik sumy do iloczynu jego brakującej zmiennej i jej uzupełnienia, co daje 2 składniki sumy
- Stosowanie prawa algebraicznego Boole’a, x + y z = (x + y) * (x + z)
- Powtarzając krok 1, aż wszystkie powstałe składniki sumy będą zawierać wszystkie zmienne
Wykonując te trzy kroki, możemy przekształcić funkcję POS w standardową funkcję POS.
Przykład:
F = (p' + q + r) * (q' + r + s') * (p + q' + r' + s)1. Termin (p' + q + r)
Jak widzimy, w tym wyrazie brakuje zmiennej s lub s. Zatem dodajemy s*s' = 1 w tym wyrazie.
(p' + q + r + s*s') = (p' + q + r + s) * (p' + q + r + s')2. Termin (q' + r + s')
Podobnie dodajemy p*p' = 1 w tym terminie, aby otrzymać termin zawierający wszystkie zmienne.
(q' + r + s' + p*p') = (p + q' + r + s') * (p' + q' + r + s')3. Termin (q' + r + s')
Nie trzeba już nic dodawać, gdyż wszystkie zmienne zawarte są w tym wyrazie.
Zatem standardowe równanie funkcji w formie POS wygląda następująco:
jeśli jeszcze, jeśli jeszcze JavaF = (p' + q + r + s)* (p' + q + r + s')* (p + q' + r + s')* (p' + q' + r + s') * (p + q' + r' + s)