You're absolutely right! :) It would be interesting if someone could extend this to look at how different color representations affect the results, such as using HSL rather than RGB. I tried to factor out the getSuccessors function and evalSuccessor as much as possible to make this kind of experimentation easy.