Minimalizacja funkcji boolowskich c.d.

Podobne dokumenty
Minimalizacja form boolowskich UC1, 2009

Minimalizacja funkcji boolowskich

Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.

Minimalizacja formuł Boolowskich

Minimalizacja funkcji boolowskich

Minimalizacja form boolowskich

PRACA DYPLOMOWA. Andrzej Kisiel DISCOVERING DECISION RULES OF BINARY DATA TABLES USING COMPLEMENT OF BOOLEAN FUNCTIONS

PRACA DYPLOMOWA INŻYNIERSKA

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Wstęp do Techniki Cyfrowej... Algebra Boole a

Krótki opis programu pandor.exe

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Część 2. Funkcje logiczne układy kombinacyjne

WOJSKOWA AKADEMIA T E CHNI CZNA im. Jarosława Dą brow ski ego ZAKŁAD AWIONIKI I UZBROJENIA LOTNICZEGO

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego

10. Kolorowanie wierzchołków grafu

Eksploracja danych (Data mining)

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Podstawy układów logicznych

Synteza logiczna w eksploracji danych

Algebra Boole a. Ćwiczenie Sprawdź, czy algebra zbiorów jestrównież algebrą Boole a. Padaj wszystkie elementy takiej realizacji.

x x

Układy kombinacyjne i sekwencyjne. Podczas ćwiczenia poruszane będą następujące zagadnienia:

Rozdział 1 PROGRAMOWANIE LINIOWE

Państwowa Wyższa Szkoła Zawodowa

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Architektura komputerów Wykład 2

Arytmetyka liczb binarnych

Układy asynchroniczne

dr inż. Małgorzata Langer Architektura komputerów

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIENIA Problem przydziału

W jakim celu to robimy? Tablica Karnaugh. Minimalizacja

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Podstawowe układy cyfrowe

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

T. Łuba, B. Zbierzchowski Układy logiczne Podręcznik WSISiZ, Warszawa 2002.

5. Rozwiązywanie układów równań liniowych

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

1 Zbiory i działania na zbiorach.

Chcąc wyróżnić jedno z działań, piszemy np. (, ) i mówimy, że działanie wprowadza w STRUKTURĘ ALGEBRAICZNĄ lub, że (, ) jest SYSTEMEM ALGEBRAICZNYM.

Synteza logiczna w eksploracji danych

Wstęp do Techniki Cyfrowej i Mikroelektroniki

Technika cyfrowa Synteza układów kombinacyjnych (I)

1 Podstawowe oznaczenia

Programowanie liniowe metoda sympleks

IZ1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki niestacjonarne

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

det[a 1,..., A i,..., A j,..., A n ] + det[a 1,..., ka j,..., A j,..., A n ] Dowód Udowodniliśmy, że: det[a 1,..., A i + ka j,..., A j,...

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Technika cyfrowa Synteza układów kombinacyjnych

Programowanie liniowe metoda sympleks

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Wstęp do Techniki Cyfrowej... Teoria automatów

Podstawy Robotyki Określenie kinematyki oraz dynamiki manipulatora

Zaawansowane metody numeryczne

Minimalizacja funkcji boolowskich - wykład 2

SWB - Wprowadzenie, funkcje boolowskie i bramki logiczne - wykład 1 asz 1. Plan wykładu

1 Macierz odwrotna metoda operacji elementarnych

1 Logika. 1. Udowodnij prawa logiczne: 3. (p q) (p q) 2. (p q) ( q p) 2. Sprawdź, czy wyrażenie ((p q) r) (p (q r)) jest tautologią.

Programowanie celowe #1

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Metoda Karnaugh. B A BC A

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Układy równań liniowych

Minimalizacja funkcji logicznych w algebrze bramek prądowych

Ekonometria. Modele regresji wielorakiej - dobór zmiennych, szacowanie. Paweł Cibis pawel@cibis.pl. 1 kwietnia 2007

Ekonometria. Regresja liniowa, współczynnik zmienności, współczynnik korelacji liniowej, współczynnik korelacji wielorakiej

1. Eliminuje się ze zbioru potencjalnych zmiennych te zmienne dla których korelacja ze zmienną objaśnianą jest mniejsza od krytycznej:

Laboratorium elektroniki i miernictwa

Działania na przekształceniach liniowych i macierzach

Układy logiczne. Wstęp doinformatyki. Funkcje boolowskie (1854) Funkcje boolowskie. Operacje logiczne. Funkcja boolowska (przykład)

Algebra WYKŁAD 3 ALGEBRA 1

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

Wielopoziomowa synteza układów logicznych

Funkcja Boolowska. f:b n B, gdzieb={0,1} jest zbiorem wartości funkcji. Funkcja boolowska jest matematycznym modelem układu kombinacyjnego.

Transkrypt:

Minimalizacja funkcji boolowskich c.d. Metoda tablic Karnaugha Metoda Quine a McCluskey a Absolutnie nieprzydatna do obliczeń komputerowych Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich (Uniwersytet Kalifornijski w Berkeley) : adeusz P Metoda i system Espresso (984) ZP

Procedury systemu ESPRESSO F,D Complement Expand Essential primes rredundant-cover adeusz P Reduce Last-gasp F M Omówienie całego Espresso jest nierealne! ZP 2

adeusz P ZP Metoda ekspansji Ze względu na ograniczony zakres wykładu omówimy wyłącznie: Metodę Ekspansji (jako przykładową procedurę Espresso) Zmodyfikowana metoda ekspansji Łączy idee metody Quine a McCluskey a oraz metody Espresso: a) generacja implikantów prostych (wg Espresso) b) selekcja implikantów (wg Quine a McCluskey a) Metoda ta zrealizowana w programie nstantrs jest udostępniona na stronie przedmiotu w katalogu: Komputerowe narzędzia syntezy logicznej 3

Ekspansja -pojęcia podstawowe Kostka Kto krotka o składowych,, reprezentująca zbiór wektorów zero-jedynkowych. K = ( ), to zbiór wektorów: x x 3 Kostka reprezentuje niepełny iloczyn: K = = adeusz P 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. ZP 4

Oznaczenia W ekspansji wektory (w ogólności kostki), dla których funkcja f = oznacza się zbiorem F. Wektory (kostki) dla których funkcja f = oznacza się zbiorem R. f = (F, R) adeusz P ZP 5

Przykład (EXL) adeusz P ZP x x 2 x 3 x 4 x 5 x 6 x 7 f k k 2 k 3 k 4 k 5 F = R = 6

Ekspansja Ekspansja jest procesem działającym na wektorach (kostkach) zbiorów Fi R, a jej celem jest uzyskanie dla danejk Fkostki k'tak dużej, jak to tylko możliwe (tzn. zmoż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. adeusz P ZP Macierz blokującadla danej kostki k Fpowstaje z macierzy R przez zanegowanie tych kolumn R, których pozycje są wyznaczone przez pozycje jedynek w kostcek F. 7

worzenie macierzy blokującej Wyznaczymy macierz blokującą dla kostki k wiedząc, że Fi Rsą opisane macierzami: = F = = R Skoro k = (), to dla uzyskaniabwystarczy w macierzy R"zanegować" kolumny drugą, piątą i siódmą. ZatemB(k,R): P = B adeusz W ZP 8 Łuba

Pokrycie kolumnowe Pokryciem kolumnowymmacierzy Bjest zbiór kolumn L(L {,...,n}) taki, że dla każdego wiersza i istnieje kolumna j L, która w wierszu i ma jedynkę. Zbiór Ljest minimalnym pokryciem kolumnowym macierzy B,jeśli nie istnieje zbiór L (tworzący pokrycie) taki, że L L. adeusz P ZP B = Przykład i interpretacja: 2 3 4 5 6 7 L= {L 4,L 7 }jestpokryciemkolumnowym. L= {L 2,L 3 } nie L= {L 2,L 3,L 6 }jestpokryciemkolumnowym. L= {L 2,L 6 } nie L= {L 3,L 6 } nie Obliczenie jakiegokolwiek minimalnego pokrycia kolumnowego nie jest trudne! 9

Jak obliczyć wszystkie minimalne pokrycia kolumnowe! Zapisać zbiory kolumn wskazywane (jedynkami) (L i, L j,l k ) (L k, L p,l q ) w postaci iloczynu sum (L i + L j + L k ) (L k + L p + L q ) adeusz P ZP Koniunkcję sum przekształcić do minimalnego wyrażenia boolowskiego typu suma iloczynów L i L k + L j L p L q + Składniki tego iloczynu reprezentują minimalne pokrycia

Obliczanie pokrycia kolumnowego Przykład B = 2 3 4 5 6 7 {L 6, L 7 } {L 3, L 4 } {L 2, L 4 } {L 2, L 3, L 7 } Korzystamy z własności algebry Boole a adeusz P (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 4L 6 + L 3L 4L 6 + L 2 L 3L 7+ L 2 L 3L 6 + L 2 L 3L 6 ZP

Obliczanie pokrycia kolumnowego B = 2 3 4 5 6 {L 6, L 7 } {L 3, L 4 } {L 2, L 4 } {L 2, L 3, L 7 } 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 {L 4,L 7 } {L 2,L 4,L 6 } {L 3,L 4,L 6 }... adeusz P ZP Pokrycie kolumnowe jest pojęciem ogólnym, można go tworzyć dla każdej macierzy binarnej 2

Generacja (obliczanie) implikantów Pokrycie kolumnowe macierzy blokującejb(k,r) pozwala wyznaczyć ekspansję kostki koznaczaną k + (L,k) wsposób następujący: wszystkie składowe kostki knależące do Lnie ulegają zmianie, natomiast składowe nie należące do Lprzyjmują wartość. Ekspansja kostki kjest implikantem funkcji f = (F,R). adeusz P Wszczególności k + (L,k)jest implikantem prostym, gdyl jest minimalnym pokryciem kolumnowym macierzy B(k,R). ZP 3

Obliczanie implikantów- przykład Dla k 2 = ()i macierzyb= 2 3 4 5 6 7 zbiór L= {4,7} jest pokryciem kolumnowymb, a więc k 2 = () k + (L,k 2 ) = ( ), czyli implikantem F jest x 4 x 7 adeusz P ZP Natomiast dla L= {2,3,6} (inne pokrycie kolumnowe), k + (L,k) = ( ) = x x x 2 3x6 4

Procedura Ekspansji Obliczanie implikantów prostych adeusz P ZP k k 2 k j Macierz blokująca Wszystkie minimalne pokrycia kolumnowe Wszystkie (najkrótsze) implikanty proste Powtarzamy dla każdej kostki k j F Zbiór implikantów prostych k n Uzyskane zbiory implikantów prostych porządkujemy wyrzucając implikanty powtarzające się 5

mplikanty proste Obliczając kolejno implikanty proste dla każdej k F uzyskuje się: x x 2 x 3 x 4 x 5 x 6 x 7 f Dla k x adeusz P k k 2 k 3 k 4 k 5 Dla k 2 Dla k 3 x 4 x 7 x 5 x 4 x Dla k 4 7 x 2 x Dla k 5 6..są powtarzające się x 3 x 6 ZP 6

mplikanty proste Porządkując i oznaczając kolejno uzyskujemy następujący zbiór implikantów prostych: = = 2 3 = x x x 4 5 x 7 =x 4 2x6 = 5 x3x6 adeusz P Na ogół jest to zbiór za duży, zatem trzeba wybrać najlepsze implikanty. ZP 7

przystępujemy do procesu selekcji Selekcji minimalnej liczby implikantów prostych umożliwiających realizację (pokrycie) funkcji boolowskiej dokonuje się za pomocą tzw. ablicy implikantów (prostych) Pojęciem pomocniczym umożliwiającym konstrukcję jest: Relacja pokrycia dla kostek adeusz P ZP R pokrywa (R ) jeśli r = t lub r = * i i i (* ) (* ) () ( ) 8

ablica F: Relacja pokrycia dla kostek x x 2 x 3 x 4 x 5 x 6 x 7 k k 2 k 3 k 4 k 5 = ( ) k x = ( ) k, k5 4 x2x6 k k k 5 adeusz P ZP ( ) k = x x 2 4 7 2,k3, k4 k 2 k 3 k 4 9

adeusz P ZP ablica implikantów prostych Korzystając z informacji jakie wektory (kostki) funkcji pierwotnej są pokrywane poszczególne implikanty, tworzymy tablicę implikantów prostych: k 3 k 3 2 k,k 2 3,k4 4 k, k5 5 k, 3 k 5 W tablicy tej wiersze reprezentują: kostki funkcji pierwotnej, a kolumny implikanty (kostki po ekspansji). Jeśli j 2 3 4 5 k to w przecięciu wiersza i, kolumny j, stawiamy, w przeciwnym przypadku. i k k 2 k 3 k 4 k 5 2

Selekcja implikantów prostych Jak z tej tablicy znaleźć minimalny zbiór implikantów pokrywający każdą k,, k 5 adeusz P ZP k k 2 k 3 k 4 2 3 4 5 nny zapis tablicy: Pokrycie kolumnowe k 5, 4 2 2,, 3, 5 2 4, 5 = x 2 4 7 4 = x2 x6 =x, 4 Minimalne pokrycie: 2, 4 4, 5 2 4 Minimalna formuła: x 4x7 + x2x6 x 2

mplementacja metody program nstantrs Na stronie przedmiotu w katalogu: KOMPUEROWE NARZĘDZA SYNEZY LOGCZNEJ Prace dyplomowe Błyskawica(ZP -364 kb) Espresso Proton(ZP -2 5 kb) Espresso 64(ZP -59 kb) instantrs(zp -5 98 kb) Rough Set Exploration System(ZP -3 26 kb) Downloading Rough Set Exploration System GENERAOR(EXE -62 kb) kazmin.tab kazmin2.tab RSES instrukcja adeusz P ZP Rozdział 2: Espresso, nstantrs 22

mplementacja metody program nstantrs adeusz P ZP 23

mplementacja metody program nstantrs adeusz P ZP 24

Standard espresso Przyklad 4.3 (z książki Synteza logiczna): adeusz P ZP Liczba wierszy.type fr.i 5 Liczba wejść.o.p Liczba wyjść.e 25

mplementacja metody program nstantrs adeusz P w Formacie trzeba zaznaczyć opcję Logic ZP 26

mplementacja metody program nstantrs adeusz P ZP Minimal Decision Rules uruchamia proces minimalizacji 27

mplementacja metody program nstantrs Przykład 4.3 (Synteza logiczna).type fr.i 5.o.p.e >> Started calculation at: 22. Sep 24, 8:22:25 >> Elapsed:. sec. >> Prime Set [Decision ]: =!x!x2!x4 (in obj) 2 =!x!x3!x4(in obj) 3 =!x2!x4!x5(in obj) 4 =!x3!x4!x5(in 2 obj) 5 = x!x5 (in 3 obj) 6 = x2!x3 (in 3 obj) 7 = xx4 (in obj) 8 = x2x4 (in 3 obj) 9 =!xx5 (in obj) = x4x5 (in obj) adeusz P ZP # 2 3 4 5 6 7 8 9 c c2 c3 c4 c5 c6 >> Min Decision Rules (Reduced Set) ]!x!x2!x4 + x!x5 + x2x4 2]!x!x3!x4 + x!x5 + x2x4 3]!x2!x4!x5 + x!x5 + x2x4 4]!x3!x4!x5 + x!x5 + x2x4 28

Metoda heurystyczna... (Wygodna do stosowania w obliczeniach ręcznych) Oblicza się ekspansję kostki k (ozn. E(k )) tylko jedną Wykreśla się z macierzy F wszystkie wektory pokrywane przez E(k ) Powstaje nowa macierz F,wktórejbierzemy pierwszą kostkę i postępujemy tak samo Proces kończy się, gdy pokryjemy (wykreślimy) wszystkie kostki F adeusz P ZP Wynik (zminimalizowaną funkcję) tworzą kolejno obliczone ekspansje 29

Przykład obliczany oryginalną ekspansją adeusz P ZP x x 2 x 3 x 4 x 5 x 6 x 7 f k k 2 k 3 k 4 k 5 F = R = 3

Przykład k 7 6 5 4 3 2 7 6 5 4 3 2 = R F = k k 3 k 2 x = k ) ( k 5 k 4 x = k ) ( 7 4 2 x x = 4 3 2 k,,k k ) ( 7 6 5 4 3 2 7 6 5 4 3 2 P = B = B adeusz W ZP 3 Łuba

Przykład 7 6 5 4 3 2 7 6 5 4 3 2 = R k 5 F = k ) ( x =x 7 6 5 4 3 2 k 5 ) ( 6 2 3 x =x = B x f = 7 x 4 x + 6 +x 2 x P Wynik gorszy, ale zadowalający adeusz W ZP 32 Wynik gorszy, ale zadowalający Łuba

Procedury systemu ESPRESSO F,D Complement Expand Essential primes f = 7 = + xx 4 +x 2 x x + 6 rredundant-cover x + 4x7 x2x6 Reduce adeusz P Last-gasp F M f = x4x7 + x2x6 ZP 33

Przykład praktyczny S-box układu kryptograficznego DES ablica prawdy 6 wejść, 4 wyjścia S-box S 4 4 3 2 5 8 3 6 2 5 9 7 5 7 4 4 2 3 6 2 9 5 3 8 4 4 8 3 6 2 5 2 9 7 3 5 5 2 8 2 4 9 7 5 3 4 6 3 adeusz P ZP 34

Przykład praktyczny adeusz P ZP.type fr.i 6.o.p 64.p 64 *************... * nstantrs * ************* >> Started calculation at: 22. Oct 25, 7:5: >> Elapsed:.3 sec. >> Min Decision Rules (Reduced Set)!x!x2!x3!x4!x6 +!x!x2!x3x4x6 +!x!x3x4x5!x6 +!x2!x3x4x5x6 +!x2x3!x5x6 +!x!x2x3!x4x6 + x2!x3!x4!x5x6 +!xx2!x3x4!x6 +!xx2x3!x4!x6 + x2x3x5x6 + x2x3x4!x5!x6 + x!x2!x3!x4x5 + x!x2!x3x4!x5!x6 + x!x2x3!x4!x6 + xx3!x4!x5x6 + xx2!x3!x4!x6 + xx2!x3!x5x6 Wynik espresso takiej samej jakości.e 35