alogos.systems.whge.mapping

Forward mapping function for WHGE.

Note that a reverse function for WHGE is supposedly not possible in full generality.

Functions

forward(grammar, genotype, parameters=None, raise_errors=True, return_derivation_tree=False, verbose=False)

Map a WHGE genotype to a string phenotype.


Detailed object descriptions

alogos.systems.whge.mapping.forward(grammar, genotype, parameters=None, raise_errors=True, return_derivation_tree=False, verbose=False)[source]

Map a WHGE genotype to a string phenotype.

Parameters:
  • grammar (Grammar)

  • genotype (Genotype or data that can be converted to it)

  • parameters (dict or ParameterCollection, optional) – Following keyword-value pairs are considered by this function:

    • max_expansions (int): Maximum number of nonterminal expansions allowed in the derivation created by the mapping process.

    • max_depth (int): Maximum tree depth. This is considered only in calculating the expressive power of different rules.

  • raise_errors (bool, optional) – Possible values:

    • True: A mapping error will be raised if a derivation is not finished within a limit provided in the parameters.

    • False: A partial derivation is allowed. In this case, the returned string will contain unexpanded nonterminal symbols. Therefore it is not a valid phenotype, i.e. not a string of the grammar’s language but a so-called sentential form.

  • return_derivation_tree (bool, optional) – If True, not only the phenotype is returned but additionally also the derivation tree.

  • verbose (bool, optional) – If True, output about steps of the mapping process is printed.

Returns:

  • phenotype (str) – If return_derivation_tree is False, which is the default.

  • (phenotype, derivation_tree) (tuple with two elements of type str and DerivationTree) – If return_derivation_tree is True.

Raises:

MappingError – If raise_errors is True and the mapping process can not generate a full derivation before reaching a limit provided in the parameters.