
Essays
The Generation5 team have written a large number of essays on a variety of topics. The essay range from theory-based essays, to the philosophical and on topics from genetic algorithms to robotics, neural networks to NLP. The difficult ranges from simple introductions to topics to full-blown mathematical discussions. For more thought-provoking essays, see the TechFiles.
Introduction to AI
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.
- 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.
- 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.
- 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.
- A Brief History of AI - E.Kao
An introduction to AI and a report on the major progresses of AI from 1950's-1990's. This essay details AI from its very beginnings, the over-zealous scientists, its use within the Gulf War and new and future applications of AI.
Applications of AI
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.
- Applications in Music - J.Matthews (Updated 08/05/00).
Brief essay on how Artificial Intelligence can be applied to music. Covers composition, transcription and guitars tablature.
- Applications in the Military - J.Matthews (Updated 08/05/00).
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.
- Applications in Gaming - J.Matthews (Updated 29/06/00).
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.
Articial Life
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...
- Introduction to Artificial Life - J.Matthews (Updated 24/02/00).
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!
Fuzzy Logic
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!
- An Introduction to Fuzzy Logic - J.Matthews (13/12/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!
Gaming and Game Theory
These essays should cover various topics that are helpful programming artificial intelligence for games, or for understanding some modern techniques used in games. It will also cover topics related to game theory (very different from game AI!).
- Object-Orientation and Game Programming - J.Matthews (Updated 08/05/00).
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.
- Simple Board Game AI - J.Matthews (16/01/00).
Some simple techniques for beginners to help you create an AI opponent for a board game. I advise you download PenteAI too at some point to help you understand the essay more.
- Simple Tree Searches - J.Matthews (6/11/00).
New 6/11/00: Details depth-first and breadth-first tree searching. Beginner level essay with an algorithm step-through.
- Minimax Trees - J.Matthews (23/8/00).
A relatively simple algorithm that allows your board game AI agents to look ahead. Note that pruning methods are not covered in this essay.
- A* For the Masses - J.Matthews (26/03/00).
Case Study: Tries to explain the A* algorithm, with a stepped example using a maze. This case study is accompanied by a A* class breakdown and the A* Demonstrator Win95 program.
- Iterated Prisoners' Dilemma - J.Matthews (6/01/01).
New: Game theory essay. An overview of the IPD, spatial IPD, strategies and why the IPD is useful within Artificial Intelligence and Artificial Life.
Genetic Algorithms and Genetic Programming
- An Introduction to GAs and GP - S.Hsiung and J.Matthews (Updated 30/03/00).
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.
- An Example of Genetic Algorithms - S.Hsiung (explanation), J.Matthews (code) (Updated 11/12/99).
A step-by-step example of how genetic algorithms can be used to solve diophantine equations. Now with accompanying C++ code!
- How Do Genetic Algorithms Work? - J.Matthews (Updated 08/05/00).
A rather long essay with some heavy math. Goes into detail as to how GAs work, Holland's Schema Theorem, and more.
- An Introduction to Coevolution - J.Matthews (13/12/00).
New 13/12/00: A simple look at the idea of coevolution. This essay covers the underlying technique, and looks and Daniel Hillis' sorting algorithm genetic algorithm that utilized coevolution.
Interdisciplinary
- Does the Top-down or Bottom-Up Approach Best Model the Human Brain - J.Matthews (Updated 11/12/99).
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!
- Original Generation5 Tour - S.Hsiung and E.Kao.
I reformatted and pieced together the good part of the original Generation5 tour, it has been reduced from 13 pages to 5, with an introduction, the history, professors, GA, and philosophy. Some of the material is not original - as in it can be found on other pages listed here. I removed all of my material, since I had rewritten every single one of the essays they were based on!
- An Introduction to Constraint Satisfaction Programming - J.Matthews.
An introduction to CSP. Details a few CSP example problems and the arc inconsistency algorithm, which helps solve CSP problems algorithmically.
Programming
Programming Artificial Intelligence can be extremely difficult - these essays are aimed at looking at various tips, techniques and useful languages.
- Alternative Languages - J.Matthews (Updated 16/01/00).
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.
Natural Language Processing
- 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.
- 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.
- An Introduction to Conceptual Representation and Scripting - J.Matthews (Updated 13/12/99).
- An Introduction to Markov Models - J.Matthews (10/1/01).
New: This essay details the relatively simple concept of Markov Modelling along with the applications they have in speech recognition and natural language processing.
Symbolic Artificial Intelligence
- 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.
- 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?
- An In-depth Look at Turing Machine - J.Matthews (17/01/00).
While Turing Machines can compute anything computable, can anything be reverted to a computable process? Can these processes be represented? This essay looks at a few of these questions.
Neural Networks
- Introduction to Neural Networks - J.Matthews (Updated 30/03/00).
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.
- 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.
- Perceptrons - J.Matthews (Updated 13/12/99).
Perceptrons - one of the simplest types of neural networks. Find out how they work, how they can be chained together, and their limitations.
- Back-Propagation for the Uninitiated - J.Matthews (Updated 13/12/99).
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.
- Back-Propagation: Case Study - J.Matthews (Updated 01/08/00).
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.
- Associative Neural-networks - J.Matthews (Updated 11/12/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.
- Self-Organizing Networks - J.Matthews (Updated 11/12/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.
- Using Genetic Algorithms with Neural Networks - J.Matthews (31/05/00).
This essay looks at using GAs to evolve parameters of neural networks. The focus is on evolving weights for the XOR network. A working example program can be found here.
- Simulated Annealing - J.Matthews (26/06/00).
A short essay on an alternative training technique - simulated annealing. While the essay doesn't go into incredible depth, this essay combined with the code supplied with the Simulated Annealing Demonstrator should be enough to send people in the right direction.
Philosophy
- Philosophical Arguments For and Against AI - J.Matthews (Updated 13/12/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!
- 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
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.
- Introduction to Robotics - J.Matthews (Updated 10/03/00).
This essay details robotics, what they are, Cog, Kismet and commericial and leisure robots currently in use.
- Introduction to Machine Vision - J.Matthews (Updated 11/10/00).
An introduction to machine vision. Covers edge detection and prototyping. You might want to download and play with ED256.
Case Studies
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.
- 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!
- 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.
- A* For the Masses - J.Matthews.
Case Study: Tries to explain the A* algorithm, with a stepped example using a maze. This case study is accompanied by a A* class breakdown and the A* Demonstrator Win95 program.
All content copyright © 1998-2002, Generation5
|