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
There are no Instructor/Student Resources available at this time.
David I. Poole is Associate Professor and Alan K. Mackworth is Professor, both at the University of British Columbia. Randy G. Goebel is Professor and Associate Chair, Computer Science Department, University of Alberta.