Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,39 @@
|
|||
target$ = "METHINKS IT IS LIKE A WEASEL"
|
||||
parent$ = "IU RFSGJABGOLYWF XSMFXNIABKT"
|
||||
mutation_rate = 0.5
|
||||
children% = 10
|
||||
|
||||
DIM child$(children%)
|
||||
|
||||
REPEAT
|
||||
bestfitness = 0
|
||||
bestindex% = 0
|
||||
FOR index% = 1 TO children%
|
||||
child$(index%) = FNmutate(parent$, mutation_rate)
|
||||
fitness = FNfitness(target$, child$(index%))
|
||||
IF fitness > bestfitness THEN
|
||||
bestfitness = fitness
|
||||
bestindex% = index%
|
||||
ENDIF
|
||||
NEXT index%
|
||||
|
||||
parent$ = child$(bestindex%)
|
||||
PRINT parent$
|
||||
UNTIL parent$ = target$
|
||||
END
|
||||
|
||||
DEF FNfitness(text$, ref$)
|
||||
LOCAL I%, F%
|
||||
FOR I% = 1 TO LEN(text$)
|
||||
IF MID$(text$, I%, 1) = MID$(ref$, I%, 1) THEN F% += 1
|
||||
NEXT
|
||||
= F% / LEN(text$)
|
||||
|
||||
DEF FNmutate(text$, rate)
|
||||
LOCAL C%
|
||||
IF rate > RND(1) THEN
|
||||
C% = 63+RND(27)
|
||||
IF C% = 64 C% = 32
|
||||
MID$(text$, RND(LEN(text$)), 1) = CHR$(C%)
|
||||
ENDIF
|
||||
= text$
|
||||
Loading…
Add table
Add a link
Reference in a new issue