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?"
Another
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"
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.
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.
patents and copyright.
/dev/random | grep metallica
This appears to be the first usable version of
cat
If you can 'breed' a patent how does that patent stand up?
thank God the internet isn't a human right.
i wonder how the game theorists would explain that?
Winning?
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
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"
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
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.
-I like my women like I like my tea: green-
Around here, we call it interference.
load "linux",8,1
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.
11*43+456^2
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.
I remember reading about something like this earlier, where they had a circuit that modified itself (it was implemented on an FPGA) and it was supposed to figure out how to solve a mathematical problem. After it randomly came up with a "working circuit", the engineers couldn't debug it -- until they figured out the FPGA circuit as implemented was making use of stray RF signals to help solve the "problem"
You mean this article?
Ascii artist &
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.
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
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.
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.)
It was given a problem (give us an oscillating pattern) and it solved it in a way the programmers had not thought of. Wow.
Or more likely a way that they where taught not to think of because it wastes so much resources.
Thinking 'outside the box' is fine and all, until you realize that outside the box tends ot be a bit, err, messy at times.
Besides history has shown that when the current methodologies are no longer sufficient to solve a given problem, that somebody will come along sooner or later and do something that the current school of thought teaches against in order to solve the problem.
Now hopefully what one of the true applications of techniques like this is, will be to help ensure that such solutions come about sooner rather then later. But as it is this is hardly an adequate way to go about solving any problem, tried and true methods are tried and true for a reason. They work.
Need help treating your acne? Come here!
"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!"
>
Some of the games out there already have characters that "pay attention" to the player's moves and start anticipating them. The new "Buffy the Vampire Slayer" game for Xbox does this.
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.
http://pcblues.com - Digits and Wood
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"?
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.
PJRC: Electronic Projects, 8051 Microcontroller Tools
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 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.
Its a symbiote.
I think you underestimate just how much I just dont care.
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!
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.
He who refuses to do arithmetic is doomed to talk nonsense.
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"
Fuck you, I'm not a fucktard or a christian. Based on my layman's understanding of AI research, which at least includes reading works like GEB, I believe genetic algorithms are a flawed approach.
11*43+456^2
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.
... 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.
:)
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,
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.
-- We live in a world where lemonade is artificial and soap has real lemon.
Your humorous comment reminds me of a funny anecdote.
Some scientist found that photographic plates in his laboratory were being unintentionally exposed while still in drawers. He or she concluded that the lab was no place to store photographic plates. Later, a scientist named Roentgen noticed the same thing, tried to explain it, and discovered x-rays.
-Paul
Hofstadter wrote GEB before complexity theory had really gotten off the ground, but he was very much in sync with its ideas. His main thesis regarding intelligence is that it's an emergent property of a complex system. If you look at complexity theory research, there's a lot of interest in evolved systems, including genetic algorithms, simple because the very nature of a complex system defies a reductionist goal-oriented design from first principles.
I don't think that we will likely ever be able to reductionisticaly design an AI "equal" to our own intelligence. (By "equal", I really mean "comparable" qualitatively.) I think it is far more likely that we'll achieve something intelligent as the result of an evolved complex system selected for intelligence as we understand it. However, once we are able to evolve a huge variety of comparable but different intelligences, it may be that we will be better equipped to study them comparatively and generalize about intelligence.
At any rate, I think that evolved complex adaptive systems are by far the most promising means to achieve AI, eventually. Strong AI from the traditional first-principle, designed point of view is, in my opinion, a lost cause (for now).
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
You say things that offend me and I can deal with it. Can you?
...That should produce some interesting lawsuits!
"How to Do Nothing," kids activities, back in print!
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.
It was an article "Evolving A Conscious Machine" by Gary Taubes in Discover 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.
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
This XT is no weakling. It's 16 years old and still works 100%, has VGA, a whopping 60 megs of disk space, and you gotta be Hulk Hogan just to lift it!
;)
But I suspect the PS/2 that came along later may be the product of incest... hey! If I breed it to the XT, d'ya think I could produce a mainframe?? Or at least a 1620?
~REZ~ #43301. Who'd fake being me anyway?
Yep! And the XT, 286s, 386s, and 486s were omitted for brevity :)
~REZ~ #43301. Who'd fake being me anyway?
Actually I was thinking that the PS/2's genes might be useful in producing a mainframe, since after all it is of the IBM genus. I'm a bit leery of what might happen if one linebred on MFM hard disks, tho -- could be you'd end up with one of those 5 meg creatures the size of a cable spool!
~REZ~ #43301. Who'd fake being me anyway?
You want to use a mca bus point to point so it breeds quite nicely, you might even end up with a portable pcmcia version and it's IBM
thank God the internet isn't a human right.
You might end up with an XBox!
thank God the internet isn't a human right.
Hmm. The PS/2 is just a Z-50. I don't think it knows MCA. Wonder if I could improve the bus by breeding it to this handy Compaq P60 backplane??
Egads, that's gonna produce some form of HP hybrid, and it will no doubt insist on running HP-UX. This is getting expensive!
~REZ~ #43301. Who'd fake being me anyway?
Well, I disagree on evolutionary designs winning, but it's purely a matter of opinion at this point, and I respect yours. I listed only GEB precisely because I feel he makes very strong, subtle, and eloquent arguments for evolutionary AI in that book. I respect Hofstadter a *whole* lot, but I have my own opinions on these things.
11*43+456^2