ulog w7b

background image

1

I

T
P

W

ZPT

Problem kodowania

x

s

0 1 0 1

A

A B 0 0

B

A C 0 0

C

D C 0 0

D

A B 0 1

Wariant I

A = 00
B = 01
C = 10

D = 11

Wariant I

A = 00
B = 01
C = 10

D = 11

Wariant II

A = 00
B = 11
C = 01

D = 10

Wariant II

A = 00
B = 11
C = 01

D = 10

2

1

2

1

1

Q

Q

x

Q

Q

D

2

1

2

1

2

1

2

Q

Q

x

Q

xQ

Q

Q

x

D

2

1

Q

xQ

y 

2

1

2

1

Q

Q

x

Q

x

D

x

D

2

2

1

Q

xQ

y 

Wariant II

Wariant II

Wariant I

Wariant I

background image

2

I

T
P

W

ZPT

Kodowanie

3 stany - 3 różne kodowania

3 stany - 3 różne kodowania

4 stany - 3 różne kodowania

4 stany - 3 różne kodowania

5 stanów
-

5 stanów
-

140
kodowań

140
kodowań

7 stanów
-

7 stanów
-

840
kodowań

840
kodowań

9 stanów
-

9 stanów
-

ponad 10 milionów kodowań

ponad 10 milionów kodowań

Jak przewidzieć (obliczyć)
najlepsze kodowanie stanów?

Jak przewidzieć (obliczyć)
najlepsze kodowanie stanów?

Czy realne jest sprawdzenie wszystkich
możliwości

Czy realne jest sprawdzenie wszystkich
możliwości

background image

3

I

T
P

W

ZPT

KODOWANIE

Jedyną rozsądną z punktu widzenia dzisiejszych
technologii i realną do omówienia w
ograniczonym

1)

czasie wykładu jest metoda

wykorzystująca podział
z własnością podstawienia.

Jedyną rozsądną z punktu widzenia dzisiejszych
technologii i realną do omówienia w
ograniczonym

1)

czasie wykładu jest metoda

wykorzystująca podział
z własnością podstawienia.

1)

A wszystkich wytrwałych w tym procesie
specjalnie nagradzam na egzaminie.

1)

A wszystkich wytrwałych w tym procesie
specjalnie nagradzam na egzaminie.

background image

4

I

T
P

W

ZPT

Elementy rachunku podziałów

Podziałem na zbiorze S jest system zbiorów P = {

B

i

},

którego bloki są rozłączne, czyli

B

i

B

j

=, jeśli tylko ij.

Dla S = {1,2,3,4,5,6}, P = {{1,2}, {3,5}, {4,6} } jest

podziałem na S.

 =

)

4,6

5;

3,

;

1,2

(

Iloczyn podziałów, suma podziałów oraz relacja .

background image

5

I

T
P

W

ZPT

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

.

b

=

)

3,5

;

2,6

;

1,4

(

)

3,5,6

;

1,2,4

(

)

3,5

;

6

;

4

;

1,2

(

a

=

c

=

c

a

Tak

c

b

NIE!



(0) – podział najmniejszy

(1) – podział największy

background image

6

I

T
P

W

ZPT

Elementy rachunku podziałów…

b

=

Iloczynem podziałów

a

b

nazywamy największy

(względem relacji ) podział, który jest nie większy od

a

oraz

b

.

)

3,5

;

2,6

;

1,4

(

)

3,5,6

;

1,2,4

(

a

=

a

b

=

)

3,5

;

6

;

2

;

1,4

(

background image

7

I

T
P

W

ZPT

Elementy rachunku podziałów…

Sumą podziałów

a

+

b

nazywamy najmniejszy

(względem relacji ) podział, który jest nie mniejszy od

a

oraz

b

.

9

,

8

,

7

6

,

5

;

4

,

3

;

2

,

1

;

9

8

,

7

5

,

4

;

3

,

2

;

6

,

1

;

;

a

b

;...

6

,

2

,

1

a

+

b

;...

6

,

3

,

2

,

1

a

+

b

;...

6

,

4

,

3

,

2

,

1

a

+

b

9

,

8

,

7

;

6

,

5

,

4

,

3

,

2

,

1

a

+ 

b

;...

6

,

5

,

4

,

3

,

2

,

1

a

+

b

background image

8

I

T
P

W

ZPT

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 S

i

, S

j

należącej do

tego samego bloku  i każdego wejścia I

k

stany

I

k

S

i

oraz I

k

S

j

należą do wspólnego bloku .

Podział  na zbiorze stanów automatu M=<S, I ,

δ> 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 I

k

stany

I

k

S

i

oraz I

k

S

j

należą do wspólnego bloku .

x

s

0

1

0

1

A

A

F

0

0

B

E

C

0

1

C

C

E

0

1

D

F

A

1

0

E

B

F

1

1

F

D E

0

0

F

D

C

E

B

A

,

,

;

,

,

1

Podziały z własnością podstawienia:

Podziały z własnością podstawienia:

F

E

D

B

C

A

,

;

,

;

,

2

background image

9

I

T
P

W

ZPT

Twierdzenie

Dany jest automat M o zbiorze stanów S, |S| = n.

Do zakodowania stanów potrzeba Q

1

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

1

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

1

, ..., Q

r

, to funkcje Q’

1

, ..., Q’

r

, są niezależne

od pozostałych (kr) zmiennych.

Dany jest automat M o zbiorze stanów S, |S| = n.

Do zakodowania stanów potrzeba Q

1

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

1

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

1

, ..., Q

r

, to funkcje Q’

1

, ..., Q’

r

, są niezależne

od pozostałych (kr) zmiennych.

background image

10

I

T
P

W

ZPT

Przykład 1- interpretacja w.p.

x

s

0

1

0

1

A

A

F

0

0

B

E

C

0

1

C

C

E

0

1

D

F

A

1

0

E

B

F

1

1

F

D E

0

0

F

D

C

E

B

A

,

,

;

,

,

1

0 0

0 1
0 1
0 0
1 0
1 0

Kodowanie wg 

1

Kodowanie wg 

1

A
B
C

D

E

F

0
0
1
1
0
1

F

E

C

B

D

A

τ

,

;

,

;

,

Nie wystarcza to do

zakodowania

1

=

(0)

Warunek jednoznaczności kodowania!

Warunek jednoznaczności kodowania!

background image

11

I

T
P

W

ZPT

Przykład 1…

x

s

0 1 0 1

A

A F 0 0

B

E C 0 1

C

C E 0 1

D

F A 1 0

E

B F 1 1

F

D E 0 0

Q

1

Q

2

Q

3

A 0 0 0
B 0 0 1
C 1 0 1
D 1 0 0
E 0 1 0
F 1 1 0

Co to znaczy, że zastosujemy
kodowanie wg podziału
zamkniętego:

Co to znaczy, że zastosujemy
kodowanie wg podziału
zamkniętego:

Q

1

’ = D

1

= f(x,Q

1

)

Q

1

’ = D

1

= f(x,Q

1

)

Nie musimy obliczać funkcji

wzbudzeń, aby stwierdzić, że

pierwsza z nich, czyli D

1

będzie…

Niestety tylko jedną zmienną
zakodowaliśmy wg podziału zamkniętego,
zatem:

Niestety tylko jedną zmienną
zakodowaliśmy wg podziału zamkniętego,
zatem:

a co z
pozostałymi?

Q

2

’ = D

2

=

f(x,Q

1

,Q

2

,Q

3

)

Q

3

’ = D

3

=

f(x,Q

1

,Q

2

,Q

3

)

Q

2

’ = D

2

=

f(x,Q

1

,Q

2

,Q

3

)

Q

3

’ = D

3

=

f(x,Q

1

,Q

2

,Q

3

)

background image

12

I

T
P

W

ZPT

Przykład 1…

x

s

0

1

0

1

A

A

F

0

0

B

E

C

0

1

C

C

E

0

1

D

F

A

1

0

E

B

F

1

1

F

D

E

0

0

F

E

D

B

C

A

,

;

,

;

,

2

π

F

D

C

E

B

A

,

,

;

,

,

1

π

Kodowanie wg 

1

Kodowanie wg 

1

0 0

0 1
0 0
0 1
1 0
1 0

A
B
C

D

E

F

0
0
1
1
0
1

2

2

)

(0

2

1

Jest to kodowanie jednoznaczne

A może jest więcej podziałów zamkniętych:

A może jest więcej podziałów zamkniętych:

Później wykażemy, że oprócz 

1

Później wykażemy, że oprócz 

1

jest 

2

jest 

2

background image

13

I

T
P

W

ZPT

PRZYKŁAD 1 c.d.

Przy tak dobranym kodowaniu pierwsza funkcja
wzbudzeń Q

1

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

1

’ = f(x,Q

1

)

Q

2

’ = f(x,Q

2

,Q

3

)

Q

3

’ = f(x,Q

2

,Q

3

)

Przy tak dobranym kodowaniu pierwsza funkcja
wzbudzeń Q

1

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

1

’ = f(x,Q

1

)

Q

2

’ = f(x,Q

2

,Q

3

)

Q

3

’ = f(x,Q

2

,Q

3

)

Kto nie wierzy, niech zakoduje, obliczy funkcje
Q

1

’, Q

2

’, Q

3

’ i sprawdzi.

Kto nie wierzy, niech zakoduje, obliczy funkcje
Q

1

’, Q

2

’, Q

3

’ i sprawdzi.

Dla całego roku!

Dla całego roku!

background image

14

I

T
P

W

ZPT

Obliczanie podziału zamkniętego

x

s

0 1

A

A F

B

E C

C

C E

D

F A

E

B F

F

D E

A,B

A,B

A,E

A,E

C,F

C,F

C,D

C,D

F

F

E

E

B,D

B,D

A,C

A,C

E,F

E,F

A,D

A,D

A,F

A,F

A,B

A,B

A,C

A,C

A,D

A,D

F

D,

C,

;

E

B,

A,

1

F

E,

;

D

B,

;

C

A,

2

 

1

Tworzymy graf par następników

dla różnych wierzchołków

początkowych

background image

15

I

T
P

W

ZPT

PRZYKŁAD 2

x

s

0

1

Z

A

H

B

0

B

F

A

0

C

G

D

0

D

E

C

1

E

A

C

0

F

C

D

0

G

B

A

0

H

D

B

0

Generujemy podziały zamknięte

Generujemy podziały zamknięte

Do zakodowania stanów
automatu M potrzebne są 3
podziały 2-blokowe, takie że:

Do zakodowania stanów
automatu M potrzebne są 3
podziały 2-blokowe, takie że:

(0)

c

b

a

background image

16

I

T
P

W

ZPT

PRZYKŁAD 2 c.d.

x

s

0

1

Z

A

H

B

0

B

F

A

0

C

G

D

0

D

E

C

1

E

A

C

0

F

C

D

0

G

B

A

0

H

D

B

0

Graf par następników :

Graf par następników :

H

G,

F,

E,

;

D

C,

B,

A,

1

A,B

A,B

F,H

F,H

C,D

C,D

E,F

E,F

A,C

A,C

G,E

G,E

G,H

G,H

B,D

background image

17

I

T
P

W

ZPT

PRZYKŁAD 2 c.d.

x

s

0

1

Z

A

H

B

0

B

F

A

0

C

G

D

0

D

E

C

1

E

A

C

0

F

C

D

0

G

B

A

0

H

D

B

0

G

F,

C,

B,

;

H

E,

D,

A,

G

F,

;

H

E,

C

B,

;

D

A,

;

G

F,

C

B,

;

H

E,

D,

A,

;

H

E,

D

A,

;

G

F,

C,

B,

;

A,D

A,D

D,H

D,H

B,F

B,F

+

=

2

+

=

2

background image

18

I

T
P

W

ZPT

PRZYKŁAD 2 c.d.

H

G,

F,

E,

;

D

C,

B,

A,

1

G

F,

C,

B,

;

H

E,

D,

A,

2

Niestety:

Niestety:

Potrzebny jest więc jeszcze jeden podział :

Potrzebny jest więc jeszcze jeden podział :

)

0

(

G

F,

;

H

E,

;

C

B,

;

D

A,

2

1

)

(0

τ 

2

1

F

E,

D,

C,

;

H

G,

B,

A,

τ

background image

19

I

T
P

W

ZPT

PRZYKŁAD 2 c.d.

H

G,

F,

E,

;

D

C,

B,

A,

1

G

F,

C,

B,

;

H

E,

D,

A,

2

0
0
0
0
1
1
1
1

0
1
1
0
0
1
1
0

Kodowanie wg 

1

Kodowanie wg 

1

2

2

A
B
C

D

E

F

G
H

F

E,

D,

C,

;

H

G,

B,

A,

τ

0
0
1
1
1
1
0
0

background image

20

I

T
P

W

ZPT

PRZYKŁAD 2 c.d.

Przy tak dobranym kodowaniu dwie funkcje
wzbudzeń Q

1

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

1

’ = f(x,Q

1

)

Q

2

’ = f(x,Q

2

)

Q

3

’ = f(x,Q

1

,Q

2

,Q

3

)

Przy tak dobranym kodowaniu dwie funkcje
wzbudzeń Q

1

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

1

’ = f(x,Q

1

)

Q

2

’ = f(x,Q

2

)

Q

3

’ = f(x,Q

1

,Q

2

,Q

3

)

Warto zakodować, obliczyć funkcje wzbudzeń
Q

1

’, Q

2

’, Q

3

’ i sprawdzić, czy rzeczywiście tak

jest.

Warto zakodować, obliczyć funkcje wzbudzeń
Q

1

’, Q

2

’, Q

3

’ i sprawdzić, czy rzeczywiście tak

jest.

background image

21

I

T
P

W

ZPT

Komentarz

Każde inne kodowanie doprowadzi do bardziej
skomplikowanych funkcji wzbudzeń.

Każde inne kodowanie doprowadzi do bardziej
skomplikowanych funkcji wzbudzeń.

Q

1

’ = f(x,Q

1

)

Q

2

’ = f(x,Q

1

,Q

2

,Q

3

)

Q

3

’ = f(x,Q

1

,Q

2

,Q

3

)

Q

1

’ = f(x,Q

1

)

Q

2

’ = f(x,Q

1

,Q

2

,Q

3

)

Q

3

’ = f(x,Q

1

,Q

2

,Q

3

)

0 0

0

0 0

1

0 1

0

0 1

1

1 0

0

1 0

1

1 1

0

1 1

1

A
B
C
D
E
F
G
H

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 binarnego

1)

:

W szczególności dla kodowania wg naturalnego
kodu binarnego

1)

:

1)

Naturalny kod binarny jest przyjmowany domyślnie do kodowania

automatów w komercyjnych systemach projektowania układów
cyfrowych

1)

Naturalny kod binarny jest przyjmowany domyślnie do kodowania

automatów w komercyjnych systemach projektowania układów
cyfrowych

background image

22

I

T
P

W

ZPT

Nie martwmy się…

W najnowszych

systemach istnieje

opcjonalna

możliwość

wprowadzenia

kodowania

obliczonego

zewnętrznie przez

użytkownika

background image

23

I

T
P

W

ZPT

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 M

1

,

M

2

jest istnienie podziału  z własnością podstawienia i

podziału  takich, że 

 = 0.

Dany jest automat M o zbiorze stanów S. Warunkiem
koniecznym i wystarczającym dekompozycji szeregowej
automatu M na dwa szeregowo połączone automaty M

1

,

M

2

jest istnienie podziału  z własnością podstawienia i

podziału  takich, że 

 = 0.

f

1

(x,Q

1

)

D

1

f

2

(x,Q

1

,Q

2

)

D

2

f

0

(x,Q

2

)

x

x

q

1

q

1

Q

1

Q

1

Q

2

Q

2

q

2

q

2

z

z

background image

24

I

T
P

W

ZPT

Dekompozycja równoległa

Automat M jest dekomponowalny na dwa podautomaty
M

1

, M

2

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)

Automat M jest dekomponowalny na dwa podautomaty
M

1

, M

2

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)

f

0

(x,Q

1

,Q

2

)

x

x

f

2

(x,Q

2

)

D

2

q

2

q

2

z

z

f

1

(x,Q

1

)

D

1

q

1

q

1

Q

1

Q

1

Q

2

Q

2

background image

25

I

T
P

W

ZPT

Schematy dekompozycji

M

1

()

M

2

()

WY

x

x

2

2

y

y

WY

x

x

M

2

(

2

)

y

y

M

1

(

1

)

Dekompozycja szeregowa

Dekompozycja szeregowa

Dekompozycja równoległa

Dekompozycja równoległa

background image

26

I

T
P

W

ZPT

Dekompozycja szeregowa -

przykład

x

s

0 1 0 1

A

A F 0 0

B

E C 0 1

C

C E 0 1

D

F A 1 0

E

B F 1 1

F

D E 0 0

x

s

0

1

s

11

s

11

s

12

s

12

s

12

s

11

x

s

S

11

,

0

S

11

,

1

S

12

,

0

S

12

,

1

S

11

,0

S

11

,

1

S

12

,

0

S

12

,

1

s

2

1

s

21

s

23

s

23

s

21

0

0

1

0

s

2

2

s

23

s

22

s

22

s

23

0

1

0

1

s

2

3

s

22

s

23

s

21

s

23

1

1

0

0

F

D

C

E

B

A

,

,

;

,

,

1

 = (0)

 = (0)

F

E

C

B

D

A

τ

,

;

,

;

,

s

11

s

11

s

12

s

12

s

21

s

21

s

22

s

22

s

23

s

23

background image

27

I

T
P

W

ZPT

Dekompozycja równoległa -

przykład

x

s

0

1

s

11

s

11

s

12

s

12

s

12

s

11

x

s

0

1

s

21

s

21

s

23

s

22

s

23

s

21

s

23

s

22

s

23

x

s

S

11

,

0

S

12

,

0

S

11

,

1

S

12

,

1

s

2

1

s

21

s

21

s

23

s

23

s

2

2

s

23

s

23

s

21

s

21

s

2

3

s

22

s

22

s

23

s

23

1

2

= (0)

1

2

= (0)

F

D

C

E

B

A

,

,

;

,

,

1

s

11

s

11

s

12

s

12

F

E

D

B

C

A

,

;

,

;

,

2

s

21

s

21

s

22

s

22

s

23

s

23

x

s

0 1 0 1

A

A F 0 0

B

E C 0 1

C

C E 0 1

D

F A 1 0

E

B F 1 1

F

D E 0 0

background image

28

I

T
P

W

ZPT

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 S

j

S i dla wszystkich v

l

V

(S

j

,v

1

),

(S

j

,v

2

), ...,

(S

j

,v

l

), ...,

(S

j

,v

p

),

są w jednym bloku podziału

i

.

Warunkiem koniecznym i dostatecznym istnienia

dekompozycji automatu M, w której występuje
autonomiczny zegar o log

2

(

)

 stanach jest, aby istniał

podział zamknięty

 i nietrywialny zgodny z wejściem

podział

i

zbioru stanów S tego automatu, taki że

 

i

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 S

j

S i dla wszystkich v

l

V

(S

j

,v

1

),

(S

j

,v

2

), ...,

(S

j

,v

l

), ...,

(S

j

,v

p

),

są w jednym bloku podziału

i

.

Warunkiem koniecznym i dostatecznym istnienia

dekompozycji automatu M, w której występuje
autonomiczny zegar o log

2

(

)

 stanach jest, aby istniał

podział zamknięty

 i nietrywialny zgodny z wejściem

podział

i

zbioru stanów S tego automatu, taki że

 

i

background image

29

I

T
P

W

ZPT

PRZYKŁAD 3

x

s

0

1

0

1

A

D

C

0

1

B

C

D

0

0

C

E

F

0

1

D

F

E

0

0

E

B

A

0

1

F

A

B

0

0

F

D,

B,

;

E

C,

A,

O

F

E,

;

D

C,

;

B

A,

I

Podział zgodny z wejściem:

Podział zgodny z wejściem:

Π(0)

Π

Π

O

I

I

jest zamknięty

I

jest zamknięty

background image

30

I

T
P

W

ZPT

PRZYKŁAD 3

F

E,

;

D

C,

;

B

A,

Π 

I

F

D,

B,

;

E

C,

A,

Π

O

0

0

0

0

0

1

0

1

1

0

1

0

0
1
0
1
0
1

Kodowanie wg 

I

Kodowanie wg 

I

wg 

O

wg 

O

A
B
C

D

E

F

Q

1

’ = f(Q

1

,Q

2

)

Q

1

’ = f(Q

1

,Q

2

)

Q

2

’ = f(Q

1

,Q

2

)

Q

2

’ = f(Q

1

,Q

2

)

Q

3

’ = ???

Q

3

’ = ???

y = f(x,Q

3

)

y = f(x,Q

3

)


Document Outline


Wyszukiwarka

Podobne podstrony:
ulog w4b
ulog w8b T
ulog w2
ulog w6 E
W7B KOPOLIMERY BLOKOWE
Automatyka ulog w8 id 629066 Nieznany (2)
ulog w4a
ulog demain
ulog w8a T
ulog w9b
ulog w8a e
ulog w6b
ulog w7a
ulog w9 e
ulog w1
ulog t pr 06
w7b Zatrucie fosforem i fosforkiem cynku
Zad 03-2, WEiTI - Makro, SEMESTR I, ULOG

więcej podobnych podstron