Evolutionary algorithm: Difference between revisions

m
m (→‎{{header|Wren}}: Changed to Wren S/H)
imported>Arakov
Line 2,665:
{
randomString()
= 0.repeatTill(self).selectBy::(x => randomChar).summarize(new StringWriter());
fitnessOf(s)
Line 2,671:
mutate(p)
= self.selectBy::(ch => rnd.nextReal() <= p ? randomChar : ch).summarize(new StringWriter());
}
 
Line 2,696:
{ ^ false };
auto variants := Array.allocate(_variantCount).populate::(x => _current.mutate:(P) );
_current := variants.sort::(a,b => a.fitnessOf:(Target) > b.fitnessOf:(Target) ).at:(0);
^ true
Line 2,714:
{
var attempt := new Integer();
EvoAlgorithm.new(Target,C).forEach::(current)
{
console
Anonymous user