Parallel Problem Solving

  • L. V. Kaié
Part of the Symbolic Computation book series (SYMBOLIC)


Problem-reduction based problem solving is a technique that is used when there are multiple methods that may be used to solve a subproblem, and more important, each method may involve solving multiple subproblems consistently. We present an overview of our research in executing such problem solving computations in parallel. The traditional AND OR tree representation is shown to be inadequate for representing parallel evaluations, and REDUCE OR trees are presented as a more suitable representation that can capture more parallelism. As Logic Programming and Horn-Clause theorem proving have much in common with problem solving, the representation is useful for parallel execution in these domains also. A parallel execution scheme for logic programs is described that is based on REDUCE-OR trees. Parallel implementation of this scheme, as well as other parallel computations, is facilitated by a run time support system that allows us to run the parallel interpreter on many different shared memory and message passing machines. In problem solving, as in search, there may be multiple solutions. It is useful but difficult to minimize the time to first solution in a parallel system. We discuss several strategies that help achieve this objective. Performance of these strategies on multiprocessors and on a simulation system is also discussed.


Logic Program Parallel Machine Parallel Execution Tree Representation Fibonacci Number 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    W. C. Athas and C. Seitz, Multicomputers: Message-Passing Concurrent Computers, in: Computer, August 1988, 9–24.Google Scholar
  2. 2.
    J. L. Bentley and D. J. Brown, A General Class of Resource Tradeoffs, J. Comp. Sys. Sci., 5, (1982), 214–238.MathSciNetCrossRefGoogle Scholar
  3. 3.
    M. Bruynooghe, The memory management of PROLOG implementations, in: Logic Programming, K. L. Clark and S. Tarnlund, (eds.), Academic Press, 1982, 83–98.Google Scholar
  4. 4.
    E. Charniak and D. McDermot, in: Artificial Intelligence, Addison- Wesley, 1986.Google Scholar
  5. 5.
    J. S. Conery and D. F. Kibler, AND-parallelism and Non- Determinism in Logic Programs, New Generation Computing, 3, (1985), 43–70.MATHCrossRefGoogle Scholar
  6. 6.
    J. S. Conery, Binding Environments for Parallel Logic Programs in Nonshared Memory Multiprocessors, in: Proceedings of the 1987 Symposium on Logic Programming, San Francisco, September 1987, 457–467.Google Scholar
  7. 7.
    J. S. Conery, Implementing backward execution in non-deterministic AND-parallel systems, Proc. of the International Conference on Logic Programming, Melbourne, Australia, May 1987.Google Scholar
  8. 8.
    D. DeGroot, Restricted AND-parallelism, in: Proc. of the International Conf. on Fifth Generation Computing Systems, November 1984, 471–478.Google Scholar
  9. 9.
    T. Disz, E. Lusk and R. Overbeek, Experiments with OR-parallel Logic Programs, in: Proc. of Fourth International Conference on Logic Programming, Melbourne, May 1987.Google Scholar
  10. 10.
    H. Gelernter, Realization of a Geometry Theorem-Proving Machine, in: Proc. First International Conf. on Information Processing, Paris: UNESCO, 1959.Google Scholar
  11. 11.
    Gelernter, Sridharan, Hart, Yen, Fowler and Shue, The Discovery of Organic Synthesis Routes by Computer., in: Topics in Current Chem. Res., 41, 1973.Google Scholar
  12. 12.
    M. E. Giuliano, M. Kohli, J. Minker, D. Sherlekar and A. Rajasekar, Experiments with Parallel Logic Programming in PRISM, Univ. of Maryland report CS-Tech. Rep.-1887.Google Scholar
  13. 13.
    B. Hausmann, S. Haridi and A. Ciepielewski, Parallel Prolog Made Efficient, Versions Vector WAM, in: ECRC Workshop on Parallel Logic Programming Systems, 1987.Google Scholar
  14. 14.
    M. V. Hermenegildo and R. I. Nasr, Efficient Management of Backtracking in AND-parallelism, in: Proceedings of Third International Logic Programming Conference, E. Shapiro, (ed.), July 1986, 40–54. London.Google Scholar
  15. 15.
    L. V. Kale and D. S. Warren, A Class of Architectures for Prolog Machine, in: Proc. of the Conference on Logic Programming, Uppsala, Sweden, July 1984, 171–182.Google Scholar
  16. 16.
    L. V. Kale, Parallel Architectures for Problem Solving, Doctoral Thesis, Dept. of Computer Science, SUNY, Stony Brook, Dec. 1985.Google Scholar
  17. 17.
    L. V. Kale, Completeness and Full Parallelism of Parallel Logic Programming Schemes, Proc. of the 1987 Symposium on Logic Programming, IEEE, September 1987.Google Scholar
  18. 18.
    L. V. Kale, B. Ramkumar and W. Shu, A Memory Organization Independent Binding Environment for AND and OR Parallel Execution of Logic Programs, in: The Joint International Conference/Symposium on Logic Programming, Seattle, 1988, 1223–1240.Google Scholar
  19. 19.
    L. V. Kale and W. Shu, The Chare Kernel Language for Parallel Programming: A perspective, University of Illinois, Dept. of Computer Science, UIUCDCS-R-88–1451, August 1988.Google Scholar
  20. 20.
    L. V. Kale, A Tree Representation for Parallel Problem Solving, Proceedings of AAAI, Morgan Kaufman, St. Paul, August 1988.Google Scholar
  21. 21.
    L. V. Kale and W. Shu, The Chare Kernel Base Language: Programming Examples and Performance on Multi-Procesors, Report No. UIUCDCS-R-88–1482, Dept. of Computer Science, University of Illinois at Urbana-Champaign.Google Scholar
  22. 22.
    R. E. Korf, Optimal Path Finding Algorithms, in: Readings in Search in Artifical Intelligence, L. Kanal and V. Kumar, (eds.), Springer- Verlag, 1987.Google Scholar
  23. 23.
    R. Kowalski and D. Kuehner, Linear Resolution with selection function, Artificial Intelligence, 2, (1971), 227–260.MathSciNetMATHCrossRefGoogle Scholar
  24. 24.
    R. Kowalski, Logic for Problem Solving, Elsevier North-Holland, New York, 1979.MATHGoogle Scholar
  25. 25.
    V. Kumar and V. N. Rao, Parallel Depth-First Search, Part I and II, International Journal of Parallel Programming, 16, 6 (1987).CrossRefGoogle Scholar
  26. 26.
    G. Levi and F. Sirovich, Generalized And/Or Graphs, Artificial Intelligence 7(3), 1976.Google Scholar
  27. 27.
    G. J. Li-; Parallel Processing of Combinatorial search problems, Ph. D. Thesis, School of Elect. Engg., Purdue University, Dec 1985.Google Scholar
  28. 28.
    P. P. Li and A. J. Martin, The Sync Model: A Parallel execution method for logic programming, in: Proc. of the third symposium on logic programming, Salt Lake City, Sept. 1986, 223–234.Google Scholar
  29. 29.
    Y. Lin and V. Kumar, AND-parallel execution of Logic Programs on a Shared Memory Multiprocessor: A Summary of Results, Proc. of the Fifth International Conference on Logic Programming, MIT Press, Seattle, Aug. 1988.Google Scholar
  30. 30.
    Y. Lin and V. Kumar, An Execution Model for Exploiting AND parallelism in Logic Programs, New Generation Computing, 5, 4 (1988), 393–425.CrossRefGoogle Scholar
  31. 31.
    G. Lindstrom, OR Parallelism on Applicative Architectures, in: Proc. of the Second International Logic Programming Conference, Uppsala, Sweden, July 1984, 159–170.Google Scholar
  32. 32.
    D. W. Loveland and M. E. Stickel, A Hole in Goal trees: some guidance from resolution theory, in: IEEE Trans. on Comp. C 25(4), 1976, 335–341.MATHCrossRefGoogle Scholar
  33. 33.
    J. Moses, Symbolic Integration: The Stormy Decade, Comm. ACM, 14, no 8, (August 1971), 548–560, ACM.MathSciNetMATHCrossRefGoogle Scholar
  34. 34.
    A. Newel, J. Shaw and H. Simon, Empirical Explorations of the Logic Theory Machine, in: Computers and Thought, E. F. J. Feldman, (ed.), McGraw-Hill, New York, 1963.Google Scholar
  35. 35.
    N. J. Nilsson, in: Principles of Artificial Intelligence, Tioga Publishing Co., 1980.Google Scholar
  36. 36.
    B. Ramkumar and L. V. Kale, Compiled Execution of the Reduce-Or Process Model on Multiprocessors, To appear in the Proc. of the North American Conference on Logic Programming, 1989. (Also: Report No. UIUCDCS-R-89–1513 Dept. of Computer Science, University of Illinois).Google Scholar
  37. 37.
    E. M. Reingold and X. Shen, More Nearly Optimal Algorithms for Unbounded Searching, in: Tech. Rep. No. UIUCDCS-R-88–1471, Department of Computer Science, University of Illinois, Urbana- Champaign, IL., November 1988, 1–55.Google Scholar
  38. 38.
    V. Saletore and L. V. Kale, Obtaining First Solutions Fast in AND- OR Parallel Execution of Logic Programs, To appear in the Proc. of the North American Conference on Logic Programming, 1989.Google Scholar
  39. 39.
    E. Y. Shapiro, A Subset of concurrent Prolog and its interpreter, Dept of Applied Mathematics, The Weizmann Institute of Science, Rehovot, Israel, 1983.Google Scholar
  40. 40.
    E. Shapiro, Concurrent Prolog: a Progress report, Weizmann Institute, CS-86–10, April 1986.Google Scholar
  41. 41.
    W. Shu, B. Ramkumar and L. V. Kale, Implementation and Performance of a Parallel Prolog Interpreter, Report No. UIUCDCS-R-88–1480, Dept. of Computer Science, University of Illinois at Urbana Champaign, IL 61801, December 1988.Google Scholar
  42. 42.
    V. Singh and M. R. Genesereth, PM: A parallel execution model for backward-chaining deductions, KSL-85–18, Department of Computer Science, Stanford University, May 1985, revised June 1986.Google Scholar
  43. 43.
    J. R. Slagle, A heuristic Program that solves symbolic integration problems in Freshman calculus, J. ACM , 10, (1963), 507–520.MATHCrossRefGoogle Scholar
  44. 44.
    J. R. Slagle, Problem Reduction, in: Encyclopedia of Artificial Intelligence, vol. 2, 764–767.Google Scholar
  45. 45.
    G. J. Sussman, A Computer Model of Skill Acquisition, American Elsevier, 1975.Google Scholar
  46. 46.
    The MACSYMA Reference Manual, Symbolics Inc. and MIT, January 1983.Google Scholar
  47. 47.
    B. Wah and G. J. Li, Coping with anomalies in parallel branch and bound algorithms, IEEE Trans on Computers , C-34, 6 (June 1986), 568–573.MathSciNetGoogle Scholar
  48. 48.
    R. Waldinger, Achieving Several Goals Simulteniously, in: Readings in Artificial Intelligence, N. J. Nilsson and B. Webber, (eds.), Tioga, 1981, 250–271.Google Scholar
  49. 49.
    D. S. Warren, Efficient Prolog memory management for flexible control strategies, in: Proceedings of the 1984 Logic Programming Symposium, Atlantic City, Feb 1984.Google Scholar
  50. 50.
    D. H. D. Warren, The SRI Model for Or- Parallel Execution of Prolog - Abstract Design and Implementation Issues, Invited Paper, in: Proceedings of the 1987 Symposium on Logic Programming, San Francisco, September 1987, 92–102.Google Scholar
  51. 51.
    H. Westphal and P. Robert, The PEPSys Model: Combining Backtracking, AND and OR parallelism, in: Proceedings of the 1987 Symposium on Logic Programming, San Francisco, September 1987, 436–448.Google Scholar
  52. 52.
    M. J. Wise, A parallel Prolog: the construction of a data driven model, in: Proceedings of the 1982 Conference on Lisp and Functional Programming, 1982, 56–66Google Scholar

Copyright information

© Springer-Verlag New York Inc. 1990

Authors and Affiliations

  • L. V. Kaié
    • 1
  1. 1.Department of Computer ScienceUniversity of IllinoisUrbanaUSA

Personalised recommendations