Something from theoretical background
Local testability:
A locally testable language L is a language with the property
that for some nonnegative integer k, called the order or the level of local
testability, whether or not a word u is in the language L depends on (1) the
prefix and suffix of the word u of length k-1 and (2) the set of intermediate
substrings of length k of the word u. For a given k the language is called
k-testable.
The definition of strictly locally testable language is
analogous, only the length of prefix and suffix is equal to k.
The definition of left [right] locally testable language is
obtained from the definition of locally testable language by adding to the list
of two conditions the third condition: (3) the order of the first appearance
from left [right] of substrings.
The definition of bilateral] locally testable language is obtained from the
definition of locally testable language by adding to the list of two
conditions the third condition: (3) the order of the first appearance
of substrings from both left and right.
The syntactic characterization of locally threshold testable language:
Given the syntactic semigroup S of the language L, we form a graph G(S) as
follows. The vertices of G(S) are the idempotents of S , and the edges from
e to f are the elements of the form esf. A language L is locally threshold
testable if and only if S is aperiodic and for any two nodes e , f and
three edges p , q , r such that p and q are edges from e to f and r is an
edge from f to e we have:
prq=qrp
Piecewise testability:
A language is piecewise testable iff its syntactic monoid is J-trivial
(meaning that distinct elements of monoid generate distinct ideals).
A word of labels is called synchronizing if the word maps all states
of the graph on a unique state. An automaton having synchronizing word
is called synchronizing.
T E S T A S
This application demonstrates the basics of using the package TESTAS and is also
a starting point for your acquaintance with a set of procedures for deciding
whether or not a language given by its transition graph or its syntactic
semigroup is locally testable, threshold locally testable, strictly locally
testable, or piecewise testable. The order of local testability of transition
semigroup and of transition graph of deterministic finite automaton and the
order of strict local testability of transition graph is also found.
Synchronizing graphs are checked. Synchronizing word is found by help
of some algorithms. Some new effective polynomial time algorithms are used.
The application creates the syntactic semigroup from the transition
graph of automaton. All these algorithms have been implemented as an C++
package.
The visualization of the transition graph and its subgraphs is realized by help
of a linear algorithm.
The DEMO version of the package TESTAS consists from two folders: for
semigroups and for graphs. The graph folder contains main AUTOMATA.EXE file that
calls the help file Graph.EXE for visualization and some INPUT
files as examples.
The semigroup folder contains main SEMI.EXE file with examples.
The time of life of demo version is bounded for user.
Some key semigroups, some direct products of them and some graphs of
DFA are presented in input files.
The input files are ordinary TXT files and can be created or modified by help of
a standard editor. Comments in input files may be included,
but they do not contain numbers and sign ;
First two numbers in INPUT semigroup file are the number of generators and the
number of elements.
Semigroup is presented by its Cayley graph of the semigroup meaning the
table:
elements X generators,
where the elements of the semigroup are represented by integers from 0 to n-1
with generators in beginning. i-th row of the table is a list of
products of i-th element on all generators.
Set of generators is not necessarily minimal, therefore the multiplication table
of the semigroup (Cayley table) is acceptable too.
First two numbers in INPUT graph file are the size of alphabet and the
number of nodes. Transition graph of the automaton is presented by the
table:
nodes X labels,
where the nodes are represented by integers from 0 to n-1. i-th row of the table
is a list of successors of i-th node according the label column (number of the
node from the end of the edge with label from the j-th column and beginning in
i-th row is placed in the (i,j) cell).
Click for beginning on EXE file and then follow the prompts.
Two auxiliary programs (not included in DEMO version) create direct product of
graphs and of semigroups. Auxiliary programs need files without comments.
Synchronization:
A word of labels is called synchronizing if the word maps all states
of the graph on a unique state. An automaton having synchronizing word
is called synchronizing.
An automaton with transition graph G is synchronizing iff G2 has a sink state.
The last statement is a base for an algorithm to verify synchronizability of
deterministic finite automaton of order O(n2) in the most worst case.
The package TESTAS contains also some essential modifications of Eppstein
algorithm called cyclic and semigroup algorithms for finding synchronizing word.
For wide class of automata the time complexity of semigroup algorithms is
O(n2q).
An algorithm for finding synchronizing word of O(n4q) time complexity is based
on the results of Frankl and Klyachko-Rystsov-Spivak.
A straightforward non-polynomial algorithm finds synchronizing word of minimal
length.
L I T E R A T U R E
J.A. Brzozowski, I. Simon, Characterizations of locally testable events,
Discrete Math. 4(1973), 243-271.
D. Beauquier, J.E. Pin, Factors of words, Lect. Notes in Comp. Sci., vol.
372, (Springer, Berlin, 1989), 63-79.
P. Caron LANGAGE: A Maple package for automaton characterization
of regular languages, Lect. Notes in Comp. Sci., 1436(1998), 46-55,
Springer. D. Eppstein, Reset sequences for monotonic automata.
SIAM J. Comput., 19(1990), 500-510.
S. Kim, R. McNaughton, R. McCloskey, A polynomial time algorithm for the
local testability problem of deterministic finite automata, IEEE Trans.
Comput., N10, 40(1991) 1087-1093.
S. Kim, R. McNaughton, Computing the order of a locally testable automaton,
Lect. Notes in Comp. Sci., vol. 560(Springer, Berlin, 1991) 186-211. I.
Simon, Piecewise testable events, Lect. Notes in Comp. Sci., vol. 33,
(Springer, Berlin, 1975), 214-222.
A.N. Trahtman, A polynomial time algorithm for local testability and its
level. Int. J. of Algebra and Comp., vol. 9, 1(1998), 31-39.
A.N. Trahtman, Algorithms finding the order of local testability of
deterministic finite automaton and estimation of the order, Th. Comp. Sci.,
235(2000), 183-204.
A.N. Trahtman, 28. Piecewise and local threshold testability of DFA. Lect.
Notes in Comp. Sci, 2138(2001), 347-358.
A.N. Trahtman, Algorithms verifying local threshold and piecewise
testability of semigroup and solving Almeida problem. in T. Imaoka eds.
Alg. semigroups, formal languages and computation. RIMS Kokyuroku
Proceedings, 1222(2001), 145-151.
A.N. Trahtman, Verification tools for checking some kinds of testability.
TWLT Proc., 21(2003), 253-263.
A.N. Trahtman, A polynomial time algorithm for left [right] local
testability. Lect. Notes in Comp. Sci, 2608(2003), 203-212. Proceedings of
7-th Int. Conf. on Implementation and Application of Automata. Tours,
France, July 3-5,2002, 201-210.
A.N. Trahtman, A package TESTAS for checking some kinds of testability.
Lect. Notes in Comp. Sci, 2608(2003), 228-232. Proceedings of 7-th Int.
Conf. on Implementation and Application of Automata. Tours, France, July
3-5, 2002, 223-228.
A.N. Trahtman. Verification of algorithms for checking some kinds of
testability.
In Algebraic Methods in Language Processing, TWLT 21, eds. F.Spoto, G. Scollo,
A. Nijholt. 2003, 253-263.
A.N. Trahtman. Reducing the time complexity of testing for local threshold
testability.
Theoret. Comput. Sci., 328(2004), 151-160.
A.N. Trahtman. An eficient algorithm finds noticeable trends and examples
concerning the Cerny conjecture. Lect. Notes in Comp. Sci, Springer, MFCS 2006,
4162(2006), 789-800.
A.N. Trahtman. Notable trends concerning the synchronization of graphs and
automata. El. Notes in Discr. Math., 25(2006), 173-175
A.N. Trahtman. The Cerny Conjecture for Aperiodic Automata. Discr. Math. &
Theoret. Comput. Sci. v. 9 2(2007), 3-10.
See also
htpp://www.cs.biu.ac.il/~trakht
E-mail: trakht@macs.biu.ac.il
Thank You for any remarks concerning package!
next