Algebraic Decomposition of Finite State Automata and Formal Models - - PowerPoint PPT Presentation
Algebraic Decomposition of Finite State Automata and Formal Models - - PowerPoint PPT Presentation
Attila Egri-Nagy, Chrystopher L. Nehaniv Algebraic Decomposition of Finite State Automata and Formal Models of Understanding University of Hertfordshire, United Kingdom Outline Krohn-Rhodes Theory Formal models of understanding,
Outline
Krohn-Rhodes Theory Formal models of understanding, applications Implementations Examples
Krohn-Rhodes Theory
Automata are studied as algebraic objects (semigroup) and the main concern is the ’factorization‘
- f automata.
Partially and informally: Theorem 1 (Krohn-Rhodes Decomposition Theorem) A finite automaton A can be represented homomorphically by a cascade product of components from {AF, AG1, . . . , AGn}. where F is the flip-flop monoid (the smallest semigroup with an identity and two right-zero element), and G1, . . . , Gn denote simple groups dividing the characteristic semigroup of A.
hierarchical composition, wreath product
f1 ∈S1 f2 :A1 →S2 f3 :A2×A1 →S3 (A1, S1) (A2, S2) (A3, S3) b1 ∈A1 b2 ∈A2 b3 ∈A3
a1 ∈A1 a1 a2 ∈A2
(A3, S3) ≀ (A2, S2) ≀ (A1, S1) (a3, a2, a1) · (f3, f2, f1) = (b3, b2, b1) = (a3 · f3(a2, a1), a2 · f2(a1), a1 · f1)
The significance of the theorem
Rephrasing the theorem for a practical computer scientist: For all systems for which we can give a finite state automata description a hierarchical model can be generated automatically. Hierarchical implies:
information flow between levels are restricted
enabling modularity (also within one level with parallel components)
generalization and specialization are natural
- perations realized by taking subsets of levels in
either direction up or down the hierarchy
Practical Applications
artificial intelligence: creating representations of
the environment on the fly
automated object-oriented programming biology: well-defined complexity measure,
understanding metabolic networks
physics: top level coordinates correspond to
conserved quantities The possible users can equally be humans, robots or software.
mathematicians vs. programmers
A mathematical proof sometimes provides a clear algorithm but usually efficiency and computational feasibility are not considered. problematic points: ∃, ∀ when the sets are huge. the only problem in semigroup theory: there are so many elements... A finite state machine with n states may end up with a semigroup with nn elements, e.g. 1010 = 10 billion and sometimes we deal with subsets, and their number is
21010 so it’s not just the question of memory-upgrade...
Implementations I.
V ∪ T-technique (Krohn, Rhodes 1965.)
iteratively decomposes a semigroup into two
possibly overlapping parts (using the Green class picture)
the number of hierarchical components is big =
⇒
practically inapplicable
it is implemented in a computer algebra system,
called GAP.
Implementations II.
Holonomy decomposition (Zeiger 1968, Eilenberg 1974, Nehaniv 2004)
works with a detailed study of how the automaton’s
characteristic semigroup acts on the subsets of the state set
implemented using breadth-first search, O(nn) applying techniques from the theory of formal
languages, O(2n)
implemented as a standalone software (due to its
experimental nature) in Java.
Example I
state set: residue classes mod 6 input symbols: adding one +1, doubling x2
1 2
+1,x2
3
+1
4
x2 +1 x2 x2 +1 x2
5
+1 +1 x2
Example I - images
I = images ∪ singletons ∪ state set.
The images as they are generated:
{0,1,2,3,4,5} {0,2,4}
x2
{1,3,5}
+1
Example I - subduction, tiling, skeleton
P ≤ Q ⇐ ⇒ ∃s ∈ S1, P ⊆ Q · s (P, Q ∈ I). P ≡ Q ⇐ ⇒ P ≤ Q and Q ≤ P. P ≺ Q, ifP ⊂ Q, P < QandP is maximal
{5} {4} {1} {3} {2} {0} {0,2,4} {1,3,5} {0,1,2,3,4,5} 2 1
C2 ≀ S3
Example II – randomly generated automaton
2
y
3
z
1
x
4
x,y
5
z x
6
y,z y x z x,y z z x,y
Example II
{1,2,3,4,5,6} {1,2,3,4,5}x
{1,2,3,4,6}y
{1,3,4,5,6}z
{1,3,4,5}x
{1,3,5,6}z
{1,2,3,4}x
{1,2,4,6}y
{3,4,5,6}z
{1,3,4}x
{3,5,6}z
{1,2,3}x
{1,2,6}y
{3,4,6}z
{2,3,4,5}x
{2,3,4,6}y
{1,4,5,6}z
{1,3,4,6}y
{1,2,4,5}x
{1,4}x
{1,2,4}y
{3,5}z
{1,2}x y
{3,4}z
{2,3,4}x
{2,4,6}y
{4,5,6}z
{1,2,3,6}y
{1,3,5}x
{1,3,6}z
{1,4,6}y
{2,4,5}x y
{1,4,5}z y
{1,2,3,5}x y
{3,4,5}z
{1}x
{3}z
{4,6}y
{5,6}z
{2,3,6}y
{1,3}x
{1,6}y
{3,6}z x z
{4,5}x
{1,5}z z
{2,6}y
{2,3,5}x y
{4}x y
{5}z
{1,5,6}z
{2,4}x y y
{2,3}x y
{2,5}x
{2}y
{1,2,5}x
{6}y z
The bottleneck of the current implementation is that I is fully calculated.
Example II – long decomposition
15 hierarchical levels for 6 states
{6} {5} {2} {3} {4} {1} {1,2} {1,4} {1,3} {4,5} {4,6} {3,4} {5,6} {2,3} {2,5} {3,6} {3,5} {2,6} {1,5} {2,4} {1,6} {1,2,6} {1,2,4} {1,2,3} {1,2,5} {1,4,6} {1,4,5} {1,3,5} {4,5,6} {2,3,4} {1,3,6} {3,4,6} {3,4,5} {1,3,4} {2,3,5} {2,3,6} {3,5,6} {2,4,5} {1,5,6} {2,4,6} {1,2,3,6} {1,2,4,6} {1,2,4,5} {1,2,3,4} {1,2,3,5} {1,4,5,6} {1,3,4,6} {2,3,4,5} {1,3,5,6} {2,3,4,6} {3,4,5,6} {1,3,4,5} {1,2,3,4,6} {1,2,3,4,5} {1,3,4,5,6} {1,2,3,4,5,6} 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1Thank You!
More information available at:
http://graspermachine.sf.net
REMEMBER!!!
If You have finite state automata then we can tell You how to understand them exactly! *
* For the time being up to 10 states for an automaton.