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

James Matthews

E-mail: james dot matthews @ the-company-that-makes-windows-vista! dot com
Website: http://www.generation5.org/

Member since: 01 September 1998
Profession: Other - Generation5 Webmaster
Country: United Kingdom

Extended Profile: Generation5's webmaster. James Matthews set up Generation5 with Samuel Hsiung and Edward Kao back in 1998, but continued development and maintenance himself from 1999 onwards. His personal website can be found here.

Articles by this Member

ArticleAuthor(s)Date
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

160 result(s) returned.
Search
Latest News
- The Latest (03/04/2012)
- 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)

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 -