|
Kreutzer, W. & McKenzie, B.
|
Table of Contents
Preface & Introduction
- From heuristic search to knowledge-based systems - a brief history of Artificial Intelligence
- Heuristic search - programs as puzzle solvers
- Knowledge representation - programs as expert system
- Al folklore - some famous programs
Tools and Environments for AI Programming
- AI programming means managing complexity
1. A layered approach to software design
2. "CIassical" versus "exploratory" programming styles
- From IPL to LISP machines - a historical perspective
- Procedural programming- the LISP language
1. Historical evolution and key concepts
2. Programming in Scheme
3. Some comments on style
4. Summary and perspective
5. Exercises
- Declarative programming - the PROLOG language
1. Programming in logic - historical evolution and key concepts
2. Programming in PROLOG
3. Some comments on style
4. Summary and perspective
5. Exercises
- Object-oriented programming with flavour systems
1. Object encapsulation, classification and communication
2. Programming with flavours
3. Some comments on styie
4. Summary and perspective
5. Exercises
Programming Metaphors
- From heuristic search to knowledge representation
- The state space metaphor
1. Search, planning and problem solving
2. Game playing, minimaxing and tree pruning
3. Exercises
- Pattern matching and associative databases
1. A historical perspective
2. The 'Patterns' toolbox
3. The 'KnowledgeBases' toolbox
4. 'InnKeeper' - a crude example of a counselling program
5. Exercises
- Production system interpreters
1. A historical perspective
2. The 'Productions' toolbox
3. Some simple examples
4. Exercises
- Associative and semantic networks
1. General principles and historical perspective
2. The 'AssociativeNetworks' toolbox
3. The 'Bestiary' microworld
4. Exercises
- Frames and scripts
1. General principles and historical perspective
2. The 'Frames' toolbox
3. The 'Toyland' microworld
4. Exercises
- Natural language processing and ATNs
1. General principles and historical perspective
2. The 'ATN' toolbox
3. The 'JanesGarden' microworld
4. Exercises
- Rodney - a restaurant advisory program
1. Combining the toolboxes in a final example
2. Exercises
The Smalltalk-80 Programming System
- Historical evolution
- Of mice, menus and windows - the Smalltalk system and the desktop metaphor
- A glance at basic syntax, data structures, operations and control structures
- Defining a simple application - classes, properties, methods - browsers, inspectors and debuggers
- Some simple graphics - classes Pen and Form
- FaceWorld - demonstrating the MVC metaphor
- Control structures as message patterns and Smalltalk's view of pseudo-concurrency
- Files and other miscellaneous features
- Some comments on style
- Summary and perspective
- Exercises
Summary and Future Perspectives
Appendices
- AI Programming- An Annotated Bibliography
- A Simple Discrete Event Simulator in Scheme
- Toolbox Sources (in Scheme - grab them from here)
- Software Tools - Some Useful Addresses and Profiles
- Solutions to Starred (*) Exercises
- Scheme and COMMON LISP: A Comparison
References
Index
