Easy AI with Python

Raymond Hettinger, Chief Visualization Officer, Madison Tyler LLC

Track: Python
Date: Wednesday, July 26
Time: 11:35am - 12:20pm
Location: D133

Survey several basic AI techniques implemented with short, open-source Python code recipes. Appropriate for educators and programmers who want to experiment with AI and apply the recipes to their own problem domains. For each technique, learn the basic operating principle, discuss an approach using Python, and review a worked out-example.

1. Database mining using neural nets. Code implementing the IAC (interactive-competition-and-activation) model from Parallel Distributed Processing, a classic text on Artificial Intelligence. Advantages include the ability to generalize from small datasets, discovery of hidden relationships, and robustness in the face of missing data.

2. Automated categorization with a naive Bayesian classifier. Given a training dataset with members grouped into categories, the code implements a statistical tool for distinguishing each category and using a member's attributes to compute the probability that a new, unclassified member matches the ch categories in the training set.

3. Solving popular puzzles with depth-first and breath-first searches. Explore a generic framework for solving puzzles with a given starting state, a linked series of moves, and a specified goal state. Apply the framework to a triangle tee puzzle, a sliding block puzzle, a river-crossing problem, n-queens problem, and other similar puzzles.

4. Solving more complex puzzles with constraint propagation. Given a search space and set of constraints, use depth-first trail-and-error exploration coupled with constraint propagation. Apply the code to solve Sudoku puzzles.

5. Play a popular game using a probing search strategy. Code interactively explores a solution space using consecutive probes and analyzing the result of each probe. Apply to MasterMind(tm) style games.