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, applications � Implementations � Examples
Krohn-Rhodes Theory Automata are studied as algebraic objects (semigroup) and the main concern is the ’factorization‘ of 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 {A F , A G 1 , . . . , A G n } . where F is the flip-flop monoid (the smallest semigroup with an identity and two right-zero element), and G 1 , . . . , G n denote simple groups dividing the characteristic semigroup of A .
hierarchical composition, wreath product f 1 ∈ S 1 ( A 1 , S 1 ) b 1 ∈ A 1 a 1 ∈ A 1 ( A 2 , S 2 ) b 2 ∈ A 2 f 2 : A 1 → S 2 a 2 ∈ A 2 a 1 ( A 3 , S 3 ) b 3 ∈ A 3 f 3 : A 2 × A 1 → S 3 ( A 3 , S 3 ) ≀ ( A 2 , S 2 ) ≀ ( A 1 , S 1 ) ( a 3 , a 2 , a 1 ) · ( f 3 , f 2 , f 1 ) = ( b 3 , b 2 , b 1 ) = ( a 3 · f 3 ( a 2 , a 1 ) , a 2 · f 2 ( a 1 ) , a 1 · f 1 )
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 operations 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 n n elements, e.g. 10 10 = 10 billion and sometimes we deal with subsets, and their number is 2 10 10 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 ( n n ) � applying techniques from the theory of formal languages, O (2 n ) � 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 x2 3 +1 +1 x2 +1 +1 4 x2 5 0 x2 2 x2 +1,x2 1 +1
Example I - images I = images ∪ singletons ∪ state set. The images as they are generated: {0,1,2,3,4,5} x2 {0,2,4} +1 {1,3,5}
Example I - subduction, tiling, skeleton ⇒ ∃ s ∈ S 1 , P ⊆ Q · s ( P, Q ∈ I ) . P ≤ Q ⇐ ⇒ P ≤ Q and Q ≤ P. P ≡ Q ⇐ P ≺ Q, if P ⊂ Q, P < Q and P is maximal {0,1,2,3,4,5} 2 {1,3,5} {0,2,4} 1 {3} {5} {1} {2} {4} {0} 0 C 2 ≀ S 3
Example II – randomly generated automaton x,y 6 z x 4 y,z x,y y z z 2 3 x y 5 z x,y z x 1
Example II {1,2,3,4,5,6} x y z {1,2,3,4,5} {1,2,3,4,6} {1,3,4,5,6} z x z x y {1,3,5,6} {1,3,4,5} {3,4,5,6} {1,2,3,4} {1,2,4,6} x y z y x x z z x y {1,2,4,5} {1,3,4,6} {1,4,5,6} {2,3,4,6} {2,3,4,5} {1,3,4} {3,5,6} {3,4,6} {1,2,3} {1,2,6} z x y y x y y z x y y x z x y z y x z {1,3,6} {1,3,5} {1,2,3,6} {1,2,3,5} {2,4,6} {1,4,6} {1,4,5} {2,4,5} {2,3,4} {4,5,6} {1,4} {1,2,4} {3,5} {1,2} {3,4} z z y y y x y z x z x z x x z z y {3,4,5} {2,6} {2,3,6} {2,3,5} {1,6} {3,6} {1,3} {1,5} {4,5} {1} {3} {5,6} {4,6} z y y x y x y z x y x {1,5,6} {2} {2,4} {4} {5} {2,5} {2,3} x z y {1,2,5} {6} The bottleneck of the current implementation is that I is fully calculated.
Example II – long decomposition 15 hierarchical levels for 6 states {1,2,3,4,5,6} 15 {1,3,4,5,6} 14 {1,2,3,4,5} 13 {1,2,3,4,6} 12 {1,3,5,6} {3,4,5,6} {1,4,5,6} {1,3,4,5} {1,3,4,6} {2,3,4,5} {2,3,4,6} 11 {1,2,3,5} 10 {1,2,4,5} {1,2,3,4} 9 {1,2,3,6} {1,2,4,6} 8 {3,5,6} {1,5,6} {4,5,6} {1,3,5} {1,4,5} {3,4,5} {1,3,6} {3,4,6} {1,4,6} {1,3,4} {2,3,5} {2,3,4} {2,4,5} {2,3,6} {2,4,6} 7 {1,2,5} 6 {1,2,3} 5 {1,2,4} 4 {1,2,6} 3 {5,6} {1,5} {3,5} {4,5} {3,6} {1,6} {1,3} {4,6} {1,4} {3,4} {2,3} {2,5} {2,4} {2,6} 2 {1,2} 1 {5} {6} {1} {3} {4} {2} 0
Thank 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.
Recommend
More recommend