Wykonanie: Krakowian Konrad 140059 Rakowski Bartosz 140116 |
mgr inż. A. Sterna Poniedziałek, godz. 15.15 08.05.2006r. |
Sprawozdanie nr 9
KOMPUTEROWA SYNTEZA AUTOMATU Z PARAMETREM WEWNETRZNYM
Cel ćwiczenia
Celem ćwiczenia jest praktyczne zapoznanie się ze sposobem komputerowej syntezy automatów z parametrem wewnętrznym.
Program ćwiczenia:
Określenie grafów G <A> i wyrażenia symbolicznego Gi+:
|
y2 |
y3 |
y1 |
y1 |
y3 |
y2 |
y3 |
y1 |
y2 |
|
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
q8 |
q9 |
z1 |
q2 |
q4 |
q9 |
q2 |
q9 |
q7 |
q4 |
q9 |
q6 |
z2 |
q5 |
q7 |
q7 |
q1 |
q8 |
q3 |
q7 |
q9 |
q3 |
y2 y2
z1,z2 z1 z1
z2
y1 z1 z1 y3
z2 z2
z1 z2 z2
z1
z2 y3
z1 y1
z1 z1
z2
y2
y3 y1
Gi+ = 0(q11(z1q12(z1q43(z1q2,z2q1)3,z2q73(z1q4,z2q7)3)2,z2q52(z1q93(
z2q34(z1q9,z2q7)4,z1q64(z2q3,z1q7)4)3,z2q83(z1q9,z2q9)3)2)1)0
Wyniki syntezy automatu uzyskane w programie „apw.exe”:
Po przeanalizowaniu grafu, okazało się, że jest tylko jedna możliwość podziału danego automatu na trzy podgrafy:
q1,q2,q4*q3,q7,q6*q5,q8,q9
Wyniki syntezy automatu z parametrem wewnętrznym:
Określenie zbiorów Qi:
y1 --- {q3,q4,q8} --- b1
y2 --- {q1,q6,q9} --- b2
y3 --- {q2,q5,q7} --- b3
Podział grafu na podgrafy:
Podgraf nr 1:
(q1(z2q5,z1q2(z2q7,z1q4(z1q2,z2q1))))
(b2(z2e1b3,z1e1b3(z2e1b3,z1e1b1(z1e1b3,z2e1b2))))
Podgraf nr 2:
(q3(z1q9,z2q7(z1q4,z2q7)),q6(z2q3,z1q7))
(b1(z1e2b2,z2e2b3(z1e2b1,z2e2b3)),b2(z2e2b1,z1e2b3))
Podgraf nr 3:
(q5(z1q9,z2q8(z2q9,z1q9(z1q6,z2q3))))
(b3(z1e3b2,z2e3b1(z2e3b2,z1e3b2(z1e3b2,z2e3b1))))
Określenie wyrażenia symbolicznego automatu stanowego <B>:
(b1(z2e2b3,z1e1b3,z2e1b2,z1e3b2,z2e3b2,z1e2b2(z1e1b3,z2e2b1,z1e2b3,z1e3b2,z2e3b1,z2e1b3(z2e1b3,z1e1b1,z2e3b1,z1e3b2,z1e2b1,z2e2b3))))
Określenie wyrażenia symbolicznego automatu stanowego <E>:
(e1(b2z2e3,b3z2e2(b3z1e1,b1z1e3(b2z1e2,b2z2e2))))
Graf wyrażenia <B>:
z1e1, z2e2 z1e2 z2e2 z2e1, z1e3, z2e3, z1e2
z1e1 z2e3
z2e3
z1e3
z2e1, z2e2 z1e1, z1e2, z2e1 z1e3
Graf wyrażenia <E>:
b2z2 b3z2
b3z1
b2z1, b2z2
b1z1
Określenie struktury logicznej:
W celu określenia struktury logicznej automatu przekształcamy odpowiednio wyrażenia <B> i <E>:
Przejścia ze stanu b1 wyrażenia <B>:
G'** = 0(b11({[[b1z2]e2],[[b1z1]e1]}b3,{[[b1z2]e1],[[b1z1]e3],
[[b1z2]e3],[[b1z1]e2]}b22(…))
Przejścia ze stanu b2 wyrażenia <B>:
G'** = ...b22({[[b2z2]e2],[[b2z2]e3]}b1,{[[b2z1]e3]}b2,{[[b2z1]e1],
[[b2z1]e2],[[b2z2]e1]}b33(…))
Przejścia ze stanu b3 wyrażenia <B>:
G'** = ...b33({[[b3z1]e1],[[b3z2]e3],[[b3z1]e2]}b1,{[[b3z1]e3]}b2,
{[[b3z2]e1],[[b3z2]e2]}b3)3)2)1)0
Przekształcone odpowiednio wyrażenie <E>:
G'** = 0(e11({[[e1b2]z2]}e3,{[[e1b3]z2]}e22({[[e2b3]z1]}e1,
{[[e2b1]z1]}e33({[[e3b2]z1],[[e3b2]z2]}e2)3)2)1)0
Schematy logiczne:
Schemat logiczny przejść ze stanu b1.
Schemat logiczny przejść ze stanu b2.
Schemat logiczny przejść ze stanu b3.
Schemat logiczny automatu <E>.
Uwagi i wnioski:
Dzięki temu ćwiczeniu poznaliśmy sposób komputerowej syntezy automatów z parametrem wewnętrznym przy użyciu laboratoryjnego programu „APW”. Podczas prób podziału grafu na podgrafy, przy zachowaniu wszystkich zasad, zauważyliśmy, ze podgrafy nie mogą zawierać wspólnego wierzchołka. Jest to logiczne, ponieważ wiązałoby się to z przydzieleniem różnych stanów. Po wpisaniu ciągu trzech podgrafów, z których dwa miały wspólny wierzchołek, program automatycznie usuwał powtarzający się wierzchołek z jednego z podgrafów, zachowując przy tym zasadę spójności. W wyniku syntezy otrzymaliśmy wyrażenia <B> i <E>, które następnie przekształciliśmy do odpowiednich form pozwalających na określenie struktury logicznej.
6
e2
b3
q6
q9
q8
b2
e1
b1
q7
q5
e3
q4
q1
q3
q2