## MOSES Terminology Qualms

• In MOSES representation, it says that knobs (parameters) are placed randomly throughout the parameterized tree structure (derived from the exemplar - typically the fittest program found).

- But this representation is in itself the exemplar program - is the program then referred to as this representation with a particular set of knob settings? - Are all the combinations of knob settings actally explored?

the representation is really a set of programs that are variations of the exemplar. knobs are variables that alter/mutate a feature of the exemplar or add new features. how many knobs are added and how many values are tried for each knob are parameters that can be tweaked in a moses run to determine how thoroughly the program space is searched for better programs in the region around the exemplar

• What is the ' arity of the problem' what is meant by arity? (as in parity?)
• In the definition of knobs, the 'arity' is referred to here. Arity from what I understand means the number of args a function can take... can each knob take more than one argument?

'A discrete knob with arity()==3 might be used to transform the boolean input \$ 2 {\displaystyle \\$2} . So, setting this knob to 1 might transform the'

the arity of a problem is how many variables it has. for a gene expression classification problem this is potentially tens of thousands of variables/features, and for genetic variation problems i could be hundreds of millions. for a representation that would be the number of knobs. i think the quote is wrong, it's describing the e possible values of a single knob representing a boolean variable in the examplar. these correspond to removing the variable, keeping it the same, or "flipping it", ie making a true false or a false true

What is a tanimoto distance? a way to compare bit strings. see: [1]

• In the definition of Representation Building...

TODO: Answer: Q) What is actually involved in the representation construction? (answered under representation is the question Q) What is a representation?)

this might be a good place to describe the parameter settings that control representation building for the moses binary

• In the definition for 'Deme' it says "In practice, in the actual implementation, a deme is just a set of scored instances. This is because all instances in a deme share the same representation, field set and knob mapping." - what is meant by 'scored' here? (not the result of the scoring function is it?) if so, it seems that this is wrong assumng that demes can exist without being scored yet - is that right? (If so, I'd preface this sentence saying 'In practice, after the optimization phase...')

it is the score from the scoring function. once you pick a complete set of knob settings on a representation, a specific score is implied, assuming all possible knob value combinations are well formed with respect to the scoring function.

• Regarding the definition of 'Metapopulation' it seems to refer to a phase that isn't described here: Is there a particular phase in which pairs of demes compete? What is the terminology? and description?

this occurs in the selection step of the moses algorithm (step 1) where the best scoring exemplar (or one chosen based on a boltzman distribution of the scores) from the current metapopulation is chosen to generate a deme.

• Also there are various places there 'the optimization phase' is referred to - does this always refer to the use of the 'scoring function' determine fittest programs within a deme? Is there more than one optimization phase, including an optimization phase for determining which demes in a Metapopulation compete? (referred to in the question regarding the definition of Metapopulation)

the optimization phase (step 3 of the moses algorithm) explores the neighbourhood of the selected exemplar generated by the representation (a deme) for the best scoring instance. the demes "compete" to be chosen in the selection step (step 1).

• Should there be a definition for Elegant Normal Form referred to in the Normalization definition?

i think there should be but i'm not sure what it is. something that alternates arbitrary length AND clauses with OR clauses and NOT acting only on single variables maybe?

Thanks! I will look into this further. I was thinking of producing short video explainers... on various major and non-trivial aspectcs of opencog - depending on time constraints of course :D - Adam Adam (talk) 03:20, 20 January 2017 (UTC)