Closed Bitseat closed 5 years ago
That looks good @Bitseat, just I would probably not iterate through _scored_trees
and instead iterate through an isomorphic container for handles (meaning with the same ordering as _scored_trees
), called _scored_atomeses
or something.
Overview
Metapopulation stores a pool of scored combo trees generated during the deme expansion and optimization step. Having the metapopulation represented in atomspace helps for PLN inference usage and run the pattern matcher on the population. Here the plan is porting the metapopulation code to support atomese without touching the algorithms in charge of storing references of the candidates.
How the current implementation works
Initial proposal on the porting
As of my understanding, the first step would be porting the functions like init, select_exemplar, merge_candidates, merge_demes etc to suport atomese and leave the implementation with "not implemented yet". The second step would be, as Nil suggested, having a dedicated C++ structure to store the atomese representation of the candidates. We can achieve this by iterating through scored_trees and correspond each tree to a certain handle and store the candidates in atomspace. A discussion on how we can introduce program memorization is much appreciated.