Does a Neural Network Weigh Up?
Many moons ago when I was writing commercial wargames, AI for the computer player was always a difficult thing to do. Mine were coded solutions, eg the AI had to get units across a bridge so it worked out routes, looked out for enemies and sent the troops across as fast as possible. It's much like hard coding data and in my defense I was young and inexperienced!
Doing good AI in 40KB of ram was not easy. One approach is using neural nets which is software modeled on how the brain works. Neural nets use weightings and can be taught to recognize complex patterns.
Our brains are made up of bunches of neurons connected to axons (and through dendrites to other neurons) in a number of different different ways. The neurons provide weighted inputs which are summed up. If the total exceeds a certain threshold an output is sent. That's a basic look at it but in reality it's more complicated and there are hundreds of millions on neurons etc involved. That's real intelligence! A neural network attempts to model this in much smaller quantities. It's a complex field- which if you are interested in finding out more I suggest you start on Wikipedia.
There is a lot of neural net software about. One that I particularly like is FANN (Fast Artificial Neural Network) in C and is particularly fast. That's an important factor if you model a lot of neurons. It is cross-platform, well documented, open source and has bindings for many compiled and scripting languages including C++ and C#.
- Link to C Code Library


Comments
No comments yet. Leave a Comment