Programming in Prolog Using the ISO Standard
Başlık:
Programming in Prolog Using the ISO Standard
ISBN:
9783642966613
Personal Author:
Edition:
1st ed. 1981.
Yayın Bilgileri:
Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 1981.
Fiziksel Tanımlama:
XII, 279 p. online resource.
Contents:
1. Tutorial Introduction -- Gives the student a "feel" for what it is like to program in Prolog. Introduces objects, relationships, facts, rules, variables. -- 1.1 Facts -- 1.2 Questions -- 1.3 Variables -- 1.4 Conjuctions -- 1.5 Rules -- 1.6 Summary and Exercises -- 2. A Closer Look -- More detailed presentation of Prolog syntax and data structures. -- 2.1 Syntax -- 2.2 Characters -- 2.3 Operators -- 2.4 Equality -- 2.5 Arithmetic -- 2.6 Summary of Satisfying Qoals -- 3. Using Data Structures -- Representing objects and relationships by using "trees" and "lists". Developing several example Prolog programs. -- 3.1 Structures and Trees -- 3.2 Lists -- 3.3 Membership of a List -- 3.4 Example: Changing a Sentence into Another -- 3.5 Example: Comparing Alphabetic Order -- 3.6 Example: A Parts Inventory -- 4. Backtracking and "Cut" -- How a set of clauses generates a set of solutions. Using "cut" to modify the control sequence of running Prolog programs. -- 4.1 Generating Multiple Solutions -- 4.2 The "Cut" -- 4.3 Common Uses of the "Cut" -- 4.4 Problems with "Cut" -- 5. Input and Output -- Facilities available for the input and output of characters and structures. Developing a program to read sentences from the user and represent the sentence as a list of words, which can be used with the Grammar Rules of Chapter 9. -- 5.1 Reading and Writing Characters -- 5.2 Reading and Writing Terms -- 5.3 Reading English Sentences -- 5.4 Using Files -- 5.5 Declaring Operators -- 6. Built-in Predicates -- Definition of the "core" built-in predicates, with sensible examples of how each one is used. By this point, the reader should be able to read reasonably complex programs, and should therefore be able to absorb the built-in predicates by seeing them in use. -- 6.1 Entering New Clauses -- 6.2 Success and Failure -- 6.3 Classifying Terms -- 6.4 Treating Clauses as Terms -- 6.5 Looking at the Structure of Terms -- 6.6 Affecting Backtracking -- 6.7 Creating Complex Goals -- 6.8 Equality -- 6.9 Basic Input and Output -- 6.10 Handling Files -- 6.11 Evaluating Arithmetic Expressions -- 6.12 Comparing Numbers -- 6.13 Watching Prolog at Work -- 7. More Example Programs -- Many example programs are given, covering a wide range of interests. New examples include list processing, set operations, symbolic differentiation and simplification of formulae. -- 7.1 A Sorted-Tree Dictionary -- 7.2 Searching A Maze -- 7.3 Towers of Hanoi -- 7.4 Improved Parts Inventory -- 7.5 List Processing -- 7.6 Representing and Manipulating Sets -- 7.7 Sorting -- 7.8 Assert and Retract: Random, Gensym, Findall -- 7.9 Searching Graphs -- 7.10 Sift the Two's and Sift the Three's -- 7.11 Symbolic Differentiation -- 7.12 Mapping and Transforming Trees -- 8. Debugging Prolog Programs -- By this point, the reader will be able to write reasonable programs, and so the problem of debugging will be relevant. Flow of control model, hints about common bugs, techniques of debugging. -- 8.1 Layout of Prolog Programs -- 8.2 Common Errors -- 8.3 Another Control Flow Model -- 8.4 Usiag Spy Points and Tracing -- 8.5 Fixing Bugs -- 9. Using Grammar Rules -- Applications of existing techniques. Using Grammar Rules. Examining the design decisions for some aspects of analysing natural language with Grammar Rules. -- 9.1 The Parsing Problem -- 9.2 Representing the Parsing Problem In Prolog -- 9.3 The Grammar Rule Notation -- 9.4 Adding Extra Arguments -- 9.5 Adding Extra Tests -- 9.6 Summary -- 10. The Relation of Prolog to Logic -- Predicate Calculus, clausal form, resolution theorem proving, logic programming. -- 10.1 Brief introduction to Predicate Calculus -- 10.2 Clausal Form -- 10.3 A Notation for Clauses -- 10.4 Resolution and Proving Theorems -- 10.5 Horn Clauses -- 10.6 Prolog -- 10.7 Prolog and Logic Programming -- 11. Projects in Prolog -- A selection of suggested exercises, projects, and problems. -- 11.1 Easier Projects -- 11.2 Advanced Projects -- Appendices -- A. Answers to Selected Exercises -- B. Clausal Form - Prolog Programs -- C. The ASCII Code -- D. Different Versions of Prolog -- E. The DECsystem-10 Prolog System -- F. The PDP-11 Unix Prolog System -- G. The LSI-11 RT-11 Prolog System -- H. The ICL 2980 EMAS Prolog System -- I. Other Prolog Systems.
Abstract:
The computer programming language Prolog is quickly gaining popularity throughout the world. Since Its beginnings around 1970. Prolog has been chosen by many programmers for applications of symbolic computation. including: D relational databases D mathematical logic D abstract problem solving D understanding natural language D architectural design D symbolic equation solving D biochemical structure analysis D many areas of artificial Intelligence Until now. there has been no textbook with the aim of teaching Prolog as a practical programming language. It Is perhaps a tribute to Prolog that so many people have been motivated to learn It by referring to the necessarily concise reference manuals. a few published papers. and by the orally transmitted 'folklore' of the modern computing community. However. as Prolog is beginning to be Introduced to large numbers of undergraduate and postgraduate students. many of our colleagues have expressed a great need for a tutorial guide to learning Prolog. We hope this little book will go some way towards meeting this need. Many newcomers to Prolog find that the task of writing a Prolog program Is not like specifying an algorithm in the same way as In a conventional programming language. Instead. the Prolog programmer asks more what formal relationships and objects occur In his problem.
Added Author:
Ek Kurum Yazarı:
Elektronik Erişim:
Full Text Available From Springer Nature Computer Science Archive Packages
Dil:
English