TC Moduł 8: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 80: | Linia 80: | ||
|width="500px" valign="top"|[[Grafika:TC_M8_Slajd10.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:TC_M8_Slajd10.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
W przypadku tak prostego automatu wystarczy metoda bezpośrednia. Stosowne obliczenia pokazane są na planszy. Najpierw z par tworzymy trójki: 1,2,3; 1,2,5; 1,3,5; 2,3,5. Z uzyskanych czterech trójek powstaje zbiór czteroelementowy: 1, 2, 3, 5. W celu uzyskania wszystkich zbiorów MKZ uzupełniamy tę „czwórkę” tymi parami zgodnymi, które nie zawierają się w dotychczas obliczonych zbiorach zgodnych (czyli w 1, 2, 3, 5). | |||
|} | |} | ||
Linia 86: | Linia 87: | ||
|width="500px" valign="top"|[[Grafika:TC_M8_Slajd11.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:TC_M8_Slajd11.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
Zgodnie z dotychczasowymi informacjami kolejnym etapem minimalizacji jest selekcja zbiorów zgodnych spełniających odpowiedni warunek pokrycia i zamknięcia. Dla porządku na planszy zapisany jest cały algorytm minimalizacji. Skoncentrujmy się na wyjaśnieniu warunków pokrycia i zamknięcia. | |||
Otóż pokrycie wymaga, aby każdy stan realizowanego automatu był elementem co najmniej jednej wybranej klasy. Natomiast zamknięcie wymaga, aby dla każdej litery wejściowej wszystkie następniki (stany następne) danej klasy były zawarte w jednej z wybranych klas. | |||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> | ||
Linia 93: | Linia 96: | ||
|width="500px" valign="top"|[[Grafika:TC_M8_Slajd12.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:TC_M8_Slajd12.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
Minimalnym zbiorem klas stanów zgodnych, spełniającym warunek pokrycia jest zbiór <math>\{\{1,2,3,5\}, \{4,6\}\}</math>. | |||
|} | |} | ||
Linia 100: | Linia 104: | ||
|width="500px" valign="top"|[[Grafika:TC_M8_Slajd13.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:TC_M8_Slajd13.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
Zbiór ten nie jest jednak zamknięty, gdyż warunkami dla klasy <math>\{1,2,3,5\}</math> są <math>\{3,6\}</math> i <math>\{2,4\}</math>, które nie są spełnione, gdyż żadna z tych klas nie jest zawarta w żadnej z obu klas zbioru minimalnego. | |||
|} | |} | ||
Linia 107: | Linia 112: | ||
|width="500px" valign="top"|[[Grafika:TC_M8_Slajd14.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:TC_M8_Slajd14.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
Ponieważ następnikami klasy <math>\{4,6\}</math> są klasy <math>\{1,2\}</math> i <math>\{3,5\}</math>, więc spróbujmy rozbić klasę <math>\{1,2,3,5\}</math> na klasy <math>\{1,2\}</math> i <math>\{3,5\}</math>. Na podstawie tablicy trójkątnej stwierdzamy, że klasy te nie mają warunków zamknięcia. Jeśli zatem utworzymy zbiór <math>\Big\{\{1,2\}, \{3,5\}, \{4,6\}\Big\}</math>, to wszystkie klasy będące warunkami zamknięcia dla klas tego zbioru są zawarte w pewnych jego klasach. Zatem zbiór <math>MKZ_{opt} = \Big\{\{1,2\}, \{3,5\}, \{4,6\}\Big\}</math>, jest zamknięty i pełny, a więc jest minimalnym zbiorem klas zgodnych dla tego automatu. Konstrukcja automatu minimalnego pokazana jest na planszy. | |||
|} | |} | ||
Linia 113: | Linia 119: | ||
|width="500px" valign="top"|[[Grafika:TC_M8_Slajd15.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:TC_M8_Slajd15.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
Dokonamy minimalizacji liczby stanów automatu podanego w tablicy na planszy. Najpierw wypełniamy odpowiednią tablicę trójkątną. Następnie na podstawie par sprzecznych zaznaczonych krzyżykami eliminujemy pary zgodne warunkowo. Powstałe nowe krzyżyki zaznaczono kolorem czerwonym. W rezultacie uzyskujemy pary zgodne: <math>(1,3)</math>, <math>(1,7)</math>, <math>(2,5)</math>, <math>(2,8)</math>, <math>(3,4)</math>, <math>(3,5)</math>, <math>(3,6)</math>, <math>(4,5)</math>, <math>(4,6)</math>, <math>(4,7)</math>, <math>(5,7)</math>, <math>(5,8)</math>, <math>(6,7)</math>, <math>(6.8)</math>. | |||
|} | |} | ||
Linia 120: | Linia 127: | ||
|width="500px" valign="top"|[[Grafika:TC_M8_Slajd16.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:TC_M8_Slajd16.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
Z uzyskanych par zgodnych obliczamy (najłatwiej metodą bezpośrednią) maksymalne klasy zgodności: <math>\{2,5,8\}</math>, <math>\{3,4,5\}</math>, <math>\{3,4,6\}</math>, <math>\{4,5,7\}</math>, <math>\{4,6,7\}</math>, <math>\{1,3\}</math>, <math>\{1,7\}</math>, <math>\{6,8\}</math>. | |||
|} | |} | ||
Linia 127: | Linia 135: | ||
|width="500px" valign="top"|[[Grafika:TC_M8_Slajd17.png|thumb|500px]] | |width="500px" valign="top"|[[Grafika:TC_M8_Slajd17.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
W celu sprawdzenia warunku pokrycia i zamknięcia tworzymy tablicę następników stanów zawartych w poszczególnych klasach zgodności. Zbiory następników odczytujemy z tablicy przejść wyjść i zapisujemy w dwóch wierszach w zależności od wartości sygnału wejściowego <math>x\,</math>. Przykładowo dla zbioru zgodnego <math>2, 5, 8\,</math> stany następne przy <math>x = 0</math> są odpowiednio <math>3, 3, –\,</math> natomiast przy <math>x = 1</math> stany następne dla <math>2, 5, 8\,</math> są <math>1, -.-.\,</math> | |||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> |
Wersja z 22:05, 7 wrz 2006
![]() |
Minimalizacja liczby stanów automatu |
![]() |
Ze względu na to, że para zgodna warunkowo może – po dalszej analizie – okazać się parą zgodną albo sprzeczną w obliczaniu wszystkich par zgodnych posługujemy się tzw. tablicą trójkątną. |
![]() |
Minimalnym zbiorem klas stanów zgodnych, spełniającym warunek pokrycia jest zbiór . |
![]() |
Zbiór ten nie jest jednak zamknięty, gdyż warunkami dla klasy są i , które nie są spełnione, gdyż żadna z tych klas nie jest zawarta w żadnej z obu klas zbioru minimalnego. |
![]() |
Z uzyskanych par zgodnych obliczamy (najłatwiej metodą bezpośrednią) maksymalne klasy zgodności: , , , , , , , . |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |