Presumably it was to minimize the
operators used.
Yup. It thought it would make it easier to
understand the problem (the programming challenge).
It is also to limit the number
of possible solutions. If there are many building blocks
the search space is large but also full of good solutions.
Then even a random search works. With this I hoped to
demonstrate that even with limited building blocks
the algorithm can work to a good solution.
(It would be interesting to create a Perl program that
can determine the solution density, say using monte carlo
or so).
I was a bit surprised at
|=
myself.
:) I added that to show that the algorithm can come up
with solutions that are not easily visable to humans.
You can even add things like
$x ^= 715;
$x >>= 1;
and it will come up with surprising results.
Have Fun
|