At the forefront of Artificial Intelligence
  Home Articles Reviews Interviews JDK Glossary Features Discussion Search
Home » JDK » Demonstrations

Demonstrations

This page lists applets put together either to demonstrate the Generation5 JDK or written to complement articles. If you implement any interesting applets using the JDK and feel they would help demonstrate the JDK, feel free to contact me.

Please also note that this page only displays the demonstration applets. For more demonstrations and the source code for these applets, please see the Downloads page.




Artificial Life

Wire World CA (added 19/11/2004)
Shows how the Wire World CA can be configured to act as a binary multiplier.

See also: Artificial Life through Java Examples.
Conway's Game of Life Examples (added 09/11/2004)
Probably the most famous example of cellular automata, this applet demonstrates several examples of Life in action. Firstly, a large and randomly initialized world allows you to explore Life. Three smaller applets demonstrate specialized Life constructs including gliders.

See also: Artificial Life through Java Examples.
Dictyostelium Slime Mold Simulation (added 09/11/2004)
A cellular automata that simulates the dictyostelium slime mold. The slime mold demonstrates emergent behaviour as it forms into clusters. The CA is rendered using red points, while the pheromone itself as rendered as a gradient between dark green and white.

See also: Cellular Automata with the Generation5 JDK.
Flocking Agents (added 09/11/2004)
This applet demonstrates Craig Reynolds' flocking algorithm, as made famous by his 'Boids' program.

See also: Craig Reynolds - Generation5 interview.
L-Systems (added 09/11/2004)
Three applets showing two nature-inspired L-Systems, including the famous fern leaf, as well as a more complex geometric shape.

See also: L-Systems Tutorial Using Java.
Langton's Ants (added 09/11/2004)
Langton's Ant is an extremely simple, time-reversible cellular automata. The applet only simulates one ant starting at the centre point, although much more interesting behaviour can be observed with multiple ants and a slightly noisy world.

See also: Artificial Life through Java Examples.
Langton's Self-Replicating Loop (added 09/11/2004)
Langton's Self-Replicating Loop is a complicated cellular automata which demonstrates how CAs can self-replicate themselves within the world. The loop replicates in four directions before closing itself off.

See also: Artificial Life through Java Examples.
Spatial IPD (added 09/11/2004)
This applet demonstrates a spatial IPD (iterated prisoner's dilemma). The spatial IPD extends a standard IPD by having each IPD agent only play its neighbours on a grid. The strategy that wins "takes over". Re-run the applet to watch how tit-for-tat takes over; sometimes the applet will run for a long time, then suddenly tit-for-tat will spread and become dominant within seconds.

See also: Iterated Prisoner's Dilemma.
Termites (added 09/11/2004)
This very simple applet implements the Termites cellular automata.

See also: Artificial Life through Java Examples.
Wolfram 1D CA (added 09/11/2004)
This demonstration implements four different one-dimensional Wolfram cellular automata.

See also: Artificial Life through Java Examples.

Evolutionary Algorithms

Evolutionary Travelling Salesman Problem (added 09/11/2004)
This applet uses a genetic algorithm to attempt to solve a randomly generated travelling salesman problem. This is similar to the genetic algorithm demonstrator, but displays the TSP graphically.

See also: Solving the Travelling Saleman Problem Using a Genetic Algorithm - by Andy Thomas.
Genetic Algorithm Demonstrator (added 09/11/2004)
This applet demonstrates genetic algorithm solving a variety of problems; a diophantine equation solver, a "Hello World!" evolver and the travelling salesman problem. The applet lists the current best population member, as well as graphing the current best and average fitnesses of the GA.

See also: Genetic Algorithm Example: Diophantine Equation // A "Hello World!" Genetic Algorithm Example

Gaming

Virus Board Game Demonstration (added 16/12/2004)
Demonstrates the JDK's BoardGame and BoardGameAgent classes by implementing a simple version of the Virus game. The agents use influence mapping to choose their moves, each of which can be visualized in the applet.

See also: Virus Project.
A* Demonstration (added 09/11/2004)
Demonstrates the A* pathfinding algorithm over a small map. The applet displays the results of the A* as a path is being found, with the current best path, nodes on the closed list (blue) and nodes on the open list (red).

See also: A* for the Masses.

Machine Vision

Hough Transform Demonstration (added 3/12/2004)
Demonstrates how Hough Transforms work. Using a colour image as input requires a 5-stage filter: input, greyscale, Sobel edge detection, thresholding, Hough transform and finally interpreting the Hough results. This applet allows you to view each stage, as well as manipulate 3 key parameters.

See also: Hough Transforms.
Machine Vision Demonstration (added 26/11/2004)
This applet applies filters to an input image, including:
  • Greyscale, histogram equalization, mean, Sobel edge detection
  • One point, error-diffusion or pattern-diffusion thresholding.
See also: Machine Vision articles.

Neural Networks

Optical Numerical Recognizer (ONR) (added 2/12/2004)
Demonstrates perceptrons by training digits 10 perceptrons on the digits 0-9. Training occurs when the applet starts up, digit templates can then be loaded, corrupted and classified.

See also: Simple OCR Using Perceptrons.
Kohonen Self-Organizing Map Demonstrator (updated 27/12/2004)
Demonstrates a Kohonen self-organizing network using several different scenarios including mapping to a cartesian plane, an image of a cactus, a set dataset of 16 colours, or all colours.

See also: Self-Organizing Networks // Applying Kohonen Networks.
Perceptron Demonstrator (added 09/11/2004)
This applet demonstrates perceptron learning by classifying two separate sets of data. The applet also displays the equation of the line that the perceptron has derived to classify the data.

See also: Perceptrons.

Turing Machines/Finite-State Machines

Turing Machines (added 09/11/2004)
This applet demonstrates a Turing Machine that adds two unary numbers. Within the JDK, Turing Machines are derived from the finite-state machine class, and as such is also rendered beneath as a five-state FSM.

See also: Turing Machines: A Closer Look.
Search
Latest News
- Generation5 10-year Anniversary (03/09/2008)
- New Generation5 Design! (09/04/2007)
- Happy New Year 2007 (02/01/2007)
- Where has Generation5 Gone?! (04/11/2005)
- NeuroEvolving Robotic Operatives (NERO) (25/06/2005)

What's New?
- Back-propagation using the Generation5 JDK (07/04/2008)
- Hough Transforms (02/01/2008)
- Kohonen-based Image Analysis using the Generation5 JDK (11/12/2007)
- Modelling Bacterium using the JDK (19/03/2007)
- Modelling Bacterium using the JDK (19/03/2007)


All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -