Prolog Programming for Artificial Intelligence / Edition 2

Prolog Programming for Artificial Intelligence / Edition 2

by Ivan Bratko
     
 

B> This best-selling guide to Prolog has been fully revised and extended to provide an even greater range of applications, enhancing its value as a stand-alone guide to Prolog, artificial intelligence, or AI programming. Ivan Bratko discusses natural language processing with grammar rules, planning, and machine learning. The coverage of meta-programmingSee more details below

Overview

B> This best-selling guide to Prolog has been fully revised and extended to provide an even greater range of applications, enhancing its value as a stand-alone guide to Prolog, artificial intelligence, or AI programming. Ivan Bratko discusses natural language processing with grammar rules, planning, and machine learning. The coverage of meta-programming includes meta-interpreters and object-oriented programming in Prolog. The new edition includes coverage of: constraint logic programming; qualitative reasoning; inductive logic programming; recently developed algorithms; belief networks for handling uncertainty; and a major update on machine learning. This book is aimed at programmers who need to learn AI programming.

Product Details

ISBN-13:
9780201416060
Publisher:
Addison-Wesley
Publication date:
06/28/1990
Series:
International Computer Science Series
Edition description:
Older Edition
Pages:
597
Product dimensions:
6.79(w) x 9.19(h) x 1.25(d)

Meet the Author

Table of Contents

I. THE PROLOG LANGUAGE.

1. Introduction to Prolog.
Defining relations by facts.
Defining relations by rules.
Recursive rules.
How Prolog answers questions.
Declarative and procedural meaning of programs.

2. Syntax and Meaning of Prolog Programs.
Data objects.
Matching.
Declarative meaning of Prolog programs.
Procedural meaning.
Example: monkey and banana.
Order of clauses and goals.
The relation between Prolog and logic.

3. Lists, Operators, Arithmetic.
Representation of lists.
Some operations on lists.
Operator notation.
Arithmetic.

4. Using Structures: Example Programs.
Retrieving structured information from a database.
Doing data abstraction.
Simulating a non-deterministic automaton.
Travel agent.
The right queens problem.

5. Controlling Backtracking.
Preventing backtracking.
Examples using cut.
Negation as failure.
Problems with cut and negation.

6. Input and Output.
Communication with files.
Processing files of terms.
Manipulating characters.
Constructing and decomposing atoms.
Reading programs

7. More Built-In Predicates.
Testing the type of terms.
Constructing and decomposing terms: =..,functor, arg, name.
Various kinds of equality and comparison.
Database manipulation.
Control facilities.
bagof, setof, and findall.

8. Programming Style and Technique.
General principles of good programming.
How to think about Prolog programs.
Programming style.
Debugging.
Improving efficiency.

9. Operations on Data Structures.
Sorting lists.
Representing sets by binary trees.
Insertion and deletion in a binary dictionary.
Displaying trees.
Graphs.

10. Advanced Tree Representations.
The 2-3 dictionary.
AVL-tree: an approximately balanced tree.

II. PROLOG IN ARTIFICIAL INTELLIGENCE.

11. Basic Problem-Solving Strategies.
Introductory concepts and examples.
Depth-first search and iterative deepening.
Breadth-first search.
Analysis of basic search techniques.

12. Best-First Heuristic Search.
Best-first search.
Best-first search applied to the eight puzzle.
Best-first search applied to scheduling.
Space-saving techniques for best-first search.

13. Problem Decomposition and AND/OR Graphs.
AND/OR graph representation of problems.
Examples of AND/OR search representation.
Basic AND/OR search procedures.
Best-first AND/OR search.

14. Constraint Logic Programming
Constraint satisfaction and logic programming.
CLP over real numbers: CLP(R)
Scheduling with CLP.
A simulation program with constraints.
CLP over finite domains: CLP (FD).

15. Knowledge Representation and Expert Systems.
Functions and structure of an expert system.
Representing knowledge with if-then rules.
Forward and backward chaining in rule-based systems.
Generating explanation.
Introducing uncertainty.
Belief networks.
Semantic networks and frames.

16. An Expert System Shell.
Knowledge representation format.
Designing the inference engine.
Implementation.
Concluding remarks.

17. Planning.
Representing actions.
Deriving plans by means-ends analysis.
Protecting goals.
Procedural aspects and breadth-first regime.
Goal regression.
Combining means-ends planning with best-first heuristic.
Uninstantiated actions and partial-order planning.

18. Machine Learning.
Introduction.
The problem of learning concepts from examples.
Learning relational descriptions: a detailed example.
Learning simple if-then rules.
Induction of decision trees.
Learning from noisy data and tree pruning.
Success of learning.

19. Inductive Logic Programming.
Introduction.
Constructing Prolog programs from examples.
Program HYPER.

20. Qualitative Reasoning.
Common sense, qualitative reasoning and na�ve physics.
Qualitative reasoning about static systems.
Qualitative reasoning about dynamic systems.
A qualitative simulation program.
Discussion of the qualitative simulation program.

21. Language Processing with Grammar Rules.
Grammar rules in Prolog.
Handling meaning.
Defining the meaning of natural language.

22. Game Playing.
Two-person, perfect-information games.
The minimax principle.
The alpha-beta algorithm: an efficient implementation of minimax.
Minimax-based programs: refinements and limitations.
Pattern knowledge and the mechanism of 'advice'.
A chess endgame program in Advice Language O

23. Meta-Programming.
Meta-programs and meta-interpreters.
Prolog meta-interpreters.
Explanation-based generalization.
Object-oriented programming.
Pattern-directed programming.
A simple theorem prover as a pattern-directed program.

Appendix A: Some Differences Between Prolog Implementations.
Appendix B. Some Frequently Used Predicates.
Solutions to Selected Exercises.
Index.

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >