Evolving Robots Learn To Lie To Each Other

mercurial

MyBB Legend
Joined
Jun 12, 2007
Messages
40,900
Reaction score
2,693
Location
/\/¯¯¯¯¯\/\
With the development of killer drones, it seems like everyone is worrying about killer robots. Now, as if that wasn't bad enough, we need to start worrying about lying, cheating robots as well.

In an experiment run at the Laboratory of Intelligent Systems in the Ecole Polytechnique Fédérale of Lausanne, France, robots that were designed to cooperate in searching out a beneficial resource and avoiding a poisonous one learned to lie to each other in an attempt to hoard the resource. Picture a robo-Treasure of the Sierra Madre.

The experiment involved 1,000 robots divided into 10 different groups. Each robot had a sensor, a blue light, and its own 264-bit binary code "genome" that governed how it reacted to different stimuli. The first generation robots were programmed to turn the light on when they found the good resource, helping the other robots in the group find it.

The robots got higher marks for finding and sitting on the good resource, and negative points for hanging around the poisoned resource. The 200 highest-scoring genomes were then randomly "mated" and mutated to produce a new generation of programming. Within nine generations, the robots became excellent at finding the positive resource, and communicating with each other to direct other robots to the good resource.

However, there was a catch. A limited amount of access to the good resource meant that not every robot could benefit when it was found, and overcrowding could drive away the robot that originally found it.

After 500 generations, 60 percent of the robots had evolved to keep their light off when they found the good resource, hogging it all for themselves. Even more telling, a third of the robots evolved to actually look for the liars by developing an aversion to the light; the exact opposite of their original programming!

Source
 
this is not possible unless they were programmed to do it...imo....

how do you "mate" two robots anyhow? programming is not like dna
 
Exactly. How do you 'mate' code autonomously? Because doing it manually would involve some sort of subjectivity, not to mention a shyte load of work for 500+ gens.
 
this is not possible unless they were programmed to do it...imo....

how do you "mate" two robots anyhow? programming is not like dna

Normalize the parameters of two successful bots genes? Thats how I would try it.
 
Normalize the parameters of two successful bots genes? Thats how I would try it.

changing parameters would achieve nothing - it could make them work more efficient, but wouldn't teach them to start lying to each other.

if it wasn't coded, they can't learn it.

basically, you can teach a robot to learn more and more english words everyday, by itself, but it won't at one point learn how to "sneeze".
 
Exactly. How do you 'mate' code autonomously? Because doing it manually would involve some sort of subjectivity, not to mention a shyte load of work for 500+ gens.

Well, when some mommy C code and some daddy C code love each other very much...
 
changing parameters would achieve nothing - it could make them work more efficient, but wouldn't teach them to start lying to each other.

if it wasn't coded, they can't learn it.

basically, you can teach a robot to learn more and more english words everyday, by itself, but it won't at one point learn how to "sneeze".

Well if one of them had weaker parameters for their light signaling thingy and hence couldn't inform others when it make a "food" discovery it may become successful by not having to share its booty. Thus it was more successful than those who didn't find the food cube thing and that trait got passed on to the next version.
 
Well if one of them had weaker parameters for their light signaling thingy and hence couldn't inform others when it make a "food" discovery it may become successful by not having to share its booty. Thus it was more successful and that trait got passed on to the next version.

actually that pretty much makes sense.

i thought the light would of probably been a Boolean value though, not a variable. like if they did find food, the value is "on", else it's "off"

still though, how do you explain this then: :confused:
Even more telling, a third of the robots evolved to actually look for the liars by developing an aversion to the light; the exact opposite of their original programming!
 
also, if that is true the robots weren't "lying" to each other, the one's with reversed values were just more successful as when they find food they don't tell the others...

not true? very interesting thread i might add!
 
Even more telling, a third of the robots evolved to actually look for the liars by developing an aversion to the light; the exact opposite of their original programming!
still though, how do you explain this then: :confused:
The parameters for checking what other are doing could have been inversed in one of those random mutation sessions. Then they started going for those subtler light emitters.

also, if that is true the robots weren't "lying" to each other, the one's with reversed values were just more successful as when they find food they don't tell the others...

not true? very interesting thread i might add!
I wonder if their noses grew longer. :D
 
Last edited:
I must say, thanx Geriatrix, i'm always interested in coding AI stuff but can't get out of the box...you've opened it up a bit for me in a mere 2 posts hehe...

i'm now thinking of coding some sort of AI/learning program again soon... any ideas?
 
lol thats funny stuff

Keeper, if you want an evolving AI you need to design it like nature. Reproduction and genes being the key elements of evolution. How do you do that using AI? you give your ai genes, and you mate them as if they were animals in the same way that we get genes from our parents. You mate the most successful ai's together to produce the best results. How does that work with programming? The genetic makeup of the ai surely defines what programming it follows most often in situations etc. That way you don't have to evolve the ai yourself with each iteration, they evolve themselves through success by using certain programming in certain situations, and they have learned all the tricks from those previously in their "bloodline". It gets finely tuned with each generation.

Hardcoding things yourself is too much work, too much tweaking, too much guessing. Rather let evolution produce the most effective code, that continues to adapt itself to current trends with each generation. We will get alot of the answers by merely following natures equation, and taking notes.
 
/takes notes

wow this stuff is amazing. so basically, code EVERYTHING with variables - the more the better, and teach them to mix/normalize their own values with the winning values when "mating"? did I get that right?

do any of you guys code stuff like this?

We should start an AI thread, were developers can show off their AI projects
 
I must say, thanx Geriatrix, i'm always interested in coding AI stuff but can't get out of the box...you've opened it up a bit for me in a mere 2 posts hehe...

i'm now thinking of coding some sort of AI/learning program again soon... any ideas?
No prob. :D
I dunno what do you want it to do?
One thing to mention though, from that article its apparent that it was the human researchers that chose what was "successful" by choosing to mate certain bots.
If you want your AI to be more "independent" then make your code allow for mutation of what it considers successful. Hell, maybe make it possible for them to develop an array with a hierarchy of goals and the possibility of mutating the hierarchy as well.
And mutate the environment as well.
Then you'll start seeing exciting behavioral changes.
 
Wow, robots intelligently designed to evolve intelligently. What's next? When are these robots going to start to ask some nasty questions.... about themselves :p?
 
Basically what these guys did was metaprogramming whereby they developed a computer program (the original robots) that output (randomly "mated" and mutated in this case) other programs (the liar bots).

The art of metaprogramming, Part 1
The art of metaprogramming, Part 2
The art of metaprogramming, Part 3

Funnily enough, the immune system is also a metaprogramming system.

Antibody diversification is crucial in limiting the frequency of environmentally acquired infections and thereby increasing the fitness of the organism. Antibody diversification is achieved by assembling variable (V), diversity (D) and joining (J) gene segments (V(D)J recombination) by non-homologous recombination. Further diversification is carried out by somatic hypermutation (SHM) and Class Switch Recombination.

So why is it a metaprogramming system?

Well the system is composed of a code and the code has the information for the antibodies. Above that system (the metaprogramming system), is a system that constantly changes the code of the system that produces the antibodies.

How is this carried out... Cytosine deamination through the cytosine deaminase (AID) protein


AID deaminates cytosine to uracil in single stranded DNA (ssDNA - arising during gene transcription) and is dependent on active gene transcription of the various antibody genes. The induced mutation is resolved by at least 4 pathways (Figure 1):
1) Copying of the base by high-fidelity polymerases during DNA replication.
2) Short-Patch Base Excision Repair (SP-BER) by uracil-DNA glycosylase removal and subsequent repair of the base.
3) Long-Patch Base Excision Repair (LP-BER)
4) Mismatch repair (MMR)

Link to big picture
picture.php

Figure 1: Activation induced cytosine deamination and the pathways involved in resolving the induced mutation. 1) Normal DNA replication results in a C:G→T:A transition. 2) Successful SP-BER resolves the mutation, however the recruitment of error-prone translesion polymerases results (e.g. REV1) in transversions (REV1; C:G→G:C) and transition. 3) LP-BER can also resolve the mutation, however recruitment of low-fidelity polymerases (e.g. Pol n) also causes transition and transversion mutations. 4) MMR repair can also resolve the mutation, however the recruitment of low-fidelity polymerases through this pathway is a major cause of A:T transitions.​

AID causes somatic hypermutation and its activity is limited to the certain genetic regions of the immune system. These induced mutations in turn changes the code that codes for the antibodies. The system is controlled (Figure 2). The activity and gene expression of AID is controlled. The type of error-repair pathway and the subsequent recruitment of various low-fidelity polymerases determine the type of mutations after the repair process and these also seem to be controlled. Current research focuses on the mechanisms of control of downstream repair pathways and why this system is selectively targeted to the small region of antibody genes.

picture.php

Figure 2: Controlled variability of somatic hypermutation.​

But it gets even more interesting. The genetic code is optimal for cytosine deamination in so many ways and actually facilitates the evolution of the immune system. See here.
E.g.
1) Cytosine deamination does not result in stop codon formation.
2) The code is highly optimal for encoding arbitrary additional information, i.e., information other than the amino acid sequence in protein-coding sequences.


References:
Peled JU, Kuang FL, Iglesias-Ussel MD, Roa S, Kalis SL, Goodman MF et al. The biochemistry of somatic hypermutation. Annu Rev Immunol. 2008;26:481-511.

Teng G, Papavasiliou FN. Immunoglobulin somatic hypermutation. Annu Rev Genet. 2007;41:107-20.

Goodman MF, Scharff MD, Romesberg FE. Abstract AID-initiated purposeful mutations in immunoglobulin genes. Adv Immunol. 2007;94:127-55.

Basu U, Chaudhuri J, Phan RT, Datta A, Alt FW. Regulation of activation induced deaminase via phosphorylation. Adv Exp Med Biol. 2007;596:129-37
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X