Artificial Intelligence Programming With Ruby

Mark Watson
Copyright 2007 Mark Watson. All rights reserved.
This work is licensed under a Creative Commons
Attribution-Noncommercial-No Derivative Works
Version 3.0 United States License.

October 9, 2007

Contents
Preface
1 Introduction to Ruby for AI Programming
 1.1 Classes
 1.2 Arrays
 1.3 Strings
 1.4 Code Blocks
 1.5 Iterators, the Enumerable Mixin, and Blocks
 1.6 Hash tables
 1.7 File I/O
 1.8 Exceptions
2 Search
 2.1 Heuristic Graph Search
 2.2 Alpha Beta Search in games
3 An Overview of Knowledge Representation
4 Reasoning and Knowledge Representation with PowerLoom
 4.1 Why PowerLoom?
 4.2 PowerLoom Overview
 4.3 The PowerLoom JRuby Interface
5 Descriptive Logic Reasoning and the Semantic Web
6 Natural Language Processing
 6.1 Chart Parser
 6.2 Statistical Natural Language Processing
7 Neural Networks
 7.1 Back Propagation
 7.2 Recurrent Networks
8 Probabilistic Reasoning
Bibliography