Posted
by
kdawsonon Monday October 26, 2009 @01:38PM
from the what-hath-ai-wroght dept.

destinyland writes "Researchers simulated evolution with multiple generations of food-seeking robots in a new study of artificial swarm intelligence. 'Under some conditions, sophisticated communication evolved,' says one researcher. And in a more recent study, the swarms of bots didn't just evolve cooperative strategies — they also evolved the ability to deceive. ('Forget zombies,' joked one commenter. 'This is the real threat.') 'The study of artificial swarm intelligence provides insight into the nature of intelligence in general, and offers an interesting perspective on the nature of Darwinian selection, competition, and cooperation.' And there's also some cool video of the bots in action."

I did! Whenever you hear about a robot/AI "evolving", you should immediately think Genetic Algorithms [wikipedia.org]. Most frequently in association with Neural Networks [wikipedia.org] as is the case here (mentioned lower in TFA).

I am confused as to how it was possible to understand the claims it made. Robots don't have genomes and don't eat food. Their "genomes" cannot be recombined. Robots have code and programmers. What does a random change mean in this context? Do they use faulty dram or mess with the voltage?

Robots have code. That code can be (is) represented as a series of bits. That series of 1s and 0s can be considered the "genome" of the robot. And can you randomly change bits, or recombine portions of bit patterns? Absolutely. When you have a "population" of such bit patterns which you test out, then take the best ones and copy them, randomly mutate them, and recombine them together, then test the new population and repeat, you have a Genetic Algorithm.

Now that's possible but time consuming to do with the actual instruction bytes of the AI. In the case of Neural Networks with Genetic Algorithms, the "genome" is actually just the organization of the neural net -- the connections and weights between the neurons.

The robots still have programmers, but the programmer is not directly writing instructions for the AI to follow. Instead, they're writting an interface between the robot's sensors and the neural network, the neural network code itself (not its organization), and the code that does the genome mutation/recombination. From there, the AIs "evolve" and "learn" on their own and arrive at often fascinating solutions to problems.

For example in this case, the programmers did not teach the robots how to deceive each other. That behavior emerged on its own from the genetic algorithm. So, there really isn't any hyperbole at all in the summary/TFA. Though it would be helpful if they at least mentioned genetic algorithms so skeptical people have something to google.:)

You're agreeing that the terms are not what a normal reader would construe them to mean.

The terms are a (very good) metaphor, and the article is not at all misleading. I would have thought this would be obvious.

if the experiment wants to show anything, the methodology has to be more transparent so that we can know whether to consider its "genome" as really a genome or are something more banal.

The entire point of this sort of research is that the "genome" in the bots is analogous to, but far simpler than, a biological genome, and the means of selecting which "genomes" to generate the next "generation" from is analogous to how genomes are selected in biology (either "natural selection" like you find in nature or "artificial selection" like you get with farmed crops or dog breeding).

In what way is it not transparent?

if the semi-random is really just someone going through and changing parameters in a config file (or using a script to do it), then it's not really random at all.

oh, so you're saying we just make up new meanings for old terms and act like their the same! oh now i get it!

Redefine? They're direct analogues of their biological terms. It's not like they're using the terms for something completely different.

If you have a problem with the specification of a bit pattern that defines the robot's behavior as a "genome", state it. The choice to refer to it as such is not simply a made-up meaning. It works perfectly in theory and in practice.

see that's the problem. the robots do not deceive; they do not see food.

They do deceive, and they do see the thing they are rewarded for acquiring.

the article is a misconstrual of what is happening.

Only in the sense that they use a couple terms that may seem odd out of context if you aren't familiar with how they are used in this conetxt. "Evolve", "learn", and "deceive" are all 100% accurate. "Food" is somewhat of a misnomer in that the robots don't eat, but they are rewarded for finding the "food" just like living organisms are both in nature and in the lab. They could have just said "reward item" to be 100% accurate, but "food" gets the idea across perfectly well that it is the thing that the robot is seeking much like a rat in a maze.

I wish you'd be more open minded about this. Genetic algorithms are fascinating, and amazingly successful. They not only are a fantastic aid in solving engineering problems, they also show insights into natural evolution, which is similarly guided by a random changes selected from according to which performs better.

From what I've read on the subject of machine evolution (mostly articles for the layperson), the end results are often completely baffling. It works, but the reason why isn't very obvious. In a few cases, I recall reading about evolved antenna schematics & shapes that worked REALLY well, but made absolutely no sense, or took advantage of things that engineers normally consider flaws/problems to be overcome in design.

So yeah, it'd probably come up with code & designs that are pretty difficult to parse, much like biological evolution. Pretty cool!

And offtopic: $&^@%! Taco, what's up with the popups that sneak past Firefox popup blocks? I've dutifully allowed advertising to continue, despite having that checkbox I could click to turn ads off for good behavior. Do I really need to turn on adblock and noscript for/.? Really?