This coming Spring I will teach artificial intelligence (AI) to the last year bachelor students. AI includes things like path finding (Viterbi, Astar, Djikstra), steering behaviors (flocking, pursuing, avoiding, collision, etc.), decision making (finite state machines, decision trees, Markov chains), and maybe a little more advanced stuff (rule learning, pattern recognition, natural language processing, neural networks, genetic algorithms). As much as possible, I want to avoid wasting energy and motivation with hard core C++, and the expense and limited licenses we have of MATLAB. What I need is a language that is simple yet has a high payout, and provides a cross-platform environment for quick and dirty cowboy coding without compiler linking errors. So today I experimented with Processing as a possible platform upon which to motivate the various topics of AI. As a bonus, I see that several libraries have already been developed in these areas:
- Path finding and a buggy genetic algorithm
- Simple language processing
- Simple physics
- And lots and lots of homespun fun stuff here.
Below is a little something I created by adapting code from a tutorial to create a random walk. (Click on it to start the ball at a new position.) After only a few hours, I have found Processing to be quick and easy, with a syntax not too far from C++. This may be exactly what I need for half of the class.
This browser does not have a Java Plug-in.
Get the latest Java Plug-in here.
Source code: randomwalkdraw
Built with Processing