News for hackers. Stuff that matters.
Re:Evolutionary algorithms and analog electronic circuits by Lerc on Sunday July 27, 2014 @01:03AM (#8092048)
One thing stands out when you try playing with evolutionary systems.

Evolution is _really_ good at gaming the system. Unless you are very careful at specifying all of the constraints that you care about you can end up with a solution that is very clever but not quite what you had in mind. Here power consumption is the issue. If you tried to evolve a sturdy chair you might end up with something that is 1mm tall. or maybe a fuel efficient car that exploits continental drift.

For circuit simulation there are a bunch of potential pitfalls beyond power consumption. I think you would probably need to do multiple runs with components of varying values within their specified precision. I can see evolution getting some sort of benefit by exploiting the fact that two identically specced components behave _exactly_ the same way. Something that would not happen in real life.

Re:Evolutionary algorithms and analog electronic circuits by nullc on Sunday July 27, 2014 @07:37AM (#8092491)
> Evolution is _really_ good

Really this is an effect of all optimization approaches, not just "evolutionary" ones. Even simple parameter hill climbers will do that.

A fun personal example, many years ago I was trying to optimize an antenna design. I used a simple blackbox optimizer to adapt a parametrization of the geometry and a simulator to characterize the performance. I started it off and it was slowly making progress. The next day I came back and was exited to see _very good results_ ... but it turned out that it had made the length of the antenna _negative_ and the simulation was spouting nonsense (like the peak gain was a complex number). :)

The fundamental unreality of negative lengths must have resulted in me not thinking to add that as a constraint or make sure the simulation handled them gracefully... much in the same way that input fuzzing can turn up nasty bugs in otherwise well tested and competently written software.

Re:Evolutionary algorithms and analog electronic circuits by rcfox on Sunday July 27, 2014 @06:48AM (#8092432)
> I think you would probably need to do multiple runs with components of varying values within their specified precision.

That's called Monte Carlo analysis. It's important for standard simulation applications as well because most components are specified with certain tolerances. Your amplifier might look stable at the expected component values, but if all of your resistors are at the bottom or top of their tolerance range, it might become unstable!

Commercial SPICE simulators (like HSPICE, for example) come with the option to perform this built-in. You can do Monte Carlo analysis with NGSPICE, but you have to organize the input and output yourself.

> I can see evolution getting some sort of benefit by exploiting the fact that two identically specced components behave _exactly_ the same way. Something that would not happen in real life.

You get pretty close with matched transistors, especially when they're on the same die. But yeah, Monte Carlo.

Re:Evolutionary algorithms and analog electronic circuits by tripzilch on Wednesday July 30, 2014 @04:09AM (#8106916)
Another advantage of this, is that it'll smoothen the fitness landscape somewhat, creating better convergence.

Another advantage of using simulated annealing instead of evolutionary algorithms is that you can add this sort of noise in pretty much for free (instead of doing multiple runs, you basically just lower the cooling rate).

Re:Evolutionary algorithms and analog electronic circuits by Qantourisc on Sunday July 27, 2014 @03:15AM (#8092200)
Imo even if it fails, it can come up with design and ideas you didn't think about. A lot of the time when you design something you just iterate over possible ways to do it. A computer can do this too.
Re:Evolutionary algorithms and analog electronic circuits by catshirt on Sunday July 27, 2014 @01:27AM (#8092073)
> If you tried to evolve a sturdy chair you might end up with something that is 1mm tall. or maybe a fuel efficient car that exploits continental drift

great way to illustrate your point, thanks for the laugh

Re:Evolutionary algorithms and analog electronic circuits by cottonseed on Sunday July 27, 2014 @11:19AM (#8092962)
Karl Sims worked on evolving virtual creates at the Media Lab. He used evolutionary search to design creatures that could perform various kinds of locomotion: crawling, jumping, swimming, etc. [1] I heard the story that his original physics simulation had a bug which the evolutionary search exploited to make creatures that could fly.

[1] http://dl.acm.org/citation.cfm?id=192167

Re:Evolutionary algorithms and analog electronic circuits by jesuslop on Sunday July 27, 2014 @07:08PM (#8094308)
Re:Evolutionary algorithms and analog electronic circuits by cottonseed on Sunday July 27, 2014 @08:01PM (#8094423)
I hadn't seen those in ages. Thanks!
Re:Evolutionary algorithms and analog electronic circuits by VLM on Sunday July 27, 2014 @11:48AM (#8093050)
From the example in the article where the design tried to draw about a quarter amp of current, you could make evolution work to help you by powering the circuit with a fixed 50 ohm resistor in series with the power supply and letting "nature take its course" WRT getting a reasonable output waveform.

Similar tricks in the "output" work for your chair and car examples.

Re:Evolutionary algorithms and analog electronic circuits by JoachimS on Sunday July 27, 2014 @01:13PM (#8093303)
Really, really good examples. Thanks!