Scrambled Eggs
11-24-2004, 09:25 AM
I've been watching the Locked WIM project and have seen how it gets stuck at near 1 stringent self-checking and 0 parsimony and has been restarted several times. I think the problem may lie in using a lexicographical evaluation function. That is, order the results in terms of task fitness, then within task fitness by loose self-checking, etc. This type of evaluation function is often poorly behaved (no mixed derivatives, etc.).
I suggest using a continuous alternative: a * Task Fitness + b * Loose Self-Checking + c * Stringent Self-Checking + d * Parsimony where a/b, b/c, c/d >= 2. In effect, a little, say, Task Fitness, is sacrificed for lot of Parsimony in the beginning. This way, parsimonious solutions, though imperfect, have a chance of being generated. Evolution can then work to maximize the other parameters, eventually maximizing all but parsimony (that's the reason for the lower bound of 2 in the ratios.) If the final results fail the lexicographical evaluation, the evaluation function can be changed to use it. I think this approach has a better chance of finding optimal parsimonious solutions in those instances in which the lexicographical evaluation function fails.
I would not recommend this as a first resort: several problems seem to work well with lexicographical evaluation. It's those that don't that concern me. Eventually, it may be possible a priori to determine which circuits are best evolved with a continuous evaluation function, so that evolution time is minimized and project throughput maximized.
I suggest using a continuous alternative: a * Task Fitness + b * Loose Self-Checking + c * Stringent Self-Checking + d * Parsimony where a/b, b/c, c/d >= 2. In effect, a little, say, Task Fitness, is sacrificed for lot of Parsimony in the beginning. This way, parsimonious solutions, though imperfect, have a chance of being generated. Evolution can then work to maximize the other parameters, eventually maximizing all but parsimony (that's the reason for the lower bound of 2 in the ratios.) If the final results fail the lexicographical evaluation, the evaluation function can be changed to use it. I think this approach has a better chance of finding optimal parsimonious solutions in those instances in which the lexicographical evaluation function fails.
I would not recommend this as a first resort: several problems seem to work well with lexicographical evaluation. It's those that don't that concern me. Eventually, it may be possible a priori to determine which circuits are best evolved with a continuous evaluation function, so that evolution time is minimized and project throughput maximized.