Dekompozycja metodą rachunku podziałów c.d.

Slides:



Advertisements
Podobne prezentacje
Znaki informacyjne.
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.
Joanna Sawicka Wydział Nauk Ekonomicznych, Uniwersytet Warszawski
Wprowadzenie do informatyki Wykład 6
Podstawy układów logicznych
Obserwowalność System ciągły System dyskretny
Funkcje Barbara Stryczniewicz.
Ludwik Antal - Numeryczna analiza pól elektromagnetycznych –W10
Liczby pierwsze.
Michał Łasiński Paweł Witkowski
PROGRAM OPERACYJNY KAPITAŁ LUDZKI Priorytet III, Działanie 3.2
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Ksantypa2: Architektura
Algorytm Rochio’a.
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Struktury układów logicznych
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Klasyfikacja systemów
Kolejność wykonywania działań
Pytania konkursowe.
Tytuł prezentacji Warszawa, r..
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Technika Mikroprocesorowa 1
Układy kombinacyjne.
Podstawy układów logicznych
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Zmodyfikowana metoda ekspansji Komputerowe narzędzia syntezy logicznej
Espresso mankamenty.
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
Espresso mankamenty.
Metody numeryczne SOWIG Wydział Inżynierii Środowiska III rok
MISTRZOSTWA BYDGOSZCZY
Obserwatory zredukowane
Podstawy automatyki 2012/2013Transmitancja widmowa i charakterystyki częstotliwościowe Mieczysław Brdyś, prof. dr hab. inż.; Kazimierz Duzinkiewicz, dr.
II Zadanie programowania liniowego PL
KOLEKTOR ZASOBNIK 2 ZASOBNIK 1 POMPA P2 POMPA P1 30°C Zasada działanie instalacji solarnej.
Analiza wpływu regulatora na jakość regulacji (1)
Minimalizacja funkcji boolowskich
Minimalizacja funkcji boolowskich
Dekompozycja Kalmana systemów niesterowalnych i nieobserwowalnych
1. ŁATWOŚĆ ZADANIA (umiejętności) 2. ŁATWOŚĆ ZESTAWU ZADAŃ (ARKUSZA)
Metoda klasyczna ... to metoda tablicowa, graficzna, której podstawowe
Struktury układów logicznych
Obserwowalność i odtwarzalność
Sterowalność - osiągalność
Sterowanie – metody alokacji biegunów II
Stabilność Stabilność to jedno z najważniejszych pojęć dynamiki systemów i teorii sterowania W większości przypadków, stabilność jest warunkiem koniecznym.
-17 Oczekiwania gospodarcze – Europa Wrzesień 2013 Wskaźnik > +20 Wskaźnik 0 a +20 Wskaźnik 0 a -20 Wskaźnik < -20 Unia Europejska ogółem: +6 Wskaźnik.
EcoCondens Kompakt BBK 7-22 E.
Programowanie w języku C++
Rachunek różniczkowy funkcji jednej i wielu zmiennych
Prezentacja Multimedialna
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.
Testogranie TESTOGRANIE Bogdana Berezy.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Bramki logiczne i układy kombinatoryczne
Dekompozycja metodą rachunku podziałów c.d.
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Metody matematyczne w inżynierii chemicznej Wykład 3. Całkowanie numeryczne.
Przerzutniki bistabilne
Elementy geometryczne i relacje
Strategia pomiaru.
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.
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:

Dekompozycja metodą rachunku podziałów c.d. Dekompozycja nierozłączna Pojęcie  r - przydatności  1

Dekompozycja nierozłączna Twierdzenie o dekompozycji jest ogólne i uwzględnia przypadek tzw. dekompozycji nierozłącznej V U G H Y W Funkcję F: Bn {0,1}m można zrealizować w strukturze: F = H(U,G(V,W)) wtedy i tylko wtedy, gdy istnieje podział G ³ PVW taki, że: PU · G £ PF. 2

Dekompozycja nierozłączna jest ważna… Wtedy dobrym wyjściem może być dołożenie do G dodatkowych argumentów ze zbioru W V U G H Y W  U V U G H Y W U, V rozłączne podzbiory X …dekompozycja rozłączna nie zawsze istnieje! 3

Rachunek podziałów umożliwia Nowy problem V U G H Y W Ale jak wyznaczyć zbiór W Rachunek podziałów umożliwia wyznaczenie zbioru W !!! 4

Przykład dekompozycji nierozłącznej Najpierw dekompozycja rozłączna dla U = {x1,x2,x3}, V = {x4,x5} x1 x2 x3 x4 x5 y1 y2 y3 1 2 3 4 5 6 7 8 9 10 G H x1 x2 x3 x4 y1 y2 y3 x5 PF = 5

Przykład Dla U = {x1,x2,x3}, V = {x4,x5}, PF = PU = PV = PU |PU•PF = 2 3 4 5 6 7 8 9 10 PF = PU = PV = PU |PU•PF = 6

G H Obliczamy ПG PU |PU•PF = PV = Obliczamy ПG: 3,7,9 Fatalnie dekompozycja rozłączna nie istnieje, bo obliczony пG nie spełnia warunku dekompozycji G H x1 x2 x3 x4 y1 y2 y3 x5 PU |PU•PF = PV = Obliczamy ПG: 3,7,9 7

G H Przykład... Ale nie załamujmy się może istnieje dekompozycja nierozłączna G H x1 x2 x3 x4 x5 coś z U y1 y2 y3 Ale jak wyznaczyć zbiór W ??? 8

Przyjrzyjmy się dokładniej obliczanemu пG Spróbujmy ... x1 x2 x3 x4 x5 y1 y2 y3 1 2 3 4 5 6 7 8 9 10 PU |PU•PF = PV = Przyjrzyjmy się dokładniej obliczanemu пG 3, 7 | 9 3 | 9 7 | 9 x1, x2 x2 Czyli zmienna x2 rozdziela wektory 3, 7 od 9 9

G H Przykład... Schemat dekompozycji należy zmodyfikować x2 PV’ = x1 x2 x3 x4 x5 y1 y2 y3 Schemat dekompozycji należy zmodyfikować Ale to jest nowa sytuacja: Nowy zbiór V, czyli V’ PV’ = PV  P2 PV = PV’ = 10

I spełnia warunek twierdzenia PU  G  PF Przykład... Jak zwykle obliczamy ΠG. Sposób postępowania jest taki sam…czyli Ale ten podział jest drobniejszy, może teraz będzie szansa na znalezienie dobrego пG PU |PU•PF = PV’ = I spełnia warunek twierdzenia PU  G  PF Udało się 11

G H G H Przykład... Dalej standardowo; Wyznaczamy tablice prawdy funkcji G i H G H x1 x2 x3 x4 x5 y1 y2 y3 x1 x2 x3 x4 x5 x2 G H y1 y2 y3 12

Pojęcie r-przydatności Główny mankament dekompozycji U Główny mankament dekompozycji W V Nie znamy odpowiedzi na pytanie dla jakich U, V istnieje dekompozycja G Jest to istotne o tyle, że Tw. o dekompozycji wyznacza dekompozycję dla ustalonych U i V H Y Pozwala oszacować – zapisane w formie podziałów - argumenty zbioru U pod względem „jakości” dekompozycji R-przydatność ułatwia wyznaczenie dobrych zbiorów U, dla których istnieje dekompozycja 13

Pojęcie r - przydatności Oznaczenia: g - liczba elementów w największym bloku ilorazu podziałów. G = log2g a  zaokrąglenie w górę do najbliższej całkowitej g = 3 G praktycznie jest liczbą bitów potrzebnych do zakodowania g  = log23 = 2 log25 = 3 14

Pojęcie r - przydatności… Zbiór podziałów {P1,...,Pk} jest r-przydatny względem P, gdzie: r = k + (P1...Pk | P  P1...Pk) W dekompozycji przyjmujemy P = PF 15

Przykład (SUL Tabl. 8.3, UL w zad. przykład 7.3) x1 x2 x3 x4 x5 y1 y2 y3 1 0 0 0 0 0 0 0 0 2 0 0 0 1 1 0 1 0 3 0 0 0 1 0 1 0 0 4 0 1 1 0 0 0 1 1 5 0 1 1 0 1 0 0 1 6 0 1 1 1 0 7 0 1 0 0 0 8 1 1 0 0 0 9 1 1 0 1 0 10 1 1 1 0 0 11 1 1 1 1 1 12 1 1 1 1 0 13 1 0 0 0 1 14 1 0 0 1 1 15 1 0 0 1 0 Przykład ten był liczony na wykładzie W07 16

Przykładzik Obliczmy r dla oraz Mamy tu: log25 = 3 P = PF = Mamy tu: PF  P1 = P1 | PF  P1 = g(P1 | P  P1) = 5, Bo 5 nawiasów G(P1 | P  P1) = log25 = 3 czyli r = 1 + 3 = 4 17

Interpretacja r-przydatności Jeśli {P1,...,Pk} jest r-przydatny (k < r) względem PF i jeśli istnieje dekompozycja to blok H ma dokładnie r wejść G H X1 ... Xk Xr+1 … Xn Xk+1 Xr … Y 18

Przykładzik… Skoro P1 (z przykładziku) jest 4-przydatny to możemy się spodziewać tylko takiej dekompozycji: x1 x2 x3 x4 x5 g h w której liczba wejść do bloku h jest dokładnie 4!!! 19

Przykładzik… Natomiast gdyby P1 był 3-przydatny, to moglibyśmy się spodziewać dekompozycji z trzema! tylko wejściami do h x1 x2 x3 x4 x5 g h 20

Twierdzenia o r - przydatności Jeśli {P1,...,Pk } jest r-przydatny (k < r) względem P, to istnieje zbiór podziałów {Pk+1,...,Pr}, dla których: P1...Pk  Pk+1,...,Pr  P natomiast nie istnieje {P’k+1,...,P’r-1} taki, że: P1...Pk  P’k+1,...,P’r-1  P Inaczej mówiąc, warunkiem koniecznym i wystarczającym na to, aby: P1...Pk  Pk+1,...,Pm  P jest m-przydatność zbioru {P1,...,Pk} względem P. 21

Wracamy do przykładu (z książki SUL) Jak policzymy r-przydatności dla każdego Pi P1 = r = 4 r = 3 x1 x2 x3 x4 x5 y1 y2 y3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 P2 = P3 = P4 = P5 = PF = 22

P3, P4, są 3-przydatne względem PF Przykład … P3, P4, są 3-przydatne względem PF x1 x2 x4 x5 g x3 h x1 x2 x3 x5 g x4 h 23

Szukajmy czegoś lepszego Przykład… Szukajmy czegoś lepszego Obliczmy r-przydatność dla zbioru {P3, P4} P3  P4 = log23 = 4 czyli r{P3, P4} = 2 + 24

Przykład … Skoro {P3, P4} jest 4-przydatny, to przyjmując x3, x4 jako wejścia x3 x4 x1 x2 x5 do pełnej realizacji funkcji potrzebne są jeszcze dwa wejścia. g h Z poprzedniego wykładu wiemy, że taka dekompozycja istnieje 25

Przykład – inna dekompozycja tej samej funkcji Ale może uda nam się znaleźć zbiór { Pi, Pj, Pk}, który byłby 4-przydatny. Bardzo ciekawy schemat, 4 wejścia jak poprzednio, ale prostsza G – zaledwie dwu-wejściowa, czyli jakaś prosta bramka G H xi xj xk xm xn y1 y2 y3 26

Pożyteczne   fakty Można wykazać, że jeśli P = {P1,...,Pk } jest m-przydatny względem PF, to każdy podzbiór z P jest m’-przydatny, gdzie m’  m. Tym samym warunkiem koniecznym na to, aby P = {P1,...,Pk} był m-przydatny względem PF, jest r-przydatność podzbiorów z P taka, że dla każdego P’ zawartego w P, r(P’)  m. 27

Przykład… inna dekompozycja r-przydatności par {Pi, Pj} dla przykładu z planszy 22 {P1, P3} {P1, P4} {P2, P3} {P2, P4} {P3, P4} {P3, P5} {P4, P5} 4-przydatne pary: 4-przydatnymi trójkami mogą być tylko: a) {P1, P3, P4} b) {P2, P3, P4} Pozostałe są 5-przydatne! c) {P3, P4, P5} Niestety to są trójki podejrzane o 4-przydatność, należy zweryfikować, które są 4-przydatne 28

Przykład… inna dekompozycja W tym celu liczymy odpowiednie iloczyny podziałów P1•P3•P4 = P2•P3•P4 = P2•P3•P4 = P3•P4•P5 = {P1, P3, P4} oraz {P3, P4, P5}. czyli wyłącznie są 4-przydatne r{P1, P3, P4} = 3 + log22 = 4 29

Przykład … inna dekompozycja Skoro {P1, P3, P4} oraz {P3, P4, P5} są 4-przydatne to mogą istnieć dekompozycje: G H x3 x4 x5 x1 x2 y1 y2 y3 G H x1 x3 x4 x2 x5 y1 y2 y3 30

Przykład … inna dekompozycja PU  = P1P3P4 = PU |PF = x1 x3 x4 x1 x3 x4 x2 x5 x2 x5 G G H H y1 y2 y3 y1 y2 y3 Czy potrafimy bezpośrednio z podziału PV obliczyć funkcję G G = x2  x5 31

Ciekawy przykład Dla funkcji F z tab. 1a istnieje dekompozycja: F = H(x4, x5, x6, G1 (x1, x2, x3)) Funkcja G1 jest podana w Tab.1b. x1 x2 x3 x4 x5 x6 y1 y2 1 2 3 4 5 6 7 8 9 Tab. 1a Tab. 1b x1 x2 x3 g1 1 2 3 4 Należy obliczyć dekompozycję szeregową zapewniającą realizację tej funkcji na minimalnej liczbie komórek logicznych o wymiarach 3/1 (3 wejścia, 1 wyjście). 32

Ciekawy przykład… Założonej dekompozycji funkcji F = H(x4, x5, x6, G1 (x1, x2, x3)) odpowiada schemat blokowy jak na rysunku. Tab. 1a x1 x2 x3 x4 x5 x6 y1 y2 1 2 3 4 5 6 7 8 9 G1 H y1 y2 G2 x4 x5 x6 x1 x2 x3 33

Ciekawy przykład… Dla tej dekompozycji funkcja G1 może być opisana następującym podziałem: Tab. 1a x1 x2 x3 x4 x5 x6 y1 y2 1 2 3 4 5 6 7 8 9 Tab. 1b x1 x2 x3 g1 1 2 3 4 1 1 1 1 34

G1 G2 H G2 G1 H Ciekawy przykład… x1 x2 x3 x4 x5 x6 Dekompozycję można stosować wielokrotnie. G2 g1 Mając policzoną dekompozycję z G1 możemy liczyć kolejną dekompozycję przy założeniu, że g1 jest wejściem niezależnym (pierwotnym). H y1 y2 Uzyskalibyśmy dekompozycję z dodatkowym blokiem G, ozn. G2. G1 H y1 y2 G2 x4 x5 x6 x1 x2 x3 g1 Oczywiście trzeba sprawdzić, czy taka dekompozycja istnieje. 35

Do realizacji potrzebnych Ciekawy przykład… Łatwo sprawdzić, że taka dekompozycja istnieje Dla U = {g1} G1 H y1 y2 G2 x4 x5 x6 x1 x2 x3 R-przydatność P(g1): g1 Do realizacji potrzebnych jest 5 komórek 3/1 r = 3 36

G1 H G2 G1 H Ciekawy przykład… U = {g1, x4} r = 4 U = {g1, x5} r = 4 Ale może jest jeszcze lepsze rozwiązanie? xj x1 x2 x3 G1 H y1 y2 g1 U = {g1, x4} r = 4 xj x1 x2 x3 G1 H y1 y2 G2 U = {g1, x5} r = 4 37

G2 G1 H Ciekawy przykład… U = {g1, x6} r = 3 To nas zadawala y1 y2 G2 x4 x5 xj x6 x1 x2 x3 38

Ciekawy przykład… W = {x2} U = {g1, x6} Należy wyznaczyć zmienną (zmienne) xj x1 x2 x3 x4 x5 x6 y1 y2 1 2 3 4 5 6 7 8 9 W = {x2} 39

Do realizacji potrzebne są Ciekawy przykład… Dla nowego łatwo wyznaczyć ΠG’:   spełniający warunek PU  ΠG’ ≤ PF. G1 H y1 y2 G2 x2 x4 x5 x6 x1 x2 x3 ΠG Do realizacji potrzebne są 4 komórki 3/1 Poprzednio było 5 40

Komentarz: algorytmy dekompozycji Skuteczność dekompozycji funkcjonalnej (szeregowej) maleje ze wzrostem liczby wyjść zespołu funkcji Zapobiec tej sytuacji można stosując tzw. dekompozycję… Szeregowa Y U V X G H Równoległa 41

Do rozwiązania tego problemu Dekompozycja równoległa… Xh H Xg Yg G X Yh X Y F Y = Yg  Yh Rozłączne podzbiory wyjść… Do rozwiązania tego problemu można zastosować redukcję argumentów 42

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} 43

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} 44

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 45

Dekompozycja zrównoważona F X Y BD wykorzystuje naprzemiennie dekompozycję szeregową i dekompozycję równoległą H G X Y1 Y2 X3 X4 Y G H X X1 X2 Dekompozycja szeregowa Dekompozycja równoległa 46

Przykład – prosty układ kombinacyjny .type fr .i 10 .o 2 .p 25 0101000000 00 1110100100 00 0010110000 01 0101001000 01 1110101101 10 0100010101 10 1100010001 00 0011101110 10 0001001110 10 0110000110 10 1110110010 01 0111100000 00 0100011011 00 0010111010 10 0110001110 00 0110110111 11 0001001011 11 1110001110 01 0011001011 01 0010011010 10 1010110010 00 0100110101 11 0001111010 00 1101100100 01 1001110111 11 .e x0 x2 x3 x9 y0 y1 CL STRATEGIE: a) najpierw dekompozycja szeregowa b) najpierw dekompozycja równoległa 47

Dekompozycja funkcji F STRATEGIA: najpierw dekompozycja szeregowa Dekompozycja szeregowa LC x8 x9 x1 x3 x4 x6 2LCs x0 x2 x5 x7 LC y0 2LCs LC y1 Dekompozycja równoległa Dekompozycja szeregowa Łącznie: 7 komórek 48

Dekompozycja funkcji F STRATEGIA: najpierw dekompozycja równoległa x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 LC y0 LC y1 Łącznie : 4 komórki 49

Dekompozycja funkcji F w systemie Quartus library IEEE; use IEEE.STD_LOGIC_1164.all; entity bul is port(i : in std_logic_vector(1 to 10); o : out std_logic_vector(1 to 2)); end bul; architecture arch1 of bul is begin PLA: process(i) case i is when "0101000000" => o <= "00"; when "1110100100" => o <= "00"; when "0010110000" => o <= "10"; when "0101001000" => o <= "10"; when "1110101101" => o <= "01"; when "0100010101" => o <= "01"; when "1100010001" => o <= "00"; when "0011101110" => o <= "01"; when "0001001110" => o <= "01"; when "0110000110" => o <= "01"; when "1110110010" => o <= "10"; when "0111100000" => o <= "00"; when "0100011011" => o <= "00"; when "0010111010" => o <= "01"; when "0110001110" => o <= "00"; when "0110110111" => o <= "11"; when "0001001011" => o <= "11"; when "1110001110" => o <= "10"; when "0011001011" => o <= "10"; when "0010011010" => o <= "01"; when "1010110010" => o <= "00"; when "0100110101" => o <= "11"; when "0001111010" => o <= "00"; when "1101100100" => o <= "10"; when "1001110111" => o <= "11"; when others => o <= "XX"; end case; end process; end; QuartusII 28 komórek 50