[From Bill Powers (2009.03.31.2022 MDT)]
> Exactly what other kind of solution were you looking for?
This is the kind of thing where the manager changes something "over here" and looks and waits for the result "over there." This involves changing something in the structure of the situation at one point (known as "the point of intervention" or PoI) and evaluating its effects at another point (known as "the point of evaluation" or PoE). PoI and PoE are somehow connected. A careful analysis of the structure of the situation (usefully viewed as a network of variables or elements and their relationships) can often reveal what Newell and Simon called "the solution path" (i.e., that set of linkages connecting what you can directly change with the places elsewhere where you want to see certain effects.
This approach is aimed at finding a systematic method of affecting and then controlling the distal variable. It is itself based on other systematic methods, such as statistical analysis or analyzing networks of partial differential equations (and I suppose, often, both). The "linkages" are ways in which one variable depends on other variables. If you succeed in doing this, then of course you don't need to reorganize; the control systems you already have are more efficient than reorganization can be, because they don't ever produce effects in the wrong direction.
I know how to do that kind of analysis and all I was trying to do was link it to the manager's behavior.
But if you could really do this, why would there be any problems left? Wondering about that leads me to ask if this method is really as cut-and-dried as you describe it. Do these analyses always work? Even without disturbances? Of course if there are unexpected disturbances, you can do the right thing at the PoI and get the wrong result at the PoE. But discounting that, which I'm sure you know all about, are these analyses always so thorough and correct that you can simply do them and mark the problem as solved? If so, you don't need any particular help from PCT.
So, in my book, PCT explains quite nicely the behavior of the manager. And, I think control theory in general provides a nice explanation of efforts to control or manage those distant results/effects. What has been missing is how to link "over here" with "over there." That's what I've been working on. How do you tie financial results to managerial actions? How do you link financial and operational results? How do you link and connect, behavioral effects, operational results, and financial results?
Are you saying that it's not quite as simple as just applying "operations research" or "system analysis" and solving the equations? If so, maybe there is still something PCT can contribute, particularly the principles of E. coli reorganization.
The usual engineering approach to problems of this sort is the kind you describe: you try to analyse the system and trace out all the causal paths from PoI to PoE. Each link is investigated and represented as an equation. When you have traced all the relevant paths, you stuff the equations into a computer that can solve N differential equations in N unknowns, where N can be a number in the tens, hundreds, or thousands, and that gives you the coefficient matrices that convert actions at the PoI into quantitative effects at the PoE. You may have to do some approximating to get equations that can be solved this way.
Unless, of course, it doesn't work at all, which it doesn't when you can't trace out all the important causal paths.
This is where reorganization comes in. A control system doesn't actually have to know HOW its actions cause changes in the variable it controls. All it has to know is what the distal effect of a given proximal action is. It alters its actions by watching the result, not by watching the actions. Let me describe briefly how PCT-style reorganization would be applied here.
If you have, say, 100 variables you can manipulate at the PoI, you vary them in some arbitrary way and watch to see what the effects are on the variables at the PoE that you're interested in. You don't bother with trying to trace out the causal pathways; if you could do that you wouldn't still be here looking for a solution.
Let's say you have a set of 100 weights that you use to determine how much effect your action (say, moving a mouse) is going to have on each of the 100 variables at the PoI. Over at the PoE, let's say you have one variable you're interested in. What you want to know is whether an action at the PoI causes an increase or a decrease in in that PoE variable (after some delay). If you knew that, you could just keep comparing that distal variable with a reference level and correct the error by a suitable change in your action. But the question is, how should your action be connected to the 100 system variables that you can effect right here where you are?
The E. coli reorganization method starts by picking 100 arbitrary numbers between -1 and 1. This is the main set of weights. There's a single action, like moving a mouse, that you can vary. The number representing the mouse position is multiplied by one of those weights and the result determines the value of one of those 100 proximal variables that you can affect. You do this for each of the 100 variables, so moving the mouse alters each variable by a different amount, some positive and some negative, according to the weights in the main array of numbers.
Now you try to control that distal variable. You pick some pattern of reference conditions, and vary the mouse position to try to make the distal variable vary so as to keep the error small. The reorganizing system keeps track of the error -- actually, the absolute value of the error. Only the amount of error matters; that's what you're trying to minimize. You would want to have a computer moving a virtual mouse, rather than doing it yourself. When I say "you" do something, I mean your computer does it.
Now I have to mention another set of 100 numbers, which we can call the "adjustment" numbers. These are very small numbers, also chosen at random but in the range of maybe -0.0001 to + 0.0001. Every time you change your action you measure the error, and you also add these adjustment numbers to the first set of 100 numbers, one adjustment number always going with the same member of the first set. So as you continue to control, the main set of weighting numbers is slowly changing. Since the same adjustment number is being added each time to its target number in the main array, we have the equivalent of E. coli swimming in a straight line, but in a 100-dimensional hyperspace.
As those main numbers slowly change, the degree of control of the distal variable slowly changes; the average absolute error signal in this control system is slowly changing (at first, of course, the error is very large). That change in the error signal is what the reorganizing system watches. If the error is getting smaller, the reorganizing system does nothing; the same adjustment numbers go on adding to their respective target numbers and E. coli goes on swimming in the same direction. But if the error starts to increase, E. coli "tumbles."
A tumble amounts to nothing more than generating a new set of the small adjustment numbers at random, between -0.0001 and + 0.0001. What this does is change the relative proportions by which the main weighting numbers are being increased or decreased as control continues. And that randomly changes the direction in which E. coli is swimming in hyperspace.
If the error is still increasing, another tumble takes place right away. If it's decreasing, the reorganizing system does nothing but add the same small positive and negative adjustements to the main set of numbers. So increasing error always causes a random change of direction, and decreasing error leaves the direction of change the same. You can see the inevitable result: zero error, or somewhere close to zero. All those numbers connecting the mouse movements to the 100 proximal variables approach the values that allow the best possible control of the distal variable.
One small added design feature is that as the error decreases, you accordingly decrease the amount of effect every adjustment number is having on its target number, so that as the error gets smaller the changes in the target numbers get smaller and smaller, becoming zero when the error is zero.
So you end up with the best pattern of changes in the proximal variables for controlling the distal variable. And you never know why that is the best pattern, because this method does not rely on analyzing the system at all.
You can actually do this with up to 100 distal variables -- that is, the same number of distal variables as the number of proximal variables at the PoI. It takes longer to do 100 at a time, but not too much longer. In the new book, I show this working with 14 control systems at the same time, each controlling a joint angle in an arm and hand, with the fingers moving together as in a mitten.
Here's the main point: this method achieves control of a variable without any knowledge of the linkages between the actions and the controlled variable. I kind of suspect that this is what you need -- I suspect that all those causal linkages are not quite as well known as your initial description seemed to be implying.
I am, of course, simplifying this approach considerably, because you have to have some basic pieces of the system in place before this can work. You have to find the right proximal variables, some of which might be rates of change or accelerations rather than just momentary values. But if you have some problems of this nature that are partially solved, you can use this method to improve the solution. In the arm model I referred to, the weights at the proximal end are all zero to start with so it really starts from scratch. If you have a partial solution, you don't have as far to go.
A note to Bruce Abbott. Wouldn't it be interesting to put a human being into the loop we use for E. coli demos? Let the computer vary the weights to make the tracking errors as small as possible. Could that work? Imagine a car that could reorganize itself so the driver had the best possible control of its speed and direction, adjusting itself for each of its drivers. With a fingerprint recognizer, the driver would automatically call up his parameters from the last time. And if the driver was drunk, the system would try to adapt to that, too, without nagging.
Best,
Bill P.