vidar
9/19/2006 3:45:00 PM
Polypus wrote:
> that's interesting, i'd be curious to see where you go
> with it, keep me informed.
>
> yeah logic failures, well, there probably is no scale.
> if there is a failure, bad, if there are none, good,
> correct?
More or less, but on thinking about it a bit more I realised that there
are a few other reasonable fitness measures too: One is code coverage.
Another is aggregate code coverage (that is, you wary the fitness
function as evolution progresses so that when you have collected
testcases that give good coverage of one part of the app, you change
the criteria so that covering that portion contributes less to the
fitness).
Of course this overall method depends on cases where you can easily
define a set of consistency checks and don't need to define the
expected results by hand, or where failure will trigger "easily spotted
abnormal behavior" (such as throwing exceptions all over the place).
> in that case it might be good to just run on random
> 'genomes'. and halt on failure, or run all night and
> record all failures. a single failure would probably
> give you plenty to go on, w/o being further evolved.
I've done that, more or less, in a couple of cases. But a random search
isn't very satisfying ;) In fact for a recent toy project I was playing
with to test some ideas, I ran a random generator for days without
triggering a specific corner case.
Vidar