Lambda the Ultimate

inactiveTopic Ease - Evolutionary Algorithms Scripting Environment
started 4/29/2002; 4:13:44 AM - last post 4/30/2002; 10:32:08 AM
Ehud Lamm - Ease - Evolutionary Algorithms Scripting Environment  blueArrow
4/29/2002; 4:13:44 AM (reads: 787, responses: 7)
Ease - Evolutionary Algorithms Scripting Environment
Ease - Evolutionary Algorithms Scripting Evironment - is an extension to the Tcl scripting language, providing commands to create, modify, and evaluate populations of individuals represented by real number vectors and/or bit strings.

Looks cool.

I was amazed to learn awhile back that several LtU readers are like me biology freaks... Enjoy!


Posted to general by Ehud Lamm on 4/29/02; 4:14:38 AM

rev - Re: Ease - Evolutionary Algorithms Scripting Environment  blueArrow
4/29/2002; 7:37:21 AM (reads: 810, responses: 1)
Biology freaks? Cool! Persuing an undergrad bio degree, and lucky enough to use Squeak for my computational ecology research. :) Hopefully will create something like this or MyBeasties in Squeak- so I can play around with EA anywhere, in Dynapad running on my iPAQ. :)

Ehud Lamm - Re: Ease - Evolutionary Algorithms Scripting Environment  blueArrow
4/29/2002; 8:04:19 AM (reads: 848, responses: 0)
In some respects Squeak is an ideal environment for this sort of thing. What you really want is concurrent objects (aka agents).

I'd love to hear more about your computational ecology research.

Michael Christopher Vanier - Re: Ease - Evolutionary Algorithms Scripting Environment  blueArrow
4/29/2002; 6:14:20 PM (reads: 780, responses: 1)
I guess I'm also a "biology freak" (B.Sc. in cellular/molecular biology, M.Sc. in neuroscience, Ph.D. in computational neuroscience). Oddly, it was biology that led me to CS. My Ph.D. involved large-scale simulations of nervous systems, and I got so interested in the software engineering aspects of the problem that I got totally hooked. From there, it was a short step to programming languages and then to theoretical CS ;-) Biology provides loads of interesting problems and computational analogies for computer programmers/scientists. As for the link, it sounds cool but genetic algorithm code is pretty trivial to write in any language (I have my python students do it after just a few weeks of training).

Ehud Lamm - Re: Ease - Evolutionary Algorithms Scripting Environment  blueArrow
4/30/2002; 12:28:23 AM (reads: 808, responses: 0)
It is, of course, trivial to implement GA. The interesting thing is playing with the various selection strategies. The elegant way is to build an application framework, which allows specifying a specific GA as an instance of the general GA skeleton, parameterized by the popluation size, fitness function, selection strategy and mutation rate. [This assumes the classic Holland genome representation. If you want to make this more general, you need to play a bit with the parameters.]

Are you using Python for teaching about evolutionary computing? I was thinking about using Python for this purpose. Do you have a site with example code, assignments and stuff? Or are simply using GA as an exercise while teaching Python programming?

Michael Christopher Vanier - Re: Ease - Evolutionary Algorithms Scripting Environment  blueArrow
4/30/2002; 2:55:11 AM (reads: 756, responses: 1)
Parameterizing by the population size, mutation rate and fitness function is trivial (the latter assuming you have a language, like python, that supports first-class functions). Parameterizing by the selection strategy is nontrivial; there are lots of ways to do this, as well as lots of ways to implement crossovers. There are also games you can play with bit representations (gray codes or not), and you don't even have to use this (as you know). GAs are interesting partly because there are a near-infinite number of variations on the theme.

The GA code represents a single assignment in a course I teach. It's located here:

http://www.cs.caltech.edu/courses/cs11/material/python/week7/week7.html

I'm not particularly crazy about this assignment. I mainly used it to demonstrate the use of first-class functions in an interesting setting. But I think python is an excellent vehicle for exploring GAs.

Ehud Lamm - Re: Ease - Evolutionary Algorithms Scripting Environment  blueArrow
4/30/2002; 9:50:50 AM (reads: 792, responses: 0)
I don't know why you don't like it. It seems quite cool.

As opposed to GA, GP (that's genetic programming, guys!) is based on representing organsims as executable code. Then the choice of programming language becomes more fundamental, and indeed most work that I am aware of uses Lisp-like languages.

rev - Re: Ease - Evolutionary Algorithms Scripting Environment  blueArrow
4/30/2002; 10:32:08 AM (reads: 760, responses: 0)
Doing GP somewhere other than Lisp just ain't the same. I've looked code written in other languages, and it often ends up looking like a very simple Lisp interpreter with no s-exp parser. The parse-tree-ness of Lisp is what makes such projects great to do in Lisp. But I'm sure you've figured that out. :P

The research I do isn't as cool as agent-based simulations. Someday, though, I hope to be doing that. After an MS or PhD. :P My advisor is doing some modeling of beaver meadows, but in C++. I created an app to visualize and analyze ecological data... Lame screenshot: <http://homepage.mac.com/revaaron/dsbrowser.jpg>. Those graphs are kind of interesting if you know how to read them, they show that over time in a fertilized plot in a beaver meadow, plant species dominance arises. Gotta love this stuff.