My task for the past couple of months has been to implement code to manage attention allocation within OpenCog. This process of deciding which atoms in the system are important is useful for a number of reasons, such as memory management and the forgetting process, and guiding the PLN (Probabilistic Logic Network) inference process.
Attention allocation in OpenCog has an economic framework initially conceptualized and prototyped by Ben Goertzel. Atoms have three types of importance currency associated with them:
- Short term importance (STI) guides what concepts are in the attentional focus of an OpenCog instance.
- Long term importance (LTI) is currently used for indicating what atoms might be worth forgetting or swapped out of memory.
- Very long term importance (VLTI) is a flag which essentially indicates whether the atom can be forgotten or not.
Both STI and LTI are conserved throughout the system, and the AtomSpace maintains a pool of funds for paying wages to atoms that assist in achieving system goals. Atoms that are within the attentional focus have rent charged from their STI, and all atoms have rent charged from their LTI.