Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.

Podobne prezentacje


Prezentacja na temat: "I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich."— Zapis prezentacji:

1 I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich (Uniwersytet Kalifornijski w Berkeley) : Absolutnie nieprzydatna do obliczeń komputerowych Metoda tablic Karnaugha Metoda Quine’a – McCluskey’a Metoda i system Espresso (1984)

2 I T P W ZPT 2 Procedury systemu ESPRESSO Expand Essential primes Irredundant-Cover Reduce Last-gasp F,D F M Complement Omówienie całego Espresso jest nierealne !

3 I T P W ZPT 3 Metoda ekspansji Łączy idee metody Quine’a McCluskey’a oraz metody Espresso: Metoda ta zrealizowana w programie InstantRS jest udostępniona na stronie przedmiotu w katalogu: Komputerowe narzędzia syntezy logicznej a) generacja implikantów prostych (wg Espresso) b) selekcja implikantów (wg Quine’a McCluskey’a) Zmodyfikowana metoda ekspansji Ze względu na ograniczony zakres wykładu omówimy wyłącznie: Metodę Ekspansji (jako przykładową procedurę Espresso)

4 I T P W ZPT 4 Ekspansja - pojęcia podstawowe Kostka K to krotka o składowych 0, 1,  reprezentująca zbiór wektorów zero-jedynkowych. Kostka reprezentuje niepełny iloczyn: K = 0  1  = 0010 0011 0110 0111 K = (0  1  ), to zbiór wektorów: Nie każda kostka jest implikantem, ale każdy implikant jest kostką. Kostka może być zbiorem wektorów fałszywych, albo prawdziwych i fałszywych.

5 I T P W ZPT 5 Oznaczenia W ekspansji wektory (w ogólności kostki), dla których funkcja f = 1 oznacza się zbiorem F. Wektory (kostki) dla których funkcja f = 0 oznacza się zbiorem R. f = (F, R)

6 I T P W ZPT 6 Przykład (EXTL) x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f 10001010 10111100 11011100 11101110 k1k1 01001011 k2k2 10001101 k3k3 10100001 k4k4 10101101 k5k5 11101011

7 I T P W ZPT 7 Ekspansja Ekspansja jest procesem działającym na wektorach (kostkach) zbiorów F i R, a jej celem jest uzyskanie dla danej k  F kostki k' tak dużej, jak to tylko możliwe (tzn. z możliwie dużą liczbą pozycji o wartości  ) i nie pokrywającej żadnego wektora zbioru R. W swoich obliczeniach Ekspansja wykorzystuje tzw. macierz blokującą B. Macierz blokująca dla danej kostki k  F powstaje z macierzy R przez zanegowanie tych kolumn R, których pozycje są wyznaczone przez pozycje jedynek w kostce k  F.

8 I T P W ZPT 8 Tworzenie macierzy blokującej Wyznaczymy macierz blokującą dla kostki k 1 wiedząc, że F i R są opisane macierzami: Skoro k 1 = (0100101), to dla uzyskania B wystarczy w macierzy R "zanegować" kolumny drugą, piątą i siódmą. Zatem B(k 1,R):

9 I T P W ZPT 9 Pokrycie kolumnowe Pokryciem kolumnowym macierzy B jest zbiór kolumn L (L  {1,...,n}) taki, że dla każdego wiersza i istnieje kolumna j  L, która w wierszu i ma jedynkę. Pokryciem kolumnowym Zbiór L jest minimalnym pokryciem kolumnowym macierzy B, jeśli nie istnieje zbiór L’ (tworzący pokrycie) taki, że L  L’. L = {L 4, L 7 } jest pokryciem kolumnowym. L = {L 2, L 3, L 6 } jest pokryciem kolumnowym. L = {L 2, L 3 } – nie L = {L 2, L 6 } – nie L = {L 3, L 6 } – nie Przykład i interpretacja: Obliczenie jakiegokolwiek minimalnego pokrycia kolumnowego nie jest trudne!

10 I T P W ZPT 10 Jak obliczyć wszystkie… minimalne pokrycia kolumnowe! Koniunkcję sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów Zapisać zbiory kolumn wskazywane 1 (jedynkami) Składniki tego iloczynu reprezentują minimalne pokrycia (L i, L j,L k …) (L k, L p,L q …) (L i + L j + L k ) (L k + L p + L q ) … w postaci iloczynu sum L i L k + L j L p L q + …

11 I T P W ZPT 11 (L 6 + L 7 ) (L 3 + L 4 ) (L 2 + L 4 ) (L 2 + L 3 + L 7 ) = ( L 4 + L 2 )(L 4 + L 3 )( L 7 + L 6 )(L 7 + L 2 + L 3 ) = ( L 4 + L 2 L 3 )(L 7 + L 6 (L 2 + L 3 )) = ( L 4 + L 2 L 3 )(L 7 + L 2 L 6 + L 3 L 6 ) = L 4 L 7 + L 2 L 4 L 6 + L 3 L 4 L 6 + L 2 L 3 L 7 + L 2 L 3 L 6 + L 2 L 3 L 6 Przykład… Korzystamy z własności algebry Boole’a {L 6, L 7 } {L 3, L 4 } {L 2, L 4 } {L 2, L 3, L 7 } Obliczanie pokrycia kolumnowego

12 I T P W ZPT 12 {L 6, L 7 } {L 3, L 4 } {L 2, L 4 } {L 2, L 3, L 7 } L 4 L 7 + L 2 L 4 L 6 + L 3 L 4 L 6 + L 2 L 3 L 7 + L 2 L 3 L 6 Obliczanie pokrycia kolumnowego {L 4, L 7 } {L 2, L 4, L 6 } Obliczona i zminimalizowana suma iloczynów reprezentuje wszystkie minimalne pokrycia kolumnowe {L 3, L 4, L 6 }... Pokrycie kolumnowe jest pojęciem ogólnym, można go tworzyć dla każdej macierzy binarnej

13 I T P W ZPT 13 Pokrycie kolumnowe macierzy blokującej B(k,R) pozwala wyznaczyć ekspansję kostki k oznaczaną k + (L,k) w sposób następujący: wszystkie składowe kostki k należące do L nie ulegają zmianie, natomiast składowe nie należące do L przyjmują wartość . Ekspansja kostki k jest implikantem funkcji f = (F,R). W szczególności k + (L,k) jest implikantem prostym, gdy L jest minimalnym pokryciem kolumnowym macierzy B(k,R). Generacja (obliczanie) implikantów

14 I T P W ZPT 14 Obliczanie implikantów - przykład Dla k 2 = (1000110) i macierzy B= zbiór L = {4,7} jest pokryciem kolumnowym B, a więc Natomiast dla L = {2,3,6} (inne pokrycie kolumnowe), k + (L,k) = (  00  1  ) = k 2 = (1000110) czyli implikantem F jest k + (L, k 2 ) = (  0  0),

15 I T P W ZPT 15 Procedura Ekspansji 10010k1k1 10100k2k2 01 011kjkj 11 011knkn Macierz blokująca Wszystkie minimalne pokrycia kolumnowe Wszystkie (najkrótsze) implikanty proste Zbiór implikantów prostych Powtarzamy dla każdej kostki k j  F Uzyskane zbiory implikantów prostych porządkujemy wyrzucając implikanty powtarzające się Obliczanie implikantów prostych

16 I T P W ZPT 16 Implikanty proste Obliczając kolejno implikanty proste dla każdej k  F uzyskuje się: Dla k 1 1 x 74 xx 2 5 x 3 4 74 xx 63 xx 5 62 xx k1k1 k2k2 k3k3 k4k4 k5k5 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f 10001010 10111100 11011100 11101110 01001011 10001101 10100001 10101101 11101011..są powtarzające się

17 I T P W ZPT 17 Implikanty proste Porządkując i oznaczając kolejno uzyskujemy następujący zbiór implikantów prostych: Na ogół jest to zbiór za duży, zatem trzeba wybrać „najlepsze” implikanty.

18 I T P W ZPT 18 … przystępujemy do procesu selekcji Selekcji minimalnej liczby implikantów prostych umożliwiających realizację (pokrycie) funkcji boolowskiej dokonuje się za pomocą tzw. * r lub t r T) (R T pokrywaR i ii   jeśli (101  )   1 * (0 ) ) (0010) 1 * (0  ) ) Relacja pokrycia dla kostek Tablicy implikantów (prostych) Pojęciem pomocniczym umożliwiającym konstrukcję TI jest:

19 I T P W ZPT 19 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 k1k1 0100101 k2k2 1000110 k3k3 1010000 k4k4 1010110 k5k5 1110101 Relacja pokrycia dla kostek 1 k  )(0 , 51 kk  )01(  432 k,k,k  0)0(  Tablica F:

20 I T P W ZPT 20 Tablica implikantów prostych I1I1 I2I2 I3I3 I4I4 I5I5 k1k1 k2k2 k3k3 k4k4 k5k5 Korzystając z informacji jakie wektory (kostki) funkcji pierwotnej są pokrywane poszczególne implikanty, tworzymy tablicę implikantów prostych: 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 10 00 01 00 11 W tablicy tej wiersze reprezentują: kostki funkcji pierwotnej, a kolumny – implikanty (kostki po ekspansji). Jeśli i k  to w przecięciu wiersza i, kolumny j, stawiamy 1, w przeciwnym przypadku – 0. 432 514 11 k,k,kI k,kI k I    3 I  3 k 5 I  53 k,k 2

21 I T P W ZPT 21 Selekcja implikantów prostych I 1, I 4 I 2 I 2,I 3, I 5 I 2 I 4, I 5 Inny zapis tablicy: Minimalne pokrycie: Minimalna formuła: I 1, I 4 I 4, I 5 I 2,I 4 Pokrycie kolumnowe Jak z tej tablicy znaleźć minimalny zbiór implikantów „pokrywający” każdą k 1,…, k 5 I1I1 I2I2 I3I3 I4I4 I5I5 k1k1 k2k2 k3k3 k4k4 k5k5 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 10 00 01 00 11

22 I T P W ZPT 22 Rozdział 12: Espresso, InstantRS Implementacja metody – program InstantRS Na stronie przedmiotu w katalogu: KOMPUTEROWE NARZĘDZIA SYNTEZY LOGICZNEJ Prace dyplomowe BłyskawicaBłyskawica (ZIP - 364 kB) Espresso ProtonEspresso Proton (ZIP - 2 511 kB) Espresso 64Espresso 64 (ZIP - 159 kB) instantRSinstantRS (ZIP - 5 098 kB) Rough Set Exploration SystemRough Set Exploration System (ZIP - 3 260 kB) Downloading Rough Set Exploration System GENERATORGENERATOR (EXE - 62 kB) kazmin1.tab kazmin2.tab RSES instrukcja

23 I T P W ZPT 23 Implementacja metody – program InstantRS

24 I T P W ZPT 24 Implementacja metody – program InstantRS

25 I T P W ZPT 25 Standard espresso.type fr.i 5.o 1.p 11 11101 0 00010 0 00110 0 10001 0 01100 0 00000 1 11000 1 11010 1 01110 1 11100 1 01011 1.e Przyklad 4.13: Liczba wejść Liczba wyjść Liczba wierszy

26 I T P W ZPT 26 Implementacja metody – program InstantRS …w Formacie trzeba zaznaczyć opcję Logic

27 I T P W ZPT 27 Implementacja metody – program InstantRS Minimal Decision Rules uruchamia proces minimalizacji

28 I T P W ZPT 28 Implementacja metody – program InstantRS >> Started calculation at: 22. Sep 2014, 18:22:25 >> Elapsed: 0.0100 sec. >> Prime Set [Decision 1]: I1 = !x1!x2!x4 (in 1 obj) I2 = !x1!x3!x4 (in 1 obj) I3 = !x2!x4!x5 (in 1 obj) I4 = !x3!x4!x5 (in 2 obj) I5 = x1!x5 (in 3 obj) I6 = x2!x3 (in 3 obj) I7 = x1x4 (in 1 obj) I8 = x2x4 (in 3 obj) I9 = !x1x5 (in 1 obj) I10 = x4x5 (in 1 obj) #| I1| I2| I3| I4| I5| I6| I7| I8| I9|I10| c1| 1| 1| 1| 1| 0| 0| 0| 0| 0| 0| c2| 0| 0| 0| 1| 1| 1| 0| 0| 0| 0| c3| 0| 0| 0| 0| 1| 1| 1| 1| 0| 0| c4| 0| 0| 0| 0| 0| 0| 0| 1| 0| 0| c5| 0| 0| 0| 0| 1| 0| 0| 0| 0| 0| c6| 0| 0| 0| 0| 0| 1| 0| 1| 1| 1| >> Min Decision Rules (Reduced Set) 1] !x1!x2!x4 + x1!x5 + x2x4 2] !x1!x3!x4 + x1!x5 + x2x4 3] !x2!x4!x5 + x1!x5 + x2x4 4] !x3!x4!x5 + x1!x5 + x2x4 Przykład 4.13 (Synteza logiczna).type fr.i 5.o 1.p 11 11101 0 00010 0 00110 0 10001 0 … 11100 1 01011 1.e

29 I T P W ZPT 29 Metoda heurystyczna... Oblicza się ekspansję kostki k 1 (ozn. E(k 1 )) – tylko jedną Wykreśla się z macierzy F wszystkie wektory pokrywane przez E(k 1 ) Powstaje nowa macierz F’, w której bierzemy pierwszą kostkę i postępujemy tak samo… Proces kończy się, gdy pokryjemy (wykreślimy) wszystkie kostki F Wynik (zminimalizowaną funkcję) tworzą kolejno obliczone ekspansje (Wygodna do stosowania w obliczeniach ręcznych)

30 I T P W ZPT 30 Przykład obliczany oryginalną ekspansją x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f 10001010 10111100 11011100 11101110 k1k1 01001011 k2k2 10001101 k3k3 10100001 k4k4 10101101 k5k5 11101011

31 I T P W ZPT 31 Przykład… 7654321 F                0100101 1000110 1010000 1010110 1110101 k5k5 k4k4 k3k3 k2k2 k1k1 7654321 7654321

32 I T P W ZPT 32                      0100000 1101100 1101010 0000110 7654321 B 7654321 1110101 k5k5 F = 7654321 Przykład… Wynik gorszy, ale zadowalający

33 I T P W ZPT 33 Procedury systemu ESPRESSO Expand Essential primes Irredundant-Cover Reduce Last-gasp F,D F M Complement 62 xx 


Pobierz ppt "I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich."

Podobne prezentacje


Reklamy Google