Podstawy Automatyki - Wyk ad 12 - synteza i minimalizacja ... · Minimalizacja funkcji logicznych...

27
Podstawy Automatyki Wyklad 12 - synteza i minimalizacja funkcji logicznych dr inż. Jakub Możaryn Instytut Automatyki i Robotyki Warszawa, 2017 dr inż. Jakub Możaryn Podstawy Automatyki

Transcript of Podstawy Automatyki - Wyk ad 12 - synteza i minimalizacja ... · Minimalizacja funkcji logicznych...

Podstawy Automatyki

Wykład 12 - synteza i minimalizacja funkcji logicznych

dr inż. Jakub Możaryn

Instytut Automatyki i Robotyki

Warszawa, 2017

dr inż. Jakub Możaryn Podstawy Automatyki

Synteza funkcji logicznych

Terminy - na bazie funkcji trójargumenowej

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

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

Składnik jedności – elementarny iloczyn, w którym występują wszystkieargumenty danej funkcji np. K = x1x2x3

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

Czynnik zera – elementarna suma, w której występują wszystkieargumenty danej funkcji np. K = x1 + x2 + x3

Kolejne stany argumentów danej funkcji, np. stan 011 (x1 = 0, x2 = 1,x3 = 1) tworzą dwójkowe zapisy liczb dziesiętnych, które nazywamynumerami stanu argumentów (np. numerem stanu argumentów 011jest 3).

dr inż. Jakub Możaryn Podstawy Automatyki

Synteza funkcji logicznych

Nr st. argum. x1 x2 x3 Składniki jedności Czynniki zera

0 0 0 0 K0 = x1x2x3 D0 = x1 + x2 + x31 0 0 1 K1 = x1x2x3 D1 = x1 + x2 + x32 0 1 0 K2 = x1x2x3 D2 = x1 + x2 + x33 0 1 1 K3 = x1x2x3 D3 = x1 + x2 + x34 1 0 0 K4 = x1x2x3 D4 = x1 + x2 + x35 1 0 1 K5 = x1x2x3 D5 = x1 + x2 + x36 1 1 0 K6 = x1x2x3 D6 = x1 + x2 + x37 1 1 1 K7 = x1x2x3 D7 = x1 + x2 + x3

W tablicy:

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

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

dr inż. Jakub Możaryn Podstawy Automatyki

Synteza funkcji logicznych

W tablicy:

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

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

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

składnik jedności Ki przyjmuje wartość 1 tylko dla i-tego stanuargumentów; dla pozostałych stanów argumentów jest zerem,

czynnik zera Di przyjmuje wartość 0 tylko dla i-tego stanuargumentów; dla pozostałych stanów argumentów jest jedynką.

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

dr inż. Jakub Możaryn Podstawy Automatyki

Synteza funkcji logicznych

Jakąkolwiek funkcję trójargumentową (i analogicznie funkcje o innejliczbie 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 stanieargumentó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.

dr inż. Jakub Możaryn Podstawy Automatyki

Synteza funkcji logicznych

Przykład – dana jest funkcja w postaci tablicy wartościKanoniczna 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 postacisymbolicznej (liczbowej):

y =∑

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)

dr inż. Jakub Możaryn Podstawy Automatyki

Synteza funkcji logicznychKanoniczna 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 postacisymbolicznej (liczbowej):

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)

dr inż. Jakub Możaryn Podstawy Automatyki

Synteza funkcji logicznych

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

Są one tworzone z wykorzystaniem tylko trzech operacji logicznych:alternatywy, koniunkcji i negacji.

Zestaw (zbiór) funkcji logicznych umożliwiający tworzenie algebraicznychzapisów dowolnych funkcji logicznych nazywa się systememfunkcjonalnie pełnym.

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

Systemami funkcjonalnie pełnymi są także:

alternatywa i negacja,

koniunkcja i negacja,

funkcja NOR,

funkcja NAND

i inne.dr inż. Jakub Możaryn Podstawy Automatyki

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 nichelementarnych operacji logicznych, co nazywamy minimalizacją funkcjilogicznych.

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

Operacja sklejania (sklejanie), w przypadku minimalizacji kanonicznejpostaci 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

Przykład:x1x2x3 + x1x2x3 = x1x2 (13)

dr inż. Jakub Możaryn Podstawy Automatyki

Minimalizacja funkcji logicznych

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 kolejnychprzekształceń pierwotnego zapisu funkcji w postaci kanonicznej nazywasię metodą przekształceń algebraicznych.

dr inż. Jakub Możaryn Podstawy Automatyki

Minimalizacja funkcji logicznych

Inne metody minimalizacji:

metoda Quine′a–McCluskey ′a,

metoda tablic Karnaugha,

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

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

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

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

dr inż. Jakub Możaryn Podstawy Automatyki

Minimalizacja funkcji logicznych

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

x1x2x3 + x1x2x3 = x1(x2x3 + x2x3) (16)

Zmniejszenie liczby operacji logicznych występujących w normalnejpostaci koniunkcyjnej jest możliwe jeżeli z dwóch lub więcejelementarnych 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ą.

dr inż. Jakub Możaryn Podstawy Automatyki

Minimalizacja metodą przekształceń algebraicznych

Zminimalizujmy funkcję zdefiniowaną w postaci tablicy wartości:Kanoniczna postać alternatywna funkcji mapostać

y = x1x2x3 + x1x2x3 + x1x2x3+

x1x2x3 + x1x2x3 + x1x2x3 (18)

Można w niej zauważyć pokazanemożliwości sklejeń

y = x1x2x3 + x1x2x3︸ ︷︷ ︸+ x1x2x3 + x1x2x3︸ ︷︷ ︸++ x1x2x3 + x1x2x3︸ ︷︷ ︸ = x1x2 + x1x2 + x1x2

(19)

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

dr inż. Jakub Możaryn Podstawy Automatyki

Minimalizacja metodą przekształceń algebraicznych

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

y = x1x2 + x1x2 + x1x2 = x1x2 + x1x2︸ ︷︷ ︸+ x1x2 + x1x2︸ ︷︷ ︸ = 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 przyzmiennej x3, zatem w rezultacie sklejenia obu czynników otrzymuje siępostać minimalną

y = x1 + x2 = x2 + x1 (22)

dr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

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

Rysunek: Tablicazwykła dla funkcjitrzyargumentowych

Rysunek: Tablica Karnaugha

Rysunek: Tablica Karnaugha z numerami stanuargumentów

dr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

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

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

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

Rysunek: TablicaKarnaugha z numeramistanu argumentów

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

dr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

Przykład 1: minimalizacja postaci alternatywnej

Rysunek: TablicaKarnaugha

Funkcja przyjmuje wartość 1 w stanachargumentów 0 i 1, co oznacza, żekanoniczna postać alternatywna funkcji jestsumą logiczną składników jedności K0 i 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 podstawiewartoś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)

dr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

Przykład 2: minimalizacja postaci koniunkcyjnej

Rysunek: TablicaKarnaugha

Funkcja przyjmuje wartość 0 w stanachargumentów 0 i 1, co oznacza, żekanoniczna postać koniunkcyjna funkcji jestiloczynem logicznym czynników zera D0 iD1, 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 podstawiewartoś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)

dr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

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

Funkcja przyjmuje wartość 1 w stanachargumentów 0, 1, 4 i 5, co oznacza, żekanoniczna postać alternatywna funkcji jestsumą logiczną składników jedności K0, K1,K4 i K5, które można skleić

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

Ponieważ dla tych jedynek x2 = 0, to

y = x2 (27)

dr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

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

Przykład 4

Rysunek: TablicaKarnaugha

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

y = x1 (28)

Dla funkcjitrójargumentowychmożna takżewykorzystywać tabliceKarnaugha wukładzie pionowym

Rysunek: Tablica Karnaughadr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

Rysunek: Tablice Karnaugha dla funkcji dwu- i czteroargumentowych

Tablice Karnaugha umożliwiają także minimalizację funkcji pięcio- isześcioargumentowych.

dr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

Rysunek: Przykłady minimalizacji funkcji trójargumentowych.

dr inż. Jakub Możaryn Podstawy Automatyki

Metoda tablic Karnaugha

Rysunek: Przykłady minimalizacji funkcji czteroargumentowych.

dr inż. Jakub Możaryn Podstawy Automatyki

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 zamiastwartości zmiennej zależnej wpisuje się kreskę. W liczbowych zapisachfunkcji nie w pełni określonych numery stanów nie określonych podaje sięw nawiasach, np.

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

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

=∏

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

dr inż. Jakub Możaryn Podstawy Automatyki

Minimalizacja funkcji logicznych nie w pełni określonych

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

Rysunek: TablicaKarnaugha

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

Sklejając jedynki w efekcie uzyskuje sięnormalna postać alternatywną funkcji. Wtakim przypadku korzystnie jest przyjąć, żewe wszystkich stanach nie w pełniokreślonych zmienna zależna przyjmujewartość 1.

dr inż. Jakub Możaryn Podstawy Automatyki

Minimalizacja funkcji logicznych nie w pełni określonych

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

Rysunek: TablicaKarnaugha

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

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

Zatem funkcja uzyskana w wynikusklejania zer jest inną niż funkcjauzyskana w wyniku sklejania jedynek -choć pożądane działanie jest takie samo,różnice dotyczą tylko stanów nieokreślonych.

dr inż. Jakub Możaryn Podstawy Automatyki

Podstawy Automatyki

Wykład 12 - synteza i minimalizacja funkcji logicznych

dr inż. Jakub Możaryn

Instytut Automatyki i Robotyki

Warszawa, 2017

dr inż. Jakub Możaryn Podstawy Automatyki