Artificial Intelligence

Thesis Submitted!

I meant to post this here a while back, but kinda forgot to. Anyway, on Monday last week I finally submitted my thesis. The title is “The Impact of Representation on the Evolution of Genetic Algorithms.” Now I just need to sit back and wait until the examiners get it, mark it, and probably send me corrections to make prior to it being accepted. I’m going to try for the August graduation, but that is perhaps a bit too hopeful unless the marking happens faster than I expect it will.

Unfortunately, the plans for work I had lined up in the Netherlands didn’t pan out due to the immigration system there making it very difficult for a relatively small company to get a work permit for a foreign employee. As such, I’m still looking for work, although I have enough here to tide me over for as long as I need it. That said, I’m definitely looking to get out of Dunedin, and ideally New Zealand, in the relatively short term. So if you have any ideas, let me know!

For now, I have my regular work, which I’m doing fairly short hours on right now, and a contract job for Naxos (again) upgrading their version of eMusic/J to match their new requirements. It’s good work, and the improvements will flow back into the normal version. It’ll be nice to finally get another release of that out the door, it’s been on something of a hiatus while I finished the thesis.

Artificial Intelligence
eMusic/J

Comments (0)

Permalink

Evolutionary art

Found on Digg:
“Once enough votes have been collected, the genetic algorithm gets to work. It picks the good images and breeds them using either mutation or crossing-over. Since the images’ genes are just trees, it is simple to cross-over two of them and produce new ones.”

It’s a nice idea, similar-but-different to what I’m planning on trying to implement one day. I’m skeptical about how well it’ll work when faced with multiple people having disparate ideas of what looks good, along with people trying to game the system a bit. But for something fun, it’s interesting. They’ve also implemented it, which is something I haven’t gotten around to yet :)
the site (more description) | digg story

Artificial Intelligence

Comments (0)

Permalink

Coding with a LISP

A few years ago, I learnt LISP at university. Just for a semester, write a poetry generator, things like that. All pretty simple. I didn’t get into it much at the time, beyond what I had to, but I do remember thinking that it looked like quite a powerful and fun language.

A while ago, someone on Slashdot mentioned LISP and referred to a book that was online for learning it. So I checked it out, and it seems to be pretty good. I’m about half way through it. It has the large amount of basic instruction in the language, which is always necessary. However, after a while of that, it has a chapter on ‘Practical’ stuff, which involves implementing actual code, which is a good change, and a nice place to read chunks of code, put them into the interpreter, and play with them a bit.

Normally when reading books on programming languages, I get frustrated when they start explaining “This is a variable. You can store values in them. You can also change them. …”, as it’s a concept I’ve seen over and over, and so is quite boring. This isn’t the case here, I don’t know if it’s because LISP is different enough from the languages I usually use that it seems new, or the book just manages to avoid these kinds of problems.

If I see it lying around (or maybe even if I don’t, and I just get paid enough one day), I think I might pick up a dead tree copy.

Oh, and the book itself? Practical Common Lisp.

Artificial Intelligence
Books
Software

Comments (0)

Permalink

Neural Network Learning Tastes

A little project I’m working on at the moment: creating a neural network that will (maybe) learn the aesthetic tastes of a person.

There are two parts to this, the first creates tree-like shapes (what Richard Dawkins calls biomorphs in his book The Blind Watchmaker). Here is an online demo of these biomorphs. My version is going to allow for significantly more complex biomorphs.

When interacting with the program, the user selects the biomorphs that they like, and that is used as the progenitor of the next batch. Mutation is then applied to these, and the set of modified versions is presented to the user to select the next ‘best’ one.

The other part of this program is the neural network. It will be trained on the user’s input and selections, and after a while it will be allowed to run on its own, selecting what it thinks is the best based on its training. After running for a while (several dozen generations or so), the results will be displayed.

The point of this (aside from the fun of implementing it) is to see how well the neural network can pick up the ’styles’ that the user was going for, and thus to see if it can end up knowing what people like.

Here are the current details on the design of this. These designs are getting updated over time. Comments/suggestions/whatever are welcome.

Artificial Intelligence
Comp Sci
Science

Comments (4)

Permalink