Communication Free Learning is actually a recently proposed algorithm to resolve constraints. The research paper it originated from is here: http://arxiv.org/pdf/1103.3240.pdf
The "Communication Free" part of it means that we can update variables' values in parallel without having to communicate the updated variable values between the processes updating the variables.
Kind of a bizarre side question, would constraint solving be the right tool to use to "solve" things like the kittens/catnip game (a civclicker variant)? Like, at any given moment, given a goal and available resources, tell you the "best" way to allocate your resources.
This is an interesting question. Although I am not deeply familiar with either of the games you mention, it seems that they are inherently time-based. There are also some random elements to CivClicker (e.g. traders that come through). Given these rules, I don't think a simple constraint solver would be sufficient to "solve" the game, but it might be a part of a more complicated solution.
However, there are lots of games that essentially only involve solving constraints. A simple example is Sudoku.
FYI this page looks really bad on firefox with a narrow window. It gets jumbled around and the dark blue background on the left takes over the whole page.
It could be, but the primary issue with the Communication Free Learning algorithm is the fact that it is very hard to tell when a given constraint set has no feasible solution by directly trying to solve it. That's because Communication Free Learning is a probabilistic algorithm that is meant to converge to a solution over time. But, if after say 10k iterations we still haven't found a solution, that could mean that there isn't one or that we just haven't stumbled on it yet.
However, it is possible to apply the algorithm in situations where we know that there is a solution, at least with a pretty high degree of confidence.