Introduction to FSM Decomposition.

Encoding
x
0
1
0
1
Variant I
Variant II
A
A
B
0
0
B
A C
0
0
C
D C
0
0
D
A
0
1
A = 00
B = 01
C = 10
D = 11
A = 00
B = 11
C = 01
D = 10
s
B
Variant I
Variant II
D1  Q1Q2  x Q1Q 2
D1  x Q2  x Q1Q 2
D2  xQ1Q2  xQ1Q 2  x Q1Q2
D2  x
y  xQ1Q2
y  xQ1Q2
Encodings
How to encode?
Can we check all possible encodings?
3 states - 3 encodings
4 states - 3 encodings
5 states -
140 encodings
7 states -
840 encodings
9 states -
More than 10 million encodings
Partition reminder…
Product of partitions a • b is the largest (with respect to
relation ) partition, that is not larger than a and b.
a = (1,2,4; 3,5,6 )
b = (1,4; 2,6; 3,5 )
a • b = (1,4; 2; 6; 3,5 )
Sum of partitions…
Sum of partitions a + b is the smallest (with respect to
relation ) partition, which is not smaller than a and b.
a  1,2; 3,4; 5,6;7,8,9
b  1,6; 2,3; 4,5;7,8; 9
a  b  1,2,3,4,5,6; 7,8,9
Substitution Property of a partition
Partition  on set of states of machine M=<S, V, δ>
has the substitution property (closed partition), when:
v p V , (si , s j  bk ), bk     ((si , v p ), ((si , v p ))  bm
bm
Partition has the substitution property when
elements of a block under any input symbol transit
to themselves or to other block of partition 
Theorem
Given is automaton M with set of states S, |S| = n.
To encode states we need Q1, ..., Qk memory elements (flip-flops).
If partition  exist with substitution property and if r among k
encoding variables Q1, ..., Qk, where
r = log2(,), is subordinated to blocks of partition  such that all states
included in one block are denoted with the same variables Q1, ..., Qr , then
functions Q’1, ..., Q’r, are independent on remaining (k – r) variables.
Conversely, if first r variables of the next state Q’1, ..., Q’r (1  r < k) can
be determined from the values of inputs and first r variables Q1, ..., Qr
independently on values of the remaining variables, then there exists
partition  with substitution property such that two states si, sj are in
the same block of partition if and only if they are denoted by the same
value of the first r variables.
Serial Decomposition
Given is automaton M with set of states S. Sufficient and
necessary condition of serial decomposition of M into two serially
connected automata M1, M2 is existence of partition  with
substitution property and partition  such    = 0.
x
f1(x,Q1)
q1
D1
Q1
f2(x,Q1,Q2)
q2
D2
Q2
f0(x,Q2)
z
Parallel Decomposition
Automaton M jest decomposable into two sub-automata M1, M2
working in parallel iff in the set of states S of this automaton
there exist two non-trivial partitions 1, 2 with substitution
property such that
1  2 = (0)
q1
f1(x,Q1)
x
f2(x,Q2)
D1
q2
Q1
z
f0(x,Q1,Q2)
D2
Q2
Serial Decomposition - Example
x
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
s
x
s
0
1

s12
s11
1  A, B, E; C , D, F

s21

s22
s23
τ  A, D; B, C; E , F

   = (0)
State of the
predecessor
machine
State of
primary
input x
in
s
S11,0
S11,1
S12,0
S12,1
s21
s21
s23
s23
s21
S11,0
S11,1
S12,0
S12,1
0
0
1
0
s11 s11
s12
s22
s23
s22
s22
s23
0
1
0
1
s12 s12
s11
s23
s22
s23
s21
s23
1
1
0
0
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
f1(x,Q1)
M1 =
D1
Q1

f2(x,Q1,Q2)

S11=ABE
s21
q2
D2
s22
Q2
f0(x,Q2)
s23
1

S12 =CDF
S11,0
S11,1
S12,0
S12,1
s21
s21
s23
s23
s21
s
0
q1
Serial
Decomposition –
Example continued
τ  A, D; B, C; E , F
x
s
s11
1  A, B, E; C , D, F
S21=AD
x
s12
S11,0
S11,1
S12,0
S12,1
0
0
1
0
s11 s11
s12
BC
s22
s23
s22
s22
s23
0
1
0
1
s12 s12
s11
EF
s23
s22
s23
s21
s23
1
1
0
0
z
Parallel
DecompositionExample
M1
y
out
x
M2(2)
s11
s12


s
s
s
 A, C ; B, D; E , F 
1  A, B, E; C , D, F
21
2
22
23
1  2 = (0)
ABE
CDF
S11,0
S12,0
S11,1
S12,1
s21
s21
s21
s23
s23
s22
s23
s23
s21
s21
x
s
AC
BD
EF
s23
s22
s22
x
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
s
ABE CDF
s23
s23
Knowing both
partitions we
can create
table 2, next
combining
columns with
the same input
X we obtain
the table of
one of
machines
x
0
1
s21
s21
s23
s22
s23
s21
s23
s22
s23
s
Combining
columns
M2
Decomposition Schemata
Serial Decomposition
x
M1
2
M2()
out
Parallel Decomposition
M1
out
x
M2(2)
y
y
Calculating a closed partition
x
0
1
A
A
F
B
E C
C
C E
D
F
A
E
B
F
F
D E
s
We create a graph of pairs of successors
for various initial nodes.
A,B
A,E
C,F
C,D
F
E
A,C


 A,C; B,D; E,F 
A,B
1  A,B,E; C,D,F
A,C
2
A,D
1
E,F
B,D
A,D
A,F
Dekompozycja z autonomicznym zegarem
Some automata have a decomposition in which we use the
autonomous clock - and sub-automaton that is not dependent on
inputs.
Partition i of set of states S of automaton M is compatible
with input, if for each state Sj  S and for all vl  V
(Sj,v1), (Sj,v2), ..., (Sj,vl), ..., (Sj,vp),
are in one block of partition i.
A sufficient and necessary condition of existence of
decomposition of automaton M, with an autonomous clock with
log2() states is that there exists a closed partition  and a nontrivial, compatible with input partition i of the set of states S of this
machine such that   i