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

Both sides previous revision Previous revision
Next revision
Previous revision
informatyka:podstawy-dzialania-komputera:zamiania_tabeli_prawdy_na_wyrazenie_boolowskie [2024/04/02 09:54] kawcixinformatyka:podstawy-dzialania-komputera:zamiania_tabeli_prawdy_na_wyrazenie_boolowskie [2024/04/07 00:34] (current) kawcix
Line 1: Line 1:
-====== Zamiana tabeli prawdy na wyrażenie boola ======+====== Zamiana tabeli prawdy na wyrażenie boola ====== 
 + 
 +<callout type="danger" title="Strona w budowie!"></callout>
  
 Mamy opisaną funckję boola za pomocą tabeli prawdy. Mamy opisaną funckję boola za pomocą tabeli prawdy.
Line 7: Line 9:
 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. 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 +^ x  ^ y  ^ z  ^ **output**  ^ 
-| 0  | 0  | 0  | 1       |+| 0  | 0  | 0  | <color #22b14c>1</color>       |
 | 0  | 0  | 1  | 0       | | 0  | 0  | 1  | 0       |
-| 0  | 1  | 0  | 1       |+| 0  | 1  | 0  | <color #22b14c></color>      |
 | 0  | 1  | 1  | 0       | | 0  | 1  | 1  | 0       |
-| 1  | 0  | 0  | 1       |+| 1  | 0  | 0  | <color #22b14c>1</color>       |
 | 1  | 0  | 1  | 0       | | 1  | 0  | 1  | 0       |
 | 1  | 1  | 0  | 0       | | 1  | 1  | 0  | 0       |
Line 25: Line 27:
  
 ( NOT ( X ) AND NOT ( Y ) AND NOT( Z ) ) ( 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.1712044460.txt
  • Last modified: 2024/04/02 09:54
  • by kawcix