Abstract
The concurrent logic languages, of which Parlog is one, have been promoted as a new generation of software languages specifically designed for parallel programming. This paper investigates their application to a search problem commonly used as an illustration of artificial intelligence techniques, the 8-puzzle. It notes that programs written in the concurrent logic languages which do not pay attention to the parallelism can fall into two possible traps: either there is little real parallelism in them due to data dependencies, or there is too much parallelism and any practical architecture will be overwhelmed. A solution which controls the parallelism using user-defined priorities is proposed. This solution has the advantage of being architecture-independent.
Similar content being viewed by others
References
N. J. Nilsson,Problem Solving Methods in Artificial Intelligence. McGraw Hill (1971).
K. L. Clark and S. Gregory, PARLOG: Parallel Programming in Logic,ACM Trans. on Programming Languages and Systems 8(1):1–49 (1986).
C. Mierowsky, S. aaylor, J. Levy and M. Safra,The Design and Implementation of Flat Concurrent Prolog. Technical Report CS85-09, Department of Applied Mathematics, Weizmann Institute of Science, Israel (1985).
G. A. Ringwood, Parlog-86 and the Dining Logicians,Comm. ACM 31(1):10–25 (1988).
I. Foster and S. Taylor,Strand: New Concepts in Parallel Programming, Prentice-Hall (1990).
M. Codish and E. Shapiro, Compiling OR-parallelism into AND-parallelism,New Generation Computing 5(1):45–61 (1987).
A. D. Burt and G. A. Ringwood,The Binding Conflict Problem in Concurrent Logic, Technical Report, Department of Computing, Imperial College, London (1988).
E. Shapiro, Systolic Programming: A Paradigm for Parallel Processing,Proc. Int'l. Conf. of Fifth Generation Computer Systems, Tokyo, pp. 458–471 (1984).
E. Tick and N. Ichiyoshi, Programming Techniques for Efficiently Exploiting Parallelism in Logic Programming Languages,2nd ACM Symp. on Princ. and Pract. of Parallel Programming. SIGPLAN Notices 25(3):31–39 (1990).
R. A. Kowalski, Algorithm=logic+control.Comm. ACM 22(7):424–436 (1979).
H. E. Bal, Heuristic Search in Parlog using Replicated Worker Style Parallelism,Future Generation Computer Systems 6(4):303–315 (1991).
M. Huntbach,Parlog as a Language for Artificial Intelligence, Technical Report, Parlog Group, Department of Computing, Imperial College, London, UK (1988).
M. Huntbach, Speculative Computation and Priorities in Concurrent Logic Languages,3rd UK Ann. Conf. on Logic Programming, Springer-Verlag Workshops in Computing series, (eds), G. A. Wiggins, C. Mellish and T. Duncan, pp. 23–35 (1991).
K. Ueda and T. Chikayama, Design of the Kernel Language for the Parallel Inference Machine,Computer Journal 33(6):494–500 (1990).
F. W. Burton, Speculative Computation, Parallelism and Functional Programming,IEEE Trans. on Computers C-34(12):1190–1193 (1985).
V. J. Rayward-Smith, G. P. McKeown and F. W. Burton, The General Problem Solving Algorithm and Its Implementation,New Generation Computing 6(1):41–66 (1988).
F. W. Burton and M. M. Huntbach, Virtual Tree Machines,IEEE Trans. Computers,C-33(3):278–281 (1984).
M. M. Huntbach and F. W. Burton, Alpha-beta Search on Virtual Tree Machines,Information Sciences 44:3–17 (1988).
P. Szeredi, Solving optimization problems in the Aurora Or-parallel Prolog System,ICLP'91 Pre-Conference Workshop on Parallel Execution of Logic Programs, (eds.), A. Beaumont and G. Gupta,Springer LNCS 569:39–53 (1991).
V. A. Saletore,Machine Independent Parallel Execution of Speculative Computations, Ph.D. Thesis, University of Illinois at Urbana-Champaign (1990).
E. Shapiro and A. Takeuchi, Object Oriented Programming in Concurrent Prolog,New Generation Computing 1(1):25–48 (1983).
M. Huntbach,Combinatorial Search in Parlog using Speculative Computation, Technical Report, Parlog Group, Department of Computing, Imperial College, London, UK (1989).
T. A. Marsland and M. Campbell, Parallel Search of Strongly Ordered Game Trees.Computing Surveys 14(4):533–551 (1982).
T-H. Lai and S. Sahni, Anomalies in Parallel Branch-and-Bound Algorithms,Comm. ACM 27(6):594–602 (1984).
D. L. McBurney and M. R. Sleep, Transputer-Based Experiments with the ZAPP Architecture,Parallel Architectures and Languages Europe '87 (PARLE 87), Springer LNCS 258:242–259 (1987).
W. G. Wilson, Concurrent Alpha-beta, A Study in Concurrent Logic Programming,IEEE Symp. on Logic Programming, San Francisco, pp. 360–367 (1987).
M. Huntbach, Meta-interpreters and Partial Evaluation in Parlog,Formal Aspects of Computing 1:193–211 (1989).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Huntbach, M. Parallel branch-and-bound search in Parlog. Int J Parallel Prog 20, 299–314 (1991). https://doi.org/10.1007/BF01408020
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01408020