1. Philosophical Overview

The ability to think logically is what distinguishes man from all other animals. Plato believed that we all are born with something called a “rational soul”, or some essential property of all human beings that gave us the unique ability to think in logical and abstract ways. The result of possessing a rational soul, according to him, is the ability access some ‘higher plane’ of reality, which consists of so-called “forms”, or idealized representations of things by which our physical world and everything in it can be described, in terms of how well the physical objects conform to the ideal representations given by the forms. The duty of man is then to sculpt our physical world to better fit these forms, and thus move ourselves toward some “perfect” idealized state and effectively progressing humanity.

While this idea is now generally considered outdated, the ideas of later philosophers contain many elements originally put forth by Plato in his description of forms, and are generally based on a more psychological approach, taking into account the cognitive processes that give rise to the idealized representations with which our experiences can be framed. The influence of Plato seems evident in the work of Kant and his description of “schemata”, or generalized models of things defined by logical relations. According to Kant, our minds have an inherit understanding of time and space, which gives rise to a sort of “mathematical intuition” that can be used to comprehend our patterns of perception. We can apply this intuition to build schematic structures, and effectively “plug in” perceptual information into these structures to better understand our world in a logical, ration way.

Considering the philosophical background of these ideas, I will propose, outline, and describe a computer-scientific method in which an intelligent agent may utilize the process of “logical framing” to classify, organize, comprehend its experience in a rational way, utilizing its observations to learn about the environment and improve its ability to make generalizations, predictions, and decisions about the world.

2. Technical Introduction

Our description of logical framing as a process of rational comprehension of perceptual experience by an intelligent agent begins with the definition of “templates” and “objects”. Templates are similar to forms and schemata, and objects are similar to perceptual patterns. While both are network-like structures of data, they differ in both content and function.

The nodes of an object represent the elements or parts of some external thing, and the links represent the relations between elements. Elements are defined by “descriptive properties” that exist along any number of dimensions (e.g. spatial, temporal, etc.), and relations are defined by “distinctive properties” that exist along dimensions shared by each of the elements to which the relation is connected. Descriptive properties can be thought of as values (e.g. spatial position) and distinctive properties as differences between values (e.g. spatial distance).

The nodes of a template, however, are descriptive functions over an object’s elements, and the links are distinctive functions over an object’s relations. Descriptive functions take the value of a descriptive property of a given element as input, and a distinctive function takes the value of a distinctive property of a given relation, which may also be understood as taking the values of a descriptive property from two connected elements.

3. Classification Process

Descriptive and distinctive functions return some indication of truth, either in the form of a binary value (i.e. 1 or 0) or in the form of a probabilistic value (i.e. between 1 and 0). The truth value returned by a function determines how well a given element or set of elements fit the logical definition provided by the template. Therefore the sum of truth values returned by the descriptive and distinctive functions of a template provide a fitness measurement for a given object. In more philosophical terms, the total truth value determines the degree in which a given object “participates” in the “essence” of a template.

The degree of participation of a given object with respect to a particular template can be used to decide whether how a given object is classified. A high degree of participation indicates that a given object is likely to be an “instance” of a particular template, and thus whether it can be classified as said template. This classification process requires some method of mapping a given object to a particular template, which consists of selecting a valid set of elements whose topology fits that of a particular template, as well as whose descriptive and distinctive properties fit the descriptive and distinctive functions of that template (i.e. result in an adequately high truth value).

4. Mapping Process

The complexity of objects and templates can scale to theoretical infinity. This means that the mapping process which produces a valid classification for a given object cannot be performed by considering the entirety of an object or template all at once. Therefore the solution is to consider each piece of an object or template in isolation, by starting at a single node called the “current node” and taking only its neighbors into consideration. The neighboring nodes of the template are then individually “filled” by the neighboring elements of the object, where each time a valid element is selected for a specific node, the current node is moved to that which was filled. This results in a depth-first search for the optimal mapping between a given object and a particular template, which then provides a method of measuring the degree of participation for an object with respect to a template, and eventually allows the successful classification of an object given the total truth values for a set of templates and selecting the highest one as the best-known option.

Each time all the neighbors of the current node are successfully filled, the previous node becomes the current node once again and the remaining neighbors are filled. This process occurs until the neighbors of the initial node are successfully filled, resulting in the calculation of the degree of participation for the current mapping. For each neighbor of the current node at any given time throughout the mapping process, the set of potential elements is found by first computing the truth values for the descriptive function associated with the neighbor, given each possible element.

This allows the set of potential elements to be reduced such that only the elements which satisfy the descriptive function remain. Then, each remaining element is passed to the distinctive function associated with the link between the current node and the neighbor, along with the element filling the current node which was previously selected. The set of potential elements is again reduced to only those elements which satisfy both the descriptive as well as the distinctive functions associated with the neighbor. In the event that a potential element is chosen and then later proves invalid, it is simply removed from the set of potential elements and another is selected for that neighbor. Through trial and error, the best-known mapping between an object and a template can be found and the degree of participation may be calculated.

5. Object Construction

When an intelligent agent receives perceptual input, an object is constructed that represents the information observed. However, a filtering step must occur before this construction process. Visual perception, for instance, requires first an edge detection step that produces a space of black and white cells, where the edges are highlighted by white cells and everything else is black.

Once the edges are found, a set of “base templates” are applied to the space. Base templates are unique from other templates in that their topological properties are such that one node in the template is connected to all other nodes, and no other connections exist. This is called a star topology. The “central node”, or the node connected to all others, is assigned to the element of a given position in the space, and the neighborhood around that position fill the other nodes in the template. The descriptive functions of a base template are restricted, and may only denote the presence or absence of an edge. The distinctive functions are fixed and denote the horizontal and vertical differences between the positions of elements. The base templates are moved along the space to classify the edge-patterns of each subspace, since each base template can only consider a small array of cells at a time.

The result is another space containing the abstracted objects derived from the classification of subspaces. This new space is smaller than the previous, and the templates to which its subspaces are mapped do not conform to the strict topological constraints that those at the previous level must comply. While the templates at this level do have restrictions on size, their topologies can take on a variety of forms, and their functions may vary in both the contents on which they act as well as the specific type of calculations they perform.

6. Object Abstraction

Templates are learned through experience and observation of objects. Sets of observed objects are clustered according to shared properties, as well as equivalent values of said properties. By grouping together like objects, the functions of a template may be composed in order to best describe the commonalities between objects in a particular group.

Template development follows a certain logic to determine how the functions ought to be composed. By following a set of “development rules”, a template is constructed by analyzing a set of grouped objects and extracting the attributes that describe them. The first development rule indicates the process by objects are grouped together. It states that the likelihood of two objects, A and B, belonging to the same group corresponds to the ratio between the number of equivalent properties between A and B and the number of shared properties between A and B, and the ratio between the number of shared properties between A and B and the average total number of properties of A and B.

Note: a “shared property” between two objects is a property contained by both objects while not necessarily equaling the same value, while an “equivalent property” is a shared property that is equal to the same value in both objects.