Slashdot Mirror


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?"

17 of 286 comments (clear)

  1. Genetic algorithms always cheat by rabidcow · · Score: 4, Interesting

    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.

  2. Typical of evolution by Doug+Merritt · · Score: 5, Interesting
    This is typical of evolution (both natural and artificial), rather than surprising.

    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
    1. Re:Typical of evolution by Compuser · · Score: 4, Interesting

      If evolved programs are good for finding bugs,
      as you say, then there will be tons of
      applications for software testing. Imagine
      setting up a firewall and letting a bunch of
      evolving code hack at it. Given enough iterations
      all bugs are shallow :)

  3. This is significant by Raiford · · Score: 2, Interesting
    Researchers have been experimenting with the evolutionary synthesis of electronic circuits for some time now and there has been quite a few scientific conferences on the subject with a lot of published material generated to boot (see this). Most of this work has been focussed on the use of genetic algorithms, genetic programming and a few varients of these. The experiments were most often quite directed where the merit functions were selected such that synthesis process would evolve something that was slightly more complicated than a circuit optimization problem.

    This experiment resulted in a circuit that exibited a completely different function than the intended one and it was not directed in any way to do this !

    --
    "player 4 hit player 1 with 0 stroms"
  4. Global warming by jetmarc · · Score: 2, Interesting

    Well, if all circuits had been "designed" using these methods, we would
    have to fear every day that they suddenly stop working. Just look at
    the global warming phenomena - the delicately balanced mechanisms of
    our planet are broken by some minor environmental pollution. Floods and
    thunderstorms are the result.

    Heck, I would certainly return my "evolutionary designed" super computer
    when it stopped working for minor (but unexpected) influences.

    jetmarc

  5. Dependent Evolution by simonjester2424 · · Score: 2, Interesting

    I found an article a few years ago about a chip that was designed so that each 'gate or switch' (I am not an electrial engineer) whatever they are called, could be changed. One experiement they did with it was to run similiar program and evolve a circuit that could test if a signal was 10 hz. or 100hz. Mathimatically they projected that the perfect circuit would require about 100 units (think they called them cells or something).
    Anyway, the thing I remember best is that the circuit that evolved ended up using less of the chip than they thought possible, and worked!
    They couldn't understand how it was working and assumed that something must be utilizeing some weird quatum effect or other element that the scientists didn't expect. The article then went into a possible problem for evolveing hardware like this. If they evolve to use a propery other than just binary computation through tranistor switches, what if those strange behaviors are depenent on some factor of the enviroment?
    Like, what if a evolved chip only works properly at a range of 35-40 C ? Or more easly affected on electroic noise, or needs electronic noise? Like the circuit in this article, if there was no osculation nearby, it probaly wouldn't work would it? Doesn't mean this isn't usefull science, just something to think about, watch out for.

    --
    Beware of gifts bearing Greeks.
    1. Re:Dependent Evolution by BluBrick · · Score: 3, Interesting

      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!
  6. Re:Irresponsible by the+eric+conspiracy · · Score: 3, Interesting

    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.

  7. Re:Creative Problemsolving by Oculus+Habent · · Score: 4, Interesting

    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
  8. Quality of Life by Jucius+Maximus · · Score: 4, Interesting
    "it's kinda amusing that instead of creating an ocillator, it "cheated", and grabbed signals from another computer. i wonder how the game theorists would explain that?"

    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.)

  9. most bad circuits will pick up RF junk by Dr.+Awktagon · · Score: 5, Interesting

    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.

  10. This isn't surprising by Mister+Transistor · · Score: 3, Interesting

    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... --
  11. What This Tells Us... by istartedi · · Score: 3, Interesting

    ...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"?
  12. Sounds like the way some programmers write code by ortholattice · · Score: 2, Interesting
    The goal: when a key is held down, auto-repeat at say 5 chars/sec.

    The "correct" solution: start a 200 msec timer that triggers an interrupt, allowing the CPU to do other things in the meantime.

    The MSDOS solution: stay in an infinite loop until 200 msec is up. I don't know about current Windows versions, but under W95 when I did a lot of fast typing in a DOS window (under which, in pre-Cygwin days, I had a bunch of crippled unix commands to make my use of that OS at least semi-tolerable) it caused my laptop to get so hot the fan would turn on, not to mention the increased battery drain. In the performance monitor I could see the CPU usage peg at 100% when a key was held down or during fast typing at the command line. It used like 50 million CPU clock ticks to process one key stroke.

    Oh, and about the circuit: it's not surprising a "receiver" solution was picked. It's trivial to serially connect 3 or 4 transistor stages to get a 10^6 gain amp that picks up any noise, whereas designing a stable oscillator involves more sophistication.

  13. Evolving Discussion by OzJimbob · · Score: 2, Interesting

    I've been following this discussion since it was posted because it interests me greatly (I'm an ecologist, and intrested in evolution both biological and otherwise). At first I thought this was fantastic; but lots of posts here have changed my mind, pointing out two important points.

    1) The scientists appear to not have controlled the experiment very well at all.
    2) It wasn't really acting as a RADIO; more just a power amplifier picking up electrical interference.
    3) Radio includes the capacity to demodulate signals from the carrier frequency, not just pick up interference.

    But, it was a good try. Keep on evolving!

    --
    -"I still believe in revolution; I just don't capitalize it anymore." - srini!
  14. Misleading title by ndogg · · Score: 2, Interesting

    Self-organizing, when talking about computer science (more specifically, artificial intelligence), usually refers to self organizing maps (SOMs), not genetic programming. The two are vastly different, although a person could use genetic programming to create a more efficient SOM.

    SOMs are a type of neural network. Neural networks are based on the way the brain works, and the mathematics of how they work are not completely understood. The two most common neural networks are feed forward neural networks (FFNNs) and SOMs. How they work is outside the scope of this post. Google has quite a bit of information on them.

    Genetic programming (which is what is used here) tries large numbers of random combinations of environment variables to try to find the answer, or something close. It keeps track of what works best, and keeps those combinations until something better is found.

    This is not a particularly exciting article since the computer did not actually learn anything in any sense of the word. It merely found a setup that accomplished the goal. The only reason it's of any interest is that genetic programming can sometimes come up with "ingenius" solutions (i.e. something a person would likely not think of) since genetic programming has no boundaries within which to work with. All of it is nothing more than what nature itself does, and that's all random. It took nature almost 15 billion years to create humans.

    That's pretty slow, if you ask me. I'll bet we humans could easily one-up nature.

    I think what would have been exciting would have been if this had been discovered using a SOM.

    --
    // file: mice.h
    #include "frickin_lasers.h"
  15. Re:Evolution is smarter than we are. by Hasie · · Score: 2, Interesting
    I agree and I disagree! I agree that we will probably never fully understand intelligence as it occurs in a human, but I believe that we will be (and already are) able to fake it.


    When Gary Kasparov was beaten by Deep Blue he was thoroughly convinced that Deep Blue had sacrified a pawn. What actually happened was that Deep Blue had calculated that it would win the pawn back with interest later. There are already algorithms that can beat the Turing test when the man in the street is used as the judge (but not when someone who knows about such things is the judge).


    So my theory is: We don't need to understand human intelligence to make something that looks like human intelligence.