Solving Linear Constraints on Finite Domains Through Parsing

In this paper we present results from ongoing research which allows the use of parsing methods to solve a particular kind of constraints, namely linear constraints on finite domains. Solving this kind of constraints is equivalent to solving systems of linear Diophantine equations on a finite subset of the naturals. We associate, to such a system, a definite-clause grammar that can be used to enumerate its solutions, and define a class of grammars, the connected grammars, for which the set of successful derivations covers the set of non-negative solutions of the associated system. This definition is based on a study of cycles in context-free grammars using compiler construction concepts and techniques.

[1]  Evelyne Contejean,et al.  A new AC unification algorithm with an algorithm for solving systems of diophantine equations , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[2]  George E. Collins,et al.  Algorithms for the Solution of Systems of Linear Diophantine Equations , 1982, SIAM J. Comput..

[3]  Jacques Cohen,et al.  Constraint logic programming languages , 1990, CACM.

[4]  Andrew R. Haas,et al.  A Parsing Algorithm for Unification Grammar , 1989, Comput. Linguistics.

[5]  Gérard P. Huet,et al.  An Algorithm to Generate the Basis of Solutions to Homogeneous Linear Diophantine Equations , 1978, Inf. Process. Lett..

[6]  Loïc Pottier Solutions minimales des systemes diophantiens lineaires : bornes et algorithmes , 1990 .

[7]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[8]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[9]  Jeffrey D. Ullman,et al.  Formal languages and their relation to automata , 1969, Addison-Wesley series in computer science and information processing.

[10]  An improved algorithm for the solution of integer programs by the solution of associated diophantine equations , 1970 .

[11]  Gordon H. Bradley,et al.  Algorithm and bound for the greatest common divisor of n integers , 1970, CACM.

[12]  David H. D. Warren,et al.  Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks , 1980, Artif. Intell..

[13]  Pascal Van Hentenryck,et al.  The Constraint Logic Programming Language CHIP , 1988, FGCS.

[14]  Ana Paula Tomás,et al.  A New Method for Solving Linear Constraints on the Natural Numbers , 1991, EPIA.

[15]  Michael J. Maher,et al.  Logic Programming Language Scheme , 1986, Logic Programming: Functions, Relations, and Equations.

[16]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[17]  Alain Colmerauer,et al.  Opening the Prolog III universe , 1987 .

[18]  Harold Greenberg,et al.  Integer Programming , 1971 .