Author Topic: Conspec Learning  (Read 3532 times)

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 656
    • View Profile
Conspec Learning
« on: January 16, 2015, 11:49:40 AM »
Heres an idea I came up with. What if a bot could use use memlocs and memvals to read the .pain of its opponent after it performs each action, remember which was effective. Then storing the opponents conspec in a (lasting more than 1 cycle) freevariable/tout
It then uses infomation of the conspec, coupled with some other things just to store which genes were successful for attacking with, then when it encounters that conspec again, instead of trial and error on the opponent, it will instantly jump to the successful attack.
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

Offline spork22

  • Bot Destroyer
  • ***
  • Posts: 328
    • View Profile
Re: Conspec Learning
« Reply #1 on: January 16, 2015, 09:20:44 PM »
Ah, so it's like a trial and error type of thing to effectively remember how to kill things the best. Nice
Hubba Jubba Lollywash!

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 656
    • View Profile
Re: Conspec Learning
« Reply #2 on: January 17, 2015, 08:48:11 AM »
Ah, so it's like a trial and error type of thing to effectively remember how to kill things the best. Nice
For the first time it encounters a bot, it runs through each way to attack the bot, till its run through each different one, or the opponent it killed. Then it finds the most efficient one (By doing [ENENMY PAIN (in .memloc/.memval)] divide by [ENERGY USED BY ATTACK (in .pain)]) then the highest number wins. Then whenever it see's that species of bot again (it stores the opponents conspec) it will use the attack selected.

The freevariables so far would be:
enemy1 / enemy1attack
enemy2 / enemy2attack
enemy3 / enemy3attack
enemy4 / enemy4attack
enemy5 / enemy5attack
enemy6 / enemy6attack
enemy7 / enemy7attack
enemy8 / enemy8attack

That would handle 8 different species in the same simulation, so 8 pairs of freevariables (16 freevariables total) and then *.enemyX stores the conspec of the enemy and *.enemyXattack stores which gene (or set of genes) it used to attack.
Then lets say we encounter enemy1 again - THE GREEN GENES ARE THE ONES WHICH ACTIVATED

cond
*.refeye *.enemy1 =
start
1 .enemy1attack store
stop


cond
*.refeye *.enemy1 !=
start
0 .enemy1attack store
stop

cond
*.enemy1attack 1 =
start
ATTACK
ATTACK
ATTACK
stop

cond
*.enemy1attack 1 =
start
MORE ATTACK
MORE ATTACK
MORE ATTACK
stop


cond
*.enemy2attack 1 =
start
ATTACK
ATTACK
stop

end



This is the basic idea.
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

Offline spork22

  • Bot Destroyer
  • ***
  • Posts: 328
    • View Profile
Re: Conspec Learning
« Reply #3 on: January 17, 2015, 11:56:34 AM »
Cool  ;)
Hubba Jubba Lollywash!

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 656
    • View Profile
Re: Conspec Learning
« Reply #4 on: January 18, 2015, 05:58:22 AM »
Cool  ;)
Yeah, just a couple more genes I need to work out for it. But I reckon it could easily take on fruitflies.
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.