• Nie Znaleziono Wyników

Podstawy Automatyki Wykład 10 - synteza i minimalizacja funkcji logicznych dr inż. Jakub Możaryn

N/A
N/A
Protected

Academic year: 2021

Share "Podstawy Automatyki Wykład 10 - synteza i minimalizacja funkcji logicznych dr inż. Jakub Możaryn"

Copied!
28
0
0

Pełen tekst

(1)

Podstawy Automatyki

Wykład 10 - synteza i minimalizacja funkcji logicznych

dr inż. Jakub Możaryn

Instytut Automatyki i Robotyki

Warszawa, 2016

(2)

Synteza funkcji logicznych

Wprowadźmy szereg terminów posługując się przykładowo funkcją trójargumenową

y = (x1, x2, x3) (1)

Elementarny iloczyn funkcji jest to dowolny iloczyn argumentów prostych lub zanegowanych, np. x1· x3, x1· x2· overlinex3

Składnik jedności – elementarny iloczyn, w którym występują wszystkie argumenty danej funkcji.

Elementarna suma funkcji jest to dowolna suma argumentów prostych lub zanegowanych, np. x1+ x3, x1+ x2+ x3

Czynnik zera – elementarna suma, w której występują wszystkie argumenty danej funkcji.

Kolejne stany argumentów danej funkcji, np. stan 011

(x1= 0, x2= 1, x3= 1) tworzą dwójkowe zapisy liczb dziesiętnych, które nazywamy numerami stanu argumentów; numerem stanu argumentów 011 jest 3.

(3)

Synteza funkcji logicznych

Nr st. argum. x1 x2 x3 Składniki jedności Czynniki zera 0 0 0 0 K0= x1x2x3 D0= x1+ x2+ x3

1 0 0 1 K1= x1x2x3 D1= x1+ x2+ x3 2 0 1 0 K2= x1x2x3 D2= x1+ x2+ x3

3 0 1 1 K3= x1x2x3 D3= x1+ x2+ x3 4 1 0 0 K4= x1x2x3 D4= x1+ x2+ x3

5 1 0 1 K5= x1x2x3 D5= x1+ x2+ x3 6 1 1 0 K6= x1x2x3 D6= x1+ x2+ x3

7 1 1 1 K7= x1x2x3 D7= x1+ x2+ x3 W tablicy:

składnik jedności K oznaczono indeksem i , jeżeli dla i -tego stanu argumentów przyjmuje on wartość 1,

czynnik zera D oznaczono indeksem i , jeżeli dla i -tego stanu argumentów przyjmuje on wartość 0.

(4)

Synteza funkcji logicznych

W tablicy:

składnik jedności K oznaczono indeksem i , jeżeli dla i -tego stanu argumentów przyjmuje on wartość 1,

czynnik zera D oznaczono indeksem i , jeżeli dla i -tego stanu argumentów przyjmuje on wartość 0.

Należy zauważyć, że dla przyjętego sposobu numeracji składników jedności i czynników zera:

składnik jedności Ki przyjmuje wartość 1 tylko dla i -tego stanu argumentów; dla pozostałych stanów argumentów jest zerem, czynnik zera Di przyjmuje wartość 0 tylko dla i -tego stanu argumentów; dla pozostałych stanów argumentów jest jedynką.

Liczba składników jedności (czynników zera) jest równa liczbie stanów argumentów.

(5)

Synteza funkcji logicznych

Jakąkolwiek funkcję trójargumentową (i analogicznie funkcje o innej liczbie argumentów) można zapisać w postaci:

y = (x1, x2, x3) = y0·K0+y1·K1+y2·K2+y3·K3+y4·K4+y5·K5+y6·K6+y7·K7

(2) zwanej kanoniczną postacią alternatywną danej funkcji, gdzie: y0- wartość zmiennej zależnej funkcji przy zerowym stanie argumentów, y1- wartość funkcji przy pierwszym stanie argumentów, itd.

lub w postaci

y = (x1, x2, x3) = (y0+ D0)(y1+ D1)(y2+ D2)(y3+ D3)

(y4+ D4)(y5+ D5)(y6+ D6)(y7+ D7) (3) zwanej kanoniczną postacią koniunkcyjną danej funkcji.

(6)

Synteza funkcji logicznych

Przykład – dana jest funkcja w postaci tablicy wartości Kanoniczna postać alternatywna:

y = f (x1, x2, x3) = 1 · K0+ 1 · K1+ 0 · K2+ 0 · K3+ +1 · K4+ 1 · K5+ 1 · K6+ 1 · K7

(4) Po usunięciu składników o wartości 0 y = f (x1, x2, x3) = K0+K1+K4+K5+K6+K7

(5) Funkcję tę można przedstawić w postaci symbolicznej (liczbowej):

y =X

0, 1, 4, 5, 6, 7 (6) Właściwym zapisem kanonicznej postaci alternatywnej danej funkcji jest:

y = x1x2x3+ x1x2x3+ x1x2x3+ x1x2x3+ x1x2x3+ x1x2x3 (7)

(7)

Synteza funkcji logicznych

Przykład – dana jest funkcja w postaci tablicy wartości Kanoniczna postać koniunkcyjna:

y = f (x1, x2, x3) = (1 + D0)(1 + D1)(0 + D2) (0 + D3)(1 + D4)(1 + D5)(1 + D6)(1 + D7) (8) Po usunięciu czynników o wartości 1, otrzymuje się

y = f (x1, x2, x3) = D2· D3 (9) Funkcję tę można przedstawić w postaci symbolicznej (liczbowej):

y =Y

0, 1, 4, 5, 6, 7 (10) Właściwym zapisem kanonicznej postaci koniunkcyjnej danej funkcji jest:

y = (x1+ x2+ x3)(x1+ x2+ x3) (11)

(8)

Synteza funkcji logicznych

Postacie kanoniczne są algebraiczną formą zapisu dowolnie złożonych funkcji logicznych.

Są one tworzone z wykorzystaniem tylko trzech operacji logicznych:

alternatywy, koniunkcji i negacji.

Zestaw (zbiór) funkcji logicznych umożliwiający tworzenie algebraicznych zapisów dowolnych funkcji logicznych nazywa się systemem

funkcjonalnie pełnym.

Zestaw funkcji: alternatywa, koniunkcja i negacja nazywany jest podstawowym systemem funkcjonalnie pełnym.

Systemami funkcjonalnie pełnymi są także:

alternatywa i negacja, koniunkcja i negacja, funkcja NOR, funkcja NAND i inne.

(9)

Minimalizacja funkcji logicznych

Na ogół, korzystając z praw algebry Boole’a, można przekształcać postacie kanoniczne w celu zmniejszenia liczby występujących w nich elementarnych operacji logicznych, co nazywamy minimalizacją funkcji logicznych.

Podstawową czynnością przy poszukiwaniu możliwości minimalizacji postaci kanonicznych jest poszukiwanie par składników jedności lub par czynników zera, nad którymi można wykonać tzw. operację sklejania.

Operacja sklejania (sklejanie), w przypadku minimalizacji kanonicznej postaci alternatywnej, polega na wykonaniu działań typu

a · b + a · b = a · (b + b) = a · 1 = a (12) gdzie: a reprezentuję jednakową część obu składników, b - zmienną różniącą się znakiem negacji

(10)

Minimalizacja funkcji logicznych

Przykład:

x1x2x3+ x1x2x3= x1x2 (13) W przypadku minimalizacji kanonicznej postaci koniunkcyjnej, operacja sklejania polega na wykonaniu działań typu

(a + b)(a + b) = a + (bb) = a + 0 = a (14) gdzie: a reprezentuję jednakową część obu składników, b - zmienną różniącą się znakiem negacji

Przykład:

(x1+ x2+ x3)(x1+ x2+ x3) = x1+ x2 (15) Metoda minimalizacji polegająca na wykonywaniu kolejnych

przekształceń pierwotnego zapisu funkcji w postaci kanonicznej nazywa się metodą przekształceń algebraicznych.

(11)

Minimalizacja funkcji logicznych

Inne metody minimalizacji:

metoda Quine0a–McCluskey0a, metoda tablic Karnaugha,

usprawniają jedynie procedurę poszukiwania możliwości i wykonywania operacji sklejania.

Postać funkcji uzyskana w wyniku wykonaniu wszystkich możliwych sklejeń w kanonicznej postaci alternatywnej nazywa się normalną postacią alternatywną.

Postać funkcji uzyskana w wyniku wykonaniu wszystkich możliwych sklejeń w kanonicznej postaci koniunkcyjnej nazywa się normalną postacią koniunkcyjną.

Postacie normalne nie zawsze są opisem wykorzystującym najmniejszą z możliwych operacji logicznych.

(12)

Minimalizacja funkcji logicznych

Zmniejszenie liczby operacji logicznych występujących w normalnej postaci alternatywnej jest możliwe jeżeli z dwóch lub więcej elementarnych iloczynów można wyprowadzić przed nawias wspólny czynnik (prawo o rozdzielności mnożenia względem dodawania), np.

x1x2x3+ (x1x2x3= x1(x2x3+ x2x3) (16) Zmniejszenie liczby operacji logicznych występujących w normalnej postaci koniunkcyjnej jest możliwe jeżeli z dwóch lub więcej

elementarnych sum można wyprowadzić przed nawias wspólny składnik (prawo o rozdzielności dodawania względem mnożenia), np.

(x1+ x2+ x3)(x1+ x2+ x3) = x1+ (x2+ x3)(x2+ x3) (17) Operacje takie nazywane są faktoryzacją.

(13)

Minimalizacja metodą przekształceń algebraicznych

Zminimalizujmy funkcję zdefiniowaną w postaci tablicy wartości:

Kanoniczna postać alternatywna funkcji ma postać

y = x1x2x3+ x1x2x3+ x1x2x3+

x1x2x3+ x1x2x3+ x1x2x3 (18) Można w niej zauważyć pokazane

możliwości sklejeń y = x1x2x3+ x1x2x3

| {z }

+ x1x2x3+ x1x2x3

| {z }

+ + x1x2x3+ x1x2x3

| {z }

= x1x2+ x1x2+ x1x2

(19) W uzyskanym wyniku widoczna jest możliwość dalszego sklejania - środkowy składnik można skleić z pierwszym i z trzecim.

(14)

Minimalizacja metodą przekształceń algebraicznych

Korzystając z twierdzenia algebry Boole’a x + x = x ,środkowy składnik można traktować jakby wystąpił dwukrotnie. Zatem:

y = x1x2+ x1x2+ x1x2= x1x2+ x1x2

| {z }

+ x1x2+ x1x2

| {z }

= x2+ x1 (20)

Uzyskana postać funkcji y = x2+ x1 jest postacią minimalną.

Kanoniczna postać koniunkcyjna rozważanej funkcji ma postać:

y = (x1+ x2+ x3)(x1+ x2+ x3) (21) Występujące w niej czynniki zera różnią się znakiem negacji przy

zmiennej x3, zatem w rezultacie sklejenia obu czynników otrzymuje się y = x1+ x2= x2+ x1 (22)

(15)

Metoda tablic Karnaugha

Tablice Karnaugha są specyficzną formą tablic wartości funkcji

Rysunek :Tablica zwykła dla funkcji trzyargumentowych

Rysunek :Tablica Karnaugha

Rysunek :Tablica Karnaugha z numerami stanu argumentów

(16)

Metoda tablic Karnaugha

W tablicach Karnaugha wartości zmiennej zależnej y są wpisywane w pola tablicy,które odpowiadają wartościom argumentów wypisanych na obrzeżach tablicy.

Charakterystyczną cechą tablic Karnaugha jest to, że sąsiednie wartości stanów argumentów różnią się tylko jedną pozycją (wartości argumentów są kolejnymi liczbami w kodzie Graya).

Dzięki temu, składniki jedności funkcji (albo czynniki zera) o numerach znajdujących się w polach sąsiednich można sklejać.

Rysunek :Tablica Karnaugha z numerami stanu argumentów

Polami sąsiednimi są np. pola 0 i 1, 0 i 2, 4 i 6, 0 i 4 itd.

(17)

Metoda tablic Karnaugha

Przykład 1: minimalizacja postaci alternatywnej

Rysunek :Tablica Karnaugha

Funkcja przyjmuje wartość 1 w stanach argumentów 0 i 1, co oznacza, że

kanoniczna postać alternatywna funkcji jest sumą logiczną składników jedności K0i K1 , które można skleić:

y = K0+ K1= x1· x2· x3+ x1· x2· x3= x1· x2 (23) Mówi się, że zostały sklejone jedynki, znajdujące się w polach 0 i 1.

Praktycznie wynik sklejania ustala się bezpośrednio na podstawie wartości argumentów jednakowych dla obu pól.

Polom 0 i 1 odpowiadają wartości x1= 0 i x2= 0; dlatego

y = 00− = x1· x2 (24)

(18)

Metoda tablic Karnaugha

Przykład 2: minimalizacja postaci koniunkcyjnej

Rysunek :Tablica Karnaugha

Funkcja przyjmuje wartość 0 w stanach argumentów 0 i 1, co oznacza, że

kanoniczna postać koniunkcyjna funkcji jest iloczynem logicznym czynników zera D0i D1, które można skleić.

y = D0· D1= (x1+ x2+ x3) · (x1+ x2+ x3) (25) Mówi się, że zostały sklejone zera, znajdujące się w polach 0 i 1.

Praktycznie wynik sklejania ustala się bezpośrednio na podstawie wartości argumentów jednakowych dla obu pól.

Polom 0 i 1 odpowiadają wartości x1= 0 i x2= 0; dlatego

y = 00− = x1+ x2 (26)

(19)

Metoda tablic Karnaugha

Ponadto, dzięki usytuowaniu wartości argumentów w tablicach Karnaugha, sklejają się wyniki sklejeń sąsiednich par jedynek albo sąsiednich par zer.

Przykład 3

Rysunek :Tablica Karnaugha

Funkcja przyjmuje wartość 1 w stanach argumentów 0, 1, 4 i 5, co oznacza, że kanoniczna postać alternatywna funkcji jest sumą logiczną składników jedności K0, K1, K4i K5, które można skleić

Wynik sklejania otrzymuje się na podstawie wartości argumentu nie zmieniającego się dla sklejanych jedynek.

Ponieważ dla tych jedynek x2= 0, to

y = x2 (27)

(20)

Metoda tablic Karnaugha

Sąsiednimi parami jedynek, dającymi się skleić są także pary poziome.

Przykład 4

Rysunek :Tablica Karnaugha

Sklejając czwórkę jedynek lub czwórkę zer, otrzymuje się

y = x1 (28)

Dla funkcji

trójargumentowych można także

wykorzystywać tablice Karnaugha w

układzie pionowym

Rysunek :Tablica Karnaugha

dr inż. Jakub Możaryn Podstawy Automatyki

(21)

Metoda tablic Karnaugha

Rysunek :Tablice Karnaugha dla funkcji dwu- i czteroargumentowych Tablice Karnaugha umożliwiają także minimalizację funkcji pięcio- i sześcioargumentowych.

(22)

Metoda tablic Karnaugha

Rysunek :Przykłady minimalizacji funkcji trójargumentowych.

(23)

Metoda tablic Karnaugha

Rysunek :Przykłady minimalizacji funkcji czteroargumentowych.

(24)

Minimalizacja funkcji logicznych nie w pełni określonych

Funkcjami logicznymi nie w pełni określonymi nazywają się funkcje, które dla niektórych stanów argumentów nie mają określonych wartości.

W tablicach wartości takich funkcji w stanach nie określonych zamiast wartości zmiennej zależnej wpisuje się kreskę. W liczbowych zapisach funkcji nie w pełni określonych numery stanów nie określonych podaje się w nawiasach, np.

y (x1, x2, x3, x4) =X

0, 1, 2, 3, 4, 9, 11(5, 7, 13, 15) =Y

6, 8, 10, 12, 14(5, 7, 13, 15) (29)

(25)

Minimalizacja funkcji logicznych nie w pełni określonych

Przykład 5a: Minimalizacja postaci alternatywnej funkcji nie w pełni określonej

Rysunek :Tablica Karnaugha

y = x1· x2+ x1· x3+ x4 (30)

Sklejając jedynki, czego efektem jest normalna postać alternatywna funkcji, korzystnie jest przyjąć, że we wszystkich stanach nie określonych zmienna zależna przyjmuje wartość 1.

(26)

Minimalizacja funkcji logicznych nie w pełni określonych

Przykład 5b: Minimalizacja postaci koniunkcyjnej funkcji nie w pełni określonej

Rysunek :Tablica Karnaugha

y = (x2+x3)·(x1+x4) (31)

W przypadku sklejania zer, co prowadzi do uzyskania normalnej postaci koniunkcyjnej, najprostszą postać funkcji uzyskuje się przyjmując, że w dwóch stanach nie określonych zmienna zależna przyjmuje wartość 0 (a więc w pozostałych przyjmuje wartość 1).

Zatem funkcja uzyskana w wyniku sklejania zer jest inną niż funkcja uzyskana w wyniku sklejania jedynek, co nie ma znaczenia, gdyż różnice dotyczą tylko stanów nie określonych.

(27)

Kody liczb całkowitych nieujemnych

Kody liczbowe dzielimy na analityczne

nieanalityczne (symboliczne)

Kody analityczne są umownym zapisem algebraicznego wyrażenia reprezentującego dana liczbę.

Każdą liczbę całkowitą można wyrazić w postaci

0

X

i =n

ai10i = an10n+ an−110n−1+ ... + a0100 (32)

przykładowo

1989 = 1 · 103+ 9 · 102+ 8 · 101+ 9 · 100 (33)

(28)

Podstawy Automatyki

Wykład 10 - synteza i minimalizacja funkcji logicznych

dr inż. Jakub Możaryn

Instytut Automatyki i Robotyki

Warszawa, 2016

Cytaty

Powiązane dokumenty

Ponieważ w automatyce rozważa się zachowanie układów w otoczeniu określonego punktu pracy, w dalszych rozważaniach przydatny jest linearyzacja metodą stycznej... Linearyzacja

Takie układy przekaźnikowe nazywają się układami mostkowymi albo układami klasy H. Przykładem układu mostkowego

Do tworzenia algebraicznego zapisu dowolnie złożonych funkcji logicznych niezbędny jest odpowiedni zestaw elementarnych operacji logicznych, tzw. system

Do realizacji dowolnie złożonych układów logicznych niezbędny jest zestaw elementów realizujących funkcje logiczne tworzące system funkcjonalnie pełny... Układy z

W układach automatyki wyróżnia się otwarty układ sterowania zwany też układem sterowania i zamknięty układ sterowania nazywany układem regulacji automatycznej lub

Układy ekstremalne - układy regulacji, których zadaniem jest utrzymywanie wielkości wyjściowej obiektu regulacji na wartości ekstremalnej (minimum lub maksimum). Przykład:

Do opisu działania dyskretnych układów sterowania wykorzystuje się funkcje logiczne dwuwartościowe. Różnych dwuwartościowych funkcji logicznych o liczbie argumentów n jest 2

wzmacniania sygnałów dostarczanych przez przekaźniki wejściowe, przekaźniki wyjściowe (wykonawcze), zwane także stycznikami, przystosowane pod względem mocy do sterowania