Back-propagation using the Generation5 JDK
A case study using the Generation5 JDK to understand feedforward neural networks and backpropagation. | James Matthews
| 07/04/2008
|
Hough Transforms
This article looks at hough transforms, a method of detecting geometric shapes and lines within images. | James Matthews
| 02/01/2008
|
Kohonen-based Image Analysis using the Generation5 JDK
A look at how to write a Kohonen neural network to analyze and group similar photos. | James Matthews
| 11/12/2007
|
Modelling Bacterium using the JDK
Looks at how to model bacterium and the fractal formations they make using the Generation5 JDK. | James Matthews
| 19/03/2007
|
Modelling Bacterium using the JDK
Looks at how to model bacterium and the fractal formations they make using the Generation5 JDK. | James Matthews
| 19/03/2007
|
Cellular Automata Explained
A simple introduction to 1D and 2D cellular automata and their significance. | James Matthews
| 26/06/2005
|
An Introduction to Noise Processing
Discusses noise in images, and removing it using mean and median filtering. | James Matthews
| 27/12/2004
|
Applying Kohonen Networks
A look at how to apply networks, using a simple example of RGB mapping and a more complicated example using image classification. | James Matthews
| 27/12/2004
|
Simple Board Game AI
Discusses influence mapping and their application to board game AI. | James Matthews
| 27/12/2004
|
Virus Game Project
Create a program that plays a simple board game, Virus. | James Matthews
| 27/12/2004
|
Axis & Allies (PC)
A rather disappointing RTS game, with appalling artificial intelligence and some unfulfilled potential. | James Matthews
| 17/12/2004
|
Engineered Intelligence CxC 2.2
An absolutely fantastic language and editor for developing parallel applications on a wide variety of platforms. CxC is used for the popular GridWars competition. | James Matthews
| 13/12/2004
|
Generation5 JDK: The Basics
Looks and how to set up a development environment to run and compile the Generation5 JDK demonstrations and source code. | James Matthews
| 08/12/2004
|
Thresholding and Segmentation
This article discusses thresholding/segmentation and looks at how to automatically threshold an image. | James Matthews
| 05/12/2004
|
Anthony Daniels
Anthony Daniels played the world's most famous robot, C3PO, in all six Star Wars films. In this long interview, Anthony discusses what it was like playing C3PO, emotional attachments to machines and much more. | James Matthews
| 03/12/2004
|
Artificial Life through Java Examples
A look at several popular artificial life cellular automata with example Java applets. | James Matthews
| 02/12/2004
|
A Basic Introduction to Image Processing
An introductory look at colour and image representation, image resolution and histograms. | James Matthews
| 28/11/2004
|
Histogram Equalization
A simple article that discusses how to enhance an image by equalizing its histogram. | James Matthews
| 26/11/2004
|
Rogue Robotics ATR Kit
An excellent chassis, that is fun to experiment with, although it is occasionally let down by its volatile tank tread performance. | James Matthews
| 23/11/2004
|
Designing and Rendering LEGO Mindstorms Robots
This is intended to be a fun article that looks at how to design LEGO Mindstorms robots, as well as how to create high-resolution renders and construction videos. | James Matthews
| 16/11/2004
|
Legway: Building a Self-Balancing Robot with Standard Parts
Using just two standard light sensors, I managed to get a reasonable self-balancing robot up and running. This articles shows you how I did it. | James Matthews
| 10/11/2004
|
Natural Language Processing Using Linux
Looks at using basic Unix/Linux commands to perform basic textual analysis. | James Matthews
| 24/10/2004
|
Self-Organizing Nets
Introductory look at self-organizing neural networks - in particular, Kohonen networks. | James Matthews
| 24/10/2004
|
How Does Spell Checking Work?
An overview of spell checking, the noisy channel model and how spelling candidates are created. | James Matthews
| 19/10/2004
|
Visualizing JDK Classes
Visualizing your classes with the Generation5 JDK is simple yet powerful. This article discusses how to render your classes to images or applets. | James Matthews
| 03/10/2004
|
Perceptrons
Perceptrons are the simplest type of neural network. | James Matthews
| 03/10/2004
|
How To Populate a Foveola Shape Database: A User Tutorial
This article will detail how to create functional Foveola database using Japanese characters as a case study. | James Matthews
| 03/10/2004
|
Using the Generation5 JDK's VisStepApplet
VisStepApplet helps visualizing steppable classes such as cellular automata and flocking agents. | James Matthews
| 03/10/2004
|
Cambot: Creating a Mobile Machine Vision Platform
Discusses how to interface the CMUcam2 and Parallax BOE to create a vision-enabled robot. | James Matthews
| 25/09/2004
|
Cybug Scarab
A well-explained and constructed robot that makes for an excellent introduction to robotics. | James Matthews
| 25/09/2004
|
Robosapien Internals
For those of you that don't want to take apart your Robosapien, a brief look under the hood. | James Matthews
| 23/08/2004
|
Cellular Automata with the Generation5 JDK
A look at how to create cellular automata examples using the Generation5 JDK. This article uses the dictyostelium slime mold simulation as a case-study. | James Matthews
| 19/08/2004
|
Programming with the Generation5 JDK
A tutorial looking at programming with the Generation5 JDK to create cell diagrams of Conway's Life. | James Matthews
| 19/08/2004
|
Simple OCR Using Perceptrons
This articles looks at using perceptrons to recognize noisy images of the numbers 0-9. | James Matthews
| 19/08/2004
|
Robosapien
Is this robot designed by Mark Tilden, father of BEAM robotics, more than just a toy? Read the full review. | James Matthews
| 08/08/2004
|
Cómo Empezar con la Inteligencia Artificial
How to Get Started with Gaming AI (Spanish). | James Matthews
| 08/08/2004
|
CMUcam2
A CMOS camera with built-in machine vision processing capabilities. Good performance and features hampered by occasional stability issues. | James Matthews
| 07/07/2004
|
LEGO Mindstorms Robotics Invention System 2.0
The new-and-improved version of LEGO's flagship robotics product reviewed. | James Matthews
| 07/07/2004
|
Full Spectrum Warrior (XBOX)
A superb squad-based tactical war game, with immersive visuals, audio and some impressive AI to boot. | James Matthews
| 23/06/2004
|
Cepstral Text-To-Speech Voices
An excellent alternative to AT&T's NaturalVoices, with a tiny footprint, good quality and reasonable price. | James Matthews
| 23/06/2004
|
An Intelligent CCTV Monitor for Computer Laboratories
This project will attempt to create an intelligent CCTV monitor that will track individuals within a computer laboratory and perform some rudimentary behavioural analysis. | James Matthews
| 03/06/2004
|
HexAvoider Charisma RF Module
A fairly mediocre attempt but at a decent price that could be well-utilized by a resourceful programmer. | James Matthews
| 02/06/2004
|
Anime and the Acceptance of Robotics in Japan: A Symbiotic Relationship
This essay looks at a large range of factors that contribute to anime and its unique relationship with the acceptance of robotics within Japan, including post-war development and the lack of ambivalence toward technology. | James Matthews
| 02/06/2004
|
A "Hello World!" Genetic Algorithm Example
This GA simply evolves the string "Hello world!" and is meant as a beginner case-study. | James Matthews
| 27/07/2003
|
Emulating the Compurobot on the Calculator Robot II
Mimick programming the old educational robot, Compurobot, on your Calculator Robot II. | James Matthews
| 15/07/2003
|
Box Optimization Project
Use a genetic algorithm to find the optimal box dimensions for maximum volume. | James Matthews
| 14/07/2003
|
Programming the BugBrain
A introductory look at the BugBrain robot, how the servos work, and some programming ideas | James Matthews
| 11/07/2003
|
Visualizing SAPI Grammar Using XSLT
This article looks at using a XSLT stylesheet to help visualize SAPI grammar better. | James Matthews
| 04/05/2003
|
Turing Machines: A Closer Look
Looks at how Turing Machines are represented theoretically, as well as ideas for encoding. | James Matthews
| 10/04/2003
|
Decision Trees in Prolog
A look at how decision trees are represented in Prolog as well as a basic learning algorithm. | James Matthews
| 29/01/2003
|
Generation5 Tips and Tricks
The new Generation5 has many new features, this article shows you how to maximize them. | James Matthews
| 15/01/2003
|
AIBO Pictures
Various pictures taken of Generation5's AIBO, Genki, and AIBOs in Japan. | James Matthews
| 13/01/2003
|
Quick'n'easy HomeSeer Device Formatting Using XSL
By using the XML-based HomeSeer device listing and XSL, you can create your own custom listings very easily. | James Matthews
| 22/12/2002
|
SAPI 5.0 Tutorial V: Voice Control
The final installment that simply looks at controlling SAPI5 voices. | James Matthews
| 17/12/2002
|
Use WAP to Control HomeSeer!
Using WAP and ASP technologies with HomeSeer means you can access and control your HA devices with your mobile phone! | James Matthews
| 17/11/2002
|
Automatically Search Generation5
Use Internet Explorer's Quick Search facility to search Generation5 quickly. | James Matthews
| 11/11/2002
|
Connect4 Game Project
Create an AI agent that plays Connect4. | James Matthews
| 27/10/2002
|
How Does Speech Recognition Work?
A brief overview of exactly how speech recognition works, and what is done to improve it. | James Matthews
| 23/10/2002
|
How To Get Started with Artificial Intelligence
Discusses some of the most popular areas of AI to start off in. Read this essay if you don't know where to look first. | James Matthews
| 07/10/2002
|
Slime Mold Simulation - Java Applet
An Artificial Life example simulating simple slime mold cells. | James Matthews
| 15/09/2002
|
A* Explorer Tutorial (Part I)
Discusses how to create your own extension DLL for A* Explorer. | James Matthews
| 30/08/2002
|
Convolution and Correlation
Convolution is one of the most important operations in image processing. This article discusses what it is. | James Matthews
| 30/08/2002
|
A* Explorer
Learn how the A* algorithm works by creating your own maps and stepping through the A* progress. | James Matthews
| 30/08/2002
|
Neural Network Explorer
Create an run your own neural networks in a graphical environment. | James Matthews
| 24/08/2002
|
Back-propagation for the Uninitiated
BP is a difficult algorithm to grasp at the best of times…this tutorials aims to provide a simple, but effective, introduction to back-propagation. | James Matthews
| 17/08/2002
|
L-Systems Explorer
Not strictly ALife, L-Systems can create realistic looking plant structures using simple recursive rules. LSE allows you to explore such rules. | James Matthews
| 09/08/2002
|
Kohonen Demonstrator - Java Applet
A Kohonen neural network self-organizes itself across a simple cartesian plane. | James Matthews
| 09/07/2002
|
SHRDLU Project
A natural language processing project with applications in robotics and speech recognition! | James Matthews
| 01/07/2002
|
Image Analysis Explorer Pro
A fully-functional image analysis program with features like fast-fourier transforming, convolution, rank filters, and much more. | James Matthews
| 27/06/2002
|
SapiWizard: A SAPI-enabled AppWizard
Ease SAPI development with this AppWizard plugin for Microsoft Visual C++! | James Matthews
| 26/06/2002
|
Win-Prolog Tutorial I
This tutorial will introduce you to the basics of Windows programming using Win-Prolog 4100. | James Matthews
| 21/04/2002
|
Real-time Sobel Edge Detection with a QuickCam
Implements a sobel edge detector using the QuickCam SDK. | James Matthews
| 28/02/2002
|
A Simple Expert System in Prolog
A very simple example of how Prolog can quickly build simple expert systems using its logic capabilities. | James Matthews
| 05/02/2002
|
Japan: Gateway to the Future - Report
A report on the exhibition at the London Science Museum. | James Matthews
| 03/02/2002
|
An Introduction to Edge Detection: The Sobel Edge Detector
The sobel edge detector is a simple but effective edge detector. | James Matthews
| 27/01/2002
|
How To Get Started with Artificial Life
This essay merely scratches the surface of ALife by looking at flocking and virtual worlds. | James Matthews
| 25/01/2002
|
Biometrics: An Overview
What are biometrics? What sort of biometrics are available? | James Matthews
| 15/01/2002
|
IntelliMusic
Control your music using your voice! | James Matthews
| 12/01/2002
|
Perceptron 'OR' Project
Train a perceptron to calculate the OR logic gate. | James Matthews
| 16/12/2001
|
Designing an AI Library
My initial comments after looking into creating an AI library. | James Matthews
| 04/12/2001
|
Visemes: Representing Mouth Positions
SAPI has native support for visemes, this article shows how to use them. | James Matthews
| 28/10/2001
|
Mathematics for AI Beginners
If you don't have a mathematical background, this essay will cover a few notational and conceptual principles needed for AI. | James Matthews
| 21/10/2001
|
How Do Genetic Algorithms Work?
A look at the mathematics behind GAs. A decent knowledge of algebra is definitely required for this essay. | James Matthews
| 21/10/2001
|
Introduction to Flex/KSL (Part I)
Flex and KSL are designed to facilitate creating natural language expert systems. | James Matthews
| 20/09/2001
|
Introduction to HomeSeer Scripting (Part I)
Describes step-by-step how to create your first HomeSeer script. | James Matthews
| 18/09/2001
|
Minimax Trees
This essay discusses a widely used algorithm that is immediately applicable to board game AI. | James Matthews
| 23/08/2001
|
Text-to-Speech Using Windows Script
You can use SAPI's TTS very simply using Windows Scripting Host. This article shows you how! | James Matthews
| 15/07/2001
|
A Script for Controlling HomeSeer via Outlook E-mail
Visual Basic code to control HomeSeer using Outlook automation. | James Matthews
| 05/07/2001
|
eVM & Shinka: Experiments Evolving Assembly Code
A project of mine that I discontinued. Some very interesting results arose... | James Matthews
| 05/07/2001
|
Creating a Home Automation Toolbar for HomeSeer
HomeSeer provides users with a scripting interface, which means our Home Automation toolbar can be infinitely more complex. | James Matthews
| 01/07/2001
|
E-mail Control of X-10 Devices using Outlook and HomeSeer
HomeSeer lacked keyword-sensitive e-mail support, but using its scripting capabilities, it is easy to add! | James Matthews
| 20/06/2001
|
How To Get Started with Home Automation
Discusses some of the applications of home automation and how to get started. | James Matthews
| 04/06/2001
|
What is Home Automation?
For those of you that have no idea what home automation is... | James Matthews
| 04/06/2001
|
Search Tree Project
A very simple project aimed at teaching tree-searching algorithms. | James Matthews
| 24/05/2001
|
Introduction to IR with the STAMP II
Basic look at how to use infra-red with the Stamp II. | James Matthews
| 11/05/2001
|
Optical Number Recognizor (ONR)
Uses perceptrons to recognize the digits 0-9. | James Matthews
| 07/05/2001
|
SAPI 5.0 Tutorial IV: Inline Dictation and Advanced Grammar Modifiers
This tutorial looks at XML grammar modifiers. | James Matthews
| 29/04/2001
|
Creating a Home Automation Toolbar
Create a toolbar for your Win9x box that allows you to control your lights and more! | James Matthews
| 29/04/2001
|
CRipComm - RCX IR Protocal Communications Class
A C++ class that deals with the low-level IR protocol. | James Matthews
| 21/04/2001
|
Hopfield Image Recognizor (HIR)
Another simple program that uses a Hopfield associative neural network to recognize simple binary images. | James Matthews
| 21/04/2001
|
LEGO IR Protocol in C++
Accessing the IR Tower at the bit level. | James Matthews
| 20/04/2001
|
Basic Serial Communication with Stamp II
How to communicate to and from a BASIC Stamp II chip via the serial port. | James Matthews
| 20/04/2001
|
An Introduction to Constraint Satisfaction Programming
CSP studies how computers can be used to...satisfy constraints! The basic introduction looks at what CSP is as well as arc inconsistency. | James Matthews
| 19/04/2001
|
SAPI 5.0 Tutorial III: Dynamic Grammar
This tutorial details how to add grammar rules at run-time. | James Matthews
| 16/04/2001
|
Messing with Skin Recognition
The results of my attempts to implement a skin filter. | James Matthews
| 15/04/2001
|
Simple OCR Project
Use a neural network to recognize digits and characters. | James Matthews
| 14/04/2001
|
Is 'The Matrix' Possible?
A brief look at some of the technical and philosopical aspects brought up by 'The Matrix' | James Matthews
| 06/04/2001
|
BP Example: XOR Net
A step-by-step look at how the back-propagation algorithm works. Includes some C++ code to work with. | James Matthews
| 03/04/2001
|
Can I Prove I Exist?
An old philosophy essay I wrote. Uses 'The Matrix' to provide examples. | James Matthews
| 29/03/2001
|
Is the Mind Physical or Non-Physical?
Another old philosophy essay. A rather radical approach to the mind-body problem, so read with an open mind! | James Matthews
| 28/03/2001
|
PenteAI
A complete implementation of Pente, with an AI opponent. | James Matthews
| 24/03/2001
|
SAPI 5.0 Tutorial II: Text-to-Speech
A short tutorial that simply looks at adding text-to-speech to your SAPI applications. | James Matthews
| 24/03/2001
|
Accessing the LEGO Cam Video Stream for Motion Detection
How to retrieve and modify the raw video data from your QuickCam. | James Matthews
| 17/03/2001
|
Evolve Pi
Use a genetic algorithm to evolve the value of pi. | James Matthews
| 12/03/2001
|
Iterated Prisoner's Dilemma
A look at one of the most famous examples in game theory. | James Matthews
| 09/03/2001
|
How To Get Started with Robotics
Discusses LEGO, Project Kits and Programmable Kits as a means of starting with robotics. | James Matthews
| 08/03/2001
|
Programming with the LEGO Cam
How to use the QuickCam SDK to program your Vision Command camera. | James Matthews
| 20/02/2001
|
Creating Your Own Vision Command Regions
Vision Command is great, but is doesn't allow custom region creation. The article shows you how! | James Matthews
| 17/02/2001
|
Introduction to Prolog (Part III)
This installment looks at lists and recursion. | James Matthews
| 13/02/2001
|
How To Get Started with Gaming AI
A short essay looking at possible ways to start with gaming AI. | James Matthews
| 03/02/2001
|
SAPI 5.0 Tutorial I: An Introduction to SAPI
The first installment of the tutorial looks at how to set up Microsoft Visual C++, starting with XML, and programming a simple dialog-based program. | James Matthews
| 17/01/2001
|
An Introduction to Markov Models
Markov Models are used in NLP and speech recognition. | James Matthews
| 10/01/2001
|
Introduction to Prolog (Part II)
The tutorial continues. This part looks at arithmetic and operators. | James Matthews
| 04/01/2001
|
Simple Hacking with your AIBO
Want to get more out of your ERS-110/111 AIBO? Take a look at this article for more details. | James Matthews
| 23/12/2000
|
Ethical AI: Part I
A simple look at some of the ethical issues that may plague AI and robotics in the (near) future. | James Matthews
| 23/12/2000
|
PDA32 - Perceptron Demonstrator
Separates two groups of points uses a perceptron. | James Matthews
| 22/12/2000
|
An Introduction to Coevolution
A look at an interesting derivative of genetic algorithm. Pitting two populations against each other in an attempt to further improve evolution. | James Matthews
| 13/12/2000
|
Tictactoe in Forth
Forth is designed as a microcontroller language. This essay serves as a introduction to some of the language basics. | James Matthews
| 28/11/2000
|
Simple Tree Searches
A look at depth-first and breadth-first tree searches. | James Matthews
| 06/11/2000
|
Introduction to the Calculator Robot
A simple demonstration about how to use the Calculator Robot's bumpers and motors. | James Matthews
| 04/11/2000
|
Introduction to Prolog (Part I)
This article is meant to be a very simple introduction to Prolog. | James Matthews
| 24/10/2000
|
An Introduction to Machine Vision
What is required to make computers see? This essay looks at some of the problems that computer need to overcome. | James Matthews
| 11/10/2000
|
CA Creator
A very simple program designed to create small 1D cellular automata that Stephen Wolfram studied. | James Matthews
| 03/10/2000
|
Simulated Annealing Demonstrator (SAD)
A very simple program that uses simulated annealing to find the minimum of a complicated function. | James Matthews
| 18/09/2000
|
A* Pathing Finding: CPathFinder
A C++ class that implements the A* pathing algorithm. | James Matthews
| 02/09/2000
|
Using spirit.ocx in Visual C++
Discusses how to load and use the LEGO ActiveX Control in Visual C++! | James Matthews
| 24/08/2000
|
Proximity Detection Learning Using NQC
Simple article explaining an NQC program that shows how to use the light detector for proximity detection. | James Matthews
| 23/08/2000
|
An Introduction to Game AI
A very simple look at some of the techniques used in game AI including finite state machines and minimax trees. | James Matthews
| 29/06/2000
|
Simulated Annealing
A method taken from metallurgy that helps neural networks and genetic algorithms avoid local minima! | James Matthews
| 26/06/2000
|
XORGA
A simple C++ program that shows how to use a genetic algorithm to evolve neural network weights. | James Matthews
| 31/05/2000
|
Using Genetic Algorithms with Neural Networks
How to use genetic algorithms to evolve the weights in a neural network. | James Matthews
| 31/05/2000
|
Conway's Game of Life Project
Create a simple program that runs Conway's Game of Life | James Matthews
| 16/05/2000
|
Object-Orientation and Gaming
Not particularly AI, but object-orientated design can definitely help build efficient and clean AI systems. | James Matthews
| 08/05/2000
|
Applications in Music
A simple look at how AI techniques could be applied to the field of music. | James Matthews
| 08/05/2000
|
Applications in the Military
Discusses genetic algorithms and neural networks and their uses to the military applications. | James Matthews
| 08/05/2000
|
An Introduction to Neural Networks
Basic introduction to the theory of neural networks. | James Matthews
| 31/03/2000
|
A* for the Masses
A step-by-step look at the A* pathing algorithm. Accompanying code and program are provided elsewhere. | James Matthews
| 26/03/2000
|
An Introduction to Robotics
A simple overview of modern robotics. Covers some of the more famous academic and commercial robots. | James Matthews
| 10/03/2000
|
An Introduction to Artificial Life
A basic look at Alife, Cellular Automata and behavioural animation. | James Matthews
| 24/02/2000
|
Diophantine Equation Solver
Case study looking at how to use genetic algorithms to solve a diophantine equation. | James Matthews
| 14/02/2000
|
Back-Propagation: CBPNet
A simple C++ class implementing backpropagation. | James Matthews
| 24/01/2000
|
An In-Depth Look at Turing Machines
Turing Machines are the brainchild of Alan Turing, one of the founding fathers of AI. This article looks more closely at what the Turing Machine is. | James Matthews
| 17/01/2000
|
Kohonen Demonstrator
A simple dialog-based Windows application that demonstrate a Kohonen self-organizing neural network. | James Matthews
| 15/01/2000
|
The JavaScript Turing Machine
A simple implementation of a Turing Machine that performs unary addition. | James Matthews
| 06/01/2000
|
An Introduction to Fuzzy Logic
A simple, beginner-level look at fuzzy logic. | James Matthews
| 31/12/1999
|
fuzzy Class Description
'fuzzy' class breakdown. | James Matthews
| 20/12/1999
|
Conceptual Representation and Scripting
Introductory look at conceptual representation and scripting. Includes a few examples of CR program output. | James Matthews
| 13/12/1999
|
Philosophical Arguments For and Against AI
An introductory look at the philosophy of artificial intelligence. | James Matthews
| 13/12/1999
|
Associative Neural Networks
An introduction to associative neural networks (ie., Hopfield Networks). | James Matthews
| 11/12/1999
|
Does the Top-Down Approach or the Bottom-Up Approach Best Model the Human Brain?
Written for my IB extended essay. Looks at conceptual representation, COG, mentalese, Cyc and more. | James Matthews
| 11/12/1999
|