Iterative Dialectic Engine for Automated Learning
IDEAL handles three fundamental processes:
The selection and analysis of input data;
The comparison and refinement of stored data;
The comparison and refinement of IDEAL's own components.
The circumstances under which IDEAL switches between these three processes are determined by IDEAL itself. IDEAL never sleeps: in the absence of exogenous input data IDEAL occupies itself with the further comparison and refinement of stored data and its own components.
In the following description of these three processes the letters I, D, E, A, L refer to IDEAL's five components:
In the following, 'input data' refers to information received and relayed by E, while 'stored data' refers to information archived in L. Input data may be exogenous (e.g. sensory stimuli) or endogenous (i.e. retrieved from L and assigned to E by D). Stored data is endogenous only, sent to L by A. A 'dataset' is a subset of data selected by D from input data in E or from stored data in L.
Input data are received by E.
The arrival of these new data is alerted to D by E by means of a return code.
D initiates the analysis of the input data by sending paired commands to E (selecting an appropriate dataset from the input data) and to A (selecting an appropriate algorithm to analyse the dataset).
As instructed by D, A receives the dataset from E and analyses it, i.e. treats the data as input parameters to an algorithm that executes a sequence of computational operations.
A sends the results of the analysis to L for storage.
The completion of the analysis is alerted to D by A by means of a return code.
The completion of the storage of the results of the analysis is alerted to D by L by means of a return code.
At the end of this process control reverts to D, which may now initiate further analyses of different datasets (step iii), or it may initiate the comparison of the results of these or other analyses with other stored data (Process 2), or it may use the results of these or other analyses to refine IDEAL's own components (Process 3).
D sends a command to L effecting the retrieval of two sets of stored data that are to be compared with one another. One of these datasets will be assigned by D to E.
The completion of the data retrieval is alerted to D by L by means of a return code.
The completion of the data assignation is alerted to D by E by means of a return code.
D sends paired commands to E and L to send the two datasets to I.
I compares the two datasets with one another. This comparison might involve anything from a simple quantitative analysis (e.g. determining the greater of two numbers) to a complex qualitative assessment (e.g. detecting the similarities between two spatial patterns).
I sends the results of the comparison to D.
D may now refine one or the other of the datasets by assigning it to E and following Process 1 with appropriate commands to A. For example: the data comparison may have shown one of the datasets to be superfluous, in which case the output from A would be a null dataset; or the data comparison may have shown one of the datasets to be over-elaborate, in which case the output from A would be a simpler version of the original. In both cases the output from A would replace the original dataset in L.
At the end of this process control reverts to D, which may continue in the bilateral comparison of sets of stored data (step i), or it may use these or other stored data to refine IDEAL's own components (Process 3).
This process follows the same procedure as Process 2, with the qualifier that the two sets of stored data selected for comparison are descriptions of algorithms used by IDEAL. Fundamentally, each of IDEAL's five components comprises a set of algorithms for processing data. To be considered a 'universal' learning machine, IDEAL must be able to analyse and refine not only input data and stored data but also its own algorithms by which it processes these data in the first place. To do this, L must contain descriptions (e.g. source code) of all of the IDEAL algorithms, so that Process 2 may be brought to bear on these algorithms. Algorithm refinement is then a matter of making adjustments to these descriptions (Process 2, vii) and comparing their effects, all other things being equal. That is, algorithm refinement is seen as a process of bilateral comparison of algorithms, with the input data kept the same; just as data refinement is seen as a process of bilateral comparison of datasets, with the algorithms kept the same.
A logical extension and completion of this process would be to include in L the description of IDEAL itself, and to allow this description to be modified in the same way as any other algorithm. Clearly, there may well be circumstances in which IDEAL will cease to function as an automated learning engine, and it is more than likely that one of these circumstances will be the alteration of IDEAL's own description. The solution to this problem is to follow the example of nature and generate an ensemble of IDEAL systems that are able to mutate and evolve independently. No doubt, those systems that radically alter their own description will eliminate themselves from the reckoning.
The Reflector: "Very interesting... but What is IDEAL for?"
Click here to return to contents page
Copyright © Roger Kingdon 2004