Logo

Essays

This Essays section is a collection of small essays that the Generation5 team have written. Most of for beginners to AI, but as Generation5 grows more and more will be available for other levels. The section is divided up into the following sections:

An Introduction to AI The Applications of AI
ALife Fuzzy Logic
Gaming Genetic Algorithms
Interdisciplinary Programming
Natural Language Processing Symbolic AI
Neural Networks Philosophy
Robotics 

Other areas that might be of interest to you are the resources sections, the interviews, and the reader submitted area.

This section merely serves as an introduction to the field of AI. Here you will find a brief history, an overview of the different areas and some of the problems that AI faces in computer science. Beginners should also see the next section - Applications - to get a rounded view of what AI is.

  1. Artificial Intelligence: An Introduction - S. Hsiung
      A history oriented introduction to AI. How thought and beliefs surround AI has evolved since the 1950s- what we can hope for in the future.

  2. Artificial Intelligence and the Skepticism - S.Hsiung
      Can machines really be intelligent? What is understanding? Can we create human being? Clearing out skepticisms, with an introduction to the fascinating world of AI.

  3. Aspects of Artificial Intelligence Systems - S.Hsiung
      A brief summary of topics from neural networks to artificial life systems, and how they compare to each other.

  4. A Brief History of AI - E.Kao
      An introduction of AI and a report on the major progresses of AI from 1950's-1990's.
These essays are for beginners interested in looking at the applications of AI, and the subsequent problems that AI faces. None of these essays have any theory - just some simple explanations about how some AI programs work. If you would like to look at theory, please refer to the other relevant sections. The Applications in Music essay is due for a severe re-writing soon!
  1. Applications in Music - J.Matthews.
      This essay looks at AI and music, and more specifically the guitar. The problems that arise as effects are added, as speed increases and as more and more instruments are added to a piece of music.

  2. Applications in the Military - J.Matthews.
      Did you know how closely the history of AI and the military were tied? This essay covers the military-related history and also discusses how AI can be applied to various military purposes. The essay focuses on genetic programming for radar returns and neural networks for sonar returns.

  3. Applications in Gaming - J.Matthews.
      Rewritten 8/9/99: Finite-state machines, minimax trees, genetic algorithms and neural networks all discussed. A simple overview of some of the techniques you'll find in modern games today.
Artificial Life is an interesting field that is an offshoot, yet a competely different, field of Artificial Intelligence. ALife is now getting so advanced, our definitions of 'life' will either have to include various 'virtual organisms' or be re-defined...
  1. Introduction to Artificial Life - J.Matthews.
      ALife is a fascinating area to study, this essay gives you a brief introduction into cellular automata, flocking and other areas of ALife. Watch Conway's Life run and stabilize as you read the essay!

Everyone has heard about it, never few people know what it is. Since we are not that interested in FL, don't expect to see this list progress much further than a simple introduction to the topic!

  1. An Introduction to Fuzzy Logic - J.Matthews.
      New 13/9/99: This serves as an introduction to fuzzy logic. For anyone who has had no experience with fuzzy logic - this is for you! Plus, a fuzzy C++ class and source code for you to play with!

These essays should cover various topics that are helpful programming artificial intelligence for games, or for understanding some modern techniques used in games.
  1. Object-Orientation and Game Programming - J.Matthews.
      New 6/10/99: Not strictly about AI - how to utilize various object-orientated techniques in your game. Assumes C++ knowledge. I cover class inheritance, virtual functions and messaging.

  1. An Introduction to GAs and GP - S.Hsiung and J.Matthews.
      Genetic algorithms are based on biological natural evolution - including reproduction, mutation and natural selection. They have very many applications, from math, to music and puzzles. The effectiveness that GAs (genetic algorithms) have as heuristic search systems certainly make them very interesting.

  2. An Example of Genetic Algorithms - S.Hsiung (explanation), J.Matthews (code).
      A step-by-step example of how genetic algorithms can be used to solve diophantine equations. Now with accompanying C++ code!

  3. How Do Genetic Algorithms Work? - J.Matthews.
      A rather long essay with some heavy math. Goes into detail as to how GAs work, Holland's Schema Theorem, and more.

  1. Does the Top-down or Bottom-Up Approach Best Model the Human Brain - J.Matthews.
      Huge essay (7000+ words) detailing many aspects of AI - including conceptual representation, mentalese, the CYC project and COG. This was written as my Extended Essay for the International Baccalaureate. Abstract, diagrams, bibliography all included!

Programming Artificial Intelligence can be extremely difficult - these essays are aimed at looking at various tips, techniques and useful languages.
  1. Alternative Languages - J.Matthews.
      Updated 27/11/99: Why limit yourself to C++ (or your language of preference) when there are so many other languages, all with advantages and disadvantages! This growing essay has introductions to languages that have definite AI applications. Included so far are Prolog, SmallTalk and Forth.

  2. TicTacToe in Forth - J.Matthews.
      New 17/11/99: My first Forth program fully explained. The program has AI, but it is purely defensive. Nevertheless, the pros and cons of Forth are quite well shown in just this simple program.

  3. Simple Expert System in Prolog - J.Matthews.
      New 27/11/99: A simple expert system written in Prolog that holds 19 military aircraft statistics. The program answers a relatively complex question with ease - showing the power of Prologs logic capabilities.
  1. Overview of Natural Language Processing - S.Hsiung.
      Do natural language systems such as ELIZA possess actual understanding? Or are they truly, simply "chatterboxes", programs that just play with words, syntax, and semantics. This essay provides a brief look at the Turing's test, real understanding, and the issues that face many natural language processing researchers.

  2. The Structure of Natural Language Systems - S. Hsiung
      Parsers, Syntax, and Semantics. Have you ever wondered what makes many NLP programs run? This tutorial provides a brief overview of what makes chatterboxes and other NLP programs tick.

  3. An Introduction to Conceptual Representation and Scripting - J.Matthews.
  1. Production Systems - S.Hsiung
      Most AI systems today are production systems. In fact many can argue that all computer programs are production systems. How are production systems different from the rest? What are their strengths and weaknesses? How do they work? Many task-structured programs such from puzzle solvers to chess playing programs to medical diagnosis expert systems, and to monsters in Quake2 are production systems.

  2. The Turing Machine - S. Hsiung
      Production systems continued. How they relate to turing machines, and are they truly capable of computing anything that is computable?
  1. Introduction to Neural Networks - J.Matthews.
      Rewritten 11/9/99: A completely rewritten essay on the basics of neural networking. Covers the functions, types, architecture of functioning of a network at a very simple level.

  2. Multilayer Feedforward Networks and the Backpropagation Algorithm - S. Hsiung
      A guide to creating multilayer feedforward networks and tips and details on how to implement the backpropagation algorithm in C++ with heavy theoretical discussion. Understanding of calculus is required.

  3. Perceptrons - J.Matthews
      Perceptrons - one of the simplest types of neural networks. Find out how they work, how they can be chained together, and their limitations.

  4. Back-Propagation for the Uninitiated - J.Matthews
      Another Gen5 essay of back-propagation! This essay details how back-propagation works as a learning algorithm, but leaves out the heavy math-related derivations. Sam is the math genius on the Gen5 team...:)

  5. Back-Propagation: Case Study - J.Matthews
      A tiny 3-layer network that learns the XOR binary function. This case-study looks at how to code a simple BP network in C++. All code included.

  6. Associative Neural-networks - J.Matthews
      New 17/9/99: This essay talks about Hopfield networks, the learning matrix, energy and other associative concepts. The essay includes screenshots from HIR2, so perhaps you will want to download this program too.

  7. Self-Organizing Networks - J.Matthews
      New 21/9/99: An essay on self-organizing networks, focussing on Kohonen networks. Perhaps it is a good idea to download my Kohonen Demonstrator program to help visualize the examples.
  1. Philosophical Arguments For and Against AI - J.Matthews.
      Updated 12/9/99: Philosophy often helps artificial intelligence in many fields, yet when looking at the concept of AI as a whole, often critizes the very fundamental parts of AI - questioning when intelligent machines will ever be possible. This essay is pretty much a free-flow of ideas and thoughts I have to offer!

  2. The Natural Mind: Conciousness and Self-Awareness - S. Hsiung
      Perhaps another one of the greatest challenges in AI is to create something that has knowledge of having knowledge. This idea follows Seymour Papert's: You cannot think about thinking, without, thinking about thinking about something. Let us take a look at our own minds in order to gain a better understanding of how we can create an artificial mind.
Robotics is an area of AI that increasingly interests me since I'm pretty much disillusioned by classical AI - and the top-down approach. Robotic projects, especially the ones at MIT, produce some incredibly interesting results. These essays skim the surface of some topics in robotics. Both these essays are due for a MAJOR overhaul!!
  1. Introduction to Robotics - J.Matthews.
      A simple essay detailing how AI and ALife can be applied to robotics. Also focuses on two example robots, Cog and Kesmit.

  2. Problems with Machine Vision - J.Matthews.
      The problems that are faced by machine vision systems. Edge detection, depth perception, and shadow elimination are discussed.
Here are the case study essays grouped together. They are all listed above too under their respective categories. Case studies are in-depth essays into a certain paradigm in AI, using a particular example as a step-through guide of the processes/algorithms involved. There are two parts to a case-study - the essay part, and the programming part. Each essay section has a small write-up at the end showing how to use the C++ class written, but another essay breaks down the class and explains its functioning. The programming sections are linked in their respective essays, and are also available through the Programs section.
  1. An Example of Genetic Algorithms - S.Hsiung (explanation), J.Matthews (code).
      A step-by-step example of how genetic algorithms can be used to solve diophantine equations. Now with accompanying C++ code!

  2. Back-Propagation: Case Study - J.Matthews
      A tiny 3-layer network that learns the XOR binary function. This case-study looks at how to code a simple BP network in C++. All code included.