Self-learning databases

Governments and businesses accumulate vast amounts of digital information which can no longer be effectively handled with conventional database technology. There is an urgent need for new techniques in data searching, mining and indexing.

The limitations of database technology can be traced to Shannon’s information theory, which treats data as quantities. Autosophy Information Theory, in contrast, treats data as addresses. The resulting “Autosopher” are self-learning multimedia databases which organize their own internal data storage without programming. The system acts like a “black box” educated similarly to a human child to organize its own internal operations. Data storage is hyperspace saturating and self-indexing. The more data already stored in the database the less additional memory space required to store additional data.

Autosopher databases have the following advantages:

Autosophy databases work best with large Content Addressable Memories (CAM). An ideal CAM would have storage capacities in the Terabit range, fast access, cheap and rugged construction, and low power consumption. The CAROM Content Addressable Read Only Memory, explained in a separate tutorial, has all those characteristics. Such memory modules could be implemented in complementary pairs to assure system reliability with cross-verification and repair. Giant multimedia databases could thus be built to virtually never fail.


Comparison: Data Processing Computers vs. Autosopher

Computers and Autosopher are based on entirely different concepts which lead to entirely different operations. Computers are sometimes called “electronic brains” but are really not at all like brains. Computers are calculating machines which can not learn or attain true intelligence. The most that can be expected is a simulation that (in accord with the Turing law) fools some people some of the time. Though computer hardware has evolved rapidly the basic operating principles have not changed since the 1920s and it is the basic principles that need to change to make any essential difference.

Data processing computers treat input-output data as “quantities” without any meaning. Data content is irrelevant. For example, a text processing computer counts characters and aligns them on a page, but the meaning of the characters is quite beyond its concern or understanding. The processor merely performs arithmetic operations like addition, subtraction, multiplication and division. Random bit patterns are treated the same as all blank characters or the works of Shakespeare. Data to be processed is stored in a data buffer, usually a Random Addressable Memory (RAM), which may need to be very large for multimedia databases. Data storage is linear and dependent on volume alone. For example, a file of one million text characters requires 1 Megabyte of storage. Where an item is stored is computed by the processor and implemented in a data address counter. Operations are defined by stored program instructions, usually executed in a serial sequence controlled by an instruction address counter. Programs are written by human programmers and loaded into the instruction memory. Other than loading the program the computer can not add or delete any instruction. Computer viruses are an exception that can invade programs and destroy normal operations. Computer operations are generally very fragile and unreliable. A single error in the data or instruction can lead to a program crash producing totally unpredictable output. Such blind calculating machines can not hope to evolve towards true intelligence.
 

Autosophy data networks grow like crystals or trees in electronic memories. Autosophy learning and information theories give rise to simple algorithms which can be embedded in hardware, with no separate processors or programming required. Once set up there is no further need for human supervision of internal operations. Input data defines its own storage locations. Data is stored in the memory as “addresses” or pointers which point to other addresses in the data structure. Such self-assembling data structures are known as “omni dimensional networks.”

Eight omni dimensional network types are currently known. Each provides a different “learning” mode. Simple input networks (such as the serial, parallel and associative networks) convert input data into single address codes which are then applied to higher learning networks. Output information is returned from the higher learning networks as address codes, which are then expanded into complex data patterns by the lower-level input networks. For example, a single address code from a higher learning network can generate a whole text file, a spoken answer to a spoken question, or an entire image or video sequence.

A first generation Autosopher has been built and is ready for demonstration. The demonstration includes several “learning” functions, database examples, and a display of the internal learning processes. Information (currently text and conceptually sound, graphics and live video) is automatically absorbed and then retrieved by simply requesting it (currently through a keyboard and conceptually by voice input). Storage and retrieval of sound, images, and video is under development.

Operational characteristics: Computers vs. Autosopher

Computer and Autosopher have entirely different operating characteristics. While a computer uses programming and arithmetic to combine data patterns, an Autosopher learns the data pattern in a way very similar to our own brain. Many problems associated with programmed data processing computers simply do not occur with Autosopher. Autosopher may enable applications that are difficult or even impossible with programmed data processing computers. The advantages of the Autosopher over the computer actually increase with system size. The larger the system the greater the superiority of the Autosopher. Giant databases of the future, storing millions of images or text records, may not be practical without the development of the Autosopher.
 
 Characteristics  Computer  Autosopher
 Information theory:   Shannon  Autosophy
 All data is treated as:  Quantities  Addresses
 The data is used in:  Arithmetic  Learning
 Communication involves:  Binary Digits (Bits)  Address tokens (Tips)
 Data storage is:  Linear  Hyperspace saturating
 Purpose of the information:  Remove uncertainty  Create knowledge
 Best memory devices:  RAM  CAM or CAROM
 Software is generated by:  Programming  Education
 The scientific method uses:  Equations  Algorithms

Programming vs. education

A computer database must be pre-programmed for every anticipated operation. Problems are solved by procedures or calculations, rather than by knowledge and experience as in human problem solving. Computer database systems require complex operating systems and programming with millions of instructions. The more complex the system becomes, the more complex the programming. An Autosopher, in contrast, is essentially a “black box” containing a large memory which organizes its own internal data storage. The data determines its own storage locations. Once the simple learning algorithms have been set up there is no further need for human programming. Programming is replaced by “education” similar to the education of children. Because an Autosopher organizes its own learning operations it may become much smarter than its human teachers.
 
Linear vs. hyperspace data storage
Data storage in a computer is linear and determined by the bits and bytes in the data record. A one million character text file, for example, requires 1 Mbyte of storage. In an Autosopher, though, information is stored in hyperspace nodes that result in a saturating storage requirement. Every symbol or data pattern is stored only once as one can not learn what one already knows. Previously stored data is used to compress all further information input. The more data already stored, the less additional storage space required to store additional data records. So the larger the system becomes the more efficient the data storage and the higher the compression ratios. Using a Content Addressable Memory, data storage is distributed throughout the memory device in a way similar to holographic storage.

Image communications are similarly compressed. Conventional television involves the constant re-transmission of virtually identical images. The system is unable to know what is shown on the screen or what parts of it are new and interesting. In contrast, Autosophy television transmits only novelty and movement, resulting in orders of magnitude lower bit rates.

Reliability profiles, resistance to hardware failures

In a data processing computer any single error in the memory or false instruction execution due to noise can cause a program crash and lead to entirely unpredictable operations. As shown below, the reliability profile resembles a long chain. Any single point failure breaks the chain and causes a system break down. Even a single transistor or chip failure can cause a whole system to fail. A computer then remains defective until it is re-loaded or repaired. Reliability of a computer system is calculated as the Mean Time Between Failures (MTBF) by making a list of all the system components and adding the relative reliability of each component according to a complex formula. The larger the system, the more components are required and the higher the likelihood that one of the components will fail. The overall reliability of a system therefore decreases with system size and very large systems become very unreliable.

In contrast, the reliability profile of an Autosopher resembles that of a living tree. Cutting branches will do damage and the tree will be smaller than it was before. However, the tree can keep functioning even after heavy pruning or extensive damage. It even repairs itself by growing other branches into the gaps to repair its canopy. Though a larger tree may encounter more damage than a smaller tree it will repair itself in the same manner. Essentially, then, a very large tree is just as reliable as a small tree and system reliability does not decrease with system size.

Similarly, memory errors in an electronic Autosopher cause only localized “forgetting” while most data records are preserved. An Autosopher can remain operational even with numerous memory errors and repair itself by automatically re-learning the information in other memory regions. An Autosopher system consists almost entirely of memory with only negligible peripheral functions. As explained later, the new DECAM memory has additional facilities for automatic self-repair and self-healing. An Autosopher will thus be orders of magnitude more reliable than a data processing computer. And, unlike a computer, an Autosopher can not be infected by a virus.

Operational speed

Operational speed, in instructions per second, is of primary importance in a computer because all instructions must be executed in sequence. The faster the execution the more that can be accomplished. Access times for computer databases are determined by computer speed and the size of the database. The larger the database, the more memory that needs to be searched and the slower the access time. Operating speed in an Autosopher is much less of an issue because memory searches are done in parallel using Content Addressable Memories (CAM). Search access time to any data record is virtually independent of database size. Even a gigantic database could be searched as fast as a smaller database in just a few microseconds.
 
Communication methods and data formats
Because humans and computers communicate in fundamentally different ways, any interface between them requires artificial access protocols. Operating a computer database therefore requires extensive training. And evolution in technology is difficult because information must be stored in fixed formats subject to obsolescence. Data can be shared in distributed databases only if all use compatible formats. In contrast, Autosopher communicate essentially like human beings with grammatical language questions and answers. Voice input and output is a natural extension. Operators need little training. Data is stored in a universal format which will not become obsolete with changes in hardware. Information from any Autosopher may be automatically merged into larger databases without duplicating any information.
 
Storing text data in mathematical hyperspace

Serial Autosophy networks are used primarily to store text data in hyperspace nodes. Other serial sequences (such as voice data, spiral-scanned pixel patterns and genetic codes) may also be stored. A serial input string comes to be represented by a single tip code. The tip code is then applied to higher learning networks. Output tip codes generated by the higher learning networks are used to retrieve serial strings from the hyperspace library.

Text is a good example of a serial code progression. Lower level serial strings are combined into higher and higher level strings. Each string is terminated by an “end of sequence” code. For example, in text data:

Lower level strings are combined into higher and higher level strings in the same manner at every level. Therefore hardware and algorithms can be shared at all levels with lower and higher level networks interleaved in the same storage device.

The serial network above creates true mathematical knowledge in a hyperspace library. Each node or branch represents a new “engram” of knowledge. An engram is created by the input of a new data item (a GATE or ASCII character in this example) related to established knowledge (by a POINTER) to create a new node (ADDRESS) as an extension of that which is already known. The process can be compared to the growing of data crystals or trees in electronic memories. Each stored data pattern or trail is unique because one can not learn what one already knows.

A serial network grows from a pre-assigned SEED node. Because several network levels may be stored in the same memory device, a separate SEED address is reserved for each network level. Each input word selects or creates a trail through the network. A trail ends when the “end of sequence” is recognized. The node address at the “tip” of each branch represents the text word as a tip code for further learning. If a text word is already stored the algorithm merely follows the tree branches to the final tip address. If a text word is entered for the first time the algorithm creates new nodes and branches until the word has been learned.

SERIAL NETWORK LEARNING ROUTINE

MATRIX:     [ GATE ] POINTER ]
Start:         Set POINTER = SEED (= 0).
Loop:        Move the next input character into the GATE.
                 If the GATE is an “end of sequence” (an ASCII space) then
                        use the POINTER as an output tip code; Goto Start.
                 Else search the library memory for a matching MATRIX.
                 If a matching MATRIX is found then move the ADDRESS where it was found
                        to the POINTER; Goto Loop.
                 Else, if a matching MATRIX is not found, then:
                        store the present MATRIX into a next empty memory ADDRESS;
                        Move the memory ADDRESS where it was stored to the POINTER;
                        Goto Loop.
 
The original data string can be fully retrieved from the tip code. Starting from the tip ADDRESS the routine follows the POINTER trail back to the SEED node. Because the data characters are retrieved in reverse order, a First-In-Last-Out (FILO) stack is required to reverse the data sequence.
 
SERIAL NETWORK RETRIEVAL ROUTINE
MATRIX:     [ GATE ] POINTER ]
Start:          Move the input tip code to the POINTER.
Loop:         Use the POINTER as a library ADDRESS to fetch a new MATRIX.
                  Push the new GATE into a First-In-Last-Out (FILO) stack.
                  If the new POINTER = SEED (= 0) then
                        pull the output data from the FILO stack; Goto Start.
                  Else Goto Loop.

Using the same basic algorithm the entire input message is converted into a single tip output code via a chain of different level networks. All levels can share the same memory if a different seed address is assigned for each level. The tip output codes generated by lower level networks are stored in buffers before being encoded into higher level tip codes. The final tip code can represent a text sentence of any length or even whole paragraphs or sections. It is then used in higher level learning networks, such as the associative network. “Question” input sentences may be edited to remove superfluous spaces and returns or convert to all lower case ASCII characters. Such editing is not permitted for “answer” sentences.

The higher learning networks output a tip code which can then be retrieved level by level until re-converted into text. A question input can thus output an answer.

Summary

Serial networks convert text messages into tip codes. Tip codes are applied to higher learning functions. Higher learning functions determine output of previously stored messages. Each word or sentence is stored only once. The same input always generates the same output. Previously stored text is used to compress subsequent text input. The more text already stored the fewer new nodes that need to be stored and the higher the compression ratios. Saturating storage leads to enormous data compression, more especially the larger the database. Text selects its own storage locations. Once the system has been set up there is no need for human supervision.
 
Storing images in mathematical hyperspace

Parallel Autosophy networks store still or video images in mathematical hyperspace. Storage space is no longer determined by image size and resolution (as in the Shannon theory) but rather by how many images are already stored. Any image fragment or pixel pattern of any size is stored only once, with a saturating storage requirement. The more images already stored the less additional memory space required to store additional images. That provides a high degree of lossless image compression, the more so the larger the database, without any image distortion or loss of resolution.

Parallel networks convert input images into “tip” address codes while storing the image “information” in hyperspace library nodes. A hyperspace node can represent an image fragment of any size, from pixel pairs to entire images. Each image fragment is learned only once. The entire input image comes to be represented by a “tip” code which is then applied to higher level networks. Tip codes are also used to retrieve the original images from the hyperspace library. Each tip can retrieve an image frame of any arbitrarily large size. For best performance the hyperspace library should be a large Content Addressable Memory such as the CAROM or DECAM.
 
Input images come from file or television cameras to be converted into hyperspace nodes for storage in the library. Any already stored pixel pattern is recognized and its code reused every time the pattern appears. The number of hyperspace nodes generated by an input image depends on the “novelty” it contains. Random noise images generate a huge number of nodes. Images identical to stored images do not generate any new nodes. Each image frame generates a single output tip code; color images generate three color codes (red - green - blue) one for each frame. Moving video sequences generate a string of tip codes, one for each image frame or three per color frame. Output tip codes are sent to higher level networks for further learning.
 
Higher level networks return the tip codes to the parallel networks, which then re-assemble output image frames from the hyperspace library. Output images will not reveal any distortion or loss of resolution. A DECAM memory library can be searched for a specific pixel pattern in real time for video recording and playback. Search time is independent of the library size, the same for a huge library containing millions of images as for a much smaller database.
 

The hardware system includes an Image Buffer containing the brightness values for each pixel in the input image. Each pixel location is assigned a separate Node Address. For color images each color (red - green - blue) has a separate Image Buffer. The Image Buffer includes additional locations to store intermediate tip code values. Each higher level node buffer contains half as many address locations as the next lower level buffer. The total number of Node Address locations in the Image Buffer is twice the number of pixels on the screen.

A very large Image Library stores input images in a highly saturating hyperspace mode. The library memory would ideally be a DECAM, as described later.

Starting from the input image in the Image Buffer, the image is divided into node pairs according to a patented algorithm (Patent 5,113,505). The algorithm computes the Node Addresses of a Left - Right node pair and the associated next higher level node. The input image is thus divided into a multi-level pyramid structure. Each higher level has exactly half as many nodes as the previous level. The pyramid may be expanded to encode images of any size. The encoding process starts by combining a pair of pixel brightness values in the Image Buffer into a Library Address code, which is then stored in the next higher level node address. The same routine is applied to every node pair in the pyramid until the final tip code is stored in the highest level node. That tip code faithfully represents the input image and is used to retrieve it from the hyperspace library. Identical images yield the same output tip code.

PARALLEL NETWORK ENCODING ALGORITHM

MATRIX    [ LEFT TIP [ RIGHT TIP ]
Loop:       Compute the NODE ADDRESS of the next LEFT TIP node.
                Move the content of the node to the MATRIX - LEFT TIP.
                Compute the NODE ADDRESS of the associated RIGHT TIP node.
                Move the content of the node to the MATRIX - RIGHT TIP.
                Compute the NODE ADDRESS of the associated next HIGH level node
                Search the IMAGE LIBRARY for a matching MATRIX.
                If a matching MATRIX is found then move the LIBRARY ADDRESS
                        where it was found to the HIGH level node buffer. Goto Loop.
                Else if not found then store the MATRIX in a next empty LIBRARY ADDRESS
                        Move the LIBRARY ADDRESS where it was stored to the
                        HIGH level node buffer. Goto Loop.
 
Image retrieval from the hyperspace library starts from the tip code in the highest level node. Each tip code in a higher level node is used as a Library Address to fetch two lower level Left-Right tip codes, which are then stored in the two next lower level node addresses. The node addresses of the higher level node and the two associated lower level nodes are again computed with the same patented algorithm. Eventually the entire input image is restored in the Image Buffer. Image retrieval is complete when the pixel brightness values are fully restored in the lowest Level 0 nodes.
 
PARALLEL NETWORK RETRIEVAL ALGORITHM
MATRIX     [ LEFT TIP [ RIGHT TIP ]
Loop:         Compute the NODE ADDRESS of the next HIGH level node.
                  Use the content of the HIGH level node as LIBRARY ADDRESS to
                        fetch a MATRIX from the IMAGE LIBRARY.
                  Compute the NODE ADDRESS of the associated LEFT TIP buffer node.
                  Store the MATRIX - LEFT TIP into the LEFT TIP buffer node.
                  Compute the NODE ADDRESS of the associated RIGHT TIP buffer node.
                  Store the MATRIX - RIGHT TIP into the RIGHT TIP buffer node.
                  Goto Loop.
 
Moving video is stored in the database by converting each image frame into a separate tip code. The tip codes are accumulated in long strings (in serial networks, for example). Video playback outputs the strings of tip codes, with each code retrieving an entire image frame from the hyperspace library.
 

The process can be greatly improved by storing “motion” only. That requires a separate Image Buffer holding the current image frame. The following image is compared pixel by pixel with the current image to distinguish the pixels whose brightness has changed. The new pixel brightness values replace those in the current Image Buffer. The changing portions are then encoded into smaller pyramids, each identified with a separate tip code. The smaller motion pyramids are assembled from previously stored fragments and do not require an increase in the number of nodes in the library. In this way only the first image is stored in its entirety in the hyperspace library. Subsequent motion in the following image frames is selectively updated with smaller pyramid codes. Each motion pyramid code contains a library tip address code and a location code which shows where in the frame the motion has occurred. Each motion pyramid code can represent any-sized portion of the image or any number of pixels.

Summary

Parallel networks convert input images of any size into single output tip codes. Input of the same image will always yield the same output tip code. Image information is stored in a hyperspace library. The more images already stored the less additional memory space required to store additional images. Tip codes lead to the retrieval of images from the library without any distortion or loss of resolution. The basic method can be used for both still images and live video. A DECAM memory allows storage and retrieval of real time television. Autosophy image databases are self-organizing with an orders of magnitude increase in storage capacities.
 
Connecting information in mathematical hyperspace

The associative network is the most primitive of the higher level networks. It makes simple database associations, such as an input question with a pre-learned answer, or an image with descriptive text. Higher learning networks are being developed to provide much more intelligent operations. Higher level networks include:

ASSOCIATIVE NETWORK ROUTINE

MATRIX:     [ QUESTION ] ANSWER ]
Start:        Wait for the input of a tip code.
                If the tip is a QUESTION then move the code into QUESTION.
                Else put input code into ANSWER.
                Search the library to find a matching QUESTION.
                If a matching QUESTION is found then:
                        If the input tip was a QUESTION the retrieve the output ANSWER
                                from the associated ANSWER tip code; Goto Start.
                        Else, if the input tip was an answer, then store the MATRIX in the library
                                ADDRESS where the QUESTION was found (correcting data);
                                Goto Start.
                Else if the QUESTION is not found then:
                            If tip was a QUESTION then output “I DON’T KNOW”; Goto Start.
                            Else store the MATRIX in a next empty library ADDRESS; Goto Start
 
The user first enters a question sentence of any length. If the answer to the question is known it will be retrieved. Otherwise, the Autosopher responds with “I DON’T KNOW.” The user may then enter an answer sentence which is automatically learned and available the next time that question is entered. The user can correct information by entering a new answer or tell the Autosopher to forget old data by erasing the associative node. Once the simple learning routines are set up then no more programming is required. Apart from keyboard, camera or microphone input the operator has no control of the internal operations of the Autosopher. The system behaves like a “black box” organizing its own internal data storage.
 
The above example shows how to associate text questions with text answers in a database. The same method can be used to associate text with images or video. For example, a text request for an image would result in retrieval of that image or video sequence. Showing an image to a television camera outputs descriptive text of the image if it is recognized by the parallel network.
 
The associative network can be used to produce “knowledge dump” files to be merged with other Autosopher databases. For example, mobile learning databases could communicate with a central master database and combine all their stored knowledge. No information is ever duplicated in the database merging process. New information is automatically added to the database. Already stored information is recognized and filtered out. Knowledge dump files are also useful for database back-up.

The mergeable knowledge dump is generated by converting the “question” tip code in the associative node into the original input data using the serial or parallel networks. The question data is then marked with a “question mark” (?). The same procedure is performed with the “answer” tip code in the associative node. The answer data is marked with an “exclamation mark” (!). The expanded data is then communicated to the master database or stored on disc. Feeding the knowledge dump files into the master database is similar to the original database education process.

Summary

The associative network ties other networks together into an elementary database system. Tip codes from serial and parallel networks are connected to retrieve or store associated information in the database. A question input outputs pre-learned information. New information is easily added and old information easily updated. More advanced learning networks are being developed that may evolve into true Artificial Intelligence. Knowledge from many separate databases can be merged so that no information is ever duplicated.
 
Ensuring reliability of self-learning databases

Autosophy databases must be extremely reliable. The final objective is a system that never distorts information. It may be inevitable in case of extreme hardware failures that a database “forgets” information, but it should never output any wrong information.

Extreme reliability is crucial. Government agencies and private corporations maintain huge multimedia databases essential for their very survival. Protecting the information requires routine back-up, virus scanning and disaster recovery procedures. The databases must also be massively scaleable for future growth and evolving technology. For mission critical applications system reliability is more important than cost.

Autosopher databases are inherently resistant to many of the problems that plague computer databases. Autosopher databases contain no stored programs and so can not be infected by viruses. (Error recovery routines may be implemented in a microprocessor, but its programming is embedded in hardware and therefore safely inaccessible by communication channels.) Autosophy data and image compression methods not only speed up communications but provide encryption libraries that allow database systems to communicate securely even via public networks.

The reliability of an Autosopher database comes from both internal hardware protection systems and software procedures. The following analysis assumes that a CAROM (described in a separate tutorial) is used for information storage. CAROM provide storage capacities in the Terabit range at very low cost with extensive facilities for automatic self-verification and self-repair.

The Content Addressable Read Only Memory (CAROM) is unlike any conventional memory in that both the address and the data are programmable from the outside. In conventional Random Addressable Memory (RAM) the address decoder is implemented on the chip to provide separate memory locations, each being selected by an input address. In the new CAROM the address is programmed from the outside for each storage location so that a particular memory location may be in any portion of the memory. That allows memory locations to be assigned automatically, according to the Autosophy learning algorithms, by the internal control chip. Each location address can also be erased and relocated to other sections of the memory. The CAROM is therefore usable both as a Content Addressable Memory (CAM) and a Random Addressable Memory (RAM). Memory locations are normally filled with data, by the learning algorithms, starting from the bottom of the memory and proceeding to the top. All network types (such as serial, parallel and associative) are interleaved in the same storage device.

The input to the CAROM is a CAROM ADDRESS, which is divided into a network number (NET #) and an ADDRESS. The network number identifies the type of network, such as serial, parallel or associative. All the nodes of all network types are mixed together in the same memory device, but kept separate by the network number. The ADDRESS may be divided into sections, such as the GATE and POINTER in the serial network.

The output from the CAROM consists of DATA and check-sum codes for error detection. The DATA may consist of many bits and be divided into sections, such as the GATE and POINTER in the serial network. The address check-sum A-SUM is a data pattern generated automatically from the input ADDRESS during storage and compared with a pattern generated by the input ADDRESS in associative read out. If the two patterns match then the output data is retrieved from the correct memory location. If the patterns do not match then an error has occurred in the memory and self-correction is automatically triggered. The check-sum pattern may be the Hamming code, already used in large memory systems, which can positively detect any memory error. An identical D-SUM is generated and stored to detect errors in the DATA output words. Additional data integrity checks may be performed depending on the network type. In the serial and parallel networks, for example, the POINTER and RIGHT TIP - LEFT TIP codes must always be numerically smaller then the node ADDRESS in which they are stored. Any detected error triggers automatic self-healing.

Data checking and self-healing facilities are implemented in an internal chip, for example, a simple microprocessor. The chip also assigns and keeps track of the NEXT EMPTY storage location in which new learning nodes are stored. Since the chip is part of the internal hardware it can not be tampered with or invaded by viruses.

To ensure absolute reliability of large multimedia databases the memory is divided into two identical but independent units. The input ADDRESS and the output DATA are swapped between the two memory units. One of the memory units will provide fast pattern encoding and the other fast pattern output retrieval. During both pattern encoding and retrieval the complementary memory unit checks the data from the other in order to detect any possible memory errors and trigger automatic on-the-spot repair.

A Dual Entry Content Addressable Memory (DECAM) functions somewhat like a double entry ledger in accounting. Each of the memory units stores the same “information” but from a different perspective. The information in each is used to check the integrity of the other. In case of error, the unit containing the correct data restores the data in the defective memory unit. In the worst case, if one of the memory units is totally destroyed, it can be replaced by an empty unit and automatically regenerated from the intact memory unit. Similarly, one of the memory units can be removed and kept as a back-up. Using DECAM storage Autosopher databases can even be made to self-duplicate or procreate.

Summary
Self-learning databases absorb enormous amounts of data without conventional programming. Such Autosophy databases are a compelling alternative to conventional computer databases and further evolution may even lead towards true Artificial Intelligence. Implemented with CAROM and DECAM memories the databases will be virtually infallible and never distort output information. Despite greatly superior operating characteristics, Autosophy databases may be much cheaper to build and maintain than conventional computer databases.