paraafPeter A. van der Helm Demo link

About Teaching Research Publications Presentations



Smart processing



Transparallel processing means that many items are processed simultaneously as if only one item were concerned (for a natural example, see Pencil selection). In computer science, this would be called a case of smart processing. That is, in computer science, one often is faced with problems that, at first glance, seem to require an amount of computing time that exceeds the time span of this universe. Smart processing then refers to algorithmic methods that enable a computer to solve such problems in a tractable amount of time. Our brain is not a computer, but it yet seems to do pretty smart processing. Ideas about smart processing are therefore relevant not only to computer science but also to cognitive science.

If, at first glance, a job seems to require an exponential number of computing steps, say in the order of 2N steps for an input of size N, then a smart process would typically be a process that requires only a polynomial number of steps, say in the order of N2 steps. In the case of transparallel processing, the processing of an exponential number of items is even reduced to the processing of only one item. In general, smart processing depends heavily on the way in which to-be-processed information is represented in a data structure, and also this aspect seems relevant to cognitive science.

Hence, smart processing has to do with specific forms of processing as allowed by specific data structures.


Forms of processing

In principle, the following forms of processing can be distinghuised:

subtotrans work versus time


Many real-life situations involve some hybrid combination of different forms of processing. For instance, at the checkout in a supermarket, the cashiers work in parallel, each cashier processes customers seriallly, and the customers process their carts subserially (i.e., the carts are presented one after the other, each cart by its own owner).

Just as parallel processing, also transparallel processing implies that items are processed simultaneously. However, whereas parallel processing needs many processors, transparallel processing needs only one processor. This distinction may be clarified further in computer terms as follows: Above, one may miss the notion of distributed processing but this notion actually belongs to the realm of data structures.


Data structures

In computer science, distributed processing usually means that a job is divided into subjobs that are delegated to a number of processors. These processors then may or may not work in parallel but more important is that (a) each processor processes only a part of the total information needed to complete the job, and (b) that the processors are linked to form a network that, as a whole, deals with the entire job. In other words, distributed processing actually stands for processing in a distributed representation of information. Our brain, being a network composed of many interconnected neurons (the "processors"), most probably does a lot of distributed processing.

Hence, in both computer science and cognitive science, the crucial point of distributed processing is the usage of a network that regulates an interaction between bits of information. Such a network can be implemented in various ways. First, the bits of information can be taken to be represented by either the nodes (localist approach, as in the World Wide Web) or the links (distributed approach, as in a road map). Second, the network can be taken to consist of either many interacting processors (one in each node) or just bits of information which one processor operates on (to regulate the interaction).

For instance, in the 1980s, parallel distributed processing (PDP) models became popular in cognitive science (first localist approaches, then distributed approaches). In theory, a PDP model models a cognitive process by an activation flow that spreads through the links in a hardwired network with nodes as parallel processors of incoming and outgoing activation. In practice, a PDP network is hardly ever really built but is usually simulated on a computer that operates on a software version of the network. The computer then of course has to do serially what is done in parallel in the hardwired network, that is, the computer actually performs serial distributed processing, but this does not alter the crucial processing principle of interacting bits of information.

In computer science, already since the 1950s, serial distributed processing has been quite common in smart algorithms. A classical example is Dijkstra's (1959) shortest path method (SPM). To select a shortest path from among an exponential number of paths, the SPM does not check every possible path separately, but it uses a distributed representation of the paths (as in a road map) in a computer algorithm that selects a shortest path in a polynomial number of steps. The SPM is also an example of a serial distributed processing method that can be translated into an otherwise equivalent method that performs parallel distributed processing in a hardwired network (see Slimy, Hilly, and Pixy).

Hence, the distinction between serial and parallel processing may be relevant for practical time purposes, but it neither affects information-processing principles nor the amount of work to be done. What does affect these things is the usage of distributed representations: it thrives on the processing principle of interacting bits of information and it typically implies a reduction from order 2N to order N2 in the number of subjobs to be done.


Transparallel processing by hyperstrings

The foregoing ideas about forms of processing and data structures converge in the idea of hyperstrings. A hyperstring is a distributed representation of up to 2N strings that can be searched for regularities as if only one string of length N were concerned. Thereby, hyperstrings allow for transparallel processing as defined above. This affects information-processing principles not only because hyperstrings are special distributed representations (see Hyperstrings) but also because transparallel processing is a form of processing that transcends the traditional distinction between serial and parallel processing (see Pencil selection).

Summarizing, in the number of subjobs to be done,
  • distributed processing as such typically implies a reduction from order 2N to order N2;
  • transparallel processing by hyperstrings implies a reduction from order 2N to order 1.

  • Furthermore, conventional PDP models usually start from a fixed network in which, beforehand, all possible outputs for all possible inputs are represented. In SIT, that is, in the context of human pattern encoding based on regularity extraction, however, hyperstrings are networks that are created on the fly to represent only a subset of all possible outputs for only the input at hand. This suggests, in cognitive science, that the more or less fixed neural network in the brain allows for flexible cognitive networks that change with changing input. This seems to agree with the finding, in neuroscience, of transient neural assemblies which signal their presence by synchronous firing of the neurons involved; perhaps, this synchronization is a manifestation of transparallel processing.

    For a formal account of hyperstrings, see Proceedings of the National Academy of Sciences USA 2004.