Espresso . . . mankamenty.

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Funkcje tworzące są wygodnym narzędziem przy badaniu zmiennych losowych o wartościach całkowitych nieujemnych. Funkcje tworzące pierwszy raz badał de.
Minimalizacja formuł Boolowskich
Joanna Sawicka Wydział Nauk Ekonomicznych, Uniwersytet Warszawski
Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel
Układy sekwencyjne - pojęcie automatu
Architektura systemów komputerowych
JEJ WŁASNOŚCI ORAZ RODZAJE
Funkcje Barbara Stryczniewicz.
Filtracja obrazów cd. Filtracja obrazów w dziedzinie częstotliwości
Michał Łasiński Paweł Witkowski
Algorytm Rochio’a.
Układy logiczne kombinacyjne sekwencyjne
Minimalizacja funkcji boolowskich
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Struktury układów logicznych
Architektura komputerów
UKŁADY SZEREGOWO-RÓWNOLEGŁE
gdzie A dowolne wyrażenie logiczne ; x negacja x Tablice Karnaugha Minimalizacja A x+ A x=A gdzie A dowolne wyrażenie logiczne ;
Jaki jest następny wyraz ciągu: 1, 2, 4, 8, 16, …?
Tytuł prezentacji Warszawa, r..
O relacjach i algorytmach
Układy kombinacyjne.
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
UKŁADY LOGICZNE Prowadzi: Tadeusz ŁUBA, (GE pok. 472)
Dekompozycja metodą rachunku podziałów c.d.
Ekonometria szeregów czasowych
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Wyrażenia algebraiczne
Problem kodowania stanów w układach sekwencyjnych (automatach)
Problem kodowania stanów w układach sekwencyjnych (automatach)
Synteza logiczna w eksploracji danych
Espresso mankamenty.
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
MISTRZOSTWA BYDGOSZCZY
Obserwatory zredukowane
II Zadanie programowania liniowego PL
MATEMATYKA Mnożenie w zakresie 10.
KALENDARZ 2011r. Autor: Alicja Chałupka klasa III a.
1/34 HISTORIA BUDOWY /34 3/34 6 MAJA 2011.
Analiza wpływu regulatora na jakość regulacji (1)
Analiza wpływu regulatora na jakość regulacji
Minimalizacja funkcji boolowskich
Eksploracja danych (Data mining)
Przykład syntezy strukturalnej
Minimalizacja funkcji boolowskich
Dekompozycja Kalmana systemów niesterowalnych i nieobserwowalnych
Kalendarz 2011r. styczeń pn wt śr czw pt sb nd
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Systemy Liczbowe (technika cyfrowa)
Struktury układów logicznych
Sterowanie – metody alokacji biegunów II
(C) Jarosław Jabłonka, ATH, 5 kwietnia kwietnia 2017
II Zadanie programowania liniowego PL
Ekonometryczne modele nieliniowe
Funkcje Barbara Stryczniewicz Co z tym zrobisz Ćwiczenia wstępne Opis funkcji,elementy Własności funkcji 4 Sposoby przedstawiania funkcji 5.
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Bramki logiczne i układy kombinatoryczne
Dekompozycja metodą rachunku podziałów c.d.
Działania w systemie binarnym
Kalendarz 2020.
Elementy geometryczne i relacje
I T P W ZPT 1 Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 |S|  Problem kodowania w automatach Minimalna.
I T P W ZPT 1. I T P W ZPT 2 Synteza logicznaInżynieria informacji Dekompozycja funkcjonalna Odwzorowanie technologiczne FPGA Hierarchiczne podejmowanie.
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
ZPT f Gate ArrayStandard Cell Programmable Logic Devices PAL, PLA 1 Omówione do tej pory metody syntezy dotyczą struktur bramkowych… Dekompozycja funkcji.
ZPT 1 Dekompozycja nierozłączna Pojęcie r - przydatności Dekompozycja zrównoważona Dekompozycja równoległa.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Metoda klasyczna (wg książki Sasao)
Zapis prezentacji:

Espresso . . . mankamenty

…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

...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

Przykład z Synteza układów logicznych str 65 .type fr .i 10 .o 1 .p 25 0010111010 0 1010010100 0 0100011110 0 1011101011 0 1100010011 0 0100010110 0 1110100110 0 0100110000 0 0101000010 0 0111111011 1 0000010100 1 1101110011 1 0100100000 1 0100011111 1 0010000110 1 1111010001 1 1111101001 1 1111111111 1 0010000000 1 1101100111 1 0010001111 1 1111100010 1 1010111101 1 0110000110 1 0100111000 1 .e Funkcja 10 argumentów .i 10 .o 1 .p 6 ----00-1-- 1 00--0----- 1 ----10-0-0 1 ---1--0--1 1 ------1-0- 1 -----11--1 1 .e Espresso Brak x3 - 9 argumentów

Można wykazać, że funkcja ta jest zależna od… Zagadka... .type fr .i 10 .o 1 .p 25 0010111010 0 1010010100 0 0100011110 0 1011101011 0 1100010011 0 0100010110 0 1110100110 0 0100110000 0 0101000010 0 0111111011 1 0000010100 1 1101110011 1 0100100000 1 0100011111 1 0010000110 1 1111010001 1 1111101001 1 1111111111 1 0010000000 1 1101100111 1 0010001111 1 1111100010 1 1010111101 1 0110000110 1 0100111000 1 .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!!!

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

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 .

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 =

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 =

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:

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}

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 =

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!!!

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 =

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ą

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

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...

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 + x1x3x7 + . . .  {x4,x6} {x2,x3,x4,x6} {x2,x4,x5,x6} {x2,x4,x6,x7}

...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

Przykład z Synteza układów logicznych str 65 .type fr .i 10 .o 1 .p 25 0010111010 0 1010010100 0 0100011110 0 1011101011 0 1100010011 0 0100010110 0 1110100110 0 0100110000 0 0101000010 0 0111111011 1 0000010100 1 1101110011 1 0100100000 1 0100011111 1 0010000110 1 1111010001 1 1111101001 1 1111111111 1 0010000000 1 1101100111 1 0010001111 1 1111100010 1 1010111101 1 0110000110 1 0100111000 1 .e Funkcja TL27 10 argumentów .i 10 .o 1 .p 6 ----00-1-- 1 00--0----- 1 ----10-0-01 ---1--0--1 1 ------1-0- 1 -----11--1 1 .e Espresso 9 argumentów 6 termów

Funkcja TL27 Funkcja TL27 przed redukcją Funkcja TL27 po redukcji .type fr .i 10 .o 1 .p 25 0010111010 0 1010010100 0 0100011110 0 1011101011 0 1100010011 0 0100010110 0 1110100110 0 0100110000 0 0101000010 0 0111111011 1 0000010100 1 1101110011 1 0100100000 1 0100011111 1 0010000110 1 1111010001 1 1111101001 1 1111111111 1 0010000000 1 1101100111 1 0010001111 1 1111100010 1 1010111101 1 0110000110 1 0100111000 1 .e Realizacja funkcji f1 Ilość zmiennych = 7 Ilość wektorów = 25 R3 = {1,2,4,6,7,9,10} 0001110 0 1001000 0 0101110 0 1010111 0 1101011 0 0101010 0 1100010 0 0101000 0 0110010 0 0111111 1 0001000 1 1111011 1 0100000 1 0101111 1 0000010 1 1111001 1 1110101 1 1111111 1 0000000 1 1110011 1 0000111 1 1110010 1 1001101 1 0100010 1 0101100 1 Pandor Jeżeli zredukowaną funkcję zminimalizujemy ekspansją, to… Jedno z 10 rozwiązań po redukcji argumentów

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

Jedno z wielu rozwiązań po redukcji argumentów Funkcja KAZ Przed redukcją Po redukcji .type fr .i 21 .o 1 .p 31 100110010110011111101 1 111011111011110111100 1 001010101000111100000 1 001001101100110110001 1 100110010011011001101 1 100101100100110110011 1 001100100111010011011 1 001101100011011011001 1 110110010011001001101 1 100110110011010010011 1 110011011011010001100 1 010001010000001100111 0 100110101011111110100 0 111001111011110011000 0 101101011100010111100 0 110110000001010100000 0 110110110111100010111 0 110000100011110010001 0 001001000101111101101 0 100100011111100110110 0 100011000110011011110 0 110101000110101100001 0 110110001101101100111 0 010000111001000000001 0 001001100101111110000 0 100100111111001110010 0 000010001110001101101 0 101000010100001110000 0 101000110101010011111 0 101010000001100011001 0 011100111110111101111 0 .end 01010 1 10110 1 00100 1 01001 1 01000 1 11010 1 10011 0 01110 0 10100 0 11000 0 11011 0 10000 0 00010 0 01111 0 00011 0 11111 0 00000 0 01101 0 00110 0 Pandor Ile jest takich rozwiązań Jedno z wielu rozwiązań po redukcji argumentów

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

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

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ą

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=

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

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

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

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}  

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

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

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}

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}

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