Main Applets

Graph Searching

Search is an important part of AI; many problems can be cast as the problem of finding a path in a graph. This graph-searching applet is designed to help you learn about different search strategies.

[ Help ] [ Bugs & Enhancements ]

Consistency Based CSP Solver

Constraint satisfaction problems (CSPs) are pervasive in AI problems. A constraint satisfaction problem is the problem of assigning values to variables that satisfy some constraints. This applet lets you investigate arc consistency and domain splitting with backtracking as ways to solve these problems.

[ Help ] [ Bugs & Enhancements ]

Stochastic Local Search Based CSP Solver

This applet is designed to help you learn another strategy for solving CSPs. This applet demonstrates stochastic local search (various mixes of hill climbing and random moves) that walks through the space of total assignments trying to find an assignment with minimal error.

[ Help ] [ Bugs & Enhancements ]

Definite Clause Deduction

Every representation and reasoning system needs a proof procedure in order to be complete. The purpose of this applet is to illustrate how the process of answer extraction within a knowledge base can be cast as a search problem. The deduction applet uses a language similar to Prolog and demonstrates its goal solving procedures.

[ Help ] [ Bugs & Enhancements ]

Belief and Decision Networks

Belief networks (also called Bayesian networks or causal networks) are a representation for independence amongst random variables for probabilistic reasoning under uncertainty. The purpose of this applet is to illustrate how probabilities are updated given new evidence in a belief network, and shows the details of how the variable elimination algorithm works.

[ Help ] [ Bugs & Enhancements ]

Decision Trees

Learning is the ability to improve one's behaviour based on experience and represents an important element of computational intelligence. Decision trees are a simple yet successful technique for supervised classification learning. This applet demonstrates how to build a decision tree using a training data set and then use the tree to classify unseen examples in a test data set.

[ Help ] [ Bugs & Enhancements ]

Neural Networks

Inspired by neurons and their connections in the brain, neural networks are a representation used in machine learning. After running the back-propagation learning algorithm on a given set of examples, the neural network can be used to predict outcomes for any set of input values.

[ Help ] [ Bugs & Enhancements ]