Cognitive Processor Genes

Genes, also known as Genetically Configurable Prarameters (GCPs), are parameters on a Cognitive Processor that are user-configurable. These parameters impact how the Cognitive Processor predicts, what state the Processor is in, and how it learns new information.

The current values of all genes can be found by utilzing the AgentClient function get_all_genes(). Genes can be updated using the AgentClient function change_genes()

Note

The default values of Genes for each Cognitive Processor is set in the Genome for the GAIuS Agent. These values can be edited by selecting the corresponding processor in IA’s Connectome Creator, or by editing the Genome file manually.

Gene Information

always_update_frequencies

Warning

Placeholder gene that will either get implemented or be removed in a future update.

auto_learn_algorithm

This gene controls how the WM is processed, and modified when the auto_learn_metric reaches its relevant threshold. Possible values are:

  • basic

Note

The default value is ‘basic’.

auto_learn_metric

This gene controls which metric is checked when determining if the CongitiveProcessor should learn its current WM using the set auto_learn_algorithm before the next observation. Threshold value is different for different for different metrics. Possible values are:

Note

The default value is ‘wm_size’. Meaning that when the WM reaches the length defined in max_sequence_length events at the beginning of WM are removed until its length is less than max_sequence_length.

classifier

The vector classifier to be utilized by the Cognitive Processor. Possible values are:

  • “CVC”: utilizes Euclidean distance to find nearest vectors in the learned vector space.

  • “DVC”: utilizes an iterative deeping searcha algorithm of the learned vector space.

Note

The default value for classifier is “CVC”.

enable_genome_snapshots

This gene controls whether genes are kept track of over snapshot windows of the observed states are captured and synced based on the metdata passed along with observed data. Possible values are:

  • True

  • False

Note

The default value for enable_genome_snapshots is False. Only occurs if enable_genome_snapshots is True.

enable_predictions_kb

This gene controls whether a prediction_kb is kept on the CongitiveProcessor to reduce the computation cost of creating predictions for already observed/learned sequences. Possible values are:

  • True

  • False

Note

The default value for enable_predictions_kb is False.

enable_snapshots

This gene controls whether a snapshot window of the observed states are captured and synced based on the metdata passed along with observed data.

Possible values are:

  • True

  • False

Note

The default value for enable_snapshots is False.

max_predictions

This gene controls the number of predictions returned by the Cognitive Processor. When the user wants only a single “best” prediction to be returned, this gene should be reduced to 1

Note

The default value for max_predictions is 100 predcitions. Max value is 10000.

max_sequence_length

Controls the max number of items permitted in the working memory at a time. This gene should be used in conjunction with wm_resultion to delimit the number of elements allowed in the Working Memory. When data observed surpasses this value, entire events are dropped from the Working Memory until the threshold is met.

If AUTOLEARN is enabled, then the entire sequence is learned once the max sequence length is attained. In this case, only the final event is retained in the working memory after learning.

Note

The default value for max_sequence_length defaults to 0, meaning there is no max sequence length enforced (unlimited sequence length allowed)

near_vector_count

This gene controls the number of nearest neighbors “pulled in” when observing vector data. For example, if near_vector_count is set to 2, then the 2 nearest neighbors will also be added to the working memory in the same event.

When not utilizing vector data in the GDFs, this gene has no effect.

persistence

This gene controls the number of historical values which are maintained for a single emotive inside a Model. When the same model is learned by the CongitiveProcessor the new emotive value will push the older values out when the persistence threshold is reached. It can be any integer value greater than 0.

Note

The default value for persistence is 7.

predict_on_nth_event

This gene controls when predictions should be generated from observations. Meaning that if predict_on_nth_event was set to 4; then 4 events would need to be observed before predictions would be made.

Note

The default value for predict_on_nth_event is 1. Meaning that predictions are generated on each observe.

prediction_sort_metric

This gene controls which metric determines how predictions are ranked. The possible values are:

  • similarity

  • number_of_blocks

  • potential

  • evidence

  • fragmentation

  • snr

  • entropy

  • hamiltonian

  • grand_hamiltonian

  • confluence

  • confidence

  • itfdf_similarity

Note

The default value for prediction_sort_metric “Potential”, but all numeric metrics from the prediction object are supported.

prediction_threshold

This gene controls the threshold value for Predictions according to the metric defined in prediction_threshold_metric. The range of values are double values greater than 0.0. WARNING: Too high of a value will prevent any Predictions from being returned.

Note

The default value for prediction_threshold is 0.0 meaning no Predictons are dropped when they are created.

prediction_threshold_direction

This gene controls the direction of the thresholding either ‘greater than’ or ‘less than’. The range of values is boolean either false(less than) or true(greater than).

Note

The default value for prediction_threshold_direction is the typical false(less than).

prediction_threshold_metric

This gene controls which metric is used to threshold Predictions and remove them from results. The possible values are:

  • similarity

  • number_of_blocks

  • potential

  • evidence

  • fragmentation

  • snr

  • entropy

  • hamiltonian

  • grand_hamiltonian

  • confluence

  • confidence

  • itfdf_similarity

Note

The default value for prediction_threshold_metric is “Potential”

recall_threshold

The recall threshold controls the percentage of a sequence that must match in in order for a prediction to be created. This value is a float that ranges from 0.0 to 1.0. In addition to change_genes(), this value can be altered using increment_recall_threshold(). In general, for tighter sequence matching use a higher recall_threshold value. For looser sequence matching, use a lower recall_threshold (typically ~ 0.1).

Note

The default value for recall_threshold is 0.1.

search_depth

This gene controls the max depth to search in the learned vector space utilizing the “DVC” vector classifier algorithm. Only used when classifier == “DVC”.

Note

The default value for search_depth is 10.

SORT

This gene controls whether the sequence is sorted by the Cognitive Processor during processing. When the user wishes to retain the original ordering of symbols then should set SORT to False.

Note

The default value is True.

smoothness

This gene controls the max allowed entropy in the Prediction Ensemble before an auto-learn is triggered.

Note

The default value for smoothness is 3.0.

snapshot_gen_predictions

This gene controls whether predictions are generated on loading of snapshots. This is useful when only appending emotives data on top of previously observed symbolic data. Possible values:

  • True

  • False

Note

The default value for snapshot_gen_predictions is False.

wm_resolution

The resolution at which the max_sequence_length is computed. This gene can either be “symbol” or “event”. When symbol, all symbols in an event count towards the max sequence length. When event is selected, the max sequence length is computed as the number of events.

Note

The default value for wm_resolution is “symbol”.