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

Mirek's Cellebration v3.0

Very rarely does a freeware program possess all the qualities of a commercial application - but Mirek's Cellebration (MCell) breaks that. MCell is one of the most professional freeware applications I have ever seen - let alone in the field of Artificial Intelligence! MCell is a cellular automata creator, allowing the user to look at the endless examples, or to create rules and worlds for themselves.

When you start up MCell, you are immediately compelled to try some of the examples. The "Must-see" examples really show of both the power of MCell, and indeed the power of Cellular Automata. Screenshots would not do the examples justice, since you must see them in motion.

Features

MCell has a huge number of features, ranging from extensive rule creation, to world editing tools, to statistical tools to gather information on the CAs. One neat feature I like is the "Open from Bitmap" which will allow you to open any standard bitmap and use it as a basis for your world. The editing features are brilliant, acting much like a image editing program - with selections, paint buckets, and rotation and mirroring tools. The board is completely customizable, from the board/grid colours to the cell shapes, to the different colour of various state cells. Below is a screenshot of the colour customization screen:

[MCell Colour Screen]

Rules are completely customizable too, allowing you to select from a huge range of presets. The rules are divided into 12 main groups expand into 10-14 rules in each category. The categories are as follows: Life, Generations, Weighted Life, Vote for Life, Rules Table, Cyclic CA, 1-D totalistic, 1-D binary, Neumann binary, Larger Than Life, User DLL and Special Rules. You will notice that one of these sub-categories allows programming users to create their own add-on DLLs for MCell - more on this later.

Once you have progressed from creating the world and rules for your CA, you will want to analyze it to look for interesting behaviour, or simple look at statistical analysis. MCell provides some great functions to do this with - an analysis window that allows you to look at the percentages of each state, a transitions function that will allow you to probe a cell and perform up to 9 different 'experiments' at the same time (for example, checking to see how many times it goes from state X to state Y, or from a dead state to any state), and finally a correlation log that allows you specify two points and perform various experiments concerning the relation they have to each other. Below is a screenshot of the transition dialog:

On top of this, you can create a population log that saves statistics on the states as the generations increase. This text file is easily imported into applications like Microsoft Excel (using semi-colons as the data delimiter). Now, if MCell had extensive Undo features, advanced view manipulation and an array of options - it'd be great. And it does have all these things! Undo can take a snapshot of the world as specified times (either in terms of seconds, or generations!), or you can simply specify when to add a snapshot to the undo stack. The stack can be viewed and can be undone to a certain point instantly.

View manipulation comes in the standard form of zooming and panning. A good feature is the auto-fit feature that will fit the world on to your screen so that you can see the entire world to the maximum zoom possible. There is an additional option to auto-fit every generation, so if you have a quick computer you'll never lose track of important gliders or ships! This brings me on to another point of MCell - its speed. I'm quickly realizing how old and humble my once-great P-Pro 200Mhz is, with all modern games putting it to shame. Yet, MCell despite its complexity runs like a dream. For huge worlds with many states, the program is noticeably slow - but for any useful peak into CAs, the program runs smoothly and efficiently.

Advanced Stuff

MCell doesn't stop there. Mirek's has programmed the necessary interfaces to allow MCell to be further improved by 3rd party users either via DLLs or by automation! DLLs allow the user to control every aspect of the cell rule process (for example, Langton's famous CA, pictured below) and automation allows any ActiveX environment to control MCell - for example, I just created a Word document that fired up MCell and ran a pattern when a button was pressed. All these features, along with examples and source code are all provided with MCell when you download it.

Conclusion - Any bad points?!

In conclusion, MCell is simply the best piece of freeware Artificial Intelligence software I've seen. It oozes all the qualities of a professional program, with amazing features, options galore, an intuitive and easy-to-use GUI. The speed and functionality of the program make it second-to-none in its genre. There are no major bad points to the program - I could get very picky and talk about how the program has to do a partial redraw after a tooltip has disappeared, or how the options dialog is a little slow to appear, or that the cursors used are a little unsightly. These are irrelevant though, since they're all GUI related. There is not a single additional feature I would ask for out of necessity.

No cover available 9.0
Price:Free!
Liked:Amazing features, functionality, speed and ease.
Disliked:Nothing major.
Website:http://www.mirwoj.opus.chelm.pl/index.html

Submitted: 01/03/2000

 Article Toolbar
Print
BibTeX entry

Search

Latest News
- New Generation5 Design! (09/04/2007)
- Happy New Year 2007 (02/01/2007)
- Where has Generation5 Gone?! (04/11/2005)
- NeuroEvolving Robotic Operatives (NERO) (25/06/2005)
- Senior Next-Gen Console Programmer at Infinity Ward (25/06/2005)

What's New?
- An Introduction to Hough Transforms (06/01/2008)
- Kohonen-based Image Analysis using the Generation5 JDK (12/12/2007)
- Back-propagation for the Uninitiated (10/04/2007)
- Perceptrons (09/04/2007)
- Modelling Bacteria using the Generation5 JDK (01/04/2007)


All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -