Multiprocessing of Combinatorial Search Problems

  • Benjamin W. Wah
  • Guo-Jie Li
  • Chee-Fen Yu
Part of the Symbolic Computation book series (SYMBOLIC)


This chapter presents three paradigms of representations for combinatorial search problems. Depending on the functions of the nonterminal nodes in the graphical representation, a search problem can be represented as an AND-tree, an OR-tree, and an AND/OR graph. This classification facilitates the design of unique computer architectures for supporting efficient evaluation of combinatorial search problems. For each representation, we develop theoretical bounds, efficient algorithms, and functional requirements of multiprocessing architectures, and illustrate these results by examples.


Schedule Algorithm Logic Program Systolic Array Heuristic Function Dominance Test 
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]
    A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1974.MATHGoogle Scholar
  2. [2]
    S. G. Akl, D. T. Barnard, and R. J. Doran, “Design, Analysis and Implementation of a Parallel Tree Search Algorithm,” Trans. on Pattern Analysis and Machine Intelligence, vol. PAMI-4, no. 2, pp. 192–203, IEEE, March 1982.CrossRefGoogle Scholar
  3. [3]
    J. Backus, “Can Programming be Liberated from the von Neumann Style? A Functional Style and Algebra of Programs,” Comm. of the ACM, vol. 21, no. 8, pp. 613–641, 1978.MathSciNetMATHCrossRefGoogle Scholar
  4. [4]
    A. Barr and E. A. Feigenbaum, The Handbook of Artificial Intelligence, vol. 1, 2, and 3, William Kaufmann, Los Altos, CA, 1981,1982.MATHGoogle Scholar
  5. [5]
    G. Baudet, The Design and Analysis of Algorithms for Asynchronous Multiprocessors, Ph.D dissertation, Dept. Computer Science, Carnegie-Mellon Univ., Pittsburgh, Pa., Apr. 1978.Google Scholar
  6. [6]
    R. Bellman and S. Dreyfus, Applied Dynamic Programming, Princeton University Press, Princeton, NJ, 1962.MATHGoogle Scholar
  7. [7]
    U. Bertele and F. Brioschi, Nonserial Dynamic Programming, Academic Press, New York, NY, 1972.MATHGoogle Scholar
  8. [8]
    F. M. Burton and M. M. Huntbach, “Virtual Tree Machines,” IEEE Trans. on Computers, vol. C-33, no. 3, pp. 278–280,1984.CrossRefGoogle Scholar
  9. [9]
    A. Ciepielewski and S. Haridi, “Execution of Bagof on the OR-Parallel Token Machine,” Proc. Int’l Conf. Fifth Generation Computer Systems, pp. 551–560, ICOT and North-Holland, 1984.Google Scholar
  10. [10]
    M. Clarke and C. Dyer, “Systolic Array for a Dynamic Programming Application,” Proc. 12’th Workshop on Applied Imagery Pattern Recognition, 1983.Google Scholar
  11. [11]
    E. G. Coffman, Jr. and R. H. Graham, “Optimal Scheduling for Two Processors Systems,” Acta Informatica, vol. 1, no. 3, pp. 200–213, 1972.MathSciNetCrossRefGoogle Scholar
  12. [12]
    E. G. Coffman, Jr. (ed.), Computer and Job-Shop Scheduling Theory, Wiley, New York, NY, 1976.MATHGoogle Scholar
  13. [13]
    J. S. Conery and D. F. Kibler, “AND Parallelism and Nondeterminism in Logic Programs,” New Generation Computing, vol. 3, no. 1, pp. 43–70, OHMSHA Ltd. and Springer-Verlag, 1985.MATHCrossRefGoogle Scholar
  14. [14]
    R. W. Conway, W. L. Maxwell, and L. W. Miller, Theory of Scheduling, Addison-Wesley, Reading, MA, 1967.MATHGoogle Scholar
  15. [15]
    D. DeGroot, “Restricted AND-Parallelism,” Proc. Int’l Conf. on Fifth Generation Computers, pp. 471–478, ICOT and North-Holland, Nov. 1984.Google Scholar
  16. [16]
    D. DeGroot, “Restricted AND-Parallelism and Side-Effects in Logic Programming,” in Supercomputers and AI Machines, ed. K. Hwang and D. DeGroot, McGraw-Hill, 1988.Google Scholar
  17. [17]
    J. B. Dennis, “Data Flow Supercomputers,” Computer, vol. 13, no. 11, pp. 48–56, IEEE, Nov. 1980.CrossRefGoogle Scholar
  18. [18]
    B. C. Desai, “The BPU: A Staged Parallel Processing System to Solve the Zero-One Problem,” Proc. Int’l Computer Symposium, pp. 802–817, Taipei, Taiwan, Dec. 1978.Google Scholar
  19. [19]
    D. Dolev and M. Warmuth, “Profile Scheduling of Opposing Forests and Level Orders,” SIAM J. of Algorithm and Discrete Mathematics, vol. 6, no. 4, pp. 665–687, Oct. 1985.MathSciNetMATHCrossRefGoogle Scholar
  20. [20]
    O. I. El-Dessouki and W. H. Huen, “Distributed Enumeration on Between Computers,” Trans. on Computers, vol. C-29, no. 9, pp. 818–825, IEEE, Sept. 1980.CrossRefGoogle Scholar
  21. [21]
    R. A. Finkel and J. P. Fishburn, “Parallelism in Alpha-Beta Search,” Artificial Intelligence, vol. 19, no. 1, pp. 89–106, North-Holland, 1982.MathSciNetMATHCrossRefGoogle Scholar
  22. [22]
    K. Furukawa, K. Nitta, and Y. Matsumota, “Prolog Interpreter Based on Concurrent Programming,” Proc. First Int’l Logic Programming Conf., pp. 38–44,1982.Google Scholar
  23. [23]
    M. R. Garey and D. S. Johnson, “Scheduling Tasks with Nonuniform Deadlines on Two Processors,” J. of ACM, vol. 23, no. 3, pp. 461–467, 1976.MathSciNetMATHCrossRefGoogle Scholar
  24. [24]
    M. R. Garey and D. S. Johnson, Computers and Intractability, Freeman, San Francisco, 1979.MATHGoogle Scholar
  25. [25]
    M. R. Garey, D. S. Johnson, R. E. Tarjan, and M. Yannakakis, “Scheduling Opposing Forests,” SIAM J. of Algorithm and Discrete Mathematics, vol. 4, no. 1, pp. 72–93, March 1983.MathSciNetMATHCrossRefGoogle Scholar
  26. [26]
    S. Gensi, U. Montanari, and A. Martelli, “Dynamic Programming as Graph Searching: An Algebraic Approach,” J. of the ACM, vol. 28, no. 4, pp. 737–751,1981.CrossRefGoogle Scholar
  27. [27]
    R. L. Graham, E. L. Lawler, J. K. Lenstra, and A. N. Kan, “Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey,” Ann. Discrete Mathematics, vol. 5, pp. 287–326,1979.MATHCrossRefGoogle Scholar
  28. [28]
    L. J. Guibas, H. T. Kung, and C. D. Thompson, “Direct VLSI Implementation of Combinatorial Algorithms,” Proc. Caltech Conf. on VLSI, pp. 509–525, Caltech, Pasadena, CA, 1979.Google Scholar
  29. [29]
    J. A. Harris and D. R. Smith, “Simulation Experiments of a Tree Organized Multicomputer,” Proc. 6th Annual Symp. on Computer Architecture, pp. 83–89, IEEE/ACM, April 1979.Google Scholar
  30. [30]
    E. Horowitz and S. Sahni, Fundamentals of Computer Algorithms, Computer Science Press, 1978.MATHGoogle Scholar
  31. [31]
    E. Horowitz and A. Zorat, “Divide-and-Conquer for Parallel Processing,” Trans. on Computers, vol. C-32, no. 6, pp. 582–585, IEEE, June 1983.CrossRefGoogle Scholar
  32. [32]
    T. C. Hu, “Parallel Sequencing and Assembly Line Problems,” Operations Research, vol. 9, no. 6, pp. 841–848, ORSA, 1961.MathSciNetCrossRefGoogle Scholar
  33. [33]
    T. Ibaraki, “Computational Efficiency of Approximate Branch-and-Bound Algorithms,” Math, of Oper. Research, vol. 1, no. 3, pp. 287–298, Inst, of Management Sciences, 1976.MATHCrossRefGoogle Scholar
  34. [34]
    M. Imai, T. Fukumara, and Y. Yoshida, “A Parallelized Branch-and-Bound Algorithm: Implementation and Efficiency,” Sys. Comput. Controls, vol. 10, No. 3, pp. 62–70, 1979.Google Scholar
  35. [35]
    M. Kaufman, “An Almost-Optimal Algorithm for the Assembly Line Scheduling Problem,” Trans. on Computers, vol. C-23, no. 11, pp. 1169–1174, IEEE, 1974.MathSciNetCrossRefGoogle Scholar
  36. [36]
    R. M. Keller, F. C. H. Lin, and J. Tanaka, “Rediflow Multiprocessing,” Proc. COMPCON Spring, pp. 410–417, IEEE, 1984.Google Scholar
  37. [37]
    D. E. Knuth and R. W. Moore, “An Analysis of Alpha-Beta Pruning,” Artificial Intelligence, vol. 6, no. 4, pp. 293–326, North-Holland, 1975.MathSciNetMATHCrossRefGoogle Scholar
  38. [38]
    R. E. Korf, “Depth-First Iterative Deepening: An Optimal Admissible Tree Search,” Artificial Intelligence, vol. 27, pp. 97–109, North-Holland, 1985.MathSciNetMATHCrossRefGoogle Scholar
  39. [39]
    R. E. Korf, “Real-Time Heuristic Search: First Results,” proceedings of the Sixth National Conference on Artificial Intelligence, pp. 133–8, Seattle, Washington, June, 1987.Google Scholar
  40. [40]
    R. Kowalski, Logic for Problem Solving, North-Holland, 1979.MATHGoogle Scholar
  41. [41]
    V. Kumar and L. N. Kanal, “A General Branch and Bound Formulation for Understanding and Synthesizing And/Or Tree Search Procedures,” Artificial Intelligence, vol. 21, no. 1–2, pp. 179–198, North-Holland, 1983.MathSciNetMATHCrossRefGoogle Scholar
  42. [42]
    V. Kumar and L. Kanal, “Parallel Branch-and-Bound Formulations for AND/OR Tree Search,” Trans. Pattern Analysis and Machine Intelligence, vol. PAMI-6, IEEE, 1984.Google Scholar
  43. [43]
    V. Kumar and V. N. Rao, “Parallel Depth-First Search on Multiprocessors Part II: Analysis,” Int’l Journal of Parallel Programming, vol. 16, no. 6,1987.Google Scholar
  44. [44]
    V. Kumar, V. N. Rao, and K. Ramesh, “Parallel Depth-First Search on the Ring Architecture,” Proc. Int’l Conf. on Parallel Processing, St Charles, IL, Aug. 1988.Google Scholar
  45. [45]
    M. Kunde, “Nonpreemptive LP-Scheduling on Homogeneous Multiprocessor Systems,” SIAM J. of Computing, vol. 10, no. 1, pp. 151–173, Feb. 1981.MathSciNetMATHCrossRefGoogle Scholar
  46. [46]
    T. H. Lai and S. Sahni, “Anomalies in Parallel Branch-and-Bound Algorithms,” Comm. of the ACM, vol. 27, no. 6, pp. 594–602, June 1984.MathSciNetMATHCrossRefGoogle Scholar
  47. [47]
    E. L. Lawler and D. W. Wood, “Branch and Bound Methods: A Survey,” Operations Research, vol. 14, pp. 699–719, ORSA, 1966.MathSciNetMATHCrossRefGoogle Scholar
  48. [48]
    J. K. Lenstra, A. Rinnooy Kan, and P. Brucker, “Complexity of Machine Scheduling Problems,” Proc. Discrete Mathematics, pp. 343–362, North- Holland, 1977.Google Scholar
  49. [49]
    G. J. Li and B. W. Wah, “Computational Efficiency of Parallel Approximate Branch-and-Bound Algorithms,” Proc. Int’l Conf. on Parallel Processing, pp. 473–480, IEEE, Aug. 1984.Google Scholar
  50. [50]
    G. J. Li and B. W. Wah, “How to Cope with Anomalies in Parallel Approximate Branch-and-Bound Algorithms,” Proc. National Conf. on Artificial Intelligence, pp. 212–215, AAAI, Aug. 1984.Google Scholar
  51. [51]
    G. J. Li and B. W. Wah, Computational Efficiency of Parallel Approximate Branch-and-Bound Algorithms, Tech. Rep. TR-EE-84–6, Purdue University, West Lafayette, IN, March 1984.Google Scholar
  52. [52]
    G. J. Li, Parallel Processing of Combinatorial Search Problems, Ph.D. Thesis, School of Electrical Engineering, Purdue University, West Lafayette, IN, Dec. 1985.Google Scholar
  53. [53]
    G. J. Li and B. W. Wah, “Optimal Granularity of Parallel Evaluation of AND-Trees,” Proc. Fall Joint Computer Conf., pp. 297–306, ACM/IEEE, Nov. 1986.Google Scholar
  54. [54]
    G.-J. Li and B. W. Wah, “Coping with Anomalies in Parallel Branch- and-Bound Algorithms,” Trans. on Computers, vol. C-34, no. 6, pp. 568- 573, IEEE, June 1986.MathSciNetCrossRefGoogle Scholar
  55. [55]
    G. J. Li and B. W. Wah, “Computational Efficiency of Combinatorial OR-Tree Searches,” Trans. on Software Engineering, IEEE, (accepted to appear) 1989.Google Scholar
  56. [56]
    Y.-J. Lin and V. Kumar, “An Execution Model for Exploiting AND- Parallelism in Logic Programs,” New Generation Computing, vol. 5, pp. 393–425, OHMSHA, Ltd. and Springer-Verlag, 1988.CrossRefGoogle Scholar
  57. [57]
    G. Lindstrom and P. Panangaden, “Stream-Based Execution of Logic Programs,” Proc. Int’l Symp. on Logic Programming, pp. 168–176, IEEE, Feb. 1984.Google Scholar
  58. [58]
    E. L. Lloyd, “Critical Path Scheduling with Resource and Processor Constrains,” J. of ACM, vol. 29, no. 3, pp. 781–811, 1982.MathSciNetMATHCrossRefGoogle Scholar
  59. [59]
    G. Mago, “Making Parallel Computation Simple: The FFP Machine,” Proc. COMPCON Spring, pp. 424–428, IEEE, 1985.Google Scholar
  60. [60]
    T. A. Marsland and M. Campbell, “Parallel Search of Strongly Ordered Game Trees,” Computing Surveys, vol. 14, no. 4, pp. 533–551, ACM, Dec. 1982.CrossRefGoogle Scholar
  61. [61]
    A. Martelli and U. Montanari, “Additive AND/OR Graphs,” Proc. Int’l Joint Conf. on AI, IJCAI, 1973.Google Scholar
  62. [62]
    B. Monien and O. Vornberger, “The Ring Machine,” Computers and Artificial Intelligence, vol. 3,1987.Google Scholar
  63. [63]
    R. Muntz and E. Coffman, Jr., “Preemptive Scheduling of Real-Time Task on Multiprocessor Systems,” J. of the ACM, vol. 17, no. 2, pp. 324-338, April 1970.MathSciNetMATHCrossRefGoogle Scholar
  64. [64]
    N. J. Nilsson, Principles of Artificial Intelligence, Tioga, 1980.Google Scholar
  65. [65]
    F. J. Peters, “Tree Machine and Divide-and-Conquer Algorithms,” Lecture Notes CS 111 (CONPAR81), pp. 25–35, Springer-Verlag, 1981.Google Scholar
  66. [66]
    V. N. Rao and V. Kumar, “Parallel Depth-First Search on Multiprocessors Part I: Implementation,” Int’l Journal of Parallel Programming, vol. 16, no. 6,1987.Google Scholar
  67. [67]
    V. N. Rao and V. Kumar, Superlinear Speedup in Parallel State-Space Search, Tech. Rep. AI88–80, Artificial Intelligence Laboratory, University of Texas, Austin, TX, 1988.Google Scholar
  68. [68]
    S. Schindler, “On Optimal Scheduling for Multiprocessor Systems,” Proc. Princeton Conf. on Information Science and Systems, pp. 219–223, 1972.Google Scholar
  69. [69]
    A. C. Shaw, The Logical Design of Operating System, Prentice-Hall, 1974.Google Scholar
  70. [70]
    G. Stockman, “A Minimax Algorithm Better Than Alpha-Beta?,” Artificial Intelligence, vol. 12, pp. 179–196, North-Holland, 1979.MathSciNetMATHCrossRefGoogle Scholar
  71. [71]
    J. D. Ullman, “NP-Complete Scheduling Problems,” J. of Computer and System Sciences, vol. 10, pp. 384–393,1975.MathSciNetMATHCrossRefGoogle Scholar
  72. [72]
    P. J. Varman and I. V. Ramakrishnan, “Dynamic Programming and Transitive Closure on Linear Pipelines,” Proc. Int’l Conf. on Parallel Processing, pp. 359–364, IEEE, 1984.Google Scholar
  73. [73]
    O. Vornberger, Implementing Branch-and-Bound in a Ring of Processors, Tech. Rep. 29, University of Paderborn, FRG, 1986.Google Scholar
  74. [74]
    B. W. Wah and Y. W. Ma, “MANIP--A Multicomputer Architecture for Solving Combinatorial Extremum Problems,” Trans. on Computers, vol. C-33, no. 5, pp. 377–390, IEEE, May 1984.CrossRefGoogle Scholar
  75. [75]
    B. W. Wah and K. L. Chen, “A Partitioning Approach to the Design of Selection Networks,” Trans. on Computers, vol. C-33, no. 3, pp. 261–268, IEEE, March 1984.MathSciNetCrossRefGoogle Scholar
  76. [76]
    B. W. Wah, G. J. Li, and C. F. Yu, “The Status of MANIP — A MultiComputer Architecture for Solving Combinatorial Extremum-Search Problems,” Proc. 11’th Int’l Symp. on Computer Architecture, pp. 56–63, ACM/IEEE, June 1984.Google Scholar
  77. [77]
    B. W. Wah and C. F. Yu, “Stochastic Modeling of Branch-and-Bound Algorithms with Best-First Search,” Trans. on Software Engineering, vol. SE-11, no. 9, pp. 922–934, IEEE, Sept. 1985.CrossRefGoogle Scholar
  78. [78]
    B. W. Wah, G. J. Li, and C. F. Yu, “Multiprocessing of Combinatorial Search Problems,” IEEE Computer, vol. 18, no. 6, pp. 93–108, June 1985.Google Scholar
  79. [79]
    B. W. Wah and G.-J. Li, “Systolic Processing for Dynamic Programming Problems,” Circuits, Systems, and Signal Processing, vol. 7, no. 2, pp. 119–149, Springer-Verlag, 1988.MATHCrossRefGoogle Scholar
  80. [80]
    C. F. Yu and B. W. Wah, “Virtual-Memory Support for Branch-and- Bound Algorithms,” Proc. Computer Software and Applications Conf., pp. 618–626, IEEE, Nov. 1983.Google Scholar
  81. [81]
    C. F. Yu and B. W. Wah, “Efficient Branch-and-Bound Algorithms on a Two-Level Memory System,” Proc. Computer Software and Applications Conf., pp. 504–514, IEEE, Nov. 1984.Google Scholar
  82. [82]
    C. F. Yu, Efficient Combinatorial Search Algorithms, Ph.D. Thesis, School of Electrical Engineering, Purdue University, West Lafayette, IN, Dec. 1986.Google Scholar
  83. [83]
    C. F. Yu and B. W. Wah, “Efficient Branch-and-Bound Algorithms on a Two-Level Memory System,” Trans. on Software Engineering, vol. SE- 14, no. 9, pp. 1342–1356, IEEE, Sept. 1988.MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag New York Inc. 1990

Authors and Affiliations

  • Benjamin W. Wah
    • 1
  • Guo-Jie Li
    • 2
  • Chee-Fen Yu
    • 3
  1. 1.Coordinated Science LaboratoryUniversity of Illinois at Urbana-ChampaignUrbanaUSA
  2. 2.Institute of Computing TechnologyAcademia SinicaBeijing People’s Republic of China
  3. 3.Artificial Intelligence LaboratoryIntel CorporationSanta ClaraUSA

Personalised recommendations