Evolutionary algorithm: Difference between revisions

Content deleted Content added
Grondilu (talk | contribs)
→‎{{header|Mathematica}} / {{header|Wolfram Language}}: minor improvement : using StringReplace
Grondilu (talk | contribs)
Line 3,923: Line 3,923:
fitness = HammingDistance[target, #] &;
fitness = HammingDistance[target, #] &;
mutate[str_String, rate_Real : 0.01] := StringReplace[
mutate[str_String, rate_Real : 0.01] := StringReplace[
str,
str, _ /; RandomReal[] < rate :> RandomChoice[alphabet]
_ /; RandomReal[] < rate :> RandomChoice[alphabet]
]
]


mutationRate = 0.02; $C = 100;
mutationRate = 0.02; $C = 100;
Line 3,931: Line 3,932:
Thread[mutate[ConstantArray[#, $C], mutationRate]],
Thread[mutate[ConstantArray[#, $C], mutationRate]],
fitness
fitness
] &,
] &,
mutate[target, 1],
mutate[target, 1],
fitness@# > 0 &
fitness@# > 0 &
][[;; ;; 5]] // Column</lang>
][[;; ;; 5]] // Column</lang>


Output:
Output: