Problem kodowania w automatach

Podobne dokumenty
SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

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

Minimalizacja funkcji boolowskich

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

MATURA Przygotowanie do matury z matematyki

Arytmetyka. Działania na liczbach, potęga, pierwiastek, logarytm

Kody blokowe Wykład 2, 10 III 2011

Uzasadnienie tezy. AB + CD = BC + AD 2

TO TRZEBA ROZWIĄZAĆ-(I MNÓSTWO INNYCH )

Układy asynchroniczne

Metody Programowania

Minimalizacja funkcji boolowskich

Kody Tunstalla. Kodowanie arytmetyczne

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

51. Wykorzystywanie sumy, iloczynu i różnicy zdarzeń do obliczania prawdopodobieństw zdarzeń.

Elementy teorii informacji i kodowania

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

0 + 0 = 0, = 1, = 1, = 0.

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Wstęp do Informatyki

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

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Funkcja Boolowska a kombinacyjny blok funkcjonalny

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Kody blokowe Wykład 5a;

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Bisymulacja. Niezawodność systemów współbieżnych i obiektowych. Grzegorz Maj Grzegorz Maj Bisymulacja

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Matematyka II. Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr letni 2018/2019 wykład 13 (27 maja)

Zadania do cz. I. ggoralski.com. Autor: Grzegorz Góralski. środa, 9 listopada 11

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kody transmisyjne. Systemy PCM Sieci ISDN Sieci SDH Systemy dostępowe Transmisja w torach przewodowych i światłowodowych

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON.

Pole powierzchni całkowitej prostopadłościanu o wymiarach 5 x 3 x 4 jest równe A. 94 B. 60 C. 47 D. 20

Kombinowanie o nieskończoności. 3. Jak policzyć nieskończone materiały do ćwiczeń

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Próbny egzamin maturalny z matematyki Poziom rozszerzony

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

UKŁADY MIKROPROGRAMOWALNE

Dawno, dawno temu przed siedmioma

Maszyna Turinga języki

Teoria obliczeń i złożoność obliczeniowa

Tranzystor JFET i MOSFET zas. działania

Temat: Algorytm kompresji plików metodą Huffmana

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

Lista zadań - Relacje

1. Liczby zespolone. Jacek Jędrzejewski 2011/2012

Podstawowe pojęcia. Teoria informacji

Jarosław Wróblewski Matematyka Elementarna, zima 2011/12

EGZAMIN MATURALNY Z MATEMATYKI

Odbicie lustrzane, oś symetrii

1. SYNTEZA UKŁADÓW SEKWENCYJNYCH

Nierówność Krafta-McMillana, Kodowanie Huffmana

PRÓBNY EGZAMIN MATURALNY

PRÓBNY EGZAMIN MATURALNY

EGZAMIN MATURALNY Z MATEMATYKI

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Sławomir Kulesza. Projektowanie automatów synchronicznych

Lista 0. Kamil Matuszewski 1 marca 2016

O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Kody splotowe (konwolucyjne)

Elżbieta Świda, Marcin Kurczab. Nowy typ zadań maturalnych z matematyki na poziomie rozszerzonym

Wielokąty na płaszczyźnie obliczenia z zastosowaniem trygonometrii. Trójkąty. Trójkąt dowolny. Wielokąty trygonometria 1.

EGZAMIN MATURALNY Z MATEMATYKI

KONKURS ZOSTAŃ PITAGORASEM MUM. Podstawowe własności figur geometrycznych na płaszczyźnie

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Zadania otwarte krótkiej odpowiedzi na dowodzenie

Jarosław Wróblewski Matematyka Elementarna, zima 2014/15

Podstawy Automatyki. Wykład 15 - Projektowanie układów asynchronicznych o programach liniowych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Zadanie: A2 Kapitan Mambeks i gra w skoczki Plik źródłowy: A2.pas dla języka Pascal Dostępna pamięć: 64 MB A2.c dla języka C A2.

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Zadania z analizy matematycznej - sem. I Granice funkcji, asymptoty i ciągłość

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Kompresja bezstratna. Entropia. Kod Huffmana

KLUCZ PUNKTOWANIA ODPOWIEDZI

Matematyka dyskretna

ZADANIE 1 Ciag (a n ), gdzie n 1, jest rosnacym ciagiem geometrycznym. Wyznacz wartość największa 2xa 6 a 2 a 4 a 3 x 2 a 3 a 6. ZADANIE 2 ZADANIE 3

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

zmiana stanu pamięci następuje bezpośrednio (w dowolnej chwili czasu) pod wpływem zmiany stanu wejść,

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

0-0000, , , itd

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Obliczenia inspirowane Naturą

PRÓBNY EGZAMIN MATURALNY

Transkrypt:

roblem kodowania w automatach Kodowanie stanów to przypisanie kolejnym stanom automatu odpowiednich kodów binarnych. Minimalna liczba bitów b potrzebna do zakodowania automatu, w którym liczność zbioru S jest S QQ2Q3 v v 2 v 3 Y S S S 4 y 2 S 2 S 5 S 3 S y S 3 S 4 S 5 y 3 S 4 S S 2 S 3 y 2 S 5 S 4 S 2 y 4 b log 2 S Złożoność realizacji sprzętowej automatu silnie zależy od sposobu zakodowania stanów! Z

roblem kodowania x s A A B B A C C D C D A B ariant ariant A B C D ariant A B C D ariant + " " " " + " " + " " " " " " + " " " " " Z 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 - 4 kodowań 7 stanów - 84 kodowań 9 stanów - Z 3

KODOANE 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. Elementy rachunku podziałów c.d. loczyn 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. Z 4

rzykładzik Π a (,2;3,4;5,6 7,8,9) (,6;2,3;4,5 7,8 9) Π b ( ),2,6;... Π a + Π b (,2,3,6;... ) Π a + Π b Π (,2,3,4,6;... ) a + Π b Π ( ) a + Π b,2,3,4,5,6;... Π a + Π b (,2,3,4,5,6;7,8,9 ) Z 5

łasność podstawienia odział Π na zbiorze stanów automatu M<S,, δ> 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 k stany k S i oraz k S j należą do wspólnego bloku Π. s x odziały z własnością podstawienia: A A F B E C π ( A, B, E; C, D, F ) Z C C E D F A E B F F D E π 2 ( A, C; B, D; E, F ) 6

wierdzenie Dany jest automat M o zbiorze stanów S, S n. Do zakodowania stanów potrzeba Q,..., 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,..., 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,..., Q r, to funkcje Q,..., Q r, są niezależne od pozostałych (k r) zmiennych. Z 7

rzykład - interpretacja w.p. s x A A F π ( A, B, E; C, D, F ) B E C C C E ( A, D; B, C; E F ) τ, D F A E B F F D E Kodowanie wg Π A τ B Z Nie wystarcza to do zakodowania Π τ Π() C D E F arunek jednoznaczności kodowania! 8

rzykład x s A A F B E C C C E D F A E B F F D E Co to znaczy, że zastosujemy kodowanie wg podziału zamkniętego: Q Q 2 Q 3 A B C D E F Q D f(x,q ) a co z pozostałymi? Niestety tylko jedną zmienną zakodowaliśmy wg podziału zamkniętego, zatem: Z Nie musimy obliczać funkcji wzbudzeń, aby stwierdzić, że pierwsza z nich, czyli D będzie Q 2 D 2 f(x,q,q 2,Q 3 ) Q 3 D 3 f(x,q,q 2,Q 3 ) 9

rzykład A może jest więcej podziałów zamkniętych: s x A A F B E C C C E D F A E B F F D E Jest to kodowanie jednoznaczne Π Π Π() óźniej wykażemy, że oprócz Π jest Π 2 π ( A, B, E; C, D, F ) π ( A, C; B, D; E, F ) 2 Kodowanie wg Π Π 2 A B C D E F Z

RZYKŁAD c.d. rzy tak dobranym kodowaniu pierwsza funkcja wzbudzeń Q 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 f(x,q ) Q 2 f(x,q 2,Q 3 ) Q 3 f(x,q 2,Q 3 ) Z Kto nie wierzy, niech zakoduje, obliczy funkcje Q, Q 2, Q 3 i sprawdzi. Dla całego roku!

Obliczanie podziału zamkniętego x s A A F B E C C C E D F A E B F F D E F A,E A,B C,D C,F worzymy graf par następników dla różnych wierzchołków początkowych E A,C E,F A,B ( ) B,D Z A,C A,D Π ( ) Π Π() A,D A,F 2

s x Z A H B B F A C G D D E C E A C F C D G B A H D B RZYKŁAD 2 Do zakodowania stanów automatu M potrzebne są 3 podziały 2- blokowe, takie że: Π a Π b Π c Π() Generujemy podziały zamknięte Z 3

RZYKŁAD 2 c.d. s x Z Graf par następników : A H B B F A C G D A,B F,H D E C E A C F C D G B A C,D B,D G,H H D B Π ( ) G,E E,F A,C Z 4

RZYKŁAD 2 c.d. s x Z A H B B F A C G D D E C E A C F C D G B A H D B A,D ; Z D,H B,F ; ; + Π 2 ( ) 5

Π Π ( ) ( ) RZYKŁAD 2 c.d. Niestety: Π Π ( ) Π() otrzebny jest więc jeszcze jeden podział τ: Π Π τ Π( ) τ ( ) Z 6

RZYKŁAD 2 c.d. Π ( ) Π ( ) τ ( ) Kodowanie wg Π Π 2 A B C D τ E F G H Z 7

RZYKŁAD 2 c.d. rzy tak dobranym kodowaniu dwie funkcje wzbudzeń Q 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 f(x,q ) Q 2 f(x,q 2 ) Q 3 f(x,q,q 2,Q 3 ) arto zakodować, obliczyć funkcje wzbudzeń Q, Q 2, Q 3 i sprawdzić, czy rzeczywiście tak jest. Z 8

Komentarz Każde inne kodowanie doprowadzi do bardziej skomplikowanych funkcji wzbudzeń. szczególności dla kodowania wg naturalnego kodu binarnego ) : Z A B C D E F G H Q f(x,q ) Q 2 f(x,q,q 2,Q 3 ) Q 3 f(x,q,q 2,Q 3 ) ) Naturalny kod binarny jest przyjmowany domyślnie do kodowania automatów w komercyjnych systemach projektowania układów cyfrowych 9

Nie martwmy się najnowszych systemach istnieje opcjonalna możliwość wprowadzenia kodowania obliczonego zewnętrznie przez użytkownika Z 2