Synchronizing Heuristics: Speeding up the Slowest

Computing a shortest synchronizing word of an automaton is an NP–hard problem. Therefore, heuristics are used to compute short synchronizing words. SynchroP is among the best heuristics in the literature in terms of word lengths. The heuristic and its variants such as SynchroPL have been frequently used as a baseline to judge the quality of the words generated by the new heuristics. Although, its quality is good, the heuristics are significantly slow especially compared to much cheaper heuristics such as Greedy and Cycle. This makes them infeasible for large-scale automatons. In this paper, we show how one can improve the time performance of SynchroP and its variants by avoiding unnecessary computations which makes these heuristics more competitive than they already are. Our experimental results show that for 2500 states, SynchroP can be made 70–\(160\times \) faster, via the proposed optimizations. In particular, for 2500 states and 32 letters, the SynchroP execution reduces to 66 s from 4745 s. Furthermore, the suggested optimizations become more effective as the number of states in the automata increase.

[1]  Ján Cerný,et al.  On directable automata , 1971, Kybernetika (Praha).

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

[3]  Marek Szykula,et al.  Improving the Upper Bound on the Length of the Shortest Reset Word , 2017, STACS.

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

[5]  A. N. Trahtman SOME RESULTS OF IMPLEMENTED ALGORITHMS OF SYNCHRONIZATION , 2012 .

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

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

[8]  Uraz Cengiz Türker,et al.  Parallelizing Heuristics for Generating Synchronizing Sequences , 2016, ICTSS.

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

[10]  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.

[11]  Adam Roman,et al.  Forward and backward synchronizing algorithms , 2015, Expert Syst. Appl..

[12]  Hasan Ural,et al.  Reduced checking sequences using unreliable reset , 2015, Inf. Process. Lett..

[13]  Mikhail V. Berlinkov,et al.  On the Probability of Being Synchronizable , 2013, CALDAM.

[14]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures [The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004] , 2005, Model-Based Testing of Reactive Systems.

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

[16]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures , 2005 .

[17]  Mikhail V. Volkov,et al.  Synchronizing Automata and the Cerny Conjecture , 2008, LATA.

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

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