Skip Navigation



Logic Journal of IGPL Advance Access published online on August 8, 2009

Logic Journal of IGPL, doi:10.1093/jigpal/jzp032
This Article
Right arrow Abstract Freely available
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Wieczorek, W.
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?

© The Author 2009. Published by Oxford University Press. All rights reserved. For Permissions, please email: journals.permissions@oxfordjournals.org

An algorithm for the decomposition of finite languages*

W. Wieczorek

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 Gdansk 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 Poznan 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, DLT’99, 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.


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?



This Article
Right arrow Abstract Freely available
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Wieczorek, W.
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?