sorting failed error

Timon Gehr timon.gehr at gmx.ch
Mon Jul 30 15:23:09 PDT 2012


On 07/30/2012 03:52 PM, monarch_dodra wrote:
> ...
> Your looks OK, and I doubt you are mutating. I only see floating point
> gotchas:
> If a chromosome travels nothing, then his fitness is 1/0 = NaN.
>

1/0 evaluates to Inf

> NaN then compares false with everything, making it un-transitive, and
> potentially breaking your cmp. COuld you try the algo with "return
> 1/(1+travelled)".
>
> That, or because of the non-deterministic nature  of floating point
> calculation,

Floating-point computation is deterministic.

> I'd create an array containing all the fitnesses, and sort
> using that. This should avoid any "re-evaluation error".



More information about the Digitalmars-d-learn mailing list