Tuesday, February 23, 2010

Genome Inplemention

I now have a full working implementation of the back end genome.
While I have based the structure of my electronic genome on the structure of the biological genome I don't have my fancy little graph set up yet so I won't talk about it.

Here is an actual example developed by my Origin system.


This is 001BF:

;Gen:
;Name:
;Number of Copies:

;redcode-94

SPL <226, 672

end


This is 001BF's genome:

11#0#88#/$call$/(1+_Dup_Cha)
11#10#3#$/$Var$/(1_Dup_Cha)
11#10#1#/$Symbol$/(0-1_Dup_Per)
11#5#3#/$Var$/(1_Dup_Cha)
11#4#1#/$Symbol$/(0-1_Dup_Per)


I can see at least two bugs in the above output bug these are both aesthetic bugs and will not effect the genetic outcome.


My plan is to get the VE for redcode up and running tomorrow and after that have a hop off the genetic algorithm.
Before I can properly run at the mutation code I will need to go back and edit LML. At the moment there is very little control over the chances of mutation or how severe the mutation will be. If I bring in a weight system instead of the current "Per" and "Cha" stuff there will be more flexibility in the way I can set small changes to happen frequently, big ones to happen infrequently or any combination of the above.

Wednesday, February 17, 2010

Ignore me - Work Log 3

The structure of the genome has been decided.

Its:

lineNumber#Beginning of Call#Length of Call#LML structure of the call

eg:

11#4#35#/$call$/(1+_Dup_Cha)


I can see an upcoming bug that means that the later done genetic actions will affect the genome of some of the previous ones with out altering them to reflect these changes.

Function is being written to add the Genome files to the project file.

Tuesday, February 9, 2010

Ignore me - Work Log 2

The Genetic System is currently returning the function call name instead of the actual call.
Backward engineering is the best way I can figure to find this bug hidden in 150 lines of uncommented, recursive, IO implementing genetic logic.

The fix for the previous Dir get bug did not work. has been reedited to properly align with the vector.

Genetic logic is back up and working. The first run and all subsequent runs have been separated.

Wednesday, February 3, 2010

Ignore me - Work Log

".." bug in the checkDir() fixed. Was caused due to FindNextFile() being called at the wrong time.
Fixed waterfall issue in Project with project names incorrectly listed.

I kinda wish the above bug was different as it means the file read issues in GenLogic are unrelated.



Genome Structure:

"LineNumber"--"callName"("1+_Dup_Cha")"StringStart","StringEnd"

Afterchange
if(LineNumOfChange == LineNum)
{
StringStart && StringEnd - DifferenceInpreviousStat;
}