The ForgettingAgent, carries out the forgetting process in OpenCog Prime. It does based on the LTI of Atoms. Low LTI indicates that an atom has not been of any use for a long time, and additionally, isn't near any other important atoms. The latter condition is because the ImportanceSpreadingAgent would otherwise increase the STI of the atom, by moving STI from nearby important atoms, and increase the likelihood of the atom in question being:
- used in mind processes, and thus
- rewarded with stimulus which later gets exchanged for STI.
The ForgettingAgent also takes into account the VLTI of an atom. This is a boolean value that indicates whether the atom in fact is allowed to be forgotten. This allows a mechanism for ensuring that highly important information will never be forgotten, even if it's used only very very rarely.
Forgetting can be tuned via two parameters:
- the maximum LTI value that can be forgotten, and
- the percentage of the AtomSpace to forget (typically this would be very low!)
These work in concert to limit how much and what atoms are forgotten. If only one parameter is set, then the other has free reign. I.e. a certain percentage of the AtomSpace will always be forgotten regardless of their LTI, or, any atom that drops below the maximum forgetting LTI will be forgotten.