Evolutionary algorithm: Difference between revisions
Content deleted Content added
→{{header|Mathematica}} / {{header|Wolfram Language}}: minor improvement : using StringReplace |
m →{{header|Mathematica}} / {{header|Wolfram Language}}: justification |
||
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, |
|||
_ /; 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> |
|||
Output: |
Output: |