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

Slides:



Advertisements
Podobne prezentacje
Minimalizacja formuł Boolowskich
Advertisements

Teoria układów logicznych
mgr inż. Ryszard Chybicki Zespół Szkół Ponadgimnazjalnych
Metody rozwiązywania układów równań liniowych
Badania operacyjne. Wykład 2
Metody numeryczne wykład no 2.
Metody Numeryczne Wykład no 3.
KNW- Wykład 8 Wnioskowanie rozmyte.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Macierze Maria Guzik.
Dodawanie i odejmowanie wektorów
Typy prywatne 1 Typy prywatne W Adzie typy prywatne (private types) służą do bezpiecznego udostępniania danych zdefiniowanych w pakiecie, z którego korzysta.
Układy logiczne kombinacyjne sekwencyjne
Minimalizacja funkcji boolowskich
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Geometria obrazu Wykład 13
Układ równań stopnia I z dwoma niewiadomymi
dr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji
Matematyka.
Zależności funkcyjne.
Jak usprawnić obliczanie MKZ?
O relacjach i algorytmach
Układy kombinacyjne.
Podstawy układów logicznych
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
T Zsuwanie się bez tarcia Zsuwanie się z tarciem powrót.
Problem kodowania stanów w układach sekwencyjnych (automatach)
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
I. Informacje podstawowe
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Kinematyka prosta.
Zakładamy a priori istnienie rozwiązania α układu równań.
Minimalizacja funkcji boolowskich
Minimalizacja funkcji boolowskich
Minimalizacja automatu
II. Matematyczne podstawy MK
Proste obliczenia w arkuszu
Model relacyjny.
Źródła błędów w obliczeniach numerycznych
Podstawy Techniki Cyfrowej
Systemy operacyjne i sieci komputerowe
Podstawy Techniki Cyfrowej
Bramki logiczne i układy kombinatoryczne
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
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.
Zasady arytmetyki dwójkowej
Metody Sztucznej Inteligencji – technologie rozmyte i neuronowe Wnioskowanie Mamdani’ego - rozwinięcia  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii.
I T P W ZPT 1. I T P W ZPT 2 Synteza logicznaInżynieria informacji Dekompozycja funkcjonalna Odwzorowanie technologiczne FPGA Hierarchiczne podejmowanie.
SciLab.
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.
Do czego służy arkusz kalkulacyjny, jego budowa
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Elementy cyfrowe i układy logiczne
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie Mamdani’ego II © Kazimierz Duzinkiewicz, dr hab.
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.
Dr Galina Cariowa. Legenda  Optymalizacja układów dwupoziomowych.  Kryterium kosztu realizacji.  Tablica (mapa) Karnaugh’a.  Metoda Quine’a – Mc Cluske’a.
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.
Rozpatrzmy następujące zadanie programowania liniowego:
Elementy cyfrowe i układy logiczne
Metody optymalizacji Materiał wykładowy /2017
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Matematyka przed egzaminem czyli samouczek dla każdego
Metoda klasyczna (wg książki Sasao)
Wstęp do Informatyki - Wykład 6
Układy asynchroniczne
Podstawy Automatyki Człowiek- najlepsza inwestycja
Algebra WYKŁAD 4 ALGEBRA.
Haskell Składnia funkcji.
Zapis prezentacji:

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)

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 !

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)

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

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)

I T P W ZPT 6 Przykład (EXTL) x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f k1k k2k k3k k4k k5k

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.

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 = ( ), to dla uzyskania B wystarczy w macierzy R "zanegować" kolumny drugą, piątą i siódmą. Zatem B(k 1,R):

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!

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 + …

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

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

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

I T P W ZPT 14 Obliczanie implikantów - przykład Dla k 2 = ( ) 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 = ( ) czyli implikantem F jest k + (L, k 2 ) = (  0  0),

I T P W ZPT 15 Procedura Ekspansji 10010k1k k2k kjkj knkn 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

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 xx 63 xx 5 62 xx k1k1 k2k2 k3k3 k4k4 k5k5 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f są powtarzające się

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.

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:

I T P W ZPT 19 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 k1k k2k k3k k4k k5k Relacja pokrycia dla kostek 1 k  )(0 , 51 kk  )01(  432 k,k,k  0)0(  Tablica F:

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: 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 – k,k,kI k,kI k I    3 I  3 k 5 I  53 k,k 2

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 k5k

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 kB) Espresso ProtonEspresso Proton (ZIP kB) Espresso 64Espresso 64 (ZIP kB) instantRSinstantRS (ZIP kB) Rough Set Exploration SystemRough Set Exploration System (ZIP kB) Downloading Rough Set Exploration System GENERATORGENERATOR (EXE - 62 kB) kazmin1.tab kazmin2.tab RSES instrukcja

I T P W ZPT 23 Implementacja metody – program InstantRS

I T P W ZPT 24 Implementacja metody – program InstantRS

I T P W ZPT 25 Standard espresso.type fr.i 5.o 1.p e Przyklad 4.13: Liczba wejść Liczba wyjść Liczba wierszy

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

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

I T P W ZPT 28 Implementacja metody – program InstantRS >> Started calculation at: 22. Sep 2014, 18:22:25 >> Elapsed: 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 … e

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)

I T P W ZPT 30 Przykład obliczany oryginalną ekspansją x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 f k1k k2k k3k k4k k5k

I T P W ZPT 31 Przykład… F                k5k5 k4k4 k3k3 k2k2 k1k

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

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