This introductory textbook on Artificial Intelligence (AI) is aimed at junior/senior undergraduate and graduate level students. The book will weave a unifying theme among the core concepts that underlie the discipline of AI. While the text makes use of Prolog as its primary programming language, class testers have successfully substituted a Lisp-like pseudocode. The book encourages the student to expore, implement and experiment with a series of progressively richer logic-based representations that can capture the essential features of more and more demanding tasks and environments. The unifying theme will feature an intelligent agent acting in its own environment. This will serve to place the core concepts of AI in a coherent and cohesive framework, making it easier to teach and learn from. This approach will clarify and integrate representation and reasoning fundamentals and lead the students from simple to complex ideas with clear motivation. The authors have developed AI representation schemes and describe their use for interesting and popular applications, such as natural language vision, robotics, game playing, and expert systems.
The manuscript has been class tested in a number of different courses in Canada, Japan, and Europe. Virtually every university and college has an interdisciplinary course on artificial intelligence. The enrollment in such courses is rising, as many interdisciplinary programs, such as cognitive science, psychology, linguistics, engineering, medicine, business and philosophy, recommend the course.
This introductory textbook on Artificial Intelligence (AI) is aimed at junior/senior undergraduate and graduate level students. The book will weave a unifying theme among the core concepts that underlie the discipline of AI. While the text makes use of Prolog as its primary programming language, class testers have successfully substituted a Lisp-like pseudocode. The book encourages the student to expore, implement and experiment with a series of progressively richer logic-based representations that can capture the essential features of more and more demanding tasks and environments. The unifying theme will feature an intelligent agent acting in its own environment. This will serve to place the core concepts of AI in a coherent and cohesive framework, making it easier to teach and learn from. This approach will clarify and integrate representation and reasoning fundamentals and lead the students from simple to complex ideas with clear motivation. The authors have developed AI representation schemes and describe their use for interesting and popular applications, such as natural language vision, robotics, game playing, and expert systems.
The manuscript has been class tested in a number of different courses in Canada, Japan, and Europe. Virtually every university and college has an interdisciplinary course on artificial intelligence. The enrollment in such courses is rising, as many interdisciplinary programs, such as cognitive science, psychology, linguistics, engineering, medicine, business and philosophy, recommend the course.
Preface
1. Computational Intelligence and Knowledge
1.1: What is Computational Intelligence?
1.2: Agents in the World
1.3: Representation and Reasoning
1.4: Applications
1.5: Overview
1.6: References and Further Reading
1.7: Exercises
2. A Representation and Reasoning System
2.1: Introduction
2.2: Representation and Reasoning Systems
2.3: Simplifying Assumptions of the Initial RRS
2.4: Datalog
2.5: Semantics
2.6: Questions and Answers
2.7: Proofs
2.8: Extending the Language with Function Symbols
2.9: References and Further Reading
2.10: Exercises
3. Using Definite Knowledge
3.1: Introduction
3.2: Case Study: House Wiring
3.3: Databases and Recursion
3.4: Verification and Limitations
3.5: Case Study: Representing Abstract Concepts
3.6: Case Study: Representing Regulatory Knowledge
3.7: Applications in Natural Language Processing
3.8: References and Further Reading
3.9: Exercises
4. Searching
4.1: Why Search?
4.2: Graph Searching
4.3: A Generic Searching Algorithm
4.4: Blind Search Strategies
4.5: Heuristic Search
4.6: Refinements to Search Strategies
4.7: Constraint Satisfaction Problems
4.8: References and Further Reading
4.9: Exercises
5. Representing Knowledge
5.1: Introduction
5.2: Defining a solution
5.3: Choosing a Representation Language
5.4: Mapping from Problem to Representation
5.5: Choosing an Inference Procedure
5.6: References and Further Reading
5.7: Exercises
6. Knowledge Engineering
6.1: Introduction
6.2: Knowledge-Based System Architecture
6.3: Meta-interpreters
6.4: Querying the User
6.5: Explanation
6.6: Debugging Knowledge Bases
6.7: A Meta-interpreter with Search
6.8: Unification
6.9: References and Further Reading
6.10: Exercises
7. Beyond Definite Knowledge
7.1: Introduction
7.2: Equality
7.3: Integrity Constraints
7.4: Complete Knowledge Assumption
7.5: Disjunctive Knowledge
7.6: Explicit Quantification
7.7: First-Order Predicate Calculus
7.8: Modal Logic
7.9: References and Further Reading
7.10: Exercises
8. Actions and Planning
8.1: Introduction
8.2: Representations of Actions and Change
8.3: Reasoning with World Representations
8.4: References and Further Reading
8.5: Exercises
9. Assumption-Based Reasoning
9.1: Introduction
9.2: An Assumption-Based Reasoning Framework
9.3: Default Reasoning
9.4: Abduction
9.5: Evidential and Causal Reasoning
9.6: Algorithms for Assumption-Based Reasoning
9.7: References and Further Reading
9.8: Exercises
10. Using Uncertain Knowledge
10.1: Introduction
10.2: Probability
10.3: Independence Assumptions
10.4: Making Decisions Under Uncertainty
10.5: References and Further Reading
10.6: Exercises
11. Learning
11.1: Introduction
11.2: Learning as Choosing the Best Representation
11.3: Case-Based Reasoning
11.4: Learning as Refining the Hypothesis State
11.5: Learning Under Uncertainty
11.6: Explanation-Based Learning
11.7: References and Further Learning
11.8: Exercises
12. Building Situated Robots
12.1: Introduction
12.2: Robotic Systems
12.3: The Agent Function
12.4: Designing Robots
12.5: Uses of Agent Models
12.6: Robot Architectures
12.7: Implementing a Controller
12.8: Robots Modeling the World
12.9: Reasoning in Situated Robots
12.10: References and Further Reading
12.11: Exercises
A. Glossary
B. The Prolog Programming Language
B.1: Introduction
B.2: Interacting with Prolog
B.3: Syntax
B.4: Arithmetic
B.5: Database Relations
B.6: Returning All Answers
B.7: Input and Output
B.8: Controlling Search
C. Some More Implemented Systems
C.1: Bottom-up Interpreters
C.2: Top-down Interpreters
C.3: A Constraint Satisfaction Problem Solver
C.4: Neural Network Learner
C.5: Partial-Order Planner
C.6: Implementing Belief Networks
C.7: Robot Controller
Bibliography
Index
"From the title one gets the sense of a fresh approach. Its use of case studies to intertwine theory and practice is excellent."--Jonathan Hodgson, St. Joseph's University
![]() |
Ask a Question About this Product More... |
![]() |