1 / 20

Problem kodowania w automatach

Problem kodowania w automatach. Minimalna liczba bitów b potrzebna do zakodowania automatu, w którym liczność zbioru S jest | S |. Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b =  log 2 | S | . Q1Q2Q3. 000 001 010 011 100.

hank
Download Presentation

Problem kodowania w automatach

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Problem kodowania w automatach Minimalna liczba bitów b potrzebna do zakodowania automatu, w którym liczność zbioru S jest |S| Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. b = log2|S| Q1Q2Q3 000 001 010 011 100 Złożoność realizacji sprzętowej automatu silnie zależy od sposobu zakodowania stanów!

  2. Problem kodowania Wariant I A = 00 B = 01 C = 10 D = 11 Wariant II A = 00 B = 11 C = 01 D = 10 Wariant II Wariant I

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

  4. KODOWANIE Elementy rachunku podziałów c.d. 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. Iloczyn podziałów, iloraz podziałów oraz relacja  Suma podziałów Sumą podziałów a+b nazywamy najmniejszy (względem relacji ) podział, który jest nie mniejszy od a oraz b.

  5. a+ b a+ b a+ b a+ b Przykładzik a b a+ b

  6. 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, Sjnależącej do tego samego bloku  i każdego wejścia Ikstany Ik Si oraz Ik Sj należą do wspólnego bloku . Podziały z własnością podstawienia:

  7. Twierdzenie Dany jest automat M o zbiorze stanów S, |S| = n. Do zakodowania stanówpotrzeba Q1, ..., Qkelementó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.

  8. Przykład 1- interpretacja w.p. Kodowanie wg 1  Nie wystarcza to do zakodowania 1• = (0) Warunek jednoznaczności kodowania!

  9. a co z pozostałymi? Nie musimy obliczać funkcji wzbudzeń, aby stwierdzić, że pierwsza z nich, czyli D1 będzie… Przykład 1… Co to znaczy, że zastosujemy kodowanie wg podziału zamkniętego: Q1’ = D1 = f(x,Q1) Niestety tylko jedną zmienną zakodowaliśmy wg podziału zamkniętego, zatem: Q2’ = D2 = f(x,Q1,Q2,Q3) Q3’ = D3 = f(x,Q1,Q2,Q3)

  10. Przykład 1… A może jest więcej podziałów zamkniętych: Później wykażemy, że oprócz 1 jest 2 Kodowanie wg 1 2 Jest to kodowanie jednoznaczne

  11. 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!

  12. A,B B,D A,C A,E C,F E,F C,D A,D A,F Obliczanie podziału zamkniętego Tworzymy graf par następników dla różnych wierzchołków początkowych E F A,B A,C A,D

  13. Do zakodowania stanów automatu M potrzebne są 3 podziały 2-blokowe, takie że: PRZYKŁAD 2 Generujemy podziały zamknięte

  14. G,H C,D G,E A,C A,B F,H E,F B,D PRZYKŁAD 2 c.d. Graf par następników :

  15. PRZYKŁAD 2 c.d. A,D D,H + =2 B,F

  16. PRZYKŁAD 2 c.d. Niestety: Potrzebny jest więc jeszcze jeden podział :

  17. PRZYKŁAD 2 c.d. t Kodowanie wg 1 2

  18. 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.

  19. 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): 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

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

More Related