Author Topic: The New Invasive Species (Moi Tie Plants)  (Read 3327 times)

Offline rsucoop

  • Bot Destroyer
  • ***
  • Posts: 166
    • View Profile
The New Invasive Species (Moi Tie Plants)
« on: April 25, 2008, 10:28:51 PM »
This is a very unstable bot if it does not form a cluster, and it only does it under perfect conditions. Start them relatively close together, F1 condtions with thin fluid physics, pond mode and moon gravity; this will produce the greatest yield in clusters, but cluster sizes will collide in small fields, so best for larger fields. Once together, they form a great defensive and offensive team, carrying a selfdestruct virus and a nice shot plan, not very effective at combat, but very hardy and fast paced, has random steerin built in to foul up sharpshooters and tankers. If theres a massive kill off, the mutations will eventually give you a cluster, and no matter what, it will produce a cluster. After some time the smaller faster ones break ties and fly off uncontrolably. Much room for evolution and the genes are generally stable, producing about 200 generations in 500-900 cycles.

'The dual-action plant

Code: [Select]
cond
*.robage 1 =
start
*51 inc
51 .tie store
stop

cond
*.refnrg 4500 >
*40 3 <
start
70 .repro store
40 inc
stop

cond
*.robage 20 =
*.numties 0 >
start
*51 .readtie store
40 .stifftie store
50 .fixlen store
1 52 store
stop

cond
*.numties 0 >
*.eyef 80 >
start
*.maxvel -1 mult .up .vel store
stop

cond
*.rdboy 0 *.numties add =
start
*.setboy inc
stop

cond
1 *52 =
start
50 .sharenrg store
50 .sharewaste store
stop

cond
*40 2 >
*.eyef 0 !=
start
*51 .readtie store
*.tieang .setaim store
-60 .sexrepro store
-8 .shoot store
stop

cond
*303 1 =
start
60 .sexrepro store
.out2 inc
stop

cond
*.pain 0 <
*.refeye *.in1 !=
*.body 500 >
start
*.body 4 div .shootval store
-6 .shoot store
stop

cond
*.eyef 0 %=
*.pain 3 <
start
12 rnd add .up .vel store
stop

'memory functions

cond
*.tin2 0 > or
*.in3 0 >
start
*.nrg 10 div .strbody store
stop

cond
*.numties 0 >
start
*.tiepres 52 store
*52 .readtie store
stop

cond
*52 *.readtie =
start
.vel .tmemloc store
*.vel .tmemval store
stop

cond
*52 *.numties >
start
0 52 store
stop

cond
*.refeye *.myeye !=
*.eyef 0 >
start
*.eyef .tout4 store
stop

cond
*.tin4 *.eyef >
start
*.maxvel rnd 1 .vel store
stop

'eye stuff

cond
*.out1 *.myeye !=
start
*.myeye .out1 store
stop

cond
*.eyef 0 >
*.in1 *.refeye !=
start
*.nrg 4 div .shootval store
-1 shoot store
stop

cond
*.eyef 0 >
*.in1 *.refeye !=
start
*.refxpos *.refypos angle .setaim store
-30 *.eyef add .dn .vel store
stop

cond
*.eyef 0 >
*.in1 *.refeye =
start
*.refxpos *.refypos angle .setaim store
.tie inc
2 *.aim add .setaim store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
*.pain 10 >
start
1256 *.shang sub .aimshoot store
160 .shootval store
*.setaim .shoot store
0 .shflav store
stop

cond
*.nrg 700 >
start
*.genes rnd 1 .mkvirus store
stop

cond
*.vtimer 1 =
start
70 .vshoot store
stop

end

Very simple and somewhat stupid bot, but when crossed with the guardian eye system, it handles multiple eyes better. I would like this bot to be teswted and put in the plant section. Also, note the inherent safety switches to prevent some stupid actions, the bot only needs to expand its memory functions and we have possibility for communication.

Crutial update, fixed reproduction genes, were really ineffective earlier, watch out for cancerous strands, they often survive the breeding cost with one large root system.

Edit: Ok, fixed the *.numties problem, it was supposed to write it to 52 for readtie use.

FInal update: Virus fixed to simply copy genetic code to spread deviation throughout a species. TIe system works.
« Last Edit: May 02, 2014, 12:26:03 PM by Botsareus »

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
The New Invasive Species (Moi Tie Plants)
« Reply #1 on: April 26, 2008, 06:35:11 AM »
Woah this thing is confusing, having a hard time making sence of it.
Did notice one thing that may be an error :

cond
*.numties 0 >
start
*52 *.numties store
*52 .readtie store
stop

Isn't it suposed to be *.numties 52 store, or *52 .numties store ?

And also noticed this : 50 .setlen store
Is this a new sysvar ? If it isn't then you forgot to define the var in your header...

And I noticed in your other post about slim evo that you're working on a memmory system, but I'm still trying to understand how it will work, the post is a litle confusing... I'm also wondering why several bots are needed for this, it sounds like it could be done inside a single bot.
Either way I'm interested because I'm running a neural network in an evo sim, and I'm toying with the idea of making a mutations mod for generating neural networks from scratch... but I'm not sure how to managed memmory, so far I was thinking of making everything adjustable, so you could set the odds of refvars spawning as inputs versus the odds of free memmory locations or generaly any other kinds of inputs... this way you can choose to have no preferences if you feel it's cheating to increase odds for the usefull types of mutations...
But now I'm starting to think there may be a better way to handle memmory, I'm especialy interested in "thoughts" generated over several cycles...

Offline rsucoop

  • Bot Destroyer
  • ***
  • Posts: 166
    • View Profile
The New Invasive Species (Moi Tie Plants)
« Reply #2 on: April 26, 2008, 12:00:54 PM »
Quote from: Moonfisher
Woah this thing is confusing, having a hard time making sence of it.
Did notice one thing that may be an error :

cond
*.numties 0 >
start
*52 *.numties store
*52 .readtie store
stop

Isn't it suposed to be *.numties 52 store, or *52 .numties store ?

And also noticed this : 50 .setlen store
Is this a new sysvar ? If it isn't then you forgot to define the var in your header...

And I noticed in your other post about slim evo that you're working on a memmory system, but I'm still trying to understand how it will work, the post is a litle confusing... I'm also wondering why several bots are needed for this, it sounds like it could be done inside a single bot.
Either way I'm interested because I'm running a neural network in an evo sim, and I'm toying with the idea of making a mutations mod for generating neural networks from scratch... but I'm not sure how to managed memmory, so far I was thinking of making everything adjustable, so you could set the odds of refvars spawning as inputs versus the odds of free memmory locations or generaly any other kinds of inputs... this way you can choose to have no preferences if you feel it's cheating to increase odds for the usefull types of mutations...
But now I'm starting to think there may be a better way to handle memmory, I'm especialy interested in "thoughts" generated over several cycles...

Thanks for the correction, Ill fix it immediately. The idea behind a puppet-master scheme is simple. Build a simple bot that generates food and defesnes and has inherit switches (in this case 51, 52, and 40, this will be expanded to a few more later). notice how the clusters sometimes break formation, I put this in so that if their virus took over out of control, the clusters wouldn't sit there blasting eachother with the same virus. In essence, there are several cells involved in creating a mind, the memory part, and the processor (or interpretor sp?). It has some simple memory genes for communication, this is important for the creation of nerves (or nodes in the case of neural networks). So by having two species, we can attempt sexual crosses to exchange effective genes, the idea is a self-evolving brain. It would be possible to write a large code similar to the Evo Slim 3-2, but even it has many flaws and is unstable over the coarse of 3-4 generations; so by breaking the genetics up among several species, we are attempting what already happens in nature, cospeculous evolution. The bot is simple and stupid, it counters when attacked and has an eye gene, so it thwarts conspec id in simpler bots. Each bot becomes more and more unstable the larger the DNAlength gets, so if we break up the entire scheme among specialized species, we may see a bizzare trend (or a natural one at best).

First it starts wilth a network that can communicate basic commands; this one produces slime when tin changes from 0. This means a puppet can control defenses of this species with one simple command; the problem with memory is you either use a lot of little genes that become a tangle if rearranged, or you make one massive conditionless gene. For simplicity, start with two or three variables to remember, something like a location and time, or velocity versus anothers and time. We say that anytime the values change, we wan to record it. SO using multipliers and dividers (basics of Bollean algebra, which is the easiest math because its only 1 or 0, or Z-memory state) can cat as your triggers, and a manipulating bot could do whatever it wanted to the specific species, mutations would determine how sucessful it was. I have almost perfected this gene but still need a few more tweaks, the problem lies in deletions, if gene related commands have been introduced this would be easy to solve with a copy command. You will definitely need to consider how it will handle more than one tie, and ties it didn't form. Where a bot has communication with another is crutial, but often several bots try manipulating the memory locations at once, the touts/ins should simplify this problem. As of now the master would use 5 touts and all outs for communication, and the hunter genes have yet to be perfected.

The basic principle to simbiotic neural networking is that each species specifies and perfects a set of genetic dna, and then crosses theirs with another tha has done likewise, for the purpose of creating a multibot that can think and act accordingly. The master will eventually evolve blind, since its use will most likely become that of a memory storage of sorts that issued commands on past and present problems.

Offline rsucoop

  • Bot Destroyer
  • ***
  • Posts: 166
    • View Profile
The New Invasive Species (Moi Tie Plants)
« Reply #3 on: April 26, 2008, 11:12:12 PM »
Success!

I have run rigoros tests and the plants I have created are now perfected for mutation purposes, it will evolve two species, both plants, one large and slower ones, and the faster newer generations taht stay smaller. This is important because the function of cells are complex in networking and locomotion. The evolution went as far as to specify for groups that utilized the ties to communicate random bist of information, but those in turn lead to voluntary and involuntary reactions. I suggest running this plant with high mutation rates, as the reproductive genes really boost the selectiveness of some genes.