Quantcast
Channel: Michael Vollmer » functional programming
Viewing all articles
Browse latest Browse all 5

Evolving computer programs

$
0
0

An area I’ve been interested in lately is genetic programming. It involves evolving computer programs: not computer programs that evolve data, but computer programs that themselves evolve over time.

Using the concepts of evolution in computer programming is fascinating to me. I like that these systems in nature can be adapted to computer science, and are actually very useful and effective in solving problems. Whether or not you believe in evolution, it pretty clearly works in computers.

For the artificial intelligence class I just took I implemented a simple parallel genetic algorithm in Racket Scheme, and since then I’ve been working on adapting the same ideas to evolving lists of Lisp code rather than bit strings. Along the way I’ve been learning Clojure, a functional programming language and dialect of Lisp that targets the Java Virthal Machine.

I’ve pushed what I have so far to GitHub, and I’ve written out a significant amount of documentation. If you’re familiar with Lisp and the general ideas of genetic programming the documentation/annotated source should be pretty readable.


Viewing all articles
Browse latest Browse all 5

Trending Articles