Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Espresso . . . mankamenty.

Podobne prezentacje


Prezentacja na temat: "Espresso . . . mankamenty."— Zapis prezentacji:

1 Espresso . . . mankamenty

2 …czyli ta funkcja nie zależy od: x1,x3,x5
Funkcja 7 argumentów x1 x2 x3 x4 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 Przecież są tu tylko 4 argumenty? …czyli ta funkcja nie zależy od: x1,x3,x5

3 ...ale gdybyśmy wiedzieli o tym wcześniej, że
funkcja ta zależy tylko od {x2,x4,x6,x7} x1 x2 x3 x4 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 x2 x4 x6 x7 f 1 2 3 4 5 6 7 8 9 Czy można przewidzieć od jakich argumentów funkcja istotnie zależy ??? A taką funkcję można łatwo zminimalizować nawet na tablicy Karnaugha

4 Przykład z Synteza układów logicznych str 65
.type fr .i 10 .o 1 .p 25 .e Funkcja 10 argumentów .i 10 .o 1 .p 6 .e Espresso Brak x3 - 9 argumentów

5 Można wykazać, że funkcja ta jest zależna od…
Zagadka... .type fr .i 10 .o 1 .p 25 .e Od ilu argumentów zależy ta funkcja Można wykazać, że funkcja ta jest zależna od… …zaledwie 7 argumentów! Espresso redukuje składniki iloczynowe Nie redukuje argumentów!!!

6 Nowy sposób opisu funkcji: rachunek podziałów
PROBLEM: Obliczania minimalnej liczby argumentów od których funkcja istotnie zależy ...jest bardzo istotny w redukowaniu złożoności obliczeniowej procedur minimalizacji funkcji boolowskich, a w konsekwencji może się przyczynić do uzyskiwania lepszych rezultatów. Nowy sposób opisu funkcji: rachunek podziałów

7 Elementy rachunku podziałów
(Fragment wykładu: Pojęcia podstawowe) Podziałem na zbiorze S jest system zbiorów P = {Bi }, którego bloki są rozłączne, czyli Bi  Bj =, jeśli tylko i  j = a ponadto S B i i Dla S = {1,2,3,4,5,6}, P = {{1,2}, {3,5}, {4,6} } jest podziałem na S.  = Podzbiory nazywamy blokami Podstawowe pojęcia: Iloczyn podziałów, iloraz podziałów oraz relacja .

8 Elementy rachunku podziałów…
Powiemy, że podział Pa jest nie większy od Pb (co oznaczamy: Pa   Pb ), jeśli każdy blok z Pa jest zawarty w pewnym bloku z Pb. a = b = c = a = c ≤ a Tak c = c  b NIE! (0) – podział najmniejszy b = (1) – podział największy c =

9 Elementy rachunku podziałów…
Iloczynem podziałów a • b nazywamy największy (względem relacji ) podział, który jest nie większy od a oraz b. a = b = a • b =

10 Elementy rachunku podziałów…
Podział ilorazowy Niech Pa i Pb są podziałami na S oraz Pa   Pb. Podział Pa | Pb jest podziałem ilorazowym Pa i Pb , jeżeli jego elementy są blokami Pb, a bloki są blokami Pa. Na przykład:

11 Nowy sposób opisu funkcji - podziały
1 2 3 4 5 6 7 8 9 x1 x2 x3 x4 x5 x6 x7 f 1 Tworzymy podziały (dwublokowe) na zbiorze ponumerowanych wektorów tablicy prawdy S = {1,2,3,4,5,6,7,8,9}

12 Nowy sposób opisu funkcji - podziały
Funkcja f x1 x2 x3 x4 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 P1 = P2 = P3 = P4 = P5 = P6 = P7 = Pf =

13 Pojęcie zmiennej niezbędnej
Jeżeli wektory Xa oraz Xb: f (Xa)  f (Xb), różnią się dokładnie dla jednej zmiennej to zmienną taką nazywamy niezbędną Zmienne niezbędne: x1 x2 x3 x4 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 x4 x6 Zmienne niezbędne występują w każdym wyrażeniu funkcji!!!

14 Zmienne niezbędne - przykład
Funkcja f x4 x6 – zmienne niezbędne różnią się na pozycji ponieważ wiersze 2 i 8 x1 x2 x3 x4 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 x4 x6 na pozycji a wiersze 4 i 9 P4 =  P6 =  Dalej liczymy iloczyn P4 P6  P4•P6 = Pf =

15 Zatem x4 jest zmienną niezbędną
Wyjaśnienie… x1 x2 x3 x4 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 x1 x2 x3 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 Tablica specyfikacji jest sprzeczna, ponieważ f(101110) = 0 (wektor 2) f(101110) = 1 (wektor 8) Zatem x4 jest zmienną niezbędną

16 Redukcja argumentów – przykład…
Iloczyn podziałów wyznaczonych przez zmienne niezbędne (ozn. PN) ma bardzo ważną interpretację PN = P4•P6 = Pf = Wystarczy bowiem obliczyć, PN|PN•PF = aby wiedzieć jakie wektory należy rozdzielić 1, 5, 7, 9 4, 6, 8

17 Redukcja argumentów – przykład c.d.
x1 x2 x3 x4 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 1, 5, 7, 9 4, 6, 8 1, 5 1, 7 1, 9 4, 6 4, 8 x1 x2 x3 x5 x7 x2 x3 x1 x2 x3 x5 x7 x2 x3 x2 x7 Tu obliczamy minimalne pokrycie kolumnowe x2 x3 x7 x2 x7 ...obliczamy systematycznie...

18 Redukcja argumentów – przykład c.d.
x1 x2 x3 x5 x7 x2 x3 x2 x7 (x1 + x2) (x3 + x5 + x7) (x2 + x3) (x2 + x7) = = (x2 +x1)(x2 + x3)(x2 + x7)(x3 + x5 + x7) = =(x2 +x1x3x7) (x3 + x5 + x7) = Tylko to było znalezione przez Espresso = x2x3 + x2x5 +x2x7 + x1x3x  {x4,x6} {x2,x3,x4,x6} {x2,x4,x5,x6} {x2,x4,x6,x7}

19 ...ale gdybyśmy wiedzieli o tym wcześniej, że
funkcja ta zależy tylko od {x2,x4,x6,x7} x1 x2 x3 x4 x5 x6 x7 f 1 2 3 4 5 6 7 8 9 x2 x4 x6 x7 f 1 2 3 4 5 6 7 8 9 A taką funkcję można łatwo zminimalizować nawet na tablicy Karnaugha

20 Przykład z Synteza układów logicznych str 65
.type fr .i 10 .o 1 .p 25 .e Funkcja TL27 10 argumentów .i 10 .o 1 .p 6 .e Espresso 9 argumentów 6 termów

21 Funkcja TL27 Funkcja TL27 przed redukcją Funkcja TL27 po redukcji
.type fr .i 10 .o 1 .p 25 .e Realizacja funkcji f1 Ilość zmiennych = 7 Ilość wektorów = 25 R3 = {1,2,4,6,7,9,10} Pandor Jeżeli zredukowaną funkcję zminimalizujemy ekspansją, to… Jedno z 10 rozwiązań po redukcji argumentów

22 Przykład TL27 Wynik Pandora po RedArg i Ekspasji:
7 argumentów, 5 termów Wynik Espresso: 9 argumentów, 6 termów

23 Jedno z wielu rozwiązań po redukcji argumentów
Funkcja KAZ Przed redukcją Po redukcji .type fr .i 21 .o 1 .p 31 .end Pandor Ile jest takich rozwiązań Jedno z wielu rozwiązań po redukcji argumentów

24 Przykład KAZ Silnie nieokreślona funkcja 21 argumentów, 31 wektorów w TP Wynik Pandora – 5 argumentów, 3 termy Wynik Espresso – 9 argumentów, 3 termy

25 Redukcja argumentów Espresso
Wprowadzenie redukcji argumentów do procedury ekspansji daje – w rozsądnym czasie – wyniki lepsze niż słynne Espresso

26 Zadanie nieco trudniejsze…
Można redukować argumenty funkcji wielowyjściowych X1 X2 X3 X4 X5 X6 X7 X8 X9 y1 y2 1 2 3 4 5 6 7 8 9 10 Jeżeli wektory Xa oraz Xb: f (Xa)  f (Xb), różnią się dokładnie dla jednej zmiennej to zmienną taką nazywamy niezbędną

27 Na kolosach i egzaminach są zawsze podawane
Zadanie… Zmienne niezbędne  Na kolosach i egzaminach są zawsze podawane N = {x1,x3,x7}   PN=P1•P3•P7 PN Podział ilorazowy: PN|PN•PF PN|PN•PF=

28 Zadanie… X1 X2 X3 X4 X5 X6 X7 X8 X9 y1 y2 1 2 3 4 5 6 7 8 9 10 2,4,6,8,9 v 1,4 1,8 8,9 4,8 2,4,6 2,7 5,6,9 5,6 2,5,6,8 5,10 4,5,6,9 6,10 2,4,8,9 v

29 Zadanie… Wyrażenie boolowskie według indeksów zmiennych Xi:

30 Zadanie… Wyrażenie boolowskie według indeksów zmiennych Xi:
Redukujemy nadmiarowe skadniki… Wyrażenie boolowskie według indeksów zmiennych

31 Pamiętając, że zmienne niezbędne były:
Zadanie… Ostatecznie: Wyrażenie boolowskie według indeksów zmiennych Pamiętając, że zmienne niezbędne były:  {x1,x3,x7}  

32 Zadanie. . . {x1,x3,x7}   Łatwo wypisać wszystkie minimalne rozwiązania: x1, x2, x3, x7, x9 x1, x3, x6, x7, x9 x1, x3, x6, x7, x8 x1, x3, x4, x5, x7, x9 x1, x3, x4, x7, x8, x9 x1, x2, x3, x5, x7, x8 x1, x3, x4, x5, x7, x8

33 Dekompozycja równoległa…
Xh H Xg Yg G X Yh X Y F Y = Yg  Yh

34 Dekompozycja równoległa - przykład
y1: {x1, x2, x6} 1 11 10 9 8 7 6 5 4 3 2 y6 y5 y4 y3 y2 y1 x8 x7 x6 x5 x4 x3 x2 x1 y2: {x3, x4} y3: {x1, x2, x4, x5, x8} {x1, x2, x4, x6, x8} y4: {x1, x2, x3, x4, x7} y5: {x1, x2, x4} y6: {x1, x2, x6, x8}

35 Dekompozycja równoległa - przykład
y1: {x1, x2, x6} y2: {x3, x4} y3: {x1, x2, x4, x5, x8} {x1, x2, x4, x6, x8} y4: {x1, x2, x3, x4, x7} y5: {x1, x2, x4} y6: {x1, x2, x6, x8} G = {y1, y3, y6 } H= {y2, y4,y5} Xg = {x1, x2, x4, x6, x8} Xh = {x1, x2, x3, x4, x7}

36 Dekompozycja równoległa - przykład
1 9 8 7 6 5 4 3 2 y6 y3 y1 x9 x6 x4 x2 x1 1 7 6 5 4 3 2 y5 y4 y2 x7 x4 x3 x2 x1 x1 x2 x3 x4 x5 x6 x7 x8 H G y1 y3 y6 y2 y4 y5


Pobierz ppt "Espresso . . . mankamenty."

Podobne prezentacje


Reklamy Google