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
| Abstract |
|---|
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.