Context-Dependent Thinning 16
Let us consider representation of various kinds of structured data by binary sparse codevectors of fixed
dimensionality. In the examples below, the items of the base level for a given expression. In its turn, they
may, in their turn, represent complex structured data.
8.1. Transformation of symbolic bracketed expressions into representations by codevectors
Performing the CDT procedure can be viewed as analog of introducing brackets into symbolic
descriptions. As mentioned in section 5, the CDT procedures with different thinning configurations are
denoted by different labels at the opening thinning bracket: '( ), 2( ), 3( ), ∖ ), 5( ), etc.
Therefore in order to represent a complex symbolic structure by a distributed binary codevector,
one should
- map each symbol of the base-level item to the corresponding binary sparse codevector of fixed
dimensionality;
- replace conventional brackets in symbolic bracketed representation by "thinning" ones. Each
compositional level has its own label of thinning brackets, that is, thinning configuration;
- superimpose the codevectors inside the thinning brackets of the deepest nesting level by elementwise
disjunction;
- perform the CDT procedure on superimposed codevectors using the configuration of thinning
corresponding to particular "thinning" label;
- superimpose the resulting thinned vectors inside the thinning brackets of the next nesting level;
- perform the CDT procedure on superimposed codevectors using appropriate thinning configuration of
that nesting level;
- repeat the two previous steps until the whole structure is encoded.
8.2. Representation of ordered items
For many propositions, the order of arguments is essential. To represent the order of items encoded by
the codevectors, binding with appropriate roles is usually used.
One approach is to use explicit binding of role codevectors (agent-object, antecedent-
consequent, or just ordinal number) with the item (filler) codevector. This binding can be realized by an
auto- or hetero-CDT procedure (Rachkovskij, 1990b). The item a which is #3 may be represented as (a ∨
n3) or (a)n3, where n3 is the codevector of the “third place” role.
Another approach is to use implicit binding by providing different locations for different
positions of an item in a proposition. To preserve fixed dimensionality of codevectors, it was proposed
to encode different positions by the specific shifts of codevectors (Kussul & Baidyk, 1993). (Reversible
permutations can be also used). For our example, we have a shifted by the number n3 of 1-bit shifts
corresponding to the “third place” of an item.
These and other techniques to represent the order of items have their pros and cons. Thus a
specific technique should be chosen depending on the application. So we will not consider details here.
It is important that such techniques exist, and we will denote the codevector of item a at the n-th place
simply by a_n.
Let us note that generally the modification of an item codevector to encode its ordinal number
should be different for different nesting levels. It is analogous to having its own thinning configuration at
each level of nesting. Therefore a and b should be modified in the same manner in 1(...a_n...) and
1(...b_n...), but a should generally be modified differently in 2(...a_n...).
8.3. Examples
8.3.1. Role-filler structure
Representations of structures or propositions by the role-filler scheme are widely used (Smolensky,
1990; Pollack, 1990; Plate, 1991, 1995; Kanerva, 1996; Sperduti, 1994). Let us consider the relational
instance