Parallel Logic Programming


Book Description

Highly parallel machines have been available for many years but, because advances in hardware have always outpaced progress in software development, designers and users of these machines have yet to realize their full potential. Until recently there have been few, if any, high-class parallel programming languages that could be implemented on the wide variety of parallel processing systems in use. This book helps to redress the balance by teaching programming techniques as well as performance analysis of parallel programming languages and architectures using logic programming; specifically, it focuses on the Prolog-like languages OR-parallel Prolog and AND-parallel FGHC. Parallel Logic Programmingbrings to light practical applications of a previously esoteric/theoretical area of parallel logic programming and is unique in presenting programming hand-in-hand with performance analysis of real empirical measurements. Its quantitative approach to symbolic parallel programming provides students and professionals with tools for implementing and critically evaluating larger projects. The book includes useful chapter summaries, programming projects, and a glossary.




Parallel and Constraint Logic Programming


Book Description

Constraint Logic Programming (CLP), an area of extreme research interest in recent years, extends the semantics of Prolog in such a way that the combinatorial explosion, a characteristic of most problems in the field of Artificial Intelligence, can be tackled efficiently. By employing solvers dedicated to each domain instead of the unification algorithm, CLP drastically reduces the search space of the problem, which leads to increased efficiency in the execution of logic programs. CLP offers the possibility of solving complex combinatorial problems in an efficient way, and at the same time maintains the advantages offered by the declarativeness of logic programming. The aim of this book is to present parallel and constraint logic programming, offering a basic understanding of the two fields to the reader new to the area. The first part of the book gives an introduction to the fundamental aspects of conventional logic programming which is necessary for understanding the parts that follow. The second part includes an introduction to parallel logic programming, architectures and implementations proposed in the area. Finally, the third part presents the principles of constraint logic programming. The last two parts also include descriptions of the supporting facilities for the two paradigms in two popular systems; ECLIPSe and SICStus. These platforms have been selected mainly because they offer both parallel and constraint features. Annotated and explained examples are also included in the relevant parts, offering a valuable guide and a first practical experience to the reader. Finally, applications of the covered paradigms are presented. The authors felt that a book of this kind should provide some theoretical background necessary for the understanding of the covered logic programming paradigms, and a quick start for the reader interested in writing parallel and constraint logic programming programs. However it is outside the scope of this book to provide a deep theoretical background of the two areas. In that sense, this book is addressed to a public interested in obtaining a knowledge of the domain, without spending the time and effort to understand the extensive theoretical work done in the field – namely postgraduate and advanced undergraduate students in the area of logic programming. This book fills a gap in the current bibliography, since there is no comprehensive book of this level that covers the areas of conventional, parallel, and constraint logic programming. Parallel and Constraint Logic Programming: An Introduction to Logic, Parallelism and Constraints is appropriate for an advanced level course on Logic Programming or Constraints, and as a reference for practitioners and researchers in industry.




Parallel Logic Programming in PARLOG


Book Description

PARLOG is a logic programming language designed for efficient implementation on parallel machines. It supports a declarative style of programming, combined with an execution mechanism that can exploit the parallel architectures which are already available. This book is a comprehensive study of the design, application, and implementation of PARLOG.




Introduction to Parallel Programming


Book Description

In modern computer science, there exists no truly sequential computing system; and most advanced programming is parallel programming. This is particularly evident in modern application domains like scientific computation, data science, machine intelligence, etc. This lucid introductory textbook will be invaluable to students of computer science and technology, acting as a self-contained primer to parallel programming. It takes the reader from introduction to expertise, addressing a broad gamut of issues. It covers different parallel programming styles, describes parallel architecture, includes parallel programming frameworks and techniques, presents algorithmic and analysis techniques and discusses parallel design and performance issues. With its broad coverage, the book can be useful in a wide range of courses; and can also prove useful as a ready reckoner for professionals in the field.




Logic Programming '87


Book Description

This volume contains most of the papers presented at the 6th Logic Programming Conference held in Tokyo, June 22-24, 1987. It is the successor of Lecture Notes in Computer Science volumes 221 and 264. The contents cover foundations, programming, architecture and applications. Topics of particular interest are constraint logic programming and parallelism. The effort to apply logic programming to large-scale realistic problems is another important subject of these proceedings.




Non-deterministic Concurrent Logic Programming In Pandora


Book Description

This monograph is the first comprehensive study of the design, application, and implementation of Pandora, a new parallel logic programming language. Pandora combines stream and-parallelism with don't-know non-determinism in a unified and efficient manner. As a result, it provides a programming paradigm of non-deterministic concurrent communicating processes, which opens up interesting application areas that cannot conveniently be expressed in existing logic programming languages. The author describes the use of Pandora for constraint programming, solving resource allocation problems, heuristic search, and distributed discrete event simulation. The final chapters describe in detail the implementation of Pandora on single- as well as multi-processor architectures.The volume is aimed at the community of logic programming students and professionals, as well as researchers and professionals in artificial intelligence. It will also be of great interest to researchers in programming language design and parallel processing.




Logic Programming


Book Description

Includes tutorials, lectures, and refereed papers on all aspects of logic programming, including theoretical foundations, constraints, concurrency and parallelism, deductive databases, language design and implementation, nonmonotonic reasoning, and logic programming and the Internet. The International Conference on Logic Programming, sponsored by the Association for Logic Programming, includes tutorials, lectures, and refereed papers on all aspects of logic programming, including theoretical foundations, constraints, concurrency and parallelism, deductive databases, language design and implementation, nonmonotonic reasoning, and logic programming and the Internet.




Logic Programming


Book Description

Includes tutorials, lectures, and refereed papers on all aspects of logic programming, The Joint International Conference and Symposium on Logic Programming, sponsored by the Association for Logic Programming, includes tutorials, lectures, and refereed papers on all aspects of logic programming, including theoretical foundations, constraints, concurrency and parallelism, deductive databases, language design and implementation, nonmonotonic reasoning, and logic programming and the Internet.




Logic Programming


Book Description

Includes tutorials, invited lectures, and refereed papers on all aspects of logic programming including: Constraints, Concurrency and Parallelism, Deductive Databases, Implementations, Meta and Higher-order Programming, Theory, and Semantic Analysis. September 2-6, 1996, Bonn, Germany Every four years, the two major international scientific conferences on logic programming merge in one joint event. JICSLP'96 is the thirteenth in the two series of annual conferences sponsored by The Association for Logic Programming. It includes tutorials, invited lectures, and refereed papers on all aspects of logic programming including: Constraints, Concurrency and Parallelism, Deductive Databases, Implementations, Meta and Higher-order Programming, Theory, and Semantic Analysis. The contributors are international, with strong contingents from the United States, United Kingdom, France, and Japan. Logic Programming series, Research Reports and Notes




Logic Programming


Book Description

The Tenth International Conference on Logic Programming, sponsored by the Association for Logic Programming, is a major forum for presentations of research, applications, and implementations in this important area of computer science. Logic programming is one of the most promising steps toward declarative programming and forms the theoretical basis of the programming language Prolog and it svarious extensions. Logic programming is also fundamental to work in artificial intelligence, where it has been used for nonmonotonic and commonsense reasoning, expert systems implementation, deductive databases, and applications such as computer-aided manufacturing.David S. Warren is Professor of Computer Science at the State University of New York, Stony Brook.Topics covered: Theory and Foundations. Programming Methodologies and Tools. Meta and Higher-order Programming. Parallelism. Concurrency. Deductive Databases. Implementations and Architectures. Applications. Artificial Intelligence. Constraints. Partial Deduction. Bottom-Up Evaluation. Compilation Techniques.