Artificial Intelligence Review

, Volume 33, Issue 1–2, pp 135–150 | Cite as

Logic programming for combinatorial problems



Combinatorial problems appear in many areas in science, engineering, biomedicine, business, and operations research. This article presents a new intelligent computing approach for solving combinatorial problems, involving permutations and combinations, by incorporating logic programming. An overview of applied combinatorial problems in various domains is given. Such computationally hard and popular combinatorial problems as the traveling salesman problem are discussed to illustrate the usefulness of the logic programming approach. Detailed discussions of implementation of combinatorial problems with time complexity analyses are presented in Prolog, the standard language of logic programming. These programs can be easily integrated into other systems to implement logic programming in combinatorics.


Intelligent combinatorics Logic programming Permutations and combinations 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Akl SG (1989) The design and analysis of parallel algorithms, Chap. 6. Prentice-Hall, Englewood CliffsGoogle Scholar
  2. Balas E, Yu CS (1986) Finding a maximum clique in an arbitrary graph. SIAM J Comput 15(4): 1054–1068MATHCrossRefMathSciNetGoogle Scholar
  3. Bhatia D, Haralambides J (2000) Resource requirements and layouts for field programmable interconnection chips. IEEE Trans Very Large Scale Integr (VLSI) Syst 8(3): 346–355CrossRefGoogle Scholar
  4. Borujeni SE (2000) Speech encryption based on fast Fourier transform permutation. In: Proceedings of the 7th IEEE international conference on electronics, circuits and systems (ICECS 2000). IEEE, Jounieh, pp 290–293Google Scholar
  5. Bratko I (2001) Prolog programming for artificial intelligence, vol 3. Addison-Wesley, WokinghamGoogle Scholar
  6. Chiang DY, Brown PO, Eisen MB (2001) Visualizing associations between genome sequences and gene expression data using genome-mean expression profiles. Bioinformatics 17(S1): 49–55Google Scholar
  7. Combinatorial pattern matching. In: Proceedings of annual symposiums. Lecture Notes in Computer Science. (1992–2009). Springer, BerlinGoogle Scholar
  8. Doerge RW, Churchill GA (1996) Permutation tests for multiple loci affecting a quantitative character. Genetics 142: 285–294Google Scholar
  9. Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. W. H. Freeman, San FranciscoMATHGoogle Scholar
  10. Horaud R, Skordas T (1989) Stereo correspondence through feature grouping and maximal cliques. IEEE Trans Pattern Anal Mach Intell 11(11): 1168–1180CrossRefGoogle Scholar
  11. Jung S, Moon B-R (2002) Toward minimal restriction of genetic encoding and crossovers for the two-dimensional Euclidean TSP. IEEE Trans Evol Comput 6(6): 557–565CrossRefGoogle Scholar
  12. Kapralski A (1993) New methods for generation of permutations, combinations, and other combinatorial objects in parallel. J Parallel Distrib Comput 17(4): 315–326MATHCrossRefMathSciNetGoogle Scholar
  13. Kaufman C, Perlman R, Speciner M (2003) Network security: private communication in a public world, vol 2. Prentice Hall, Upper Saddle RiverGoogle Scholar
  14. Kumar Verma A, Tamhankar MT (1997) Reliability-based optimal task-allocation in distributed-database management systems. IEEE Trans Reliab 46(4): 452–459CrossRefGoogle Scholar
  15. Lecky JE, Murphy OJ, Absher RG (1989) Graph theoretic algorithms for the PLA folding problem. IEEE Trans Comput-Aided Des 8(9): 1014–1021CrossRefGoogle Scholar
  16. Liu CL (1968) Introduction to combinatorial mathematics, computer science series, Chap. 1. McGraw-Hill, New YorkGoogle Scholar
  17. Massini A (2003) All-to-all personalized communication on multistage interconnection networks. Discret Appl Math 128(2–3): 435–446MATHCrossRefMathSciNetGoogle Scholar
  18. Matsumoto N,Yashiki S (1999) Simple approach to TSP by permutation of six cities and deletion of crossover. In: IEEE pacific rim conference on communications, computers and signal processing. IEEE, Victoria, pp 377–380Google Scholar
  19. Muggleton S (1999) Scientific knowledge discovery using inductive logic programming. Commun ACM 42(11): 42–46CrossRefGoogle Scholar
  20. Munakata T (1992) Notes on implementing sets in prolog. Commun ACM 35(3): 112–120CrossRefMathSciNetGoogle Scholar
  21. Munakata T (1998) Notes on implementing fuzzy sets in prolog. Fuzzy Sets Syst 98(3): 311–317CrossRefGoogle Scholar
  22. Munakata T (1998) Fundamentals of the new artificial intelligence: beyond traditional paradigms. Springer, New YorkMATHGoogle Scholar
  23. Mycielski J (ed) et al (1997) Structure in logic and computer science. Springer, BerlinGoogle Scholar
  24. Nandi S, Kar BK, Chaudhuri PP (1994) Theory and applications of cellular automata in cryptography. IEEE Trans Comp 43(12): 1346–1357CrossRefGoogle Scholar
  25. Ogawa H (1986) Labeled point pattern matching by delaunay triangulation and maximal cliques. Pattern Recognit 19(1): 35–40CrossRefGoogle Scholar
  26. Roberts FS (1984) Applied combinatorics. Prentice-Hall, Englewood CliffsMATHGoogle Scholar
  27. Siepel AC (2003) An algorithm to enumerate sorting reversals for signed permutations. J Comput Biol 10(3–4): 575–597CrossRefGoogle Scholar
  28. Stallings W (2003) Cryptography and network security: principles and practice. Prentice Hall, Upper Saddle RiverGoogle Scholar
  29. Takefuji Y (1992) Neural network parallel computing. Kluwer, BostonMATHGoogle Scholar
  30. Tanenbaum AS (1999) Structured computer organization. 4. Prentice Hall, Upper Saddle RiverGoogle Scholar
  31. Valdes-Perez RE (1999) Discovery techniques for scientific apps. Commun ACM 42(11): 37–41CrossRefGoogle Scholar
  32. Van Le T (1993) Techniques of prolog programming with implementation of logical negation and quantified goals, 38. Wiley, New YorkGoogle Scholar
  33. WASP (Working group on Answer Set Programming) (2005) WASP-Showcase: knowledge-based planning.
  34. Yang Y, Wang J (2004) Routing permutations on optical baseline networks with node-disjoint paths. In: Tzeng FN (ed) Proceedings of 10th international conference on parallel and distributed systems (ICPADS 2004). IEEE, Newport Beach, pp 65–72Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2009

Authors and Affiliations

  1. 1.Computer and Information Science DepartmentCleveland State UniversityClevelandUSA
  2. 2.Department of Theoretical Computer Science and Mathematical LogicCharles UniversityPrahaCzech Republic

Personalised recommendations