June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -1,33 +1,24 @@
integer
fitness(data t, data b)
{
integer f, i;
integer c, f, i;
f = 0;
i = b_length(t);
while (i) {
i -= 1;
f += sign(t[i] ^ b[i]);
for (i, c in b) {
f += sign(t[i] ^ c);
}
return f;
f;
}
void
mutate(data c, data b, data u)
mutate(data e, data b, data u)
{
integer i, l;
integer c;
l = b_length(b);
i = 0;
while (i < l) {
if (drand(15)) {
b_append(c, b[i]);
} else {
b_append(c, u[drand(26)]);
}
i += 1;
for (, c in b) {
e.append(drand(15) ? c : u[drand(26)]);
}
}
@ -35,17 +26,15 @@ integer
main(void)
{
data b, t, u;
integer f, i, l;
integer f, i;
b_cast(t, "METHINK IT IS LIKE A WEASEL");
b_cast(u, "ABCDEFGHIJKLMNOPQRSTUVWXYZ ");
t = "METHINK IT IS LIKE A WEASEL";
u = "ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
l = b_length(t);
i = l;
i = ~t;
while (i) {
i -= 1;
b_append(b, u[drand(26)]);
b.append(u[drand(26)]);
}
f = fitness(t, b);
@ -53,7 +42,7 @@ main(void)
data n;
integer a;
o_form("/lw4/~\n", f, b_string(b));
o_form("/lw4/~\n", f, b);
n = b;
@ -73,7 +62,7 @@ main(void)
b = n;
}
o_form("/lw4/~\n", f, b_string(b));
o_form("/lw4/~\n", f, b);
return 0;
}