Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Fix Cross Function #6

Closed
kylc opened this Issue Jan 6, 2012 · 2 comments

Comments

Projects
None yet
1 participant
Owner

kylc commented Jan 6, 2012

Randomly, some individuals will end up with a very negative fitness (-16,565, for instance). I'm pretty sure I've narrowed this down to the cross function. It seems like the crossing is very occasionally flipping the sign bit, or at least some very significant bits. This leads to points at ridiculous coordinates, both negative and positive. How do we fix this?

The only thing I can think of is "scaling" all values to use all the bits of a float. So, instead of our points being anywhere from 0 to, say, 200, they would go from 0 to 3.4e38 (3.4 to the 38th power, the max value of a 32-bit float). Then, we would need to have some correction step after the physics simulation to flip any negative bits back. This is all pretty messy, though.

Owner

kylc commented Jan 12, 2012

Temporarily fixed in 838e3e6, but we need a better solution.

Owner

kylc commented Feb 22, 2012

This has been fixed as of bc56c4c.

@kylc kylc closed this Feb 22, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment