Skip to main content
Log in

Parallel Logic Programming for Problem Solving

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

We present a new model for parallel evaluation of logic programs. This model can exploit the main sources of parallelism that the language of logic expresses: Independent AND parallelism and OR parallelism, together with a secondary source emerging as a consequence of the Independent AND Parallelism: the producer/consumer parallelism. The efficiency is derived from the use of ordered structures for managing the information generated throughout the search process. The model is suitable for evaluating programs with a high degree of non-determinism because it never generates two processes for solving the same subgoal and hence it can exploit the same real parallelism generating a lower number of processes than other models. As an application example, we consider the Job Shop Scheduling problem. We report experimental results showing that logic programs can be designed that exhibit parallelism, and that the use of heuristic information translates into speedup in obtaining answers.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

REFERENCES

  1. K. A. M. Ali and R. Karlsson, Full Prolog and scheduling or-parallelism in Muse, IJPP, 19(6):445–475 (1991).

    Google Scholar 

  2. J. S. Conery, The and-or process model for parallel interpretation of logic programs, Ph.D. Th. Dpto. Information and Computer Science, University California, Irvine (1983).

    Google Scholar 

  3. D. DeGroot, Restricted and-parallelism, Proc. Int'l. Conf. Fifth Generation Comp. Systems, North-Holland, pp. 471–478 (1984).

  4. J. Chang, A. M. Despain, and D. Degroot, and-parallelism of logic programs-based on static data dependency analysis, COMPCOM, pp. 218–225 (1985).

  5. L. V. Kale, Parallel architectures for problem solving, Ph.D. thesis, Dept. Computer Science, SUNY, Stony Brook (1985).

    Google Scholar 

  6. P. P. Li and A. J. Martin, The SYNC model: A parallel execution method for logic programming, Proc. Symp. on Logic Progr., Salt Lake City (September 1986).

  7. H. Westphal, P. Robert, J. Chassin, and J. Syre, The PEPSys model: Combining back-traking, and-and or-parallelism, IEEE Int'l. Symp. Logic Progr., San Francisco, California, pp. 436–448 (1987).

  8. G. Gupta, Parallel execution of logic programs on shared memory multiprocessors, Ph.D. thesis, Dept. of Computer Science, University North Carolina at Chapel Hill (1992).

  9. M. V. Hermenegildo, An abstract machinébased execution model for computer architecture design and efficient implementation of logic programs in parallel, Ph.D. thesis, University of Texas at Austin (1986).

    Google Scholar 

  10. E. Lusk et al., The Aurora or-parallel Prolog system, New Generation Computing, 7(2–3) (1990).

  11. L. V. Kale, The REDUCéOR process model for parallel interpretation of logic programs, J. Logic Progr., 11:55–84 (1991).

    Google Scholar 

  12. P. V. Hentenryck, H. Simonis, and M. Dincbas, Constraint satisfaction using constraint logic programming, Artificial Intelligence, 58:113–159 (1992).

    Google Scholar 

  13. H. M. Adorf and M. D. Johnston, A discrete stochastic neural network algorithm for constraint satisfaction problems, Proc. Int'l. Joint Conf. Neural Networks, San Diego, California (1990).

  14. M. Zweben, E. Davis, B. Daun, E. Drascher, M. Deale, and M. Eskey, Learning to improve constraint-based scheduling, Artificial Intelligence, 58:271–296 (1992).

    Google Scholar 

  15. D. Corne and P. Ross, Practical Issues and Recent Advances in Job-and Open-Shop Scheduling, D. Dasgupta and Z. Michalewicz (eds.), Springer-Verlag.

  16. N. Sadeh and M. S. Fox, Variable and value ordering heuristics for the job shop scheduling constraint satisfaction problem, Artificial Intelligence, 86:1–41 (1996).

    Google Scholar 

  17. N. J. Nilsson and J. Matuszynski, Logic, Programming and Prolog, John Wiley (1990).

  18. L. V. Kale, A tree representation for parallel problem solving, Proc. Int'l. Conf. Parallel Processing, St. Charles, pp. 677–681 (August 1988).

  19. J. B. Dennis, Machines and models for parallel computers, IJPP, 22(1):47–77 (February 1994).

    Google Scholar 

  20. R. Varela, Un Modelo para el cá lculo paralelo de deducciones en lógica de predicados, Tesis doctoral, Departamento de Matemáticas, Universidad de Oviedo (1995).

  21. A. Delcher and S. Kasif, Some result on the complexity of exploiting data dependency in parallel logic programs, J. Logic Progr., 6:229–241 (1989).

    Google Scholar 

  22. C. R. Vela, C. L. Alonso, R. Varela, and J. Puente, A genetic approach to computing independent and parallelism in logic programming, in Biological and Artificial Computation: From Neuroscience to Technology, IWANN'97, J. Mira, R. Moreno, and J. Cabestany (eds.), Springer-Verlag, Lecture Notes in Computer Science, pp. 566–575 (1997).

  23. C. L. Alonso, C. R. Vela, R. Varela, and J. Puente, Ordered structures for parallel rulébased computations, Technical Report, Centro de Inteligencia Artificial, Univ. de Oviedo (1999).

  24. R. Varela, E. Sierra, L. Jiménez, and C. R. Vela, Combinació n de Soluciones Parciales en Programación Lógica Paralela, C-AEPIA, Alicante (1995).

  25. A. K. Mackworth, The logic of constraint satisfaction, Artificial Intelligence, 58(1–3):3–20 (December 1992).

    Google Scholar 

  26. M. V. Hermenegildo and F. Rossi, Strict AND Nonstrict and-parallelism in logic programs: Correctness, efficiency, and compile-time conditions, J. Logic Progr., 22(1):1–45 (January 1995).

    Google Scholar 

  27. S. K. Debray, Efficient dataflow analysis of logic programs, J. ACM, 39(4):949–984 (1992).

    Google Scholar 

  28. D. Jacobs and A. Langen, Static analysis of logic programs for independent and parallelism, J. Logic Progr., 13:291–314 (1992).

    Google Scholar 

  29. K. Muthukumar and M. Hermenegildo, Compile-time derivation of variable dependency using abstract interpretation, J. Logic Progr., 13:315–347 (1992).

    Google Scholar 

  30. K. Muthukumar, F. Beuno, M. García de la Banda, and M. Hermenegildo, Automatic compile-time parallelization of logic programs for restricted, goal level, independent and parallelism, J. Logic Progr., 38(2):165–218 (February 1999).

    Google Scholar 

  31. B. Schend, A Methodology for detecting shared variable dependencies in logic programs, J. Symbolic Computation, 12:275–298 (1991).

    Google Scholar 

  32. R. Cucchiara, E. Lamma, P. Mello, M. Milano, and M. Piccardi, Interactive Constraint Satisfaction and its Application to Visual Object Recognition, Proc. APPIA-GULP-PRODE, La Coruña, Spain, pp. 57–69 (July 1998).

  33. M. Dincbas, H. Simonis, and P. V. Hentenryck, Solving large combinatorial problems in logic programming, J. Logic Progr., 8(1–2):75–93 (1990).

    Google Scholar 

  34. F. Fages, J. Fowler, and T. Sola, Experiments in reactive constraint logic programming, J. Logic Progr., 37(1–3):185–212 (1998).

    Google Scholar 

  35. P. V. Hentenryck, V. Saraswat, and Y. Deville, Design, implementation, and evaluation of the constraint language cc(FD), J. Logic Progr., 37(1–3):139–164 (1998).

    Google Scholar 

  36. J. Jafar and M. J. Maher, Constraint logic programming: A survey, J. Logic Progr., 19/20:503–581 (1994).

    Google Scholar 

  37. E. Lamma, M. Milano, and P. Mello, Reasoning on constraints in CLP(FD), J. Logic Progr., 38(1):93–110 (January 1999).

    Google Scholar 

  38. J. Puente, R. Varela, C. R. Vela, and C. Alonso, A parallel logic programming approach to job shop constraint satisfaction problems, Proc. APPIÁ-GULP-PRODE, La Coruña, Spain, pp. 29–41 (July 1998).

  39. R. Varela, J. Puente, C. R. Vela, and C. Alonso, Planificació n Heurística de Procesos and-or Paralelos, CAEPIA, Málaga (1997).

  40. J. Puente, R. Varela, and C. R. Vela, Cálculo paralelo de deducciones en un sistema multi-procesador, Proc. CAEPIA, Murcia, Spain, Vol. 1, pp. 9–16 (November 1999).

    Google Scholar 

  41. E. Pontelli, G. Gupta, and M. Hermenegildo, 6–ACE: A high performance parallel Prolog system, Proc. Ninth Int'l. Parallel Proc. Symp., IEEE Press, pp. 564–571 (1995).

  42. K. Shen, Initial results from the parallel implementation DASWAM, Proc. Joint Int'l. Conf. Symp. Logic Progr., MIT Press (1996).

  43. G. Gupta and E. Pontelli, High performance parallel logic programming: The ACE parallel Prolog system, APPIA-GULP-PRODE, Grado, Italy, pp. 25–31 (1997).

  44. R. Varela and C. R. Vela, AND-OR Trees for Parallel Deductions, ITHURS, León, Spain (July 1996).

  45. C. S. Mellish, The automatic generation of mode declaration for Prolog programs, Dept. Artificial Intelligence, Research Paper No. 163, University of Edinburgh (1981).

  46. R. Varela, El Modelo RPS para la Gestión del Paralelismo and Independiente en Programas Lógicos, Proc. Joint Conf. Declarative Progr. GULP_PRODE, pp. 251–265 (1994).

  47. R. Varela, C. R. Vela, and J. Puente, Efficient Producer-Consumer Parallelism in Logic Programming, APPIA-GULP-PRODE, San Sebastian (July 1996).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Arias, R.V., Vela, C.R., Peinador, J.P. et al. Parallel Logic Programming for Problem Solving. International Journal of Parallel Programming 28, 275–319 (2000). https://doi.org/10.1023/A:1007529200051

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1007529200051

Navigation