An Analysis of Constraint Functional Logic Programming For Resolving Combinatorial Issues: Implementations and Application |
Combinatorial problems appear in many areas in science,engineering, biomedicine, business, and operations research. This articlepresents a new intelligent computing approach for solving combinatorialproblems, involving permutations and combinations, by incorporating logicprogramming. An overview of applied combinatorial problems in various domainsis given. Such computationally hard and popular combinatorial problems as thetraveling salesman problem are discussed to illustrate the usefulness of thelogic programming approach. Detailed discussions of implementation ofcombinatorial problems with time complexity analyses are presented in Prolog,the standard language of logic programming. These programs can be easily integratedinto other systems to implement logic programming in combinatorics. This paper presents a new intelligent computing approachfor combinatorics problems by incorporating logic programming. Permutations,one of the most common and basic topics in combinatorics, appear in manyproblems in science, engineering, and business. Applications of permutationsand other combinatorics problems are briefly reviewed. Implementation ofpermutations is presented in Prolog, the standard language of logicprogramming. We present CFLP(FD), a constraint functional logicprogramming approach over finite domains (FD) for solving typical combinatorialproblems. Our approach adds to former approaches as Constraint Logic Programming(CLP), and Functional Logic- Programming (FLP) both expressiveness and furtherefficiency by combining combinatorial search with propagation. We integrate FDconstraints into the functional logic language TOY. CFL P(FD) programs consistof TOY rules with FD constraints declared as functions. CFLP (FD) seamlesslycombines the power of CLP over FD with the higher order characteristics of FLP.