cgp

[doc] [install]

[Note: site and all project stuffs are still being updated, sneaking a couple minutes now and then off my job. This notice will be deleted when everything is ready. i'm still figuring out how sourceforge works]


What is cgp?
cgp is a Genetic Programming (GP) implementation that is specifically tailored to "discover" circuits given a relatively high level description from the user about the characteristics of the desired circuit. The first and the authority on this (GP + automatic circuit synthesis) is undoubtedly Koza and the gang with their very impressive paper Automated Synthesis of Analog Electrical Circuits by Means of Genetic Programming (IEEE Transactions on Evolutionary Computation, vol. 1, no. 2, pp. 109-128, July 1997).


What is cgp like right now?
As of now cgp can only evolve passive analog filters. <yuck> I heard you asshole =). I hope I hadn't turned you off yet, but as my teacher always say: make the simple things work first (you believe that, don't you?).

It is currently implemented in lisp (cmucl to be specific), and I don't have any plans to make it into more mainstream OO. You see, I'm trying to hit two birds with one stone here. Besides, I think it really made my life (at least on the design part) easier.

For circuit evaluation, I used a hacked version of ngspice that acts like a daemon listening on two hard-coded fifo's. Special thanks to memcheckdeluxe for helping me to clean up lots of stupid leaks on this. My hacks are still messed up all over the place so I think I'd have to clean up a bit. This part needs a lot of work as it could account up to 90% of run time.


What is cgp supposed to be eventually?
Eventually cgp will be a pluggable framework for evolving any kind of circuits. The difference between this and other existing popular GP frameworks is that their target audience are other GP researchers solving a wide variety of projects. We want a usable system for circuit designers. For example we would distribute a main program, and then a designer wants to evolve a super complicated ASIC and he downloads modules and looks up on a cookbook how to plug those modules.


marm
Last modified: Mon Nov 24 10:41:10 Taipei Standard Time 2003
SourceForge.net Logo