Logic Journal of IGPL Advance Access published online on August 8, 2009
Logic Journal of IGPL, doi:10.1093/jigpal/jzp032
An algorithm for the decomposition of finite languages*
Institute of Computer Science, University of Silesia, Bedzinska 39, 41-200 Sosnowiec, Poland.
E-mail: wojciech.wieczorek{at}us.edu.pl
In this paper, an algorithm for the decomposition of a finite language is presented. The goal is to represent a finite language as a product (catenation) of two languages. This problem is thought to be intractable, although its NP-hardness has not been proven. The algorithm is based on checking through some subsets of the states of a minimal acyclic DFA. We also investigate two additional algorithms: the first is based on the use of integer linear programming, and the second is based on finding cliques in a graph. It appears that the latter approaches are inappropriate in terms of time consumption. The experiments have been performed for dozens of languages, and our results are reported.
Key Words: finite language catenation language decomposition factorisation prime language
Received for publication 17 January 2009.
1 We thank the following computing centres where the preliminary computations of our project were carried out: Academic Computer Centre in Gda
sk TASK, Academic Computer Centre CYFRONET AGH, Kraków (computing grant 027/2004), Wroc-law Centre for Networking and Supercomputing (computing grant 04/97), Interdisciplinary Centre for Mathematical and Computational Modeling, Warsaw University (computing grant G27-9), and Pozna
Supercomputing and Networking Centre. The research was supported by the Minister of Science and Higher Education Grant No 3177/B/T02/2008/35.
References
-
[1] Avgustinovich SV, Frid AE. A unique decomposition theorem for factorial languages, International Journal of Algebra and Computation (2005) 15:149–160.[CrossRef]
[2] Berstel J, Boasson L. Shuffle factorisation is unique, Theor. Comput. Sci. (2002) 273:47–67.[CrossRef]
[3] Bron C, Kerbosch J. Algorithm 457: finding all cliques of an undirected graph, Commun. ACM (1973) 16:575–577.[CrossRef]
[4] Clark A. Learning deterministic context free grammars: the Omphalos competition, Mach. Learn. (2007) 66:93–110.[CrossRef]
[5] Czyzowicz J, Fraczak W, Pelc A, Rytter W. Linear-time prime decomposition of regular prefix codes, International Journal of Foundations of Computer Science (2003) 14:1019–1032.[CrossRef]
[6] Du Ding-Zhu, Ko Ker-I. Problem Solving in Automata, Languages, and Complexity (2001) John.
[7] Han Y-S, Wang Y, Wood D. Infix-free regular expressions and languages, International Journal of Foundations of Computer Science (2006) 17:379–393.[CrossRef]
[8] Han Y, Wood D. Outfix-free regular languages and prime outfix-free decomposition, Fundam. Inf. (2008) 81:441–457.
[9] de la Higuera C. A bibliographical study of grammatical inference, Pattern Recognition (2005) 38:1332–1348.[CrossRef]
[10] Hopcroft JE, Ullman JD. Introduction to automata theory, languages and computation. (1979) Addison-Wesley.
[11] Ito M. Algebraic Theory of Automata and Languages (2004) World Scientific Publishing Company.
[12] Kari L, Thierrin G. Maximal and minimal solutions to language equations, J. Comput. Syst. Sci. (1996) 53:487–496.[CrossRef]
[13] Lange S, Zeugmann T, Zilles S. Learning indexed families of recursive languages from positive data: A survey. Theor. Comput. Sci. (2008) 397:194–232.[CrossRef]
[14] Lothaire M. Algebraic Combinatorics on Words, Encyclopedia of Mathematics and its Applications 90 (2002) Cambridge.
[15] Mateescu A, Salomaa A, Yu S. On the decomposition of finite languages. (December) Turku Centre for Computer Science Technical Report No 222.
[16] Mateescu A, Salomaa A, Yu S. Factorizations of languages and commutativity conditions, Acta Cybernetica (2002) 15:339–351.
[17] Moon JW, Moser L. On cliques in graphs, Israel J. Math. (1965) 3:23–28.[CrossRef]
[18] Salomaa A, Yu S. On the decomposition of finite languages. In: Developments in Language Theory, DLT99, World Scientific—Rozenberg G, Thomas W, eds. (2000) 22–31.
[19] Schrijver A. Theory of Linear and Integer Programming (2000) John Wiley & Sons.
[20] Watson BW. A fast and simple algorithm for constructing minimal acyclic deterministic finite automata, Journal of Universal Computer Science (2002) 8:363–367.
[21] Watson BW. A new algorithm for the construction of minimal acyclic DFAs, Science of Computer Programming (2003) 48:81–97.[CrossRef]
[22] Yu S. Regular languages. In: Handbook of Formal Languages, Vol. 1: Word, Language, Grammar—Rozenberg G, Salomaa A, eds. (1997) Springer-Verlag New York. 41–110.
| ||||||||||||||||||||||||||||||||||||||||||||||