Tuesday, August 16, 2011
Well. Everything has been completed on the GP system, except for the interpreter. Mutations and crossovers and stuff have all been compiled. Basically I glued some of the code from MIT's galib to my project. I'm getting some kind of linking error... but who cares? I'm just happy there aren't any syntax errors on my part. Now semantics.. that's something else for some other time. When I use -Wall and -Wextra options in my compilation, there are atleast 100 weird messages. Yeah.... gotta get those fixed. But main thing is that everything compiles :D
Friday, August 5, 2011
Most of the GP System's front end is working. Currently the argument parsing, gp configuration parsing and loading (inputs, outputs, and constants; hopefully in the future, function sets). Most of its done through vectors so i wont have to go through the hassle of pre-configuring the array sizes through the program. No buffer overflow attacks either :P. The genome classes evaluation loops as well as the population arrays are mostly complete. Now its time to implement random and seed generation and finally: mutation+crossover: which is scarier than operating system implementation without serial ports, which is saying something. I'll be temporarily blind unless I learn to work that more complex parts of gdb and there's no telling what'll be going on during population generation since I havent put any output messages. And even if i have, there's 5 populations of 100 organisms/programs so i'll be looking at 500 outputs. Minimum. I'm not too sure, but i don't think that gdb will let me quickly analyze 500 lines of code either. Worst hassle of my life. Except for the yearly summer reading. Still have to do that too :( . I'm thinking of adapting/gluing some of the code from MIT's galib into my project since it already works, but i was planning to make mutations and crossovers configurable in the likely event where I implement a meta-gp system to optimize mutation and crossover times to achieve better and faster results. Who knows. I just hope i dont break my own code.