evolutionary design

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
A while back, in a scientific american article which I don't remember the issue #, there was an article about evolutionary, or "life" algorithms. The way they worked was you started with a large number of possible solutions (that was your first generation), and you applied some testing (that was your survival of the fittest) and retained the ones that did well. Then there was a random factor introduced (genetic mutation) and the whole thing repeated for x number of generations. Of course, the whole thing was done in a simulation in a computer.

Well all of that is good and fine, but what was super interesting to me is that as a test, the application was electronic circuit design. And I think they let it run for a while addressing different problems like bandpass filters and such. And the process came out with some famous designs. I remember the ladder circuit. And some truly amazing ones that the scientists patented.

One of the circuits that did better at its task that any designs we currently have, was truly bizarre. It had paths that ended no-where, very similar to our bodies that have useless parts, remnant of the genetic mutations.

I thought it would be great if it could be applied to some of our problems, ie. amps, dacs, preamps, etc.. You could specify your ultimate goal, for example the least noise, or the least number of parts for the best sound, or whatever.

Just wanted to see if anyone else saw the article.
 
I didn't see the article but it sounds interesting. We could do a non-simulated version of the same idea by putting silicon, oxygen, aluminum, a few dopant atoms... into a vessel and hit the whole mess with a spark. With a little patience I'm sure we'll find that a precursor to an LM3875 will appear. Maybe we'd need to provide a speaker load so that the fitness of the mutants can be judged while evolution takes place. :)

More seriously, can you narrow down when the article came out or who the authors were? I'd like to track it down.
 
Ok, I tracked it down. You need a digital subscription to continue, or you can order a back issue. I highly recommend it. I was also thinking maybe we can contact the people on the article.

Here's what I found online:



February 2003 issue

INFORMATION TECHNOLOGY




Evolving Inventions
Computer programs that function via Darwinian evolution are creating inventions that are novel and useful enough to be patented
By John R. Koza, Martin A. Keane and Matthew J. Streeter

Evolution is an immensely powerful creative process. From the intricate biochemistry of individual cells to the elaborate structure of the human brain, it has produced wonders of unimaginable complexity. Evolution achieves these feats with a few simple processes--mutation, sexual recombination and natural selection--which it iterates for many generations. Now computer programmers are harnessing software versions of these same processes to achieve machine intelligence. Called genetic programming, this technique has designed computer programs and electronic circuits that perform specified functions.

In the field of electronics, genetic programming has duplicated 15 previously patented inventions, including several that were hailed as seminal in their respective fields when they were first announced. Six of these 15 existing inventions were patented after January 2000 by major research institutions, which indicates that they represent current frontiers of research in domains of scientific and practical importance. Some of the automatically produced inventions infringe squarely on the exact claims of the previously patented inventions. Others represent new inventions by duplicating the functionality of the earlier device in a novel way. One of these inventions is a clear improvement over its predecessor. Genetic programming has also classified protein sequences and produced human-competitive results in a variety of areas, such as the design of antennas, mathematical algorithms and general-purpose controllers. We have recently filed for a patent for a genetically evolved general-purpose controller that is superior to mathematically derived controllers commonly used in industry. ...continued at Scientific American Digital
 
Jamh said:
A while back, in a scientific american article which I don't remember the issue #, there was an article about evolutionary, or "life" algorithms. The way they worked was you started with a large number of possible solutions (that was your first generation), and you applied some testing (that was your survival of the fittest) and retained the ones that did well. Then there was a random factor introduced (genetic mutation) and the whole thing repeated for x number of generations. Of course, the whole thing was done in a simulation in a computer.



I didn't see that article but it reminds me of one I read about five or six years ago. The idea was exactly the same but applied to picking stocks. The program started with something like 1000 "rules" some of which made sense and some of which were sort of random like "tech stocks increase the third Tuesday after a full moon". The program monitored its stock values and kept "rules" that worked regardless of how goofy and discarded rules that didn't work regardless of how well regarded they are.

It was required to discard something like 10% of its rules each week (even if they all were working, in that case it had to discard the least effective rules) and to always maintain a stock of at least 1000 (or whatever) rules, creating new ones via "mutation".

After six months it was as accurate as trained human analysts and after a year it was outperforming virtually everyone. At that point the programmers said they no longer knew exactly what it was doing.

Not being an electronics expert I hadn't thought of applying that type of thing to circuit design. It sounds incredibly cool, especially if it could be directed, as you suggest to solve a specific problem. I'm going to start searching for that article!
 
Here's the email I sent to the main writer, Dr. Koza. Maybe we'll get lucky and have him reply.



Hi,

I am not sending this email as an Agilent employee, but rather as a member of the Diyaudio community (non-profit and all). Our goal is design of circuits for amplifier, DACs, etc, with the goal of highest reproduction of music. We build our everything from scratch, including PCBs, chips, whatever, and it's an artisanal work.

Anycase, I was mentioning in the forum the article you wrote in sciam, and we would love and be honored to have you comment. Areas of interest might be the usefulness of your techniques in PCB design, and how we could go about starting to experiment with them. Our membership is worldwide and on average a threads gets hundreds of thousands of hits.

Here's the link to the main site:
http://www.diyaudio.com/forums

And here's the link to the discussion I just started:
http://www.diyaudio.com/forums/showthread.php?s=&postid=402976#post402976

Thanks,
Jam
 
Member
Joined 2004
Paid Member
Evolution in PCB layout

The process sounds very interesting for circuit design. You mentioned PCB layout. I believe most autorouters actually work that way already, with "rip up and retry" algorythms. Most autorouters are useless for analog design. I believe Mentor has one tuned for analog, and its hideously expensive. Cheaper to hire a really skilled specialist.
The basic concept needs good rules and effective tests, all of which are the hard part.
I hope we hear from the author.
-Demian
 
I remember reading this article a while back as well..

It was very interesting and the circuit design applications seemed the best use for it.

From a few weeks (or more, cant remember) of running the program, designs were created that took many years for humans to develop. Who knows what it could find after a year of running?

Im surprised I havent heard more about it.

Maybe it requires too much CPU power, and time?
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.