ProductReplacement initialisation might be expensive. So instead of recomputing that for every node, we can do it once for the root node and then move it around as follows. The initialisation data is simply a list of group elements. Let initSplit be the initialisation data for a splitting node. Then the initialisation data of the ImageRecogNode can be obtained by mapping every entry of initSplit under the homomorphism of the splitting node. The data for the kernel can then be generated by taking for an entry x of initSplit, taking a preimage y of its image under the homomorphism and taking the factor x / y.
Two questions:
is this faster than initialising PR for each node? Maybe computing the images is too expensive.
does this introduce dependencies between previously independent stochastic variables which break things?
(TODO I need to explain this better: One thing to keep in mind: be careful to set the SLPs correctly. There is a location where SLPs of the gens are deleted)
ProductReplacement initialisation might be expensive. So instead of recomputing that for every node, we can do it once for the root node and then move it around as follows. The initialisation data is simply a list of group elements. Let
initSplit
be the initialisation data for a splitting node. Then the initialisation data of the ImageRecogNode can be obtained by mapping every entry ofinitSplit
under the homomorphism of the splitting node. The data for the kernel can then be generated by taking for an entryx
ofinitSplit
, taking a preimagey
of its image under the homomorphism and taking the factorx / y
.Two questions:
(TODO I need to explain this better: One thing to keep in mind: be careful to set the SLPs correctly. There is a location where SLPs of the gens are deleted)