Mathematica is a computer algebra and programming system developed by Wolfram Research, Inc. In this tutorial we will make extensive use of Mathematica´s programming language as well as the capabilities of the latest release of Mathematica 3.0 to set up hypertext documents. The notebooks presented in this tutorial have been written with Mathematica 3.0, so it is essential to use this latest version of either Mathematica or MathReader to get the most out of it.
However, all the programs explained and used to generate the various evolution examples will run under Mathematica 2.2 versions as well. Actually, all the programs have been written some time before the first release of Mathematica 3.0.
Why we use Mathematica
There are several reasons why we have chosen the Mathematica programming environment for demonstrating evolutionary algorithm techniques:
- Mathematica provides a sophisticated programming language based on symbolic expressions, and is thus quite similar to LISP or Scheme; however, Mathematica program syntax is much closer to mathematical writing, especially with regard to formula notation.
- Access to Mathematica´s huge library of kernel functions is provided by a frontend with interactive mathematical/text documents, referred to as notebooks. A notebook is quite similar to any kind of nicely formatted text document, as know from TEX, FrameMaker, MS-Word, and other text processing systems. A notebook usually contains titles, sections, subsections, justified text in different fonts and sizes, mathematical formulas, images and even movies.
- However, Mathematica notebooks offer a lot more than state-of-the-art document formatting. You also include your Mathematica program code in these notebooks, and, of course, the results of your calculations also appear in these documents. Thus notebooks contain a large set of formatted items that make your life as a programmer much easier:
- formatted explanatory text (titles, headings, sections, subsections, paragraphs, etc.),
- program code,
- formatted symbolic input and output (even better than TEX (?)),
- graphics, animations, movies, and
- hyperlinks (to other notebooks or websites).
With all of these features Mathematica provides a comfortable and easy to use environment for interactive programming, experimenting, and lively illustration of diverse algorithmic concepts, including evolutionary algorithms.
Where to get MathReader
Even if you do not have access to Mathematica up to now you can read all the notebooks with a little helper application called MathReader. This viewer for Mathematica notebooks is either available from Wolfram Research or you may download your personal copy directly from the following web pages:
- MathReader for the Macintosh:
- MathReader for Windows95/NT:
Check out the Wolfram Research pages for further information about MathReader.
Former versions of MathReader for reading Mathematica 2.x notebooks are still available:
- MathReader (Version 2.x) for Macintosh,
- MathReader (Version 2.x) for Windows,
- MathReader (Version 2.x) for X Window System.
Many of the tutorial notebooks have in fact been developed under Mathematica Version 2.2. Most of the notebook material is therefore also available in the old format (on request by email to Christian Jacob).
Extending your web browser for Mathematica notebooks
All of the Mathematica notebooks to be found on the tutorial pages have the extension *.nb. For notebooks of version 2.x we use extension *.ma.
You should have a look at your web browser´s manual pages to ensure that for *.nb files either Mathematica or MathReader is started.
Netscape
To prepare your Netscape browser for reading Mathematica notebooks properly you should
- include Mathematica or MathReader in the list of helper applications for Macintosh and Windows, or
- edit your mime.types and mailcaps files on UNIX operating systems.
Internet Explorer
??
[ About tutorial | Evolvica TOC | Christian Jacob´s homepage ]
Questions or comments about this site? Email me at jacob@cpsc.ucalgary.ca.