Goblins: add UPIREG & UPIVOTES
This required the addition of a number of
Goblin instances, most
of which were generated via GHC Generics (implemented in the
package, for which the stack.yaml git revision was bumped).
Training is successful on a significant number of these, though it takes
much longer with them added (likely becase we are testing “high up” at
the “plural” rules - e.g. UPIVOTES processes
[Vote] as its Signal, so
the generator state space is much larger than for a
Vote Signal). In
my last run, I saw 23 successfully bred goblins, out of 33 total
I had to increase the genome size because the state space is larger.
conjureOrSave to Goblin instances
This allows conjuring at calls to
tinker. It also saves the
tinkered-with values to the bagOfTricks.
Notably, this causes our performance to be more consistent during training runs. We don’t get successes on any new PredicateFailures, but runs almost always generate a full set of good goblins for each PredicateFailure within our reach (whereas before each run only had good goblins for a subset of all PredicateFailures, now each run breeds good goblins for the union of all the prior subsets).
Goblins: update for compatibility with
goblins upstream updates
Upstream changes include fix to TypeRepMap bug. Performance doesn’t
seem to be improved, however - likey because most
in this repo don’t save their value to the TypeRepMap. Updating that
will hopefully improve performance.
Support for invalid signal generation and traces with failure profiles (#632)
- Modify the types of the
HasTracefunctions to support generators that can produce failures, and traces with a given failure profile.
- Add a trace profile to
dcertsAreNotReplayedthat allow us to uncover errors in the
goblins-test: allow for multiple runs & genome saving
The executable will now take an argument indicating the desired number of runs. It will save the genomes of both failing and successful goblins in a directory structure.
A command such as
ls -1 runs/**/pass | sort | uniq -c can be
used to see the counts of the goblins deeped successfuly for each