On Computing Output

Bill Powers

This is a post sent to CSGnet on Feb. 22, 1997. It concerns the main alternative to the PCT model that seems to be the latest hot idea these days.


I'm afraid that the term "computing output" has become a code expression in PCT that threatens to substitute for thought. The PCT model, like any other model of behavior, "computes output." In a control system with an integrating output function, the computation is

output = k*integral(error signal).

So if one rejects any model of behavior that computes output, the PCT model must be rejected, too.

What this expression was originally meant to refer to was the concept that cognitive systems deduce, by reasoning backward from the desired effect, the neural signals necessary to produce that effect, after which the deduced signals are emitted. That is a _particular way_ of computing output.

What I have objected to is not the computation of output, but the particular way proposed for computing it. If you want an accurate term for this way, it would be "computing inverse kinematics and dynamics." But even that is a code expression, because far more than that must be done to compute the neural output signals required to produce a specific result.

Consider a familiar act like feeding a new pack of z-fold paper into your printer. You remove the cover, flip up the tractor-feed guides, place the end of the paper into the slots, and hold the paper there with one hand while slowly turning the platen knob until the tractor pegs engage the feed holes in the margins of the paper sheet. Then, flipping back the hold-down rollers and retracting the print head, you slowly turn the knob until the leading edge of the paper is just above the plane of the print head. Then you restore the various movable parts to their original positions and put the cover back on.

OK, that's the plan. Now, what neural signals should be emitted to which muscles to bring about the above-described perceived results? To figure this out, we must begin by measuring the relative humidity and the thickness of the paper, because these (among other factors) will determine how the paper reacts to forces applied to it. What we want is for the paper to be flat and aligned with the sprockets, and advanced so that when the sprocket is turned, the next pair of pegs will fall into the first set of holes in the paper margins. Holding the paper by one edge requires exerting a small torque that applies equal forward pressure on both sides of the paper without buckling it, while the other hand moves to the position of the platen knob and grasps it in an orientation that will permit turning it the right way. Since movements through space are required, the dynamics of the arm must be known, and their inverse must be obtained to deduce the forces needed to produce the required motions. Accomplishing just this much requires that certain sets of muscles go through many series of relaxations and contractions, coordinated with each other, which, when applied to the levers of the upper and lower arm and the finger segments, will produce the correct torques and grasping forces. And for each muscle, the neural signals needed to create those muscle contractions must be computed. I am actually skipping over a lot of details here. But assuming that all this has been done, the next action has to be to turn the platen knob by the right number of degrees to bring the paper up from under the platen, between the platen and the print head, and to the right level for printing the first line. Finally, the arms must move to position the hands next to the movable parts and levers, and the hands exert the forces needed to restore them to their original positions.

It is clearly absurd to think of deducing the neural signals required to create this complex result -- yet this result is among the simplest things we do. The problem is that IF ALL THESE CALCULATIONS COULD BE DONE BY THE BRAIN WITH THE NECESSARY ACCURACY, and IF THE CORRECT NEURAL SIGNALS COULD BE GENERATED WITH THE NECESSARY ACCURACY, this model would actually work! When it is applied to artificial systems using a digital computer with 18-decimal accuracy of computation, and employing precision machinery with constant properties, and for the purpose of achieving a very simple mechanical result, it can actually be demonstrated to behave as advertised.

Of course these elementary demonstrations come nowhere near approaching the complexity of the simplest human actions. The computations must be fed myriad facts about the properties of the environment and the motor equipment of the behaving system. And the environment must be carefully protected against disturbances that have not been taken into account in the computations.

THIS is what "computing output" is supposed to mean, and THIS is what is wrong with this concept.

People who propose this kind of model to explain behavior seem to lack the imagination needed to see what is actually entailed in any real application of it. Immense complexities are dismissed with a wave of the hand, if they are even noticed. Simple applications that produce simple results are taken to indicate that the same approach would work in any application of any degree of complexity -- notwithstanding the fact that even to accomplish the simple demonstrations, we must strain the capabilities of our best computing machines (and mathematicians). The brain, it is said, is so unimagineably more capable than even our best computers that such problems would be trivial for it. All this statement of faith does is change the spelling of "brain" to G-O-D.

There are plenty of complexities awaiting us in the future of PCT. We will have to face them honestly as they arise. But what we have now is a simple model that handles very well the complex problems involved in motor behavior, and even in certain visual-motor behavior, and it strains our capabilities so little that models of motor behavior have run on 10-megahertz 286 desktop computers in real time, even taking into account the kinematics and dynamics (_forward_) of a 3-df arm. The rest of the world may think that the way to do this is through "computing output" in the full sense described above, but if that's true, the rest of the world is wrong.


Bill P.