Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Science Technology

Self-Organizing Circuit Reinvents Radio 300

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?"
This discussion has been archived. No new comments can be posted.

Self-Organizing Circuit Reinvents Radio

Comments Filter:
  • by bhny ( 97647 ) <`bh' `at' `usa.net'> on Saturday August 31, 2002 @08:18PM (#4178481) Homepage
    Another [newscientist.com]
    experiment a few years ago produced a circuit that could recognize the
    difference between a 'stop' and 'go', voice commands. Adrian Thompson,
    who created the circuit, said- "I don't have the faintest idea how it works"
    • by Dan Crash ( 22904 ) on Saturday August 31, 2002 @11:41PM (#4179182) Journal
      I've read this story before, and it fills me with a mixture of wonder and sadness. I'm amazed at how clever evolutionary processes can turn out to be; I'm disappointed by the fact that they often seem to be cleverer than we humans can figure out.

      If the workings of a simple tone-differentiating circuit are beyond human understanding, what hope do we have of gaining a deep understanding of the human brain, the most complex machine in the universe? It makes me wonder if perhaps the secrets of our intelligence are too complex for that intelligence to grasp.

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

    • God created that circuit! Are you trying to tell me that transistors can come together at random and create a working device? If a tornado blew through an Intel cleanroom, would it throw together a computer?
  • Interesting (Score:3, Insightful)

    by deathcow ( 455995 ) on Saturday August 31, 2002 @08:19PM (#4178487)
    99.999% of the electronics devices I own and used seem to have fixed purposes and fixed designs. Perhaps this technology will find itself interfacing with organics/nerves in the future. Maybe it's distant circuit-child will do better than poking electrodes around on a brain saying to the patient "Are you still there?" The articles about human-electronic-vision seem to talk a lot about plugs going into heads.

    Maybe this tech, combined with fixed technological components, will find itself into the human/electronic interface.
  • by rabidcow ( 209019 ) on Saturday August 31, 2002 @08:22PM (#4178499) Homepage
    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.
    • by G0SP0DAR ( 552303 ) on Saturday August 31, 2002 @08:28PM (#4178518)
      ...evolution always cheats, though no doubt there are numerous experiments where that doesn't happen and no one think it's special...

      That's because evolution knows no rules. Therefore, evolution does not cheat. It's sole task is to follow the path of least resistance.
      • Suggesting that the "sole task" of evolution is to follow the path of least resistance is misleading. Entities in an evolutionary system are trying to survive long enough to reproduce. I find it difficult to make a serious, detailed connection between this goal and taking the path of least resistance.

        We should probably try to avoid 'humanizing' evolution (...evollution knows..., ...evolution does not cheat, It's sole task...). This only makes the theories commonly associated with evolution harder to understand.

        -Paul Komarek
        • There's even less "will" in an evolutionary system than you yourself credit. Evolutionary processes are simply a set of patterns. With the correct stimuli, patterns will form. Patterns which "reproduce" and "survive" will obviously be around longer than patterns which occur once and disappear.

          The trick is to apply the correct stimuli to get the pattern you want. I'm impressed that this guy can end up with something as complex as an oscillator circuit.
    • by mmarlett ( 520340 ) on Saturday August 31, 2002 @08:37PM (#4178538)
      That's the neat part, though. The whole idea that evolution has a "goal" is wrong. The goal is to do what it takes to get more resources that the other things so you can make more of yourself. Anything to reach that goal is fair. That's what makes these algorithms so damn cool -- they work just like life. Do exactly what it takes to make it to the next level. The "problem" with the experiment was that there were ways to have the same end result that the researchers where testing for -- not looking for. The flaw is not the algorithms but the testing method.
    • idle speculation: genetic evolution to crack copy protection on CD's, etc.

      the RIAA would not have any idea as to how it was done, because neither will the researcher.

      • More idle speculation. This might get an "AI" dragged into court, and might even get it "standing before the law". That'd pre-empt a couple of TNG and Voyager episodes dealing with rights of artificial lifeforms.
        • This might get an "AI" dragged into court, and might even get it "standing before the law".

          Unless the AI lived on the internet, say as part of a p2p setup or something.

          "We wish to bring the internet into court your honor...."

          right

      • You might just be onto something bucko.....
        Consider. You build a GA to start fucking around with DVD protection , say with the aim of maximising some sorta criteria (minimum 'noise' max sine waves or sumfin). And let it rip.
        The resulting algorithm (A) has NO reference to an existing method, it is random. At best the existing algorithm can be intentionaly divined simply as "GA". (B) The program has no intentional purpose, it could be utterly said that it was not created for copyright infringement unless the court was prepared to accept that a software algorithm was (1) capapble of forming an intention and (2) knew wrong from right thus (3) being responsible for its action. (C) That of course implies that the software would be sued , as no human "willed" it to do it, really.
    • It happens in everything.

      It's a matter of failing to write the specification correctly.

      It's why testing is the other 90% of programming.

      --Blair
    • Human design is limited by human thought patterns. Interferance and other such effects are viewed by human engineers as problems that have to be designed around. Evolutionary design responds to the whole environment, "problems" and all. It is not at all surprising that circuits designed by evolutionary process rather than intelligent design are radically different than what any team of engineers would create. It is however, interesting on the deepest levels.
  • patents and copyright.

    This appears to be the first usable version of
    cat /dev/random | grep metallica

    If you can 'breed' a patent how does that patent stand up?
  • Typical of evolution (Score:5, Interesting)

    by Doug Merritt ( 3550 ) <doug AT remarque DOT org> on Saturday August 31, 2002 @08:24PM (#4178504) Homepage Journal
    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"

    • by larkost ( 79011 ) on Saturday August 31, 2002 @09:29PM (#4178713)
      The whole problem is the notion of "simple and straight-forward". In every case evolved systems seem to find their own solutions that seem to be complicated (from our point of view and rules), but if you look at it from a how-many-things-have-to-evolve point of view, their solutions are far simpler.
      • The big difference is that evolution is just order evolving from chaos whereas we try to design ordered things. When something evolves, be it natural or artifical, litreally all that is happening is tons of different random variations being tried and the most successful getting to proceed to the next round. Therefore your end result is just a random pattern that happens to work.

        When humans design something, we are delibratly trying to make something ordered and we go about it in what we believe to be the easiest, most comprehensable way (well, most of the time at any rate). There isn't much randomness to it since we know what it is that we want, and can identify and eliminate that which is not needed.
    • 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.

      Sounds just like software.
    • Professional Wild-Eyed Visionary
      It is conventional to be awarded the title of "visionary" by others, before applying the term to oneself :-P
    • by Compuser ( 14899 ) on Sunday September 01, 2002 @02:17AM (#4179598)
      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 :)
    • That sounds like a talk I would have attended had I been able.

      The subject of fitness in the article reminds me of a book called "Starfish" [rifters.com]by Peter Watts. (I recommend it highly in my own review of it, BTW).

      In it, a type of biological computer has been created, and does stuff integral to the plot. In one sidenote I recall, someone brings up the fact that you don't really know why these types of computers do something, just that they do it. The person talks about some event in a subway, where the system was supposed to run the ventilation fans when trains arrived. It worked, so everyone was happy... until some vandals smashed a clock that was visible to the system through a security camera. The fans weren't being run by a schedule, or by a camera detecting the train, it was being run by the camera seeing the pattern on the clock. So then the people on the train suffocate.

      I don't think I would ever feel comfortable with one of these types of computers, unless it was so highly evolved as to be able to tell someone what it was doing and why.

  • This is significant (Score:2, Interesting)

    by Raiford ( 599622 )
    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). [google.com] 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 !

  • Global warming (Score:2, Interesting)

    by jetmarc ( 592741 )
    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
    • Re:Global warming (Score:3, Insightful)

      by adolf ( 21054 )
      Interesting? The mods must be smoking crack.

      Since when has it been deduced that floods and thunderstorms are recent events?

      The topsoil here in Northwest Ohio has a large percentage of sand in it. One might imagine that it is such because it was under water for a substantial period, when things were probably warmer than right now.

      In the antithesis of this, this area was also carved flat by glaciers.

      And yet, even in light of these enviromental twitches, I'm somehow able to write this right now.

      Obviously, if a species ceases to evolve, there is a chance that unexpected external influences will cause its demise.

      Obviously, if a species continues to evolve, there is a chance that unexpected external influences will cause it to grow resistant.

      The earth is still here, changing, evolving, and generally putting up with its varied inhabitants.

      Having now killed the basis of your argument, I'll move on to character assasination:

      Did you return your copy of Windows when it stopped working for minor (but unexpected) influences?

      No?

      Weak. Try again.

    • This is true: evolution produces things perfectly tuned to their environments, ergo: the extreme fragility of life in highly specific ecologies (such as rainforests, tropical islands, etc.)

      Human design arrogangly ignores environment, and is thus better suited to unpredictable change. However, I have to believe that evolutionary design could come up with something like the common rat, able to survive and work almost anywhere. As long as the environment that the device evolved in was made to fluctuate and be inconsistant, the device could not evolve to rely on the temperature, humidity, magnetism, radio signals, etc. that exist only in the lab.
  • One thing this underlines is how badly your
    project can be undermined by inadequate
    requirements specification, and the sloppy
    practice of producing a specification-satisfying
    implementation which has environmental
    dependencies.

    A second point which it makes very clear is that
    EA cannot achieve its full potential without
    substantially better fitness functions -- but as
    anyone with EA experience knows, excessively
    refined fitness functions are death to early
    convergence -- hence it also underlines the
    importance of co-evolution of the fitness
    criteria.

    I'm sure this experience, which is not entirely
    new, but should be familiar to anyone who has
    read the EA literature, from many similar examples,
    is pregnant with many more suggestive results,
    but that's all that occurs to me at the moment.
  • Irresponsible (Score:5, Insightful)

    by photon317 ( 208409 ) on Saturday August 31, 2002 @08:33PM (#4178530)

    The article is sensationalist and irresponsible, as it talks of how the genetic algorithm "surprised the scientists", and how nobody knows how the circuit "figured out" one trace could act as an antenna.

    The problem is that the non-tech-savvy of the world will read this and actually be made to believe these are thinking machines which are truly learning on their own. It conjures up images of a Matrix future.

    I'm quite sure the scientists didn't find the results all that stunning. They ran random mutations and "evolved" an oscillator from the interconnections of 10 transistors. The algorithm of course *failed* to generate an oscillator, and instead cheated by picking up a nearby radiowave.

    Nothing in the circuit "figured out" about antennas and radio waves - it was just random luck, much as any result in such an experiment is.

    Some might argue with calling the cheating oscillator a failure. I disagree - I think it's a wonderful example of how far AI research has to go yet. What they wanted was an oscillator, presumably one that would work (were this a circuit designing machine in the real world) elsewhere outside the lab. The algorithm was too dumb to realize it's design won't be portable past the lab table.

    I really don't think random mutation with selection is going to be the answer, if there's even an answer to be had. Computers are for automating, humans using them as tools are for innovating.
    • 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.

    • Re:Irresponsible (Score:3, Insightful)

      by slamb ( 119285 )
      I really don't think random mutation with selection is going to be the answer, if there's even an answer to be had. Computers are for automating, humans using them as tools are for innovating.

      I think this experiment can work - they just need to vary the experimental conditions a bit more. A few ways come to mind:

      • Vary the transistors, the lengths of their connections, etc. A previous article said evolutionary things were using surprising properties of the FPGA that would not apply to another FPGA of the same model. When you do this every X generations, ones that depend on those properties will die out. And in this case, varying the length of the connection would modify the properties of the antenna, so the radio one would die out more.
      • Put it in a Faraday cage. This would kill off the ones that depend on an external signal. (Though it shouldn't always be in a Faraday cage; it should be rebust to interference.)
      • Alter the temperature. This can affect electrical properties of the silicon as well.

      I think the real lesson here is that if you use evolutionary algorithms, you get something that matches the conditions you evolved it under. You need to make those match where you want to use it.

    • Some people see cluelessness as a problem, others see it as a valuable asset. I'm not crying conspiracy, but there is no incentive for the media to fix the public's general lack of technical know-how outside of the realm of buying and using consumer electronics. Without the addition of eerie connotations, this story about a piece of software misinterpreting noise as data would be sort of amusing to those of us who understand it, but completely uninteresting to everybody else.
  • by mark_space2001 ( 570644 ) on Saturday August 31, 2002 @08:33PM (#4178532)
    Both Darwin and Stephan J. Gould often used examples of things that didn't quite make sense to support the theory of evolution. If everything evolved always made sense, then that would actually argue for a "higher power" causing changes in people, animals and plants. Whereas if organisms often have features that aren't perfect, then that argues for a random force driving the origin of species.

    (For example, Darwin often used orchids, which are Rube-Goldberg like in the way the use old parts to build new flower parts. One Gould article points out that swim bladders in fish actually evolved from lungs, not the other way around.)

    So this is a perfect example of evolution. Evolution is not "progress" as we think of it, it's just whatever happens first that exploits the niche (or meets the design criteria, in this case).

    • Progress (Score:3, Insightful)

      by Catskul ( 323619 )
      I disagree. I think evolution is progress, and I think this article is a perfect example. Evolved systems that dont have much "experience" can break very easily. As you move foward in time, all evolved systems have gained more "experience" and are able to cope with more scenarios. And so it is a kind of progress, and not just lateral movement into a new niche.
    • Considering the strange things that did survive well enough to reproduce, I've always enjoyed imagining the things that *didn't* succeed. Some of the failures might have been pretty cool! When I see crazy-but-evidently-fit organisms, I ask myself "if this crazy thing survived, then what wacky things failed?!!!".

      -Paul Komarek
  • 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.
    • by danamania ( 540950 ) on Saturday August 31, 2002 @09:04PM (#4178633)
      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?

      This is the main thing to understand from these experiments - yes, they'd probably fail when removed from that environment, but then conventionally evolved life, which has adapted in the same way to use what's around it (Humans for example, in a most basic sense, use oxygen, certain foods, night/day to stay functioning and sane) are the same. Stick us in a different atmosphere, feed us nothing but one nutrient (say, caffeine) and keep it permanent nighttime, and we turn into coders.

      a grrl & her quadra [danamania.com]
    • by greenhide ( 597777 ) <`moc.ylkeewellivc' `ta' `todhsalsnadroj'> on Saturday August 31, 2002 @09:45PM (#4178771)

      For those of you who want to read that article (or at least one that describes what he's talking about), here it is:
      http://www.newscientist.com/hottopics/ai/primordia l.jsp [newscientist.com]

      In a sense, the very thing that makes circuit evolution so potentially powerful is also its weakness -- it evolves to external conditions. In the same way that a hummingbird would be doomed if all the flowers that are shaped for its beak died out or changed their shape, so too are these circuits dependent on the environment in which they evolved. An ideal solution would be to allow these circuit boards to continue to evolve, so that when they are placed in new environments, they will be able to adapt to them.

    • by BluBrick ( 1924 )
      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?

    • "Like, what if a evolved chip only works properly at a range of 35-40 C ?"

      That means you have a bad fitness function. You should test each population member under a range of enviornmental conditons. The biggest problem many times in evolutionary programming is coming up with a fitness function that describes the problem space well.
    • It's the last quarter of the article that's most interesting, starting with "Strangely, Thompson has been unable to pin down how the chip was accomplishing the task..."

      It was an article "Evolving A Conscious Machine" by Gary Taubes in Discover [discover.com] from June 1998. I have the citation offline, but you can find the whole article by searching the online archive for june 1998 and the word "genetic"

      Shortcomings in defining the scope of the problem seem to be one of the larger problems in applied GAs. Makes for some amusing results in the realm of virtual simulations.

  • by unsinged int ( 561600 ) on Saturday August 31, 2002 @09:00PM (#4178617)
    It was a genetic algorithm that tried different combinations and evaluated each of them to see how much of an oscillation each combination produced.

    The radio receiver combination simply gave a bigger oscillation than the other combinations, so it was selected as the best circuit.

    The only way it is surprising is because there was an extra input that they had not considered...but now that the input is known it is quite simple to explain the output. No astounding AI here.
  • I remember reading a blurb in WIRED a couple years ago about people trying to evolve a FPGA to act as a 1-second timer. They ended up with a design that relied on quantum tunneling artifacts (or something like that) particular to the chip it was evolved on.
  • by SimplyCosmic ( 15296 ) on Saturday August 31, 2002 @09:07PM (#4178643) Homepage

    Sadly, the evolving circuit was forced into bankruptcy court soon after the RIAA filed new CARP legislation through their paid-congressman of the week in which the circuit was made to pay $.07 per radio channel picked up per listening receiver.

    Witnesses say the circuit was last seen on the corner of 7th and Main Street evolving its pan-handling skills.

  • by Treeluvinhippy ( 545814 ) <liquidsorcery.gmail@com> on Saturday August 31, 2002 @09:16PM (#4178676)
    "Go on boy, go fetch the stick. "

    "Dude, what is your robot dog doing?"

    "I don't know. He isn't fetching the fucking stick. I guess I better dig up that reciept and get a new one."

    "Isn't this that new model with the breeding algorithm?"

    "Ah, so that's what he's doing with the stick!"
  • by Dr. Awktagon ( 233360 ) on Saturday August 31, 2002 @09:37PM (#4178740) Homepage

    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.

  • Anthropomorphic terms should be disallowed from scientific reports and media releases. Words like "breeding", "cheating", etc. conjure up magic in the imagination, but are ultimately (deliberately) misleading and are the worst form of analogy because they imply so much that just isn't there.

    That's why I don't cheat on my girlfriends or breed with them. I apply losing algorithms instead.

  • by Mister Transistor ( 259842 ) on Saturday August 31, 2002 @09:49PM (#4178783) Journal
    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!

  • by istartedi ( 132515 ) on Saturday August 31, 2002 @09:56PM (#4178796) Journal

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

  • by pjrc ( 134994 ) <paul@pjrc.com> on Saturday August 31, 2002 @10:11PM (#4178846) Homepage Journal
    I've been designing and fiddling with electronic for many years now (10 years professionally, many before I graduated from OSU).

    I can tell you from many painful experiences that the most common occurance when connecting transistors in an unintended manner is shorting the (low impedance) power supply with a forward biased P-N junction, or putting too much voltage accross a reverse biased P-N junction... either way leading to destruction of one of more parts. Let's presume they constrained the choices to prevent blown parts.

    When nothing blows up, the two most common cases (when connecting high-gain amps) are unintentional oscillation and unintended pickup of stray signals. It takes good design practice and good implementation to avoid these (usually) undesirable results.

    To say that it "Reinvents Radio" is crazy. Radio reception involves the concept of demodulation, where changes in the received signal are turned into the output and the "carrier" frequency is not. Simply receiving a signal is not radio, and any reasonable sense of the word in the context of transistor circuits. Extracting modulated changes to that signal is what radio is about. Even the simplest forms of radio, such as on/off keying (morse code, etc) involve translating bursts of the carrier into tones or some other indication to the user. The key concept is that the transmitter encodes information by modulating the transmitted signal, and the receiver recovers the information, not just the raw signal.

    Usually, but not always, rolled up in the concept of "radio" is a tuning system that selects a very small band of the available spectrum for reception, and usually this tuning system can be controlled accurately to correspond to the know carrier frequency used by the transmitter. Certainly in its modern usage, the word "radio" reasonably also implies good selectivity of frequencies that are received.

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

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

      The above, about MS-DOS, is not entirely correct. The reason your laptop probably got hot is that original versions of MS-DOS didn't have a way to tell the BIOS that it was idle, and so it would sit in a loop waiting for anything to happen. I believe BIOS calls for CPU idle weren't added until after Toshiba introduced the first laptop with software speed switching and realized they could extend battery life by throttling back to the lower clockrate. (Again - by memory - I believe this was before the x86 series had support for throwing away cycles in a power-efficient way). The looping definitely wasn't happening in order to handle keyboard repeating, however...

      MS-DOS has always relied on the keyboard to generate repeating itself. Try this (under DOS, not Windows) - set the keyboard repeat to be very fast. Now unplug and reinsert the keyboard so it loses power. Your keyboard will reset, and the repeat rate will be slow again. Similarly, many BIOSes let you set the keyboard repeat at boot time, and that setting is preserved by the keyboard itself.

      Interrupt 9 is fired once for the key down, once for each repeat, and once for key up. MS-DOS services this interrupt directly.

      Modern Windows versions only watch the key down and key up. I don't think MS-DOS even looked at the key up signals for anything but the modifier keys. This is why you can hold down control, unplug the keyboard, and release and still have control active until you tap it again with any of these OSes, but you can only punch an alphanumeric key, remove, release and reinsert, and see it repeat under modern Windows.

  • The GA produced the result, just in a bizarre way. This is not uncommon.

    Change, test for success, if none, change again.

    If it happens to work... it works, the circuit itself has no concept of WHY.

    So. if that's because there was some other, unforseen by the inventor, stimuls involved... so be it.
  • Evolving Discussion (Score:2, Interesting)

    by OzJimbob ( 129746 )
    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!
  • Misleading title (Score:2, Interesting)

    by ndogg ( 158021 )
    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 [google.com] 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.
  • Having designed the things for a living, I can tell you oscillators are far more complex devices than their relative simplicity suggests. In fact the major problem with an oscillator design is to confine it's operation to the parameters specified. If care isn't taken they'll act as sensitive receivers, phaselocking on any extraneous signal that is harmonically close to it's fundamental frequency. Armstrong noticed this when he was developing the regenerative detector and used it to great effect, resulting in a one tube receiver that had the sensitivity of a five tube tuned amplifier receiver.

    The interesting part of the article was the fact they allowed the oscillator to design itself, not that it ended up being a receiver.

    Someone else on here suggested life could have started the same way, and I suspect to a great extent he's right. Playing with chaotic oscillators is instructive, the population equation (or logistic equation), x'=rx(1-x), demonstrates all the different modes of oscillation an electonic oscillator can have. none, single mode, bimodal, quad, octal, ... random, depending on the starting value of x and the constant value of r. What really gets interesting is when one establishes a second equation and couples them together, ie. x'=rx(1-x-by') and y'=sy(1-y-cx'). Selecting values for b and c can result in oscillations that are very complex, regular patterns.

    Science has found that living cells contain a myriad of chemical oscillators, coupled together in unknown ways, apparently regulating cell metabolism, gene switching and division. I wouldn't be at all surprised they find this oscillation is the key to life, evolution and everything. :)
  • We used to have one of these AI circuits too... ...until the circuit picked up the Rush Limbaugh program, and then it hijacked the network and propogated "liberals must die" screensavers on all the NT workstations.
  • PortWineBoy asked 'It seems interesting to me but does it have any implications or applications? Any thoughts on how something like this could be used elsewhere?'

    A couple of ideas: Biomechinic's would be a great field. Imagine the bionic actually placed inside the body and powered and controled by the radio emmisions of the human body. Tempature wouldn't be an issue because we all regulate to around 98oF.

    How about police radar guns? Every car has a EM signature. You could and trace. Radar detector would be useless because the guns would be using the background radiation instead of broadcasting a laser or microwave signal.

    Just a couple of ideas.

    ~erv
  • ...That should produce some interesting lawsuits!
    • There are evolutionary and fractal based music generators out there. The results usually sound more like Cage or Bach than popular music though.
      • Oh, well, the point was supposed to be that if it behaved like the device described in the article, it would start stealing music off of the radio when it was supposed to be composing its own... I guess my comment was either a) too subtle, or b) not funny.

    • > ...That should produce some interesting lawsuits!

      Something that would be fun, and that Slashdot probably could probably furnish enough readers to make work, would be to set up a simple program that generated music from a list of numbers, seed it with a population of lists of random numbers, supply an option that would play one list from the population whenever a page was loaded and pop up a box to let the listener score it, and see whether the system would eventually converge on something recognizable as music.

  • ...but "evolution" may be a misnomer here. "Directed evolution" or "artificial" selection" may be more accurate, where the designer has a specific goal in mind and willfully selects the circuit designs that produce it. "Evolution" by itself implies self- or un-directed adaptation where (in the case of living organisms) the increased ability to eat, live and reproduce are the only driving forces.

    The circuit here had no "need" to "evolve" into an oscillator outside of the scientists' desire to achive it -- as an example goal, not as something they actually needed.

Any circuit design must contain at least one part which is obsolete, two parts which are unobtainable, and three parts which are still under development.

Working...