Bigus Dickus
Regular
Using python... it's just about finished now, close enough to realize that it actually works. Pretty cool.
All other GA algorithms I've seen used some sort of binary string encoding or something similar to represent the "organism" algorithms and mutate/breed/evolve them.
That sucks if you want the organism code to be plainly readable so you know what the hell it is actually doing when it runs. So I wrote a helluva long spaghettic code Python program that can excute, rank for fitness (based on a specific goal), and then mutate and breed a folder full of other Python programs. That Python is so readable makes it a bit easier, but writing mutation rules for program code that doesn't break syntax, logic, etc. was a bitch! It's kinda cool though, sort of like human DNA being represented in plain text instead of four letters in groups of three... imagine instead of guanine a base said "if variable 05 > sin(0.5) then add lysine to the protein you are working on." Ha!
I'm a crappy hack programmer if there ever was one (this whole thing is procedural... no object oriented in my world!) but I'm quite proud of my accomplishment. Downside is that compared to "dumber" binary type GA's this one is a lot slower to search a space due to all the text parsing, but it makes it much easier to seed organisms... you can actually write real Python programs that attempt to solve a problem, and let evolution take them to the next level(s).
All other GA algorithms I've seen used some sort of binary string encoding or something similar to represent the "organism" algorithms and mutate/breed/evolve them.
That sucks if you want the organism code to be plainly readable so you know what the hell it is actually doing when it runs. So I wrote a helluva long spaghettic code Python program that can excute, rank for fitness (based on a specific goal), and then mutate and breed a folder full of other Python programs. That Python is so readable makes it a bit easier, but writing mutation rules for program code that doesn't break syntax, logic, etc. was a bitch! It's kinda cool though, sort of like human DNA being represented in plain text instead of four letters in groups of three... imagine instead of guanine a base said "if variable 05 > sin(0.5) then add lysine to the protein you are working on." Ha!
I'm a crappy hack programmer if there ever was one (this whole thing is procedural... no object oriented in my world!) but I'm quite proud of my accomplishment. Downside is that compared to "dumber" binary type GA's this one is a lot slower to search a space due to all the text parsing, but it makes it much easier to seed organisms... you can actually write real Python programs that attempt to solve a problem, and let evolution take them to the next level(s).