One quick question:
Do the modifiers cancel each other out? is the stick AAAaaAX exactly the
same as AAX?
I'm writing a program I'm calling FramCleaner that can strip the "Bones",
the Shape, the Brain, or just 'clean up' the Geno. So "LLlRRRRaARRRRX"
would become "LX"(8 R's is a full rotation and I assume A&L and a&l cancel
each other out) if so the original Fram:( Pigmei's Inchworm)
rLLLLLafffsX[| 1 :-1.799,0 :2.404]A(,rLLaCqX,RRLLLFXAfi(,rrrraMqX[@ 3
:2.102][|3 :-0.966,T :-3.963,4 :3.482],aCMqX[ 1 :-1.647][ 0 :4.536,-2
:-4.750][|-3:1.080,0 :1.915][ G:0.713]LaFMsiiQX[ @1 :-4.884][| 0 :-21.341,-2
:-3.852,= :0.000],LLIIIXLcqqX,,))
Bones:
X(,X,X(,X,XX,XX,,))
Shape:
same as bones but with the LlRrQqCc modifiers
Brains:
[| 1 :-1.799,0 :2.404]
[@ 3:2.102]
[|3 :-0.966,T :-3.963,4 :3.482]
[ 1 :-1.647]
[ 0 :4.536,-2:-4.750]
[|-3:1.080,0 :1.915]
[ G:0.713]
[ @1 :-4.884]
[| 0 :-21.341,-2:-3.852,= :0.000]
Cleaned up: afffLLLLLrsX[| 1 :-1.799,0
:2.404]A(,aCLLqX,FLLLRRXAfi(,aMqrrrrX[@ 3:2.102][|3 :-0.966,T :-3.963,4
:3.482],aCMqX[ 1 :-1.647][ 0 :4.536,-2:-4.750][|-3:1.080,0 :1.915][
G:0.713]aFiiLMQsX[ @1 :-4.884][| 0 :-21.341,-2:-3.852,=
:0.000],IIILLXcLqqX,,))
This example didn't have any 'cancelled out' modifiers but as you can see
the cleanup process alphabetizes them
Now the big question is would this program be useful to anyone? I'm mainly
doing it out of boredom.
Re: Modifiers
Brad Fletcher wrote:
> One quick question:
> Do the modifiers cancel each other out? is the stick AAAaaAX exactly the
> same as AAX?
no it doesn't work this way.
the only "additive" modifier is r/R (XrrrRrRrRRX = XrX)
in most cases it is not possible to make an EXACT short version.
for example the assimilation is changed according to the following formula:
'A': a=a+(1-a)*0.8;
// then a+m+s+i normalization:
sum=a+m+s+i;
a=a/sum; m=m/sum; s=s/sum; i=i/sum;
'a': a=a-a*0.4;
// then a+m+s+i normalization:
sum=a+m+s+i;
a=a/sum; m=m/sum; s=s/sum; i=i/sum;
so a/A will also change m, s and i.
you can see the calculated modifier value in the f0 version of the
genotype, eg:
AX
p:ing=0.15625, as=0.53125
p:1, ing=0.15625, as=0.53125
j:0, 1, dx=1, stam=0.15625
AAaX
p:ing=0.154321, as=0.537037
p:1, ing=0.154321, as=0.537037
j:0, 1, dx=1, stam=0.154321
AaAX
p:ing=0.134409, as=0.596774
p:1, ing=0.134409, as=0.596774
j:0, 1, dx=1, stam=0.134409
aAAX
p:ing=0.119048, as=0.642857
p:1, ing=0.119048, as=0.642857
j:0, 1, dx=1, stam=0.119048
(default is a=i=s=m=0.25)
the exact formulas for all modifiers can be found in conv_f1.cpp
available in the "Software Developer Kit"
http://www.framsticks.com/sdk
sz.
Re: Modifiers
>> One quick question:
>> Do the modifiers cancel each other out? is the stick AAAaaAX exactly the
>> same as AAX?
>
> no it doesn't work this way.
> the only "additive" modifier is r/R (XrrrRrRrRRX = XrX)
On the other hand, in f1 genetics, there is a simplification
method which works just like this - cancels big and small
letters.
But this simplification method is not expected to give
exactly equivalent results, because it is usually called
after mutation and crossover.
MacKo
Re: Modifiers
I belive so, but you may want to test it out to confirm that. As far as
"would this program be useful to anyone" I would say, absolutly. See if
you can also have it clean out unused neurons and sensers (not connected
to anything, or neuro loops that dont connect to anything) as well.
Possably an option to remove unused muscles as well (not connected to
any neurons).
This would really help when trying to manipulate genetically cluttered,
evolved creatures, or in presentation when posting genomes.
Another nice feature would be to strip the entire brain.
Brad Fletcher wrote:
> This example didn't have any 'cancelled out' modifiers but as you can see
> the cleanup process alphabetizes them
>
> Now the big question is would this program be useful to anyone? I'm mainly
> doing it out of boredom.
>
>