An Introduction to Programming in Prolog
Springer-Verlag New York Inc.
978-0-387-97144-5 (ISBN)
This book is an introduction to Prolog (£rQgramming in ~ic). It presents the basic foundations of Prolog and basic and fundamental programming methods. This book is written for programmers familiar with other programming languages, as well as for novices in computer science, willing to have an original introduction to programming. The approach adopted in this book is thus based on methodological elements together with some pragmatic aspects. The book is composed of two parts. In the fIrst part the major aspects of programming in Prolog are presented step by step. Each new aspect is illustrated by short examples and exercises. The second part is composed of more developed examples, which are often games, that illustrate major aspects of artifIcial intelligence. More advanced books are given in the bibliography and will allow the reader to deepen his or her know ledge of Prolog. Prolog was first designed in France at OJ.A., Marseille, with a specific syntax. We have adopted here a more common notation, defIned at Edinburgh, which tends to be an implicit norm. At the end of each chapter of the fIrst part, there are exercises that the reader is invited to do and to test on his or her machine. Complete answers are given in Appendix A, at the end of the book.
1 Representing Facts in Prolog.- 1. Trees.- 2. Facts.- 3. Properties and Relations.- 4. Introducing Facts in Prolog.- Exercises.- 2 Querying the Fact Base.- 1. Elementary Questions.- 2. Questions with Variables.- 3. Conjunction of Elementary Questions.- 4. An Example of a Prolog Execution.- Exercises.- 3 Expressing Rules.- 1. Advantages of Rules.- 2. Constructing a Rule.- 3. Rules without Conditions.- 4. Rules and Logic.- 5. Facts and Rules with Complex Arguments.- 6 Summary.- Exercises.- 4 Syntax of Prolog. The Unification Mechanism.- 1. Numbers and Atoms.- 2. Variables.- 3. Terms.- 4. Clauses.- 5. Formal Definitions of Terms and Clauses.- 6. Substitutions.- 7. Unification of Terms.- Exercises.- 5 Arithmetic Operations.- 1. Arithmetic Operators.- 2. Logical Operators.- 3. Application to Databases.- 6 Procedures.- 1. The Problem.- 2. Procedures.- 3. Execution Order of Clauses in a Procedure.- 4. Procedures and Classical Programming.- Exercises.- 7 Recursion.- 1. Recursion and Recurrence.- 2. Paths in a Graph.- 3. Calculating the Length of a Path.- Exercises.- 8 Structure and Management of Control.- 1. Control Structure.- 2. The Execution Process.- 3. Predicates for Controlling Resolution.- 4. Negation as Failure.- Exercises.- 9 Lists.- 1. Representing Lists.- 2. Searching for an Element in a List.- 3. Set Operations.- 4. Concatenation of Two Lists.- 5. Palindromes.- Exercises.- 10 Predefined Predicates.- 1. Identifying Kinds of Terms.- 2. Decomposition and Construction of Terms.- 3. Input-Output Operations.- 4. Defining New Operators.- Exercises.- 11 Some Programming Advice.- 1. General Principles.- 2. Top-Down Approach.- 3. Testing Prolog Programs.- 4. Thinking in Prolog.- 5. Toward Applications.- 12 Formal Aspects of Programming in Logic.- 1. First-Order Logic.- 2. Clausal Forms and Horn Clauses.- 3. Declarative and Procedural Semantics of Prolog.- 4. SLD Resolution.- 5. SLD Resolution in Prolog.- 6. Meaning of a Program.- 13 Playing with Words.- 1. Crisscross Puzzles.- 2. The Game of Domino.- 3. The Longest Word.- 14 Deductive Databases.- 1. Basic Structures.- 2. A Film Database.- 3. Basic Operations.- 4. Advanced Tools.- 5. Expressing Integrity Constraints.- 6. Problems of Quantification.- 7. A World with Three Truth Values.- 15 An Expert System about Animals.- 1. Structure of an Expert System.- 2. Modeling a Problem.- 3. Guessing Names of Animals.- 4. Toward Actual Expert Systems.- 16 Count It Out.- 1. The Basic Game.- 2. A More Complex Calculation.- 3. Searching for an Approximate Solution.- 17 The Automatic Analysis of Natural Language.- 1. Natural Language and Logic.- 2. Introduction to Logic Grammar.- 3. Semantic Constraints.- 4. Generation of Natural Language.- 5. Automatic Construction of an Analyzer.- 6. A More Complex Logical Formula.- 7. Toward an Evaluator.- Appendix A Exercise Answers.- Appendix B Main Predefined Predicates.
Übersetzer | Sharon J. Hamilton |
---|---|
Zusatzinfo | XI, 184 p. |
Verlagsort | New York, NY |
Sprache | englisch |
Maße | 155 x 235 mm |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Theorie / Studium ► Compilerbau | |
Informatik ► Theorie / Studium ► Künstliche Intelligenz / Robotik | |
ISBN-10 | 0-387-97144-0 / 0387971440 |
ISBN-13 | 978-0-387-97144-5 / 9780387971445 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich