Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałLongin Ulrych Został zmieniony 10 lat temu
1
Problem kodowania x s 1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11
1 A B C D Wariant I A = 00 B = 01 C = 10 D = 11 Wariant II A = 00 B = 11 C = 01 D = 10 Wariant II Wariant I
2
Kodowanie Jak przewidzieć (obliczyć) najlepsze kodowanie stanów?
Czy realne jest sprawdzenie wszystkich możliwości 3 stany - 3 różne kodowania 4 stany - 3 różne kodowania 5 stanów - 140 kodowań 7 stanów - 840 kodowań 9 stanów - ponad 10 milionów kodowań
3
KODOWANIE Jedyną rozsądną z punktu widzenia dzisiejszych technologii i realną do omówienia w ograniczonym1) czasie wykładu jest metoda wykorzystująca podział z własnością podstawienia. A wszystkich wytrwałych w tym procesie specjalnie nagradzam na egzaminie.
4
Elementy rachunku podziałów
Podziałem na zbiorze S jest system zbiorów P = {Bi }, którego bloki są rozłączne, czyli Bi Bj =, jeśli tylko i j. Dla S = {1,2,3,4,5,6}, P = {{1,2}, {3,5}, {4,6} } jest podziałem na S. = Iloczyn podziałów, suma podziałów oraz relacja .
5
Elementy rachunku podziałów…
Powiemy, że podział a jest nie większy od b (co oznaczamy: a b), jeśli każdy blok z a jest zawarty w pewnym bloku z b. a = b = c = c ≤ a Tak c b NIE! (0) – podział najmniejszy (1) – podział największy
6
Elementy rachunku podziałów…
Iloczynem podziałów a • b nazywamy największy (względem relacji ) podział, który jest nie większy od a oraz b. a = b = a • b =
7
Elementy rachunku podziałów…
Sumą podziałów a + b nazywamy najmniejszy (względem relacji ) podział, który jest nie mniejszy od a oraz b. a b a + b a + b a + b a + b a + b
8
Własność podstawienia
Podział na zbiorze stanów automatu M=<S, I , δ> ma własność podstawienia (closed partition), gdy dla każdej pary stanów Si, Sj należącej do tego samego bloku i każdego wejścia Ik stany Ik Si oraz Ik Sj należą do wspólnego bloku . x s 1 A F B E C D Podziały z własnością podstawienia:
9
Twierdzenie () – liczba bloków podziału
Dany jest automat M o zbiorze stanów S, |S| = n. Do zakodowania stanów potrzeba Q1, ..., Qk 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 Q1, ..., Qk, gdzie r = log2(), jest przyporządkowanych blokom podziału tak, że wszystkie stany zawarte w jednym bloku są oznaczone tymi samymi kodami Q1, ..., Qr , to funkcje Q’1, ..., Q’r, są niezależne od pozostałych (k – r) zmiennych.
10
Przykład 1- interpretacja w.p.
x s 1 A F B E C D Kodowanie wg 1 A B C D E F 1 0 0 0 1 1 0 Nie wystarcza to do zakodowania 1 • = (0) Warunek jednoznaczności kodowania!
11
Przykład 1… Q1’ = D1 = f(x,Q1) Q2’ = D2 = f(x,Q1,Q2,Q3)
Co to znaczy, że zastosujemy kodowanie wg podziału zamkniętego: x s 1 A F B E C D Q1Q2Q3 A 0 0 0 B 0 0 1 C 1 0 1 D 1 0 0 E 0 1 0 F 1 1 0 Q1’ = D1 = f(x,Q1) a co z pozostałymi? Niestety tylko jedną zmienną zakodowaliśmy wg podziału zamkniętego, zatem: Nie musimy obliczać funkcji wzbudzeń, aby stwierdzić, że pierwsza z nich, czyli D1 będzie… Q2’ = D2 = f(x,Q1,Q2,Q3) Q3’ = D3 = f(x,Q1,Q2,Q3)
12
Przykład 1… A może jest więcej podziałów zamkniętych: x s 1 A F B E C
1 A F B E C D Później wykażemy, że oprócz 1 jest 2 Kodowanie wg 1 2 A B C D E F 1 0 0 0 1 1 0 Jest to kodowanie jednoznaczne
13
Jeśli wyjdzie inaczej – TŁ stawia
PRZYKŁAD 1 c.d. Przy tak dobranym kodowaniu pierwsza funkcja wzbudzeń Q1’ tego automatu będzie zależna od jednej zmiennej wewnętrznej, a druga i trzecia łącznie (Q2’, Q3’) od dwóch zmiennych wewnętrznych, czyli Q1’ = f(x,Q1) Q2’ = f(x,Q2,Q3) Q3’ = f(x,Q2,Q3) Jeśli wyjdzie inaczej – TŁ stawia Kto nie wierzy, niech zakoduje, obliczy funkcje Q1’, Q2’, Q3’ i sprawdzi. Dla całego roku!
14
Obliczanie podziału zamkniętego
x s 1 A F B E C D Tworzymy graf par następników dla różnych wierzchołków początkowych A,B A,E C,F C,D E F A,C E,F A,B B,D A,C A,D A,F A,D
15
Generujemy podziały zamknięte
PRZYKŁAD 2 x s 1 Z A H B F C G D E Do zakodowania stanów automatu M potrzebne są 3 podziały 2-blokowe, takie że: Generujemy podziały zamknięte
16
PRZYKŁAD 2 c.d. Graf par następników : x s 1 Z A H B F C G D E A,B F,H
1 Z A H B F C G D E Graf par następników : A,B F,H C,D E,F A,C G,E G,H B,D
17
PRZYKŁAD 2 c.d. x s 1 Z A H B F C G D E A,D D,H + =2 B,F
18
PRZYKŁAD 2 c.d. Niestety: Potrzebny jest więc jeszcze jeden podział :
19
PRZYKŁAD 2 c.d. t Kodowanie wg 1 2 A B C D E F G H 1 1 1
20
PRZYKŁAD 2 c.d. Przy tak dobranym kodowaniu dwie funkcje wzbudzeń Q1’ i Q2’ tego automatu będą zależne od jednej zmiennej wewnętrznej, a trzecia Q3’ (w najgorszym przypadku) od trzech zmiennych, czyli Q1’ = f(x,Q1) Q2’ = f(x,Q2) Q3’ = f(x,Q1,Q2,Q3) Warto zakodować, obliczyć funkcje wzbudzeń Q1’, Q2’, Q3’ i sprawdzić, czy rzeczywiście tak jest.
21
Komentarz Każde inne kodowanie doprowadzi do bardziej skomplikowanych funkcji wzbudzeń. Każde inne kodowanie doprowadzi do bardziej skomplikowanych funkcji wzbudzeń. W szczególności dla kodowania wg naturalnego kodu binarnego1): A B C D E F G H 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Q1’ = f(x,Q1) Q2’ = f(x,Q1,Q2,Q3) Q3’ = f(x,Q1,Q2,Q3) 1) Naturalny kod binarny jest przyjmowany domyślnie do kodowania automatów w komercyjnych systemach projektowania układów cyfrowych
22
Nie martwmy się… W najnowszych systemach istnieje opcjonalna możliwość wprowadzenia kodowania obliczonego zewnętrznie przez użytkownika
23
Dekompozycja szeregowa
Dany jest automat M o zbiorze stanów S. Warunkiem koniecznym i wystarczającym dekompozycji szeregowej automatu M na dwa szeregowo połączone automaty M1, M2 jest istnienie podziału z własnością podstawienia i podziału takich, że = 0. f1(x,Q1) D1 f2(x,Q1,Q2) D2 f0(x,Q2) x q1 Q1 Q2 q2 z
24
Dekompozycja równoległa
Automat M jest dekomponowalny na dwa podautomaty M1, M2 działające równolegle wtedy i tylko wtedy, gdy na zbiorze S tego automatu istnieją dwa nietrywialne podziały 1, 2 z własnością podstawienia takie, że 1 2 = (0) f0(x,Q1,Q2) x f2(x,Q2) D2 q2 z f1(x,Q1) D1 q1 Q1 Q2
25
Schematy dekompozycji
Dekompozycja szeregowa M1() M2() WY x 2 y Dekompozycja równoległa WY x M2(2) y M1 (1)
26
Dekompozycja szeregowa - przykład
x s 1 A F B E C D s11 s12 s21 s22 s23 = (0) x s S11,0 S11,1 S12,0 S12,1 s21 s23 1 s22 x s 1 s11 s12
27
Dekompozycja równoległa - przykład
x s 1 A F B E C D s11 s12 s21 s22 s23 1 2 = (0) x s 1 s11 s12 x s S11,0 S12,0 S11,1 S12,1 s21 s23 s22 x s 1 s21 s23 s22
28
Dekompozycja z autonomicznym zegarem
Niektóre automaty mają dekompozycję, w której występuje autonomiczny zegar – podautomat niezależny od wejść. Podział i zbioru stanów S automatu M jest zgodny z wejściem, jeśli dla każdego stanu Sj S i dla wszystkich vl V (Sj,v1), (Sj,v2), ..., (Sj,vl), ..., (Sj,vp), są w jednym bloku podziału i. Warunkiem koniecznym i dostatecznym istnienia dekompozycji automatu M, w której występuje autonomiczny zegar o log2() stanach jest, aby istniał podział zamknięty i nietrywialny zgodny z wejściem podział i zbioru stanów S tego automatu, taki że i
29
Podział zgodny z wejściem:
PRZYKŁAD 3 x s 1 A D C B E F Podział zgodny z wejściem: I jest zamknięty
30
PRZYKŁAD 3 Q1’ = f(Q1,Q2) Q2’ = f(Q1,Q2) Q3’ = ??? y = f(x,Q3)
Kodowanie wg I wg O A B C D E F 1 1 Q2’ = f(Q1,Q2) Q3’ = ??? y = f(x,Q3)
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.