Inference Associative Memory (IAM)
Imagine two identical computer systems running identical copies of a software program and provided with identical input that may provide different outputs without the use of any randomness function. Once started, this program quickly surpasses the ability of humans to be able to determine what it is doing.
AWAKE MODE
IAM is made up of multiple input functions known as "accepters" and akin to sensory input within humans. These "accepters" make up the basic building blocks used to gather information from various sources. There are no limits placed upon the number or type of accepters. In pseudo-code an accepter simply looks like this:
while state == awake
do
read input >> output_array
done < source
This simplified pseudo-code loop gathers input (read input) from a "source" (source) and appends (>>) it to a 2-dimensional output_array or Short Term Memory (STM) array. All inputs from all accepters are added to the end of STM. While the "accepters" are gathering information, an "associator" is also active trying to associate and remove items from STM. Once a successful association has been made, or a new association has been created, items are removed from STM. Since the associator (or even multiple associators) cannot keep up with the input, STM will eventually become full. When the last element in STM is filled, a check is made to see if the first element in the array is empty. This would indicate that an association has been made and an item has been removed from STM. If the first element is empty, the newly accepted information is entered at this location, and subsequent accepter input is written beyond this new starting point.
If there are no STM elements available, input from all "accepters" is suspended and a "sleep" phase is entered. During this "sleep" phase all items in STM are removed as they are "associated". (see SLEEP MODE). Once all items have been associated the "accepters" are signalled to awaken and begin gathering information.
Eventually the gathered information may be associated and stored in a 3-dimensional memory array. A best-fit first-fit algorithm is used in conjunction with Albert Einstein's algorithm for locating objects within 3-dimensional time-space to store information within the array. The easiest way to describe and understand the storage methodology is to imagine a 3-dimensional crosstich. For instance, imagine that the system accepts the following text in chronological order:
The rat
The dog
The horse
The next piece of information to be accepted is the "red house". The memory association may now look like this:
The rat
e
The dog
The horse
o
u
s
e
If the next piece of text entered was the word "hog" it may be associated as:
The rat
The dog
o
The horse
o
u
s
e
Notice that if the order of acceptance was changed in any way that the association of the words "red house" and "hog" would not take place at these same junctions. The order in which information is obtained and initially associated determines all future associations. IAM has the ability to store and associate all forms of binary input utilizing this same methodology. Due to the unique bit strings associated with various types of binary input (audio, video, text, etc.) memory location selection is automatic and a natural result of this methodology. In the above example, the word "The " would only be stored once, and the words "rat", "dog" and "horse" would be stored on an axis point off of "The ". The ability to "reuse" memory segments makes for an extraordinarily efficient memory utilization. Also notice that all future associations are determined in part by all prior associations. In later sections I will describe how information may be re-associated.
The ability to store and access information in this fashion makes this system suitable for voice and image storage, recognition and matching. Input of audio and visual information from dual or stereo sources is highly recommended. Since the bit patterns received from both sources will likely be similar there is relatively little additional processing power required. Additionally, the duplication and redundancy of these input sources provides for a backup in case of the failure of one of the sources. As an example, the IAM system would still operate somewhat normally with only 1/2 of it's visual inputs or audio inputs. With a complete loss of video input more audio sensory information would be stored and associated, in effect enhancing this sense. Similarly, a loss of all audio inputs may enhance the video processing capabilities.
SLEEP MODE
During "sleep mode" the priorities of the accepters is lowered, and the priority of the associator is raised. Accepters will not add anything to STM during this state. The primary responsibility of the associator during this phase is to clear the 2 dimensional STM. This procedure involves processing every element in STM and finding or creating an association in the 3 dimensional Intermediate Term Memory (ITM).
When this state is entered the associator attempts to take each element in the 2 dimensional STM and locate it as a branch off of existing 3 dimensional element in ITM. If an existing association cannot be made, a new node is created at the first available memory location where it will fit in. This is where Einstein's equation is utilized to chronologically create a new axis point. It should be noted that an association of new information may be possible utilizing this methodology that is actually located at an axis point off of a very early node. In essence this could make new information more readily accessible than older information. It also has the implications that some new information may be more difficult to digest since it is placed farther in memory. These associations may change during DREAM MODE.
Once the STM elements have been cleared, another associator begins its task of associating all 3 dimensional elements in ITM to the much larger 3 dimensional Long Term Memory (LTM) array. In a 3 dimensional memory array it is possible to have 26 junctions from any piece of information. Beyond 26, a new origination point must be constructed somewhere in chronological order in available memory. The purpose of maintaining a smaller ITM and a separate 3 dimensional LTM is to allow for more rapid associations during AWAKE MODE. A subtle side benefit of this configuration is that the SLEEP MODE associations may "enhance" ITM for quick recognition and retrieval of information when the next AWAKE MODE is begun. Processes remain in this mode until all of STM has been associated, and ITM has been fully associated with LTM.
DREAM MODE
During DREAM MODE the 3 dimensional memory array LTM is associated with an even larger 3 dimensional memory array known as archival memory (AM). AM continues to grow the entire time the program is executed. Mass storage devices are suitable locations for AM to reside. STM, ITM, and LTM have finite lengths, and for speed considerations should be located in Random Access Memory (RAM) or other suitable devices. The association process between LTM and AM is the same as the associations made between ITM and LTM. The difference being that AM contains the "oldest" and "least accessed" information. Since this information is old and has already been through numerous prior associations it is likely that the associations made have little or nothing to do with current information. ITM is updated/enhanced with information from LTM during SLEEP MODE. During DREAM MODE, LTM is updated/enhanced with information from AM.
DREAM MODE may also be entered when STM is void, and/or unable to fill with information after successive attempts, or when STM becomes stagnant.
The table below lists the functions performed by each module for a given state.
| MODE | MODULE | FUNCTION | PRIORITY |
| AWAKE | Accepter(s) | Maintains STM array - accepts as much input as possible (chronological order) | High |
| AWAKE | Associator(s) | Maintains ITM by attempting to associate STM elements | Medium |
| AWAKE | Inference Generator(s) | Attempts to update ITM with associations from LTM. Associated elements are added to LTM. | Low |
| SLEEP | Accepters(s) | Runs in interrupt state. No additions are made to STM. If interrupted AWAKE MODE is entered. | Idle |
| SLEEP | Associator(s) | Associates all elements in STM with ITM. Associates all elements of ITM with LTM. | High |
| SLEEP | Inference Generator(s) | Attempts to find new associations between ITM and LTM and updates ITM with newest associations. | Medium |
| DREAM | Accepters(s) | Runs in interrupt state. No additions are made to STM. If interrupted AWAKE MODE is entered. | Idle |
| DREAM | Associator(s) | Runs in interrupt state. If interrupted AWAKE MODE is entered. | Idle |
| DREAM | Inference Generator(s) | Associations of LTM and AM takes place. Duplicate information causes the information to be moved to a "closer" location in LTM. If the insertion of these newly associated elements overflows LTM, the overflow items are inserted at the beginning of AM forcing all older elements back. Upon completion or interruption, AWAKE MODE is entered. | High |
Inference Generation: Though it may seem intuitively obvious, inference generation is simply an association in reverse. This means the coding necessary for this entire system is EXTREMELY compact and just a few small modules is all that is needed.
This page has been accessed
times.