logo

Konwersja pomiędzy formami kanonicznymi

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ń:

  1. Zmień symbole operacyjne użyte w równaniu, takie jak ∑, ∏.
  2. 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:

  1. W pierwszym kroku zmieniamy znak operacyjny na Σ.
  2. Następnie znajdujemy brakujące indeksy terminów 000, 110, 001, 100 i 111.
  3. 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 Java
F = (p' + q + r + s)* (p' + q + r + s')* (p + q' + r + s')* (p' + q' + r + s') * (p + q' + r' + s)