(Microsoft PowerPoint - ULOG16c.pps [tryb zgodno\234ci])
Transkrypt
(Microsoft PowerPoint - ULOG16c.pps [tryb zgodno\234ci])
Algorytm uzupełnienia (Complement) .type fr .i 21 Funkcja KAZ .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 ZPT Czas obliczeń RSES ok. 1godz Czas obliczeń metody z zastosowanym algorytmem uzupełnienia = 234 ms. Kilkanaście tysięcy razy szybciej! 1 Zastosowanie algorytmu Complement database attr. inst. RSES/ROSETTA house breast-cancer -wisconsin KAZ 17 232 1s compl. method 187ms 10 699 2s 823ms 27 70min out of memory (5h 38min) 234ms 5574 6ms 689 29min 4m 47s 507 42s 741ms 23437 14s 508ms 37367 3m 32s 143093 111h 57m 3604887 trains 22 31 33 10 agaricus-lepiota -mushroom 23 8124 urology 36 500 audiology 71 200 dermatology 35 366 lung-cancer 57 32 out of memory (12h) out of memory (1h 17min) out of memory (3h 27min) out of memory (5h 20min) reducts 4 Niesamowita skuteczność algorytmu uzupełnienia: ZPT 2 Co oblicza algorytm uzupełnienia x4x5 00 01 11 10 x1x2x3 F = {(1*1**), (1***1), (*11**), (*1**1), (**11*)}. 000 001 1 1 1 1 1 010 1 1 110 1 1 1 1 011 111 101 100 ZPT 1 1 1 1 1 1 1 Uzupełnienie funkcji F można obliczyć zakreślając pętelki wokół kratek nie wypełnionych 1. 1 1 Uzupełnienie funkcji F jest reprezentowane kostkami: {(00*0*), (000**),(**0*0)}. Obliczanie uzupełnienia na tablicy Karnaugha nie ma sensu8 3 Algorytm uzupełnienia (Complement) 8dla funkcji o dużej liczbie zmiennych po raz pierwszy został zaproponowany w Espresso, F,D Complement Expand Ale w Espresso Complement spełnia wyłącznie pomocniczą rolę Essential primes Irredundant-Cover Reduce FM Last-gasp ZPT Algorytm uzupełnienia (Complement) Sprytna procedura uzupełniania polega na iteracyjnym rozkładzie zbioru kostek reprezentującego funkcję f na kofaktory. Kofaktory te są obliczane tak długo, aż odpowiadające im zbiory kostek staną się „łatwe” do obliczenia ich uzupełnienia. f = x j fxj + x j fxj f = x j fxj + x j fxj Proces kończy „scalanie” wyników cząstkowych. ZPT 5 Complement funkcji jednorodnej Szczególnie prosto oblicza się uzupełnienie funkcji jednorodnej. F = x j Fx j + Fx j F = x j ⋅ F0 + F1 Kostki funkcji jednorodnej reprezentuje się binarnie. 0 1 ∗ 0 F = ∗ ∗ 1 ∗ 0 ∗ 1 ∗ 1 1 0 1 M = 0 0 1 0 1 0 1 0 Uzupełnienie oblicza się dla macierzy M. ZPT 6 Rozkład macierzy M Wybór zmiennej: 1) Wybieramy kostkę (wiersz macierzy M) z największą liczbą zer. 2) W wybranej kostce wybieramy zmienne, które mają jedynkę w tej kostce. 3) Spośród wybranych w punkcie 2) zmiennych wybieramy tę, która ma najwięcej jedynek w swojej kolumnie. ZPT 7 Rozkład macierzy M Obliczanie kofaktorów: Kofaktory macierzy M oblicza się według następującego schematu: Kofaktor jedynkowy macierzy M względem zmiennej xj otrzymujemy przez ustawienie wszystkich pozycji j-tej kolumny macierzy M na zera. Kofaktor zerowy macierzy M względem zmiennej xj otrzymujemy przez wypisanie z M tych kostek (wierszy), w których zmienna xj przyjmuje wartość zero. ZPT 8 Complement kofaktorów Podstawą uzupełnienia funkcji jednorodnej jest rozszczepianie macierzy M na podzbiory kostek, których uzupełnienie łatwo można obliczyć. 1) Jeżeli kofaktor zawiera tylko jedną kostkę, jego uzupełnienie oblicza się wg prawa De Morgana. 2) Jeżeli kofaktor zawiera kostkę (wiersz) samych 0, jego uzupełnienie jest zbiorem pustym. 3) Jeżeli kofaktor jest zbiorem pustym, jego uzupełnienie jest Tautologią. ZPT 9 Scalanie uzupełnionych kofaktorów F = xj ⋅ F0 + F1 Znaczy to, że jeżeli otrzymany kofaktor był zerowy (ozn. F0), to jego Complement mnożymy przez odpowiednie xj i dodajemy do Complementu kofaktora jedynkowego. ZPT 10 .type fr .i 7 .o 1 .p 9 1000101 0 1011110 0 1101110 0 1110111 0 0100101 1 1000110 1 1010000 1 1010110 1 1110101 1 .e Przykład EXTL Zredukowana macierz porównań 1100000 0010101 0110000 0100001 (x1 + x2) (x3 + x5 + x7) (x2 + x3)(x2 + x7) = = (x2 +x1)(x2 + x3)(x2 + x7)(x3 + x5 + x7) = =(x2 +x1x3x7)(x3 + x5 + x7) = = x2x3 + x2x5 +x2x7 + x1x3x7 ∪ {x4,x6} {x2,x3,x4,x6} ZPT {x2,x4,x5,x6} {x2,x4,x6,x7} {x1,x3,x4,x6,x7} 11 ROZKŁAD 1 2 3 4 5 6 7 1 0 0 0 0 0 0 0 C = [1 0 x1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 C=Φ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0 0 C= 0 1 0 0 0 0 1 1 0 1 0 0 0 1 x2 x2 1 0 0 0 1] x1 [0 0 1 0 1 0 1] 0 0 1 0 0 0 0 C = 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 C=[0 0 1 0 0 0 1] C=Φ x7 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ZPT 1 2 3 4 5 6 7 x7 [0 0 1 0 0 0 0] =C 12 SCALANIE C(x7) = x7 [0010000]+ Φ = [0010001] C(x1) = x1 [0010001]+ Φ = [1010001] 1 2 3 4 5 6 7 C(x2) = 0 x2 0 0 0 1 0 0 0 0 0 0 0 1 0 0 + [1010001] = 0 0 0 0 0 1 Minimalne pokrycia: x2, x3, x2, x5, x2, x7, x1, x3, x7 ZPT Redukty: + x4, x6 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 Dokładnie tak samo jak w metodzie klasycznej! 13 Interpretacja dla funkcji boolowskiej .type fr .i 7 .o 1 .p 9 1000101 0 1011110 0 1101110 0 1110111 0 0100101 1 1000110 1 1010000 1 1010110 1 1110101 1 .e Zredukowana macierz porównań 1100000 0010101 0110000 0100001 .i 7 .o 1 .p 6 11------1-1-1 -11----1----1 ---1-------1.end 1 1 1 1 1 1 reprezentuje funkcję boolowską ZPT 14 Do obliczenia uzupełnienia zastosujmy: Espresso F,D .i 7 .o 1 .p 6 11------1-1-1 -11----1----1 ---1-------1.end ZPT {x1,x3,x4,x6,x7} Complement {x2,x3,x4,x6} Expand 1 1 1 1 1 1 {x2,x4,x5,x6} Essential primes {x2,x4,x6,x7} Irredundant-Cover ESPRESSO Reduce FM Last-gasp .i 7 .o 1 .p 4 0-00-00 -000-0-0-000-0-0-00 .end 15 0 0 0 0 Wnioski Metoda jest skuteczna Daje rewelacyjne wyniki Prosta do implementacji Jest źródłem ciekawych prac dyplomowych ZPT 16 Konkurs KOMPUTEROWE NARZĘDZIA SYNTEZY LOGICZNEJ Prace dyplomowe Błyskawica (ZIP - 364 kB) Espresso Pandor Proton (ZIP - 2 947 kB) Espresso 64 (ZIP - 159 kB) instantRS (ZIP - 5 097 kB) Hummingbird (EXE - 131 kB) Rough Set Exploration System (ZIP - 3 260 kB) Downloading Rough Set Exploration System GENERATOR (EXE - 62 kB) kazmin1.tab kazmin2.tab ZPT