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.

Slides:



Advertisements
Podobne prezentacje
Funkcje tworzące są wygodnym narzędziem przy badaniu zmiennych losowych o wartościach całkowitych nieujemnych. Funkcje tworzące pierwszy raz badał de.
Advertisements

Automaty asynchroniczne
Wprowadzenie w problematykę związaną z twierdzeniem Gödla
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Grafy spełniające nierówność Γ(G) < IR(G)
11. Różniczkowanie funkcji złożonej
CIĄGI.
mgr inż. Ryszard Chybicki Zespół Szkół Ponadgimnazjalnych
Ile rozwiązań może mieć układ równań?
Wykład 10 Metody Analizy Programów Specyfikacja Struktur Danych
dr A Kwiatkowska Instytut Informatyki
Algorytm Dijkstry (przykład)
ZLICZANIE cz. II.
ZŁOŻONOŚĆ OBLICZENIOWA
WYKŁAD 8. Siła spójności Wierzchołek v nazywamy wierzchołkiem cięcia grafu G, gdy podgraf G-v ma więcej składowych spójności niż G. Krawędź e nazywamy.
WYKŁAD 8. Siła spójności A,B – dowolne podzbiory V(G)
WYKŁAD 3. Kliki i zbiory niezależne
Wprowadzenie do budowy usług informacyjnych
Elementy Kombinatoryki (c.d.)
Analiza matematyczna - Funkcje jednej zmiennej wykład II
6. Pochodne cząstkowe funkcji n zmiennych
Wstęp do interpretacji algorytmów
Zależności funkcyjne.
minimalizacja automatów
Podstawy układów logicznych
Układy sekwencyjne - pojęcie automatu
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Funkcje logiczne i ich realizacja. Algebra Boole’a
Algorytmy i struktury danych
Problem kodowania stanów w układach sekwencyjnych (automatach)
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
Krzysztof Kucab Rzeszów, 2012
Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie.
Minimalizacja funkcji boolowskich
Podstawy analizy matematycznej I
KLASA: V TEMAT: Pole trapezu.
II. Matematyczne podstawy MK
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
II Zadanie programowania liniowego PL
Podstawy Techniki Cyfrowej
Metody matematyczne w Inżynierii Chemicznej
Geometria obliczeniowa Wykład 13 Planowanie ruchu 1.Znajdywanie ścieżki między dwoma punktami. 2.Ruch postępowy robota wielokątnego na płasz- czyźnie.
Materiały pochodzą z Platformy Edukacyjnej Portalu
Kompresja danych Instytut Informatyki UWr Studia dzienne Wykład nr 3: kody Golomba, kody Tunstalla.
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.
Dynamika punktu materialnego Dotychczas ruch był opisywany za pomocą wektorów r, v, oraz a - rozważania geometryczne. Uwzględnienie przyczyn ruchu - dynamika.
Wstęp do interpretacji algorytmów
I T P W ZPT 1 Minimalizacja funkcji boolowskich c.d. Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych i wielowyjściowych funkcji boolowskich.
Wstęp do programowania Wykład 4
Zarządzanie projektami
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
Treść dzisiejszego wykładu l Postać standardowa zadania PL. l Zmienne dodatkowe w zadaniu PL. l Metoda simpleks –wymagania metody simpleks, –tablica simpleksowa.
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
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Matematyka czyli tam i z powrotem…
Metody matematyczne w Inżynierii Chemicznej
Zbiory – podstawowe wiadomości
Metoda klasyczna (wg książki Sasao)
Projektowanie wspomagane komputerem
Wstęp do Informatyki - Wykład 6
Układy asynchroniczne
Podstawy Automatyki Człowiek- najlepsza inwestycja
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

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 liczba bitów b potrzebna do zakodowania automatu, w którym liczność zbioru S jest |S| v1v1 v2v2 v3v3 Y S1S1 S1S1 S4S4 ─y2y2 S2S2 S5S5 S3S3 S1S1 y1y1 S3S3 S4S4 ─S5S5 y3y3 S4S4 S1S1 S2S2 S3S3 y2y2 S5S5 S4S4 ─S2S2 y4y Q1Q2Q3 Złożoność realizacji sprzętowej automatu silnie zależy od sposobu zakodowania stanów!

I T P W ZPT 2 Problem kodowania xsxs 0101 AAB00 BAC00 CDC00 DAB01 Wariant I A = 00 B = 01 C = 10 D = 11 Wariant II A = 00 B = 11 C = 01 D = 10 Wariant II Wariant I

I T P W ZPT 3 Kodowanie 3 stany - 3 różne kodowania 4 stany - 3 różne kodowania 5 stanów kodowań 7 stanów -840 kodowań 9 stanów - Jak przewidzieć (obliczyć) najlepsze kodowanie stanów? Czy realne jest sprawdzenie wszystkich możliwości

I T P W ZPT 4 Elementy rachunku podziałów c.d. Iloczyn podziałów, iloraz podziałów oraz relacja  Sumą podziałów  a +  b nazywamy najmniejszy (względem relacji  ) podział, który jest nie mniejszy od  a oraz  b. Suma podziałów Jedyną rozsądną z punktu widzenia dzisiejszych technologii i realną do omówienia w ograniczonym czasie wykładu jest metoda wykorzystująca podział z własnością podstawienia. KODOWANIE

I T P W ZPT 5 Przykładzik aa bb a + ba + b a + ba + b a + ba + b a + ba + b a + ba + b

I T P W ZPT 6 Własność podstawienia Podział  na zbiorze stanów automatu M= ma własność podstawienia (closed partition), gdy dla każdej pary stanów S i, S j należącej do tego samego bloku  i każdego wejścia I k stany I k S i oraz I k S j należą do wspólnego bloku . xsxs 0101 AAF00 BEC01 CCE01 DFA10 EBF11 FDE00 Podziały z własnością podstawienia:

I T P W ZPT 7 Twierdzenie Dany jest automat M o zbiorze stanów S, |S| = n. Do zakodowania stanów potrzeba Q 1,..., Q k elementów pamięci.  (  ) – liczba bloków podziału  Jeżeli istnieje podział  z własnością podstawienia i jeżeli r spośród k zmiennych kodujących Q 1,..., Q k, gdzie r =  log 2  (  ) , jest przyporządkowanych blokom podziału  tak, że wszystkie stany zawarte w jednym bloku są oznaczone tymi samymi kodami Q 1,..., Q r, to funkcje Q’ 1,..., Q’ r, są niezależne od pozostałych (k – r) zmiennych.

I T P W ZPT 8 Przykład 1- interpretacja w.p. xsxs 0101 AAF00 BEC01 CCE01 DFA10 EBF11 FDE Kodowanie wg  1  A B C D E F Nie wystarcza to do zakodowania  1  =  (0) Warunek jednoznaczności kodowania!

I T P W ZPT 9 Przykład 1… xsxs 0101 AAF00 BEC01 CCE01 DFA10 EBF11 FDE00 Q 1 Q 2 Q 3 A B C D E F Co to znaczy, że zastosujemy kodowanie wg podziału zamkniętego: Q 1 ’ = D 1 = f(x,Q 1 ) Nie musimy obliczać funkcji wzbudzeń, aby stwierdzić, że pierwsza z nich, czyli D 1 będzie… Niestety tylko jedną zmienną zakodowaliśmy wg podziału zamkniętego, zatem: a co z pozostałymi? Q 2 ’ = D 2 = f(x,Q 1,Q 2,Q 3 ) Q 3 ’ = D 3 = f(x,Q 1,Q 2,Q 3 )

I T P W ZPT 10 Przykład 1… xsxs 0101 AAF00 BEC01 CCE01 DFA10 EBF11 FDE00 Kodowanie wg  A B C D E F 2 2 Jest to kodowanie jednoznaczne A może jest więcej podziałów zamkniętych: Później wykażemy, że oprócz  1 jest  2

I T P W ZPT 11 PRZYKŁAD 1 c.d. Przy tak dobranym kodowaniu pierwsza funkcja wzbudzeń Q 1 ’ tego automatu będzie zależna od jednej zmiennej wewnętrznej, a druga i trzecia łącznie (Q 2 ’, Q 3 ’) od dwóch zmiennych wewnętrznych, czyli Q 1 ’ = f(x,Q 1 ) Q 2 ’ = f(x,Q 2,Q 3 ) Q 3 ’ = f(x,Q 2,Q 3 ) Kto nie wierzy, niech zakoduje, obliczy funkcje Q 1 ’, Q 2 ’, Q 3 ’ i sprawdzi. Dla całego roku!

I T P W ZPT 12 Obliczanie podziału zamkniętego xsxs 01 AAF BEC CCE DFA EBF FDE A,BA,EC,FC,D F E B,DA,CE,FA,DA,F A,B A,C A,D Tworzymy graf par następników dla różnych wierzchołków początkowych

I T P W ZPT 13 PRZYKŁAD 2 xsxs 01Z AHB0 BFA0 CGD0 DEC1 EAC0 FCD0 GBA0 HDB0 Generujemy podziały zamknięte Do zakodowania stanów automatu M potrzebne są 3 podziały 2-blokowe, takie że:

I T P W ZPT 14 PRZYKŁAD 2 c.d. xsxs 01Z AHB0 BFA0 CGD0 DEC1 EAC0 FCD0 GBA0 HDB0 Graf par następników : A,BF,H C,D E,FA,CG,E G,HB,D

I T P W ZPT 15 PRZYKŁAD 2 c.d. xsxs 01Z AHB0 BFA0 CGD0 DEC1 EAC0 FCD0 GBA0 HDB0 A,D D,H B,F + =  2

I T P W ZPT 16 PRZYKŁAD 2 c.d. Niestety: Potrzebny jest więc jeszcze jeden podział  :

I T P W ZPT 17 PRZYKŁAD 2 c.d Kodowanie wg  1 2 2 A B C D E FGHFGH 

I T P W ZPT 18 PRZYKŁAD 2 c.d. Przy tak dobranym kodowaniu dwie funkcje wzbudzeń Q 1 ’ i Q 2 ’ tego automatu będą zależne od jednej zmiennej wewnętrznej, a trzecia Q 3 ’ (w najgorszym przypadku) od trzech zmiennych, czyli Q 1 ’ = f(x,Q 1 ) Q 2 ’ = f(x,Q 2 ) Q 3 ’ = f(x,Q 1,Q 2,Q 3 ) Warto zakodować, obliczyć funkcje wzbudzeń Q 1 ’, Q 2 ’, Q 3 ’ i sprawdzić, czy rzeczywiście tak jest.

I T P W ZPT 19 Komentarz Każde inne kodowanie doprowadzi do bardziej skomplikowanych funkcji wzbudzeń. Q 1 ’ = f(x,Q 1 ) Q 2 ’ = f(x,Q 1,Q 2,Q 3 ) Q 3 ’ = f(x,Q 1,Q 2,Q 3 ) A B C D E FGHFGH Każde inne kodowanie doprowadzi do bardziej skomplikowanych funkcji wzbudzeń. W szczególności dla kodowania wg naturalnego kodu binarnego 1) : 1) Naturalny kod binarny jest przyjmowany domyślnie do kodowania automatów w komercyjnych systemach projektowania układów cyfrowych

I T P W ZPT 20 Nie martwmy się… W najnowszych systemach istnieje opcjonalna możliwość wprowadzenia kodowania obliczonego zewnętrznie przez użytkownika