Jak usprawnić obliczanie MKZ?

Slides:



Advertisements
Podobne prezentacje
Automaty asynchroniczne
Advertisements

Optymalizacja zapytań
Język C/C++ Funkcje.
Układy sekwencyjne - pojęcie automatu
Modelem układu sekwencyjnego jest AUTOMAT
Kolorowanie węzłów Monika Rosicka.
Grafy spełniające nierówność Γ(G) < IR(G)
Zadania przygotowawcze na egzamin
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Minimalne drzewa rozpinające
SIECI KOMPUTEROWE WYKŁAD 8. BEZPIECZEŃSTWO SIECI
ALGORYTMY I STRUKTURY DANYCH
Domknięcie przechodnie (również) w bazach danych
WYKŁAD 1. Grafy są wokół nas. Pojęcia wstępne.
Porównanie wyników wyrównania Metodą klasyczną i trzema metodami kollokacji.
Elementy Kombinatoryki (c.d.)
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Układy logiczne kombinacyjne sekwencyjne
I T P W ZPT PRUS 2007 Krzysztof Jasiński 1 PRUS - Projektowanie Programowalnych Układów Scalonych Krzysztof Jasiński
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Stworzyli: Edyta Celmer I Marta Kałuża.
Jednomiany i sumy algebraiczne
ALGORYTMY I STRUKTURY DANYCH
STUDENCKIE KOŁO NAUKOWE „Nowych Metod Konstruowania Maszyn”
Kod Graya.
minimalizacja automatów
O relacjach i algorytmach
ANALIZA LEKSYKALNA. Zadaniem analizatora leksykalnego jest przetwarzanie danych pochodzących ze strumienia wejściowego a także rozpoznawanie ciągów znaków.
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Wyrażenia algebraiczne
RAYGRAF RAYGRAF umożliwia ocenę zgodności próbek pisma na podstawie 5-ciu parametrów: Zgodności współczynników podobieństwa liniowego Wpl Zgodności współczynników.
Trysekcja przybliżona Steinhausa – 1/3
Problem kodowania stanów w układach sekwencyjnych (automatach)
Problem kodowania stanów w układach sekwencyjnych (automatach)
Zadanie treningowe… …do wykładów ULOG cz. 6 i cz. 7 Rozwiązanie: E S 1
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Wyrażenia algebraiczne
dla klas gimnazjalnych
Minimalizacja funkcji boolowskich
Minimalizacja funkcji boolowskich
Minimalizacja automatu
Minimalizacja automatu
I T P W ZPT 1 Minimalizacja automatu abcdabcd ACBCA0111 BCCA–011– CBCAB0001 xSxS abcdabcd S1 –S3S4S2–111 S4–––0––– S3 S6 ––01–– S4 –S6S1S5–001 ––S2–––1–
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Struktury układów logicznych
Model relacyjny.
Algorytm Dijkstry 1 Zbiory: T - zbiór wierzchołków
Podstawy Techniki Cyfrowej
Podstawy Techniki Cyfrowej

Wyznaczniki, równania liniowe, przestrzenie liniowe Algebra 1
315.W jakim czasie ciało swobodnie spadające przebędzie piąty metr swojej drogi?
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.
Działania w zbiorze liczb całkowitych
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
I T P W ZPT Konwerter BIN2BCD 1 LK „8” DEC LK = 0 LOAD1 R3R2R1  K S3 S2S1 A B „5” K  5 MUX 1 0 A R4 LOAD2 Y = LD B LB „3” US Układ wykonawczy Układ sterujący.
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
Podstawy Techniki Cyfrowej Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Wykład 5: Minimalizacja form 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
I T P W ZPT 1 Realizacje funkcji boolowskich Omawiane do tej pory metody minimalizacji funkcji boolowskich związane są z reprezentacją funkcji w postaci.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
I T P W ZPT 1 Jak usprawnić obliczanie MKZ? W celu sprawniejszego obliczania MKZ wprowadzimy skuteczniejszą metodę wg par zgodnych Znamy metodę wg par.
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Minimalizacja automatu
Metoda klasyczna (wg książki Sasao)
WYRAŻENIA ALGEBRAICZNE
Zapis prezentacji:

Jak usprawnić obliczanie MKZ? Znamy metodę wg par sprzecznych oraz metodę bezpośrednią W celu sprawniejszego obliczania MKZ wprowadzimy skuteczniejszą metodę wg par zgodnych

Algorytm MKZ wg par zgodnych E – relacja zgodności (ei,ej)  E Rj = { ei | i < j oraz (ei,ej)  E} RKZk RKZk+1 KZ  RKZk a) Rk+1 = , RKZk+1 jest powiększana o klasę KZ = {k+1} b) KZ  Rk+1 = , KZ bez zmian c) KZ  Rk+1  , KZ’ = KZ  Rk+1 {k+1}

Rj = { ei | i < j oraz (ei,ej)  E} Przykład Rj = { ei | i < j oraz (ei,ej)  E} E: 1,2 1,3 1,5 2,3 2,4 2,5 3,5 3,6 4,6 R1 =  R2 = 1 R3 = 1,2 R4 = 2 R5 = 1,2,3 R6 = 3,4

Przykład c.d. Rodzina MKZ R1 =  R2 = 1 R3 = 1,2 R4 = 2 R5 = 1,2,3 a) Rk+1 = , RKZk+1 jest powiększana o klasę KZ = {k+1} b) KZ  Rk+1 = , KZ bez zmian c) KZ  Rk+1  , KZ’ = KZ  Rk+1 {k+1} R1 =  R2 = 1 R3 = 1,2 R4 = 2 R5 = 1,2,3 R6 = 3,4 {1} {1,2} {1,2,3} {2,4}, {1,2,3} {2,5}, {1,2,3,5}, {2,4} Rodzina MKZ {3,6}, {4,6}, {1,2,3,5}, {2,4}

Algorytm MKZ wg par sprzecznych Zapisać pary sprzeczne w postaci koniunkcji dwuskładnikowych sum Koniunkcję dwuskładnikowych sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów Wtedy MKZ są uzupełnieniami zbiorów reprezentowanych przez składniki iloczynowe tego wyrażenia

Ten sam przykład Pary zgodne Pary sprzeczne E: 1,2 1,3 1,5 2,3 2,4 2,5 3,5 3,6 4,6 1,4 1,6 2,6 3,4 4,5 5,6

Przykład... Pary sprzeczne: (k1, k4), (k1, k6), (k2, k6), (k3, k4), (k4, k5), (k5, k6) Obliczamy wyrażenie boolowskie typu „koniunkcja sum”: (k1 + k4) (k1 + k6 ) (k2 + k6) (k3 + k4) (k4 + k5) (k5 + k6) = Porządkujemy: (k4 + k1) (k4 + k3 ) (k4 + k5) (k6 + k1) (k6 + k2) (k6 + k5) = Przekształcamy wyrażenie do postaci „suma iloczynów”: = (k4 + k1k3k5) (k6 + k1k2k5) = k4k6 + k1k2k4k5 + k1k3k5k6 + k1k2k3k5

Przykład... Klasy zgodne uzyskamy odejmując od zbioru {k1,...,k6}, zbiory tych ki, które występują w jednym składniku wyrażenia typu „suma iloczynów” {k1,..., k6}  {k4, k6} = {k1, k2, k3, k5 } {k1,...,k6}  {k1, k2 , k4 , k5 } = {k3, k6} {k1,...,k6}  {k1, k3, k5 , k6} = {k2 , k4} {k1,...,k6}  {k1, k2, k3, k5 } = {k4, k6}

Warto umiejętnie dobierać metodę... Pary zgodne: (1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (2,3), (2,5), (2,6), (2,7), (3,4), (3,5), (3,6), (3,8), (4,6), (4,7), (4,8), (5,6), (5,7), (5,8), (6,7), (6,8), (7,8), Pary sprzeczne: (1,8) (2,4) (2,8) (3,7) (4,5) Wybór metody jest oczywisty!

W poszukiwaniu innych metod… W obliczaniu kolumn, które można „skleić” znajdują zastosowanie algorytmy kolorowania grafu. Wierzchołki grafu reprezentują kolumny tablicy dekompozycji. Niezgodne pary kolumn łączy się krawędziami. Graf niezgodności: (ki, kj) (ki, ks) (kl, kr) Pary niezgodne: ks k2 ki kj kl k1 kr kp

Przykład… Pary zgodne: Pary sprzeczne: 0,3 0,4 0,6 1,3 1,4 1,5 1,6 2,5 2,7 3,4 3,6 4,5 4,6 5,7 0,1 0,2 0,5 0,7 1,2 1,7 2,3 2,4 2,6 3,5 3,7 4,7 5,6 6,7

Graf niezgodności (0,1), (0,2), (0,5), (0,7), (1,2), (1,7), (2,3), (2,4), (2,6), (3,5), (3,7), (4,7), (5,6), (6,7) 1 2 3 4 5 6 7 i jego kolorowanie

Graf zgodności - przykład (1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (2,3), (2,5), (2,6), (2,7), (3,4), (3,5), (3,6), (3,8), (4,6), (4,7), (4,8), (5,6), (5,7), (5,8),(6,7), (6,8), (7,8), S1 S2 S3 S4 S5 S6 S7 S8 MKZ1 = {S1, S2, S5, S6, S7} MKZ2 = {S1, S4, S6, S7} MKZ3 = {S5, S6, S7 ,S8} MKZ4 = {S4, S6, S7 ,S8} MKZ5 = {S3, S5, S6, S8} MKZ6 = {S3, S4, S6, S8} MKZ7 = {S1, S2, S3, S5, S6} MKZ8 = {S1, S3, S4, S6} Jak zauważyć rozwiązanie z grafu zgodności!

Graf niezgodności - przykład S1 S2 S3 S4 S5 S6 S7 S8 (S1, S8) (S2, S4) (S2 ,S8) (S3, S7) (S4, S5) Teraz łatwiej! MKZ1 = {S1, S2, S5, S6, S7} MKZ6 = {S3, S4, S6, S8}