Parallel execution of logic programs

書誌事項

Parallel execution of logic programs

by John S. Conery

(The Kluwer international series in engineering and computer science, SECS 25 . Parallel processing and fifth generation computing)

Kluwer Academic Publishers, c1987

大学図書館所蔵 件 / 11

この図書・雑誌をさがす

注記

Revision of the author's thesis (Ph. D.--University of Oregon) originally presented under the title: The AND/OR process model for parallel interpretation of logic programs

Includes index

内容説明・目次

内容説明

This book is an updated version of my Ph.D. dissertation, The AND/OR Process Model for Parallel Interpretation of Logic Programs. The three years since that paper was finished (or so I thought then) have seen quite a bit of work in the area of parallel execution models and programming languages for logic programs. A quick glance at the bibliography here shows roughly 50 papers on these topics, 40 of which were published after 1983. The main difference between the book and the dissertation is the updated survey of related work. One of the appendices in the dissertation was an overview of a Prolog implementation of an interpreter based on the AND/OR Process Model, a simulator I used to get some preliminary measurements of parallelism in logic programs. In the last three years I have been involved with three other implementations. One was written in C and is now being installed on a small multiprocessor at the University of Oregon. Most of the programming of this interpreter was done by Nitin More under my direction for his M.S. project. The other two, one written in Multilisp and the other in Modula-2, are more limited, intended to test ideas about implementing specific aspects of the model. Instead of an appendix describing one interpreter, this book has more detail about implementation included in Chapters 5 through 7, based on a combination of ideas from the four interpreters.

目次

1 Introduction.- 2 Logic Programming.- 2.1 Syntax.- 2.2 Semantics.- 2.3 Control.- 2.4 Prolog.- 2.4.1 Evaluable Predicates and Arithmetic.- 2.4.2 Higher Order Functions.- 2.4.3 The Cut Symbol.- 2.5 Alternate Control Strategies.- 2.5.1 Selection by Number of Solutions.- 2.5.2 Selection by Number of Uninstantiated Variables.- 2.5.3 Intelligent Backtracking.- 2.5.4 Coroutines.- 2.6 Chapter Summary.- 3 Parallelism in Logic Programs.- 3.1 Models for OR Parallelism.- 3.1.1 Pure OR Parallelism.- 3.1.2 OR Processes.- 3.1.3 Distributed Search.- 3.1.4 Summary.- 3.2 Models for AND Parallelism.- 3.2.1 Stream Parallel Models.- 3.2.2 AND Processes.- 3.2.3 AND Parallelism in the Goal Tree.- 3.2.4 Summary.- 3.3 Low Level Parallelism.- 3.4 Chapter Summary.- 4 The AND/OR Process Model.- 4.1 Oracle.- 4.2 Messages.- 4.3 OR Processes.- 4.4 AND Processes.- 4.5 Interpreter.- 4.6 Programming Language.- 4.7 Chapter Summary.- 5 Parallel OR Processes.- 5.1 Operating Modes.- 5.2 Execution.- 5.3 Example.- 5.4 Chapter Summary.- 6 Parallel AND Processes.- 6.1 Ordering of Literals.- 6.1.1 Dataflow Graphs.- 6.1.2 The Ordering Algorithm.- 6.1.3 Examples.- 6.2 Forward Execution.- 6.2.1 Forward Execution Algorithm.- 6.2.2 Solution of a Deterministic Function.- 6.3 Backward Execution.- 6.3.1 Generating Tuples of Terms.- 6.3.2 Definitions for Backward Execution.- 6.3.3 The Backward Execution Algorithm.- 6.4 Detailed Example.- 6.4.1 Ordering.- 6.4.2 Forward Execution.- 6.4.3 Backward Execution.- 6.4.4 Additional Solutions.- 6.5 Discussion.- 6.5.1 Relative Order of Incoming Messages.- 6.5.2 Definition of Candidate Set.- 6.5.3 Result Cache.- 6.5.4 Infinite Domains.- 6.5.5 Multisets of Results.- 6.6 Chapter Summary.- 7 Implementation.- 7.1 Overview of the Interpreter.- 7.2 Parallel AND Processes.- 7.3 Process Allocation.- 7.4 Growth Control.- 7.4.1 Conditional Expressions.- 7.4.2 Process Priorities.- 7.4.3 Message Protocols.- 7.4.4 Secondary Memory.- 7.5 Summary.

「Nielsen BookData」 より

関連文献: 1件中  1-1を表示

詳細情報

ページトップへ