Forward and backward synchronizing algorithms

We describe a general framework for constructing synchronizing algorithms.We design currently the best heuristic polynomial synchronizing algorithm.Detailed analysis shows impact of various parameters on the results.Experiments are conducted on much larger automata than in other studies up to date. Automata synchronization has many important applications, mostly in conformance testing of electrical circuits, self-correcting codes and protocol testing. Finding a shortest synchronizing word cannot be done in polynomial time, assuming P ? NP. In some situations, especially for very large automata, finding such a word is almost impossible. Therefore, we accept any synchronizing word that is reasonably short and can be calculated in short time. The existing algorithms are either polynomial (quick, but not optimal) or exponential (exact, but useless in case of large automata). In this paper we present a flexible algorithmic framework for synchronization. It allows the user to parameterize the algorithm to obtain a desired balance in terms of a trade-off between memory usage, runtime and optimality. We also discuss many practical issues that affect efficiency of an implementation.In particular, we design a new polynomial backward algorithm, which works significantly better than previously used heuristic algorithms. Finally, we present detailed results of experiments involving automata up to 2000 states, which compare our algorithms in various settings and the other known algorithms, and check the impact of different parameters on the results.

[1]  Carl Pixley,et al.  Minimum Length Synchronizing Sequences of Finite State Machine , 1993, 30th ACM/IEEE Design Automation Conference.

[2]  Brent Heeringa,et al.  Approximating Minimum Reset Sequences , 2010, CIAA.

[3]  W. Stewart Numerical Methods for Computing Stationary Distributions of Finite Irreducible Markov Chains , 2000 .

[4]  Jakub Kowalski,et al.  Computing the shortest reset words of synchronizing automata , 2015, J. Comb. Optim..

[5]  Seh-Woong Jeong,et al.  Exact calculation of synchronization sequences based on binary decision diagrams , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[6]  Evgeny Skvortsov,et al.  Experimental Study of the Shortest Reset Word of Random Automata , 2011, CIAA.

[7]  A. N. Trahtman,et al.  An efficient algorithm finds noticeable trends and examples concerning the Černy conjecture , 2006, 0709.1197.

[8]  A. N. Trahtman A package TESTAS for checking some kinds of testability , 2002, CIAA'02.

[9]  Balas K. Natarajan An algorithmic approach to the automated design of parts orienters , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[10]  Richard Lai,et al.  A survey of communication protocol testing , 2002, J. Syst. Softw..

[11]  A. Roman,et al.  Effective synchronizing algorithms , 2012, Expert Syst. Appl..

[12]  David Lee,et al.  Principles and methods of testing finite state machines-a survey , 1996, Proc. IEEE.

[13]  Jakub Kowalski,et al.  28 22 v 1 [ cs . F L ] 1 3 M ar 2 01 2 Fast algorithm finding the shortest reset words , 2012 .

[14]  Pawel Gawrychowski,et al.  Strong Inapproximability of the Shortest Reset Word , 2014, MFCS.

[15]  Canan Güniçen,et al.  Generating Shortest Synchronizing Sequences using Answer Set Programming , 2013, ArXiv.

[16]  I. K. Rystsov,et al.  In extremal combinatorial problem associated with the bound on the length of a synchronizing word in an automaton , 1987 .

[17]  Mikhail V. Berlinkov On two Algorithmic Problems about Synchronizing Automata , 2013, ArXiv.

[18]  Adam Roman,et al.  Synchronizing finite automata with short reset words , 2009, Appl. Math. Comput..

[19]  Peter Norvig,et al.  Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp , 1991 .

[20]  Mikhail V. Berlinkov On Two Algorithmic Problems about Synchronizing Automata - (Short Paper) , 2014, Developments in Language Theory.

[21]  Vladimir V. Gusev,et al.  Slowly Synchronizing Automata and Digraphs , 2010, MFCS.

[22]  Mikhail V. Berlinkov Approximating the Minimum Length of Synchronizing Words Is Hard , 2013, Theory of Computing Systems.

[23]  Manuel Blum,et al.  Time Bounds for Selection , 1973, J. Comput. Syst. Sci..

[24]  Jörg Olschewski,et al.  The Complexity of Finding Reset Words in Finite Automata , 2010, MFCS.

[25]  Deepinder P. Sidhu,et al.  Formal Methods for Protocol Testing: A Detailed Study , 1989, IEEE Trans. Software Eng..

[26]  J. Pin On two Combinatorial Problems Arising from Automata Theory , 1983 .

[27]  David Eppstein,et al.  Reset Sequences for Monotonic Automata , 1990, SIAM J. Comput..

[28]  David Lee,et al.  Testing Finite-State Machines: State Identification and Verification , 1994, IEEE Trans. Computers.

[29]  David Bryan,et al.  Combinational profiles of sequential benchmark circuits , 1989, IEEE International Symposium on Circuits and Systems,.

[30]  Fabio Somenzi,et al.  Multiple observation time single reference test generation using synchronizing sequences , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.