Self-Organizing Circuit Reinvents Radio
PortWineBoy writes "An evolutionary computer program that controls circuits connected to transistors is told to 'breed' an oscillator. Instead, it breeds a radio receiver which picks up oscillation produced by a nearby computer to achieve the desired result. It seems interesting to me but does it have any implications or applications? Any thoughts on how something like this could be used elsewhere?"
I've heard of at least three circumstances where they tried to use a GA to develop something and the final solution ends up cheating, using some quirk of the system that wasn't anticipated. So it seems to me that evolution always cheats, though no doubt there are numerous experiments where that doesn't happen and no one think it's special.
I guess what I'm saying is: So what? We've seen this before, even if not this exact thing.
I bred tic-tac-toe programs around 1987, and they were always surprising me. The first round of winners evolved to win by cheating -- they found a bug in my software that allowed them to make three moves all at once and win on the first move!
When I fixed that, they cheated again, by collusion: when they played the O's they dithered and did nothing, so that when they played the X's they could get an easy win with no resistance. I had to breed the O and X populations separately to fix that.
As for finding genetically evolved solutions puzzling, again that's par for the course. It is extremely difficult, in fact, to breed populations whose solutions *do* make sense. They find "organic", bizarre, complicated, twisted, fragile solutions much more often than something simple and straight-forward.
I gave a talk entitled "On the Evolution of Dishonesty" on the phenomenon to the local AI society (the title being of course a take-off on Axlerod's "Evolution of Cooperation"
Professional Wild-Eyed Visionary
Perhaps the article is sensationalist, however the concept that 'computers are for automating and humans are for innovationg' is at the very best completely neo-luddist.
The fact is that we do not know if the human mind is a Turing Machine, or is something greater. Nor do we know if a super-Turing machine, one that could solve the Halting Problem can be built.
Until these great questions are answered that simple fact of the matter is that we do not know if a true AI can be built, and even more scary, we do not know if a computer architeture that can solve problems that are beyond the human mind is possible.
The device did no such thing. It merely functioned within the requirements of the program. If the researchers were really interested in a better oscillator, they would put it in a radiation-free box and try again. The device didn't sit down and think "Hey, if I find an external oscillation, I don't have to develop one of my own..." By chance and structure it was given this opportunity. If the board had been made another way, it might not have worked.
Though, we should make more computers like this: a sequence of self-programming gates and a rule structure instead of a hard-coded processor doing much of the work. Any application or component could have it's own recorded "last state" for the FPGA, and it would load the state and the programming for the application.
Wouldn't it be cool if Quake III's frame rate improved with play, or if the bots could also become smarter? Two identical systems might run entirely differently, making use of the radio waves and various external interferences around them to improve their operation.
Programmers (and scientists) often work inside a little mental space that is the limit of their science. That's just how it works most of the time. You can't reliably sit down and say "most people have fluorescent lights flickering at 60Hz, so I'll use that external source for a 60Hz oscillator. The device, however, doesn't have any considerations, it doesn't know about environment changes. If the computer making the oscillation was shut off, the program would continue to try other methods.
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
I'm surprised that nobody yet has mentioned that Star Trek TNG episode "The Quality of Life" . (*) Was an issue like this predicted by Star Trek writers back in 1992?
(*) Warning, this site loads strangely for me in Mozilla 1.1. It's better but not totally un-strange in Opera 6.05.
(For the forgetful, it's the robot where Data thinks that those little 'exocomp' robots a scientist is using to help work on a space mining station are sentient so he sets up a little experiment. He sends the robot to work to fix a problem, and also generates a simulated problem where the robot would have been destroyed if it stayed to finish the test. Later, he discovered that the exocomp 'saw right through the test' and it not only fixed the problem, but it also turned off the false emergency signal. He eventually risks the lives of human scientists in an order to protect the exocomps from destruction because he is the only one who believes in their rights as sentient beings.)
Well, everytime I've played with circuits on a breadboard, 9 times out of 10, if it involves a speaker, I hear the local high-powered AM news station coming out of it. If there's a computer nearby, I hear "digital noise". In fact it's pretty damn annoying and changes depending on how close my fingers are, whether I'm touching this or that part, etc.
All you need is an antenna (stray bit of connecting wire), diode (transistor would work), filter (all the capacitance and resistance in a breadboard) and amplifier.
I wonder if they went back and checked, just how many combinations DON'T pick up the harmonics of nearby computers... I'd bet most of them pick up the noise.
Considering how oscillator circuits work nowadays.
The frequency determining component of all transcievers (cellfones, radios, commercial two-way, etc.) is something called a "fractional-N" synthesizer. This takes a reference frequency (usually a TCXO or crystal clock) and chops it up (fractionates it), then feeds it to a "divide-by-N" circuit to make the desired higher frequency output signal. Almost all VCO's work that way.
It then follows that the circuit sought out a stable reference signal to use as a timebase, via another outside source. This is also a common practice, using WWV(B) receivers or GPS receivers as reference timebases when two transmitters need to be synch-locked.
Sounds to me like the programmer was an RF engineer!
-- You are in a maze of little, twisty passages, all different... --
...is that the experimenters didn't create environmental conditions that would evolve what they thought should evolve. They simply created conditions that favored the development of circuits that oscillate. They failed to create conditions that favored the development of circuits that oscillate independantly.
Others have said that GA algorithms "cheat". I prefer to think that they take things into account that humans don't. I recall reading about another experiment like this. The end result only worked when the temperature was within a very narrow range.
Yuck. Where are you supposed to run your circuits? In a room where the temperature, radiation, vibration, humidity, and barometric pressure are all held to design conditions?
That's why evolution takes so long. The "creatures" have to experience a wide range of conditions in combination. I think a better way to approach such designs is to simulate them in software, because we know that programs are deterministic. Hopefully, we can then check every "function" of such designs using some automated testing software to be sure it won't crash on us.
Of course, doing GA for circuits in the "real world" will produce more exciting results, but more pitfalls too.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Of course it's useful science.
Think of what might happen when you build the genetic algorithm into say, a radio transmitter. It could automatically recover from a defective component or a strong source of interference by applying the GA to reconfigure itself to match the most efficient configuration of available components and environmental conditions.
Self-optimisiing, self repairing circuitry - wouldn't that be valuable?
Ahh - My eye!
The doctor said I'm not supposed to get Slashdot in it!