Zmax może być tworzony systematycznie - poczynając od prawej strony tablicy trójkątnej wpisujemy

3

-

2

2,4; 2,3 2,3,4

1

1,4; 1,3 1,3,4

0

0,4; 0,3; 0,2; 0,1 0,1,3; 0,1,4; 0,2,3; 0,2,4;

Mamy dwie pełne rodziny: I: {0,1,3; 0,2,4} II: {0,1,4; 0,2,3}

Są reprezentowane wszystkie stany pierwotne: 0, 1, 2, 3, 4.

K = {Q1, Q2, …, Qk} - rodzina podzbiorów zbioru stanów Q

Dla każdego 0x01 graphic
oraz 0x01 graphic

0x01 graphic

Jeżeli dla każdego q oraz dopuszczalnych xj 0x01 graphic
to K nazywa się rodzina zamkniętą lub pokryciem.

Weźmy rodzinę I z przykładu. Rodzina ta nie jest zamknięta bo dla zgodności Q2 i Q4 konieczna jest zgodność Q1 i Q4 a Q1 należy do zbioru nr 1, a Q2 należy do zbioru nr 2.

Dołączmy więc trzeci zbiór stanów zgodnych Q1Q4 {1,4}.

Automat ma wtedy postać

Q

0

1

Y

0,1,3

0,1,3

0,2,4

0

0,2,4

1,4

0,2,4

1

1,4

0,1,3

0,2,4

1

Przykład.

Automat

Q\X

x1

x2

x1

x2

b

f

0

0

c

a

1

1

-

d

-

0

-

e

-

0

c

-

1

-

g

-

1

-

-

h

-

0

-

-

-

1

Rodzina stanów maksymalnych zgodnych

Zmax = {beh},{cde},{cdf},{deg},{dfg},{ac},{ag},{fh}

Na początku trzeba sprawdzić warunek pełności i wyznaczyć najmniejsze możliwe rodziny pokrywające zbiór stanów Q. Stan b należy tylko do pierwszego zbioru, stan a tylko do szóstego i siódmego zbioru. Najmniejsze podrodziny muszą zawierać zbiór pierwszy i szósty lub siódmy.

Są to więc rodziny:

{beh} {ac} i trzeba dodać do pełności {dfg}

albo

{beh} {ag} i trzeba dodać do pełności {cdf}

Sprawdzamy czy otrzymane rodziny są zamknięte:

Qnowe\x

x1

x2

beh

cc-

a--

ac

b-

fd

dfg

-g-

e-h

Ta rodzina jest zamknięta wzgl. funkcji przejścia, bo

0x01 graphic

0x01 graphic

Qnowe\x

x1

x2

beh

cc-

a--

ag

b-

fu

cdf

--g

de-

Ta rodzina nie jest zamknięta, bo

0x01 graphic
w żadnym ze zbiorów

Sprawdzanie nie jest potrzebne dla 1-elementowych zbiorów stanów ze względu na warunek pokrycia.

Pierwsza własność.

Rodzina 0x01 graphic
zbiorów stanów niesprzecznych pokrywa zbiór stanów Q jeżeli

0x01 graphic

Oznacza to, że każdy stan zbioru Q należy przynajmniej do jednego zbioru 0x01 graphic
.

Druga własność.

Rodzina K jest zamknięta dla każdego x i każdego zbioru 0x01 graphic
istnieje taki 0x01 graphic
, że

0x01 graphic

Oznacza to, że dla każdego zbioru 0x01 graphic
i dla każdej litery wejściowej x istnieje zbiór 0x01 graphic
należący do rodziny, którego podzbiorem jest zbiór stanów następnych 0x01 graphic
.

Rodzina Zmax (maksymalnych zbiorów stanów niesprzecznych) pokrywa zbiór Q i jest rodziną zamkniętą.

Q\X

0

1

2,0

6,0

4,1

1,0

3,-

-,0

2,1

5,-

4,0

8,-

7,1

2,0

3,1

6,1

-,-

3,0

Q', Y

7

x

6

23

x

5

38

x

x

4

35

23

56

37

25

x

3

v

x

37

34

23

2

13

x

47

12

x

15

34

1

36

x

x

24

68

x

23

x

8

7

6

5

4

3

2

  1. Wpisujemy „x” w kratki nie odpowiadające parze stanów takich, że dla dowolnego wektora wejściowego x jeżeli 0x01 graphic
    i 0x01 graphic
    są określone to są równe. Czyli wyznaczamy stany sprzeczne.

  2. Wpisujemy „v” dla dowolnego x para stanów następnych jest identyczna albo jeden ze znaków jest nieokreślony albo para stanów następnych jest taka sama.

  3. Wpisujemy pary stanów następnych, jeżeli nie spełniają warunku (2).

7

x

6

23

x

5

38

x

x

4

35

x

x

x

3

v

x

x

34

23

2

13

x

x

x

15

34

1

x

x

x

24

68

x

23

x

8

7

6

5

4

3

2

Pary niesprzeczne:

warunki 23, 38, 35, 13, 34, 24, 68, 23, 15

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
pary 68, 58, 48, 28, 35, 15, 34, 24, 23, 13, 38

2348 135

Q\X

0

1

2,0

6,0

4,1

1,0

3,-

-,0

2,1

5,-

4,0

8,-

7,1

2,0

3,1

6,1

-,-

3,0

7

x

6

23

x

5

38

x

x

4

35

23

56

37

25

x

3

v

x

37

34

23

2

13

x

47

12

x

15

34

1

36

x

x

24

68

x

23

x

8

7

6

5

4

3

2

pola oznaczone na szaro są „przekreślone”

Stąd czytamy: 68, 58, 48, 28, 35, 34, 24, 23, 13

oraz 23, 38, 35, 13, 34, 24, 68, 23, 15, 34, 23

Zmax = {135, 2348, 58, 68, 7}

Para 58 nie jest warunkiem zgodności, więc można ją usunąć.

Z1 = {135, 2348, 68, 7}

Stan 8 można usunąć ze zbioru 2348 bo pary 28, 48 nie są warunkiem zgodności a para 38 jest warunkiem zgodności dla już usuniętej pary 58.

Z2 = {135, 234, 68, 7}

Stanu 3 nie można usunąć ze zbioru 234 bo 23 jest warunkiem zgodności 68, ale można go usunąć ze zbioru 135.

Z3 = Zmin = {15, 234, 68, 7}

Q\X

0

1

1

2,0

6,0

2

2,1

1,0

6

7,1

2,0

7

2,1

6,1

0x01 graphic

0x01 graphic

Minimalizacja deterministycznego automatu niezupełnego

Input: Deterministyczny automat niezupełny 0x01 graphic

Output: Rodzina automatów 0x01 graphic
o minimalnej liczbie stanów 0x01 graphic
, z których każdy przedstawia automat A.

Krok 1. Wyznaczyć zbiór par stanów niezgodnych N i zbiór par stanów zgodnych Z (z tablicy trójkątnej)

Krok 2. Wyznaczyć Nmax - rodzinę maksymalnych zbiorów stanów niezgodnych (przy pomocy grafu - relacja niezgodności jest tylko symetryczna)

Krok 3. Wyznaczyć rodzinę maksymalnych zbiorów stanów zgodnych Zmax (przy pomocy grafu - relacja zgodności jest zwrotna i symetryczna)

Krok 4. Wyznaczyć w rodzinie Zmax nienadmiarowy zbiór rodzin zupełnych o minimalnej liczbie elementów.

Krok 5. Zdefiniować rodzinę 0x01 graphic
automatów przedstawiających automat A, przyjmując jako zbiory stanów 0x01 graphic
rodziny zupełne wyznaczone w kroku 4 i spełniające warunki

Rodzina zupełna K podzbiorów stanów Q to taka rodzina, że każdy element tej rodziny jest maksymalnym zbiorem stanów zgodnych. Rodzina K pokrywa zbiór stanów Q i jest zamknięta.

Automat A' przedstawia A jeżeli: K - zupełna K = {Q1, Q2, …, Qk}

Q' = {q1, q2, …, qk}

oraz 0x01 graphic
oraz 0x01 graphic

1. 0x01 graphic

2. 0x01 graphic
gdzie 0x01 graphic

0x01 graphic