Sexrepro experiment

From WikiManual
Jump to: navigation, search

The following experiment was created by Botsareus (Paul Kononov) to see if robots' survival abilities improve when: 1.) It undergoes forced sexual reproduction with asexual reproduction being disabled. 2.) Restricted (small) field size for higher selective pressure. 3.) Test was conducted over 5 days, with a specimen being saved each day. 4.) A normal reproduction gene has been spliced back to test the robots overall survival ability effectively in the following test:

The test is a stepladder league with most basic settings, default battle costs, and full trans-species recognition fudging.

Results:

1st Place: Day3

'#generation: 205
'#mutations: 42

 cond
 *.eye5 0 >
 *.refeye *.myeye !=
 start
 *.refveldx .dx store
 *.tieang2 30 add .up store

'''''''''''''''''''  Gene:  1 Ends at position  16  ''''''''''''''''''

'''''''''''''''''''  Gene:  2 Begins at position  17  ''''''''''''''''''
 cond
 *.eye5
'''''''''''''''''''  Gene:  2 Ends at position  18  ''''''''''''''''''

'''''''''''''''''''  Gene:  3 Begins at position  19  ''''''''''''''''''
 cond
 *256 *.in2 0 dropbool
 >
 <=
 >
 start
 stop
'''''''''''''''''''  Gene:  3 Ends at position  28  ''''''''''''''''''
 *650 4 1 add *.eye5 *.refeye *.myeye *.shup
'''''''''''''''''''  Gene:  4 Begins at position  37  ''''''''''''''''''
 start
 -1 .shoot store
 addstore
 -677 *.eye5 50 *.refeye *.myeye =
 *.out2
'''''''''''''''''''  Gene:  4 Ends at position  48  ''''''''''''''''''
'''''''''''''''''''  Gene:  5 Begins at position  49  ''''''''''''''''''
 start
 *.veldn .up store
 >
 *.veldn .up store
 stop
'''''''''''''''''''  Gene:  5 Ends at position  57  ''''''''''''''''''

'''''''''''''''''''  Gene:  6 Begins at position  58  ''''''''''''''''''
 cond
 *.eye5 *.vshoot =
 *.refeye *.myeye =
 or
 rndstore
 *.refnrg and
 start
 -406 292 .aimright store
 *.refaimsx 37 .sexrepro store
 >=
'''''''''''''''''''  Gene:  6 Ends at position  78  ''''''''''''''''''

'normal repro gene:

cond
 *.nrg 20000 >
start
 10 .repro store
stop

'#hash: gs*hpo!QD%eL<%hl$<I_
'#tag:Day3.txt

2nd Place: Day2

'#generation: 134
'#mutations: 37

 cond
 *.eye5 0 >
 *.refeye *.myeye !=
 start
 *.refveldx .dx store
 30 add .up store

'''''''''''''''''''  Gene:  1 Ends at position  15  ''''''''''''''''''

'''''''''''''''''''  Gene:  2 Begins at position  16  ''''''''''''''''''
 cond
 *.eye5 *.shell 0 dropbool
 *.multi >
 20000 >
 <=
 >
 start
 *.refveldx 4 1 add *.eye1width add 1 add *.eye1width add *.eye5 50 >
 *.refeye *.myeye *.shup
'''''''''''''''''''  Gene:  2 Ends at position  43  ''''''''''''''''''
'''''''''''''''''''  Gene:  3 Begins at position  44  ''''''''''''''''''
 start
 -1 .shoot store
 *.refvelup
'''''''''''''''''''  Gene:  3 Ends at position  48  ''''''''''''''''''

'''''''''''''''''''  Gene:  4 Begins at position  49  ''''''''''''''''''
 cond
 *.eye5 50 *.refeye *.myeye =
 *.nrg start
 -8 7 1 *.veldn .up store
 *.trefage stop
'''''''''''''''''''  Gene:  4 Ends at position  64  ''''''''''''''''''

'''''''''''''''''''  Gene:  5 Begins at position  65  ''''''''''''''''''
 cond
 *.eye5 *.vshoot =
 *.refeye *.myeye =
 or
 rndstore
 *.refveldn *.pain start
 314 .aimright store
 *.refeye >
 *.refypos clear *.eye4width rnd
'''''''''''''''''''  Gene:  5 Ends at position  85  ''''''''''''''''''
'''''''''''''''''''  Gene:  6 Begins at position  86  ''''''''''''''''''
 start
 37 .sexrepro store
 stop
'''''''''''''''''''  Gene:  6 Ends at position  90  ''''''''''''''''''
 50 .sexrepro store
 stop

'normal repro gene:

cond
 *.nrg 20000 >
start
 10 .repro store
stop

'#hash: yYuoy&oUNFo8'%'\!%Gv
'#tag:Day2.txt

3rd Place: Day1

'#generation: 61
'#mutations: 7

 cond
 *.eye5 0 >
 *.refeye *.myeye !=
 start
 *.refveldx .dx store
 *.tieang2 30 add .up store

'''''''''''''''''''  Gene:  1 Ends at position  16  ''''''''''''''''''

'''''''''''''''''''  Gene:  2 Begins at position  17  ''''''''''''''''''
 cond
 *.eye5 0 =
 21069 >
 20000 >
 start
 *.refveldx .dx store
 *.refvelup pow add 30 add *.eye5 *.refeye *.myeye *.shup
'''''''''''''''''''  Gene:  2 Ends at position  37  ''''''''''''''''''
'''''''''''''''''''  Gene:  3 Begins at position  38  ''''''''''''''''''
 start
 -1 .shoot store
 addstore
 -677
'''''''''''''''''''  Gene:  3 Ends at position  43  ''''''''''''''''''

'''''''''''''''''''  Gene:  4 Begins at position  44  ''''''''''''''''''
 cond
 *.eye5 50 *.refeye *.myeye =
 *.nrg start
 -8 7 *.out10 *.refvelup .up store
 stop
'''''''''''''''''''  Gene:  4 Ends at position  58  ''''''''''''''''''

'''''''''''''''''''  Gene:  5 Begins at position  59  ''''''''''''''''''
 cond
 *.eye5 0 =
 *.refeye *.myeye =
 or
 *.nrg 20000 <
 and
 rndstore
 *78 and
 start
 314 .aimright store
 stop
'''''''''''''''''''  Gene:  5 Ends at position  78  ''''''''''''''''''

'''''''''''''''''''  Gene:  6 Begins at position  79  ''''''''''''''''''
 cond
 *.eye2width >
 20000 *.nrg 20000 >
 inc
 start
 314 rnd .aimright store
 100 rnd
'''''''''''''''''''  Gene:  6 Ends at position  93  ''''''''''''''''''
'''''''''''''''''''  Gene:  7 Begins at position  94  ''''''''''''''''''
 start
 37 .sexrepro store
 stop
'''''''''''''''''''  Gene:  7 Ends at position  98  ''''''''''''''''''

'normal repro gene:

cond
 *.nrg 20000 >
start
 10 .repro store
stop

'#hash: Ub8N:$-sI!%KCT_=<c!!
'#tag:Day1.txt

4th Place: Initial robot

'Animal_Minimalis
'By: Botsareus based on by Numsgil
'Good for mutation sims and for
'newbies to see how a basic bot works.
'Contains everything necessary for it
'to survive and reproduce.
'Sexrepro version

' Gene 1 Food Finder
cond
 *.eye5 0 >
 *.refeye *.myeye !=
start
 *.refveldx .dx store
 *.refvelup 30 add .up store
stop

' Gene 2 Mate Finder
cond
 *.eye5 0 >
 *.refeye *.myeye =
 *.nrg 20000 >
start
 *.refveldx .dx store
 *.refvelup 30 add .up store
stop

' Gene 3 Eat Food
cond
 *.eye5 50 >
 *.refeye *.myeye !=
start
-1 .shoot store
 *.refvelup .up store
stop

' Gene 4 Shoot Sperm
cond
 *.eye5 50 >
 *.refeye *.myeye =
 *.nrg 20000 >
start
-8 .shoot store
 *.refvelup .up store
stop

' Gene 5 Avoiding Family
cond
 *.eye5 0 =
 *.refeye *.myeye = or
 *.nrg 20000 < and 'don't spin if time for sex repro
start
 314 rnd .aimdx store
stop

' Gene 6 Look for Family
cond
 *.refeye *.myeye !=
 *.nrg 20000 >
start
 314 rnd .aimdx store
100 rnd .up store
stop

' Gene 7 Reproduce
cond
 *.nrg 20000 >
start
 10 .sexrepro store 'changed to sex repro
stop

'normal repro gene:

cond
 *.nrg 20000 >
start
 10 .repro store
stop

end

'#tag:Init.txt

5th Place: Day5

'#generation: 325
'#mutations: 68

 cond
 *.eye5 *.aimleft >
 *.refeye *.myeye *.refeye *.shang %=
 start
 *.refveldx .dx store
 *.tieang2 30 add .up store
 clear
'''''''''''''''''''  Gene:  1 Ends at position  19  ''''''''''''''''''

'''''''''''''''''''  Gene:  2 Begins at position  20  ''''''''''''''''''
 cond
 *.eye5
'''''''''''''''''''  Gene:  2 Ends at position  21  ''''''''''''''''''

'''''''''''''''''''  Gene:  3 Begins at position  22  ''''''''''''''''''
 cond
 *.venval *.tin3 *.multi over *.multi *.out7 start
 1 add *.eye5 pow *-121
'''''''''''''''''''  Gene:  3 Ends at position  34  ''''''''''''''''''

'''''''''''''''''''  Gene:  4 Begins at position  35  ''''''''''''''''''
 cond
 store
 *.myeye *.shup *.refage *.shell start
 -1 .shoot store
 *.focuseye -677 *.eye5 *.backshot *.refeye *.myeye =
 *.aimright
'''''''''''''''''''  Gene:  4 Ends at position  52  ''''''''''''''''''
'''''''''''''''''''  Gene:  5 Begins at position  53  ''''''''''''''''''
 start
 *.veldn .up store
 >
 >> *.refnrg *.veldn .up store
 stop
'''''''''''''''''''  Gene:  5 Ends at position  63  ''''''''''''''''''

'''''''''''''''''''  Gene:  6 Begins at position  64  ''''''''''''''''''
 cond
 *.eye5 *.vshoot =
 *.refeye *.myeye =
 or
 *.tieang4 *.refnrg start
 -406 292 .aimright store
 *.totalbots *.velscalar 1 *.totalbots 37 .sexrepro store
 stop
'''''''''''''''''''  Gene:  6 Ends at position  86  ''''''''''''''''''

'normal repro gene:

cond
 *.nrg 20000 >
start
 10 .repro store
stop

'#hash: nI!HdvO1*P'_f/9]*[JP
'#tag:Day5.txt

6th Place: Day4

'#generation: 252
'#mutations: 84

 cond
 *.eye5 *.aimleft >
 *.refeye *.myeye *.refeye *.hit %=
 start
 *.refveldx .dx store
 *.tieang2 30 add .up store

'''''''''''''''''''  Gene:  1 Ends at position  18  ''''''''''''''''''

'''''''''''''''''''  Gene:  2 Begins at position  19  ''''''''''''''''''
 cond
 *.eye5
'''''''''''''''''''  Gene:  2 Ends at position  20  ''''''''''''''''''

'''''''''''''''''''  Gene:  3 Begins at position  21  ''''''''''''''''''
 cond
 *256 *.shell 0 *.fixlen swap over *.multi >
 <=
 *.tin3 start
 1 add add *.eye5 *.refeye *.myeye *.shup - 26
'''''''''''''''''''  Gene:  3 Ends at position  41  ''''''''''''''''''
'''''''''''''''''''  Gene:  4 Begins at position  42  ''''''''''''''''''
 start
 -1 .shoot store
 *.fixed -677 *.eye5 50 *.refeye *.myeye =
 *.delgene
'''''''''''''''''''  Gene:  4 Ends at position  53  ''''''''''''''''''
'''''''''''''''''''  Gene:  5 Begins at position  54  ''''''''''''''''''
 start
 *.veldn .up store
 >
 *.veldn .up store
 stop
'''''''''''''''''''  Gene:  5 Ends at position  62  ''''''''''''''''''

'''''''''''''''''''  Gene:  6 Begins at position  63  ''''''''''''''''''
 cond
 *.eye5 *.vshoot =
 *.refeye *.myeye =
 or
 rndstore
 *.trefaimdx start
 -406 292 .aimright store
 *.refeye !%=
 *.waste 37 .sexrepro store
 stop
'''''''''''''''''''  Gene:  6 Ends at position  84  ''''''''''''''''''

'normal repro gene:

cond
 *.nrg 20000 >
start
 10 .repro store
stop

'#hash: )KV*'%&t&)JtqYV!T?0e
'#tag:Day4.txt


As you can see the robots' survival efficiency generally did improve as the experiment went on. The most interesting idea we deduct from this experiment is that, instead of making field size as large as possible, sometimes it is a good idea to make the field size as small as possible for more selective pressure.

The reason days 5 and 6 are worse is probably that the costs for maintaining the DNA overpowered the need for basic survival. As you can see, in days 5 and 6 DNA is smaller.