informatyka:podstawy-dzialania-komputera:zamiania_tabeli_prawdy_na_wyrazenie_boolowskie

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
informatyka:podstawy-dzialania-komputera:zamiania_tabeli_prawdy_na_wyrazenie_boolowskie [2024/04/02 09:24] – created kawcixinformatyka:podstawy-dzialania-komputera:zamiania_tabeli_prawdy_na_wyrazenie_boolowskie [2024/04/07 00:34] (current) kawcix
Line 1: Line 1:
-s+====== 2 Zamiana tabeli prawdy na wyrażenie boola ====== 
 + 
 +<callout type="danger" title="Strona w budowie!"></callout> 
 + 
 +Mamy opisaną funckję boola za pomocą tabeli prawdy. 
 + 
 +Będziemy dążyć do stworzenia wyrażenia boola na podstawie tej tabelki. Po co nam taka umiejętność? 
 + 
 +Jest to niezbędne przy projektowaniu komputera i wszystkich urządzeń elektrycznych. Wiemy, co chcemy zrobić, ale musimy to zbudować z podstawowych operacji takich jak and or i not. 
 + 
 +^ x  ^ y  ^ z  ^ **output** 
 +| 0  | 0  | 0  | <color #22b14c>1</color>       | 
 +| 0  | 0  | 1  | 0       | 
 +| 0  | 1  | 0  | <color #22b14c>1 </color>      | 
 +| 0  | 1  | 1  | 0       | 
 +| 1  | 0  | 0  | <color #22b14c>1</color>       | 
 +| 1  | 0  | 1  | 0       | 
 +| 1  | 1  | 0  | 0       | 
 +| 1  | 1  | 1  | 0       | 
 + 
 + 
 +Skupiamy się tylko na wierszach tabeli, które zwracają 1. 
 + 
 +Piszemy dla nich wyrażenie które poprostu pasuje. 
 + 
 +Dla wiersza pierwszego może to być  
 + 
 +( NOT ( X ) AND NOT ( Y ) AND NOT( Z ) ) 
 + 
 +Szukamy kolejnego wiersza który zwraca jeden. jest to wiersz 3 
 + 
 +znowu piszemy wyrażenie tak, aby dla podanych argumentów x = 0 y = 1 z = 0 otrzymać w wyniku 1 
 + 
 +( NOT( X ) AND Y AND NOT( Z ) ) 
 + 
 +następnym wierszem który zwraca nam 1 jest wiersz 5 
 + 
 +aby dla argumentów x = 1, y = 0, z = 0 otrzymać 1, piszemy:  
 + 
 +(X AND NOT ( Y ) AND NOT( Z )) 
 + 
 + 
 + 
 +Chcemy zbudować jedno wyrażenie, które zwróci nam dokładnie wartość 1 we wszystkich wierszach które powinny zwrócić 1, a 0 w reszcie. 
 + 
 +Jest to bardzo proste, poprostu wykonujemy operacje OR na wszystkich wyrażeniach, które napisaliśmy 
 + 
 + 
 + 
 + 
 +( NOT ( X ) AND NOT ( Y ) AND NOT( Z ) ) OR ( NOT( X ) AND Y AND NOT( Z ) ) OR (X AND NOT ( Y ) AND NOT( Z )) 
 + 
 +Mamy jedno wyrażenie, które reprezentuję te tabelkę. Zwraca jedynkę tylko w 3 przypadkach. W innych zwraca 0. Możesz sobie podstawić wartości z tabeli powyżej, aby sprawdzić czy to prawda. 
 + 
 +Oczywiście mając te wyrażenie, możemy zmieniać jego format, próbować je upraszczać itp. Nie będziemy tego robić. Niektóre mogą być prostsze lub dłuższe. Ma to znaczenie w wydajności kiedy zaczynamy to implementować w "elektornice" . Jak skrócić wyrażenia, aby były jak najbardziej wydajne dla elektroniki? Nie jest to łatwe dla człowieka, ani nie istnieją żadne algorytmy, które mogą to zrobić dość wydajnie. 
 +jest to Problem NP-trudny (https://pl.wikipedia.org/wiki/Problem_NP-trudny) 
 + 
 +Powyższe wyrażenie rozwiązane przez https://www.boolean-algebra.com/ z wytłumaczeniem kroków. Polecam stronę.  
 + 
 +{{:informatyka:podstawy-dzialania-komputera:simplifedexample.png?600|}} 
 + 
 +Wychodzi nam, że wyrażenie może być uproszczone do  
 +(NOT(z) AND NOT(Y)) OR (NOT(Z) AND NOT(X)) 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
  • informatyka/podstawy-dzialania-komputera/zamiania_tabeli_prawdy_na_wyrazenie_boolowskie.1712042647.txt
  • Last modified: 2024/04/02 09:24
  • by kawcix