What are bit climbers?
Essentially a hill climber, but there is no analytical
information about what direction is “up” (i.e., no gradient,
or derivative). Instead, you sample neighboring points.
Randomly generate a string of bits, X
Loop (until stopping criteria satisfied)
Randomly select a bit position, j, in X, and “flip” it
(i.e., if X(j) == 1, set to 0, and vice versa)
If fitness is worse, “unflip” X(j) (put it back like it was)