TC Moduł 2: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
m Zastępowanie tekstu – „,...,” na „,\ldots,” |
||
(Nie pokazano 2 wersji utworzonych przez 2 użytkowników) | |||
Linia 17: | Linia 17: | ||
|valign="top"|Pojęcie funkcji boolowskiej jest pojęciem podstawowym umożliwiającym modelowanie zjawisk fizycznych reprezentowanych jako odwzorowanie ciągów (wektorów) binarnych należących do zbioru '''X''' w ciągi binarne (wektory) ze zbioru '''Y''', gdzie zbiory '''X''', '''(Y)''' są podzbiorami ''n''-krotnego, (m-krotnego) iloczynu kartezjańskiego zbioru '''B''' = {0, 1}. | |valign="top"|Pojęcie funkcji boolowskiej jest pojęciem podstawowym umożliwiającym modelowanie zjawisk fizycznych reprezentowanych jako odwzorowanie ciągów (wektorów) binarnych należących do zbioru '''X''' w ciągi binarne (wektory) ze zbioru '''Y''', gdzie zbiory '''X''', '''(Y)''' są podzbiorami ''n''-krotnego, (m-krotnego) iloczynu kartezjańskiego zbioru '''B''' = {0, 1}. | ||
Formalnie funkcją boolowską zmiennych binarnych <math>x_1, | Formalnie funkcją boolowską zmiennych binarnych <math>x_1,\ldots,x_n</math> nazywamy odwzorowanie <math>f: X \rightarrow Y</math>, gdzie <math>X \subseteq B^n, Y \subseteq B^m</math>. | ||
Jeżeli <math>X = B^n</math>, to funkcję taką nazywamy zupełną; w przeciwnym przypadku jest to funkcja niezupełna, zwana również funkcją nie w pełni określoną. | Jeżeli <math>X = B^n</math>, to funkcję taką nazywamy zupełną; w przeciwnym przypadku jest to funkcja niezupełna, zwana również funkcją nie w pełni określoną. | ||
Linia 29: | Linia 29: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M2_Slajd4.png]] | |valign="top" width="500px"|[[Grafika:TC_M2_Slajd4.png]] | ||
|valign="top"|Funkcja <math>f</math> może być przedstawiona w postaci tablicy prawdy. Jest to tablica o <math>n+1</math> kolumnach i <math> | |valign="top"|Funkcja <math>f</math> może być przedstawiona w postaci tablicy prawdy. Jest to tablica o <math>n+1</math> kolumnach i <math>2^n</math> wierszach. W kolejnych wierszach są zapisywane wszystkie wartości ciągu <math>x_1,\ldots,x_n</math>, czyli wszystkie wektory <math>x</math>. W ostatniej kolumnie podana jest wartość y przyporządkowywana danemu wektorowi lub „–”, jeżeli funkcja dla tego wektora nie jest określona. Kolejne wektory są numerowane, przy czym wartość <math>i</math> podana z lewej strony w dodatkowej kolumnie jest dziesiętnym odpowiednikiem wektora <math>x</math> traktowanego jako liczba w zapisie dwójkowym. | ||
|} | |} | ||
Linia 79: | Linia 79: | ||
Własności stałych: | Własności stałych: | ||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>a + 0 = a</math><br><br><math>a + 1 = 1</math> | |||
|valign="top"|<math>a \cdot 0 = 0</math><br><br><math>a \cdot 1 = a</math> | |||
|} | |||
Własności negacji: | |||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>a+\bar a =1</math> | |||
|valign="top"|<math>a \cdot \bar a = 0</math> | |||
|} | |||
Podwójna negacja: | |||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>\overline{\overline{a}}=a</math> | |||
|} | |||
Idempotentność: | |||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>a + a = a</math> | |||
|valign="top"|<math>a \cdot a = a</math> | |||
|} | |||
Przemienność: | |||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>a + b = b + a</math> | |||
|valign="top"|<math>a \cdot b = b \cdot a</math> | |||
|} | |||
Łączność: | |||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>a + (b + c) = (a + b) + c</math> | |||
|valign="top"|<math>a \cdot (b \cdot c) = (a \cdot b) \cdot c</math> | |||
|} | |||
Rozdzielność: | |||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>(a + b) \cdot (a + c) = a + b \cdot c</math> | |||
|valign="top"|<math>a \cdot (b + c) = a \cdot b + a \cdot c</math> | |||
|} | |||
Pochłanianie: | |||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>a + a \cdot b = a</math> | |||
|valign="top"|<math>a \cdot (a + b) = a</math> | |||
|} | |||
Prawa De Morgana: | |||
{| border="0" cellpadding="4" width="100%" | |||
|valign="top"|<math>\overline{a+b}=\overline{a} \cdot \overline{b}</math> | |||
|valign="top"|<math>\overline{a \cdot b}=\overline{a}+\overline{b}</math> | |||
|} | |||
|} | |} | ||
Linia 86: | Linia 146: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M2_Slajd11.png]] | |valign="top" width="500px"|[[Grafika:TC_M2_Slajd11.png]] | ||
|valign="top"| | |valign="top"|W algebrze Boole’a, operacje "<math>+</math>" (dysjunkcja) i "<math>\cdot</math>" (koniunkcja) nazywa się również przez analogię do arytmetyki odpowiednio dodawaniem i mnożeniem. Operacje dodawania i mnożenia są przemienne oraz rozdzielne względem siebie. Elementy binarne 0 oraz 1 spełniają rolę elementu neutralnego odpowiednio względem operacji dodawania i mnożenia. Dla każdego elementu <math>a</math> istnieje element <math>\overline{a}</math>, nazywany negacją, spełniający odpowiednie własności. | ||
Starszeństwo działań w algebrze Boole'a jest takie same jak w zwykłej arytmetyce (np. wyrażenie <math>a + bc</math> interpretujemy jako <math>a + (bc)</math>, a nie jako <math>(a + b)c</math>, a nawiasy są opuszczane tam, gdzie nie prowadzi to do nieporozumień; opuszczamy także znak mnożenia "<math>\cdot</math>", a zamiast symbolu "<math>+</math>", często używamy symbolu <math>\lor</math>. | |||
|} | |} | ||
Linia 93: | Linia 156: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M2_Slajd12.png]] | |valign="top" width="500px"|[[Grafika:TC_M2_Slajd12.png]] | ||
|valign="top"| | |valign="top"|Stosując prawa algebry Boole’a, poprzednio podane wyrażenie na <math>f</math> można uprościć w sposób pokazany na planszy. Ostatecznie wyrażenie to można zrealizować w układzie kombinacyjnym, którego struktura – znacznie prostsza od poprzedniej realizacji – jest pokazana na rysunku. Zasygnalizowany tu proces upraszczania wyrażeń boolowskich ma ogromne znaczenie praktyczne i opracowano dla jego potrzeb wiele zaawan¬sowanych metod syntezy, które z technicznego punktu widzenia nazywa się metodami ''minimalizacji funkcji boolowskich''. Wiele z nich doczekało się realizacji w postaci zaawansowanych narzędzi komputerowych i stanowi podstawę nowoczesnej syntezy logicznej. | ||
|} | |} | ||
Linia 100: | Linia 163: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M2_Slajd13.png]] | |valign="top" width="500px"|[[Grafika:TC_M2_Slajd13.png]] | ||
|valign="top"| | |valign="top"|Na planszy pokazujemy cały proces syntezy funkcji boolowskiej tzn. przejście od tablicy prawdy, której odpowiada skomplikowane wyrażenie boolowskie. Wyrażenie to można zrealizować bezpośrednio, ale taka realizacja nie jest korzystna z technicznego punktu widzenia. Znacznie lepsza jest realizacja funkcji zminimalizowanej. | ||
|} | |} | ||
Linia 107: | Linia 170: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M2_Slajd14.png]] | |valign="top" width="500px"|[[Grafika:TC_M2_Slajd14.png]] | ||
|valign="top"| | |valign="top"|Sens fizyczny minimalizacji i jej ogromne znaczenie praktyczne wynika z faktu, że oba układy: pierwotny i zminimalizowany działają identycznie. | ||
|} | |} | ||
Linia 114: | Linia 177: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:TC_M2_Slajd15.png]] | |valign="top" width="500px"|[[Grafika:TC_M2_Slajd15.png]] | ||
|valign="top"| | |valign="top"|Z tych powodów zastosowania omówionego procesu syntezy są w dzisiejszej technice ogromne i dotyczą tak ważnych zagadnień jak np. projektowanie skrzynek permutacyjnych układów kryptograficznych oraz projektowanie układów arytmetyki rozproszonej powszechnie stosowanych w cyfrowym przetwarzaniu sygnałów i obrazów. | ||
|} | |} |
Aktualna wersja na dzień 21:57, 15 wrz 2023
![]() |
Układy logiczne – pojęcia podstawowe. |
![]() |
Oto przykłady uproszczonego zapisu funkcji boolowskich. Podane zapisy specyfikują funkcje boolowskie, których wektory wejściowe określone są liczbami dziesiętnymi. |
![]() |
Dla funkcji opisanej tablicą prawdy podaną w tabelce na planszy podajemy sposób tworzenia formuły boolowskiej. |
![]() |
W algebrze Boole’a, operacje "" (dysjunkcja) i "" (koniunkcja) nazywa się również przez analogię do arytmetyki odpowiednio dodawaniem i mnożeniem. Operacje dodawania i mnożenia są przemienne oraz rozdzielne względem siebie. Elementy binarne 0 oraz 1 spełniają rolę elementu neutralnego odpowiednio względem operacji dodawania i mnożenia. Dla każdego elementu istnieje element , nazywany negacją, spełniający odpowiednie własności.
Starszeństwo działań w algebrze Boole'a jest takie same jak w zwykłej arytmetyce (np. wyrażenie interpretujemy jako , a nie jako , a nawiasy są opuszczane tam, gdzie nie prowadzi to do nieporozumień; opuszczamy także znak mnożenia "", a zamiast symbolu "", często używamy symbolu . |
![]() |
Stosując prawa algebry Boole’a, poprzednio podane wyrażenie na można uprościć w sposób pokazany na planszy. Ostatecznie wyrażenie to można zrealizować w układzie kombinacyjnym, którego struktura – znacznie prostsza od poprzedniej realizacji – jest pokazana na rysunku. Zasygnalizowany tu proces upraszczania wyrażeń boolowskich ma ogromne znaczenie praktyczne i opracowano dla jego potrzeb wiele zaawan¬sowanych metod syntezy, które z technicznego punktu widzenia nazywa się metodami minimalizacji funkcji boolowskich. Wiele z nich doczekało się realizacji w postaci zaawansowanych narzędzi komputerowych i stanowi podstawę nowoczesnej syntezy logicznej. |
![]() |
Na planszy pokazujemy cały proces syntezy funkcji boolowskiej tzn. przejście od tablicy prawdy, której odpowiada skomplikowane wyrażenie boolowskie. Wyrażenie to można zrealizować bezpośrednio, ale taka realizacja nie jest korzystna z technicznego punktu widzenia. Znacznie lepsza jest realizacja funkcji zminimalizowanej. |
![]() |
Sens fizyczny minimalizacji i jej ogromne znaczenie praktyczne wynika z faktu, że oba układy: pierwotny i zminimalizowany działają identycznie. |
![]() |
Z tych powodów zastosowania omówionego procesu syntezy są w dzisiejszej technice ogromne i dotyczą tak ważnych zagadnień jak np. projektowanie skrzynek permutacyjnych układów kryptograficznych oraz projektowanie układów arytmetyki rozproszonej powszechnie stosowanych w cyfrowym przetwarzaniu sygnałów i obrazów. |