Abstract
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.
Similar content being viewed by others
References
Akl SG (1989) The design and analysis of parallel algorithms, Chap. 6. Prentice-Hall, Englewood Cliffs
Balas E, Yu CS (1986) Finding a maximum clique in an arbitrary graph. SIAM J Comput 15(4): 1054–1068
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–355
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–293
Bratko I (2001) Prolog programming for artificial intelligence, vol 3. Addison-Wesley, Wokingham
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–55
Combinatorial pattern matching. In: Proceedings of annual symposiums. Lecture Notes in Computer Science. (1992–2009). Springer, Berlin
Doerge RW, Churchill GA (1996) Permutation tests for multiple loci affecting a quantitative character. Genetics 142: 285–294
Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. W. H. Freeman, San Francisco
Horaud R, Skordas T (1989) Stereo correspondence through feature grouping and maximal cliques. IEEE Trans Pattern Anal Mach Intell 11(11): 1168–1180
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–565
Kapralski A (1993) New methods for generation of permutations, combinations, and other combinatorial objects in parallel. J Parallel Distrib Comput 17(4): 315–326
Kaufman C, Perlman R, Speciner M (2003) Network security: private communication in a public world, vol 2. Prentice Hall, Upper Saddle River
Kumar Verma A, Tamhankar MT (1997) Reliability-based optimal task-allocation in distributed-database management systems. IEEE Trans Reliab 46(4): 452–459
Lecky JE, Murphy OJ, Absher RG (1989) Graph theoretic algorithms for the PLA folding problem. IEEE Trans Comput-Aided Des 8(9): 1014–1021
Liu CL (1968) Introduction to combinatorial mathematics, computer science series, Chap. 1. McGraw-Hill, New York
Massini A (2003) All-to-all personalized communication on multistage interconnection networks. Discret Appl Math 128(2–3): 435–446
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–380
Muggleton S (1999) Scientific knowledge discovery using inductive logic programming. Commun ACM 42(11): 42–46
Munakata T (1992) Notes on implementing sets in prolog. Commun ACM 35(3): 112–120
Munakata T (1998) Notes on implementing fuzzy sets in prolog. Fuzzy Sets Syst 98(3): 311–317
Munakata T (1998) Fundamentals of the new artificial intelligence: beyond traditional paradigms. Springer, New York
Mycielski J (ed) et al (1997) Structure in logic and computer science. Springer, Berlin
Nandi S, Kar BK, Chaudhuri PP (1994) Theory and applications of cellular automata in cryptography. IEEE Trans Comp 43(12): 1346–1357
Ogawa H (1986) Labeled point pattern matching by delaunay triangulation and maximal cliques. Pattern Recognit 19(1): 35–40
Roberts FS (1984) Applied combinatorics. Prentice-Hall, Englewood Cliffs
Siepel AC (2003) An algorithm to enumerate sorting reversals for signed permutations. J Comput Biol 10(3–4): 575–597
Stallings W (2003) Cryptography and network security: principles and practice. Prentice Hall, Upper Saddle River
Takefuji Y (1992) Neural network parallel computing. Kluwer, Boston
Tanenbaum AS (1999) Structured computer organization. 4. Prentice Hall, Upper Saddle River
Valdes-Perez RE (1999) Discovery techniques for scientific apps. Commun ACM 42(11): 37–41
Van Le T (1993) Techniques of prolog programming with implementation of logical negation and quantified goals, 38. Wiley, New York
WASP (Working group on Answer Set Programming) (2005) WASP-Showcase: knowledge-based planning. http://www.kr.tuwien.ac.at/projects/WASP/planning.html
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–72
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Munakata, T., Barták, R. Logic programming for combinatorial problems. Artif Intell Rev 33, 135–150 (2010). https://doi.org/10.1007/s10462-009-9150-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10462-009-9150-5