Modeling concrete examples 2

The same day (2003.05.25) I invited
all of you to visit my Web and look in my Workshop. I felt honored
when I got a link from CSG to my site with exciting PC words and
concepts, but I was disappointed when nobody sent me some words
about my workshop.
[From Bill Powers (2003.11.12.0622 MST)]
Bjorn Simonsen(2003.11.11;15:55EuSt)

···


Yes, that’s been on my mind, but I literally didn’t know what to say
about the model you were proposing. It seemed to me that the perceptual
input functions were the same at every level, so even though you were
calling the variables by different names, they were still just sums of
lower variables. Or not even sums – copies. Now why couldn’t I have
figured out how to say that simple thing months ago?
As near as I can tell, even the highest level of your model perceives the
state of the lowest level variables such as foot pressure. In the PCT
model, higher-level perceptions are functions of perceptions at lower
levels, so higher systems know about the environment only through
receiving perceptual signals from lower systems, normally the next lower
systems. B ut they dojn’t jnust pass them upward: each level of
perception is a different function of signals at lower
orders, not just a copy. Also, higher systems are supposed to act only by
adjusting the reference signals at the next lower level. They don’t know
anything about muscle tensions as yours seem to do.
In fact, I really can’t see how the control systems in your model are
supposed to work. The output at the highest level is the error signal
times 1000 times 0.001, or times 1. There doesn’t seem to be any
integration, so the so-called slowing factor is just a multiplier. The
reference signal at the next lower level is simply this output. The
perceptual signal at each level, if not imagined, is equal to the
perceptual signal at the next lower level.
So, Bjorn, I think you have taken too large a bite of this apple by
trying to construct a model with six levels in it. I would recommend
starting simple and learning how simple control systems work in
environments having simple properties. Once you have a successful model
of a control system that controls one physical variable, like the
temperature of a room, you can look at modeling multidimensional control
systems, and perhaps try a two-level control system. There just isn’t any
short-cut to understanding.
Your ambition of modeling standing up on a ship is a good aim, but this
is a far more complex problem than you have recognized. For one thing,
you need to be able to model the behavior of an upright mass on a
platform that is moving underneath it. That calls for advanced knowledge
of physical mechanics. In a real model, you can’t just say that
the person responds to an error by standing upright. You have to show how
the control systems sense deviations from upright, and how the errors
produce output forces that act on the mass of the body to accelerate it
closer to the upright position. The physical mechanics comes into the
model as a statement of how body velocity and orientation change as the
forces on the body change. Then, given the equations describing each part
of this system, you have to let the model run, sensing errors, converting
them into forces, letting the forces accelerate the masses of the body,
and computing the resulting velocities and positions over and over, 100
or 1000 times per second. You model doesn’t seem to be this kind of model
at all. In fact my copy of your latest .xls file stops on an error, so
the model doesn’t actually run at all.

I remember now why I never commented on your first post about your web
page. I didn’t want to be the Bad Guy and say things like this about your
model. But since your feelings will be hurt whether I speak or not, I
guess I just have to speak the truth as I see it and let you handle your
own suffering!

Best,

Bill P.

Re: Modeling concrete examples 2
[Bjorn Simonsen(2003.11.13;12:50 EuSt)]

[From Bill Powers (2003.11.12.0622 MST)]

Thank you for your answer Bill. Such comments from you are to great help for me. I have analyzed your appendix in B:CP, I struggle to get your articles in Byte1979 and I try to analyze your main calculations for the arm model. But unacquainted with Pascal as I am, I have great problems. I think I have learned from Rick’s hier.exl.

Let me pull out your last passage first:

    <I remember now why I never commented on your first post about your web page. I didn't want to

    <be the Bad Guy and say things like this about your model. But since your feelings will be hurt whether

    <I speak or not, I guess I just have to speak the truth as I see it and let you handle your own suffering!>

I understand how you think and I have till now imagined that reason I didn’t hear from you.(I think Rick has thought as you,) But you delayed your comments on false premises. I know I have very much to learn before I can make a very simple simulation. And your answer didn’t provoke any personal suffering. How can professional comments provoke bad feelings? When I get professional comments I am a) thankful, b) uninterested or I c) put them aside because it is well-known.

This time I am thankful. Thank you.

    <Yes, that's been on my mind, but I literally didn't know what to say about the model you were proposing. It seemed to  me that the perceptual input functions were the same at every level, so even though you were calling the variables by   different names, they were still just sums of lower variables. Or not even sums -- copies. Now why couldn't I have      figured out how to say that simple thing months ago?>

You should.
<As near as I can tell, even the highest level of your model perceives the state of the lowest level variables such as foot pressure. In the PCT model, higher-level perceptions are functions of perceptions at lower levels, so higher systems know about the environment only through receiving perceptual signals from lower systems, normally the next lower systems. But they don’t just pass them upward: each level of perception is a different function of signals at lower orders, not just a copy. Also, higher systems are supposed to act only by adjusting the reference signals at the next lower level. They don’t know anything about muscle tensions as yours seem to do.>

It isn’t easy to let higher level perceptions be functions of perceptions at lower level when there is just one system loop at the level below. I know I could let the perception at one level be e.g. be the sum of the perception from the lower level and the level below there. My point isn’t a functioning model. My point is to get comments when I am making a model. I got comments from you and I am grateful. To day is a wonderful day. I have changed the formula in the Output function to a more understandable formula for myself.

As you maybe read on my site I will now extend the model

    "There is a control system for each muscle cell. Here I have accumulated all control systems in a muscle in one control         system for each muscle.

(Here I expect somebody will tip me and suggest that I ought to have three or four loops or control systems in each muscle, and I think it will be so. But I will start with a simple structure and learn from your comments)"

My question to you (if you pardon me) after your intelligible comment <“But they don’t just pass them upward: each level of perception is a different function of signals at lower orders, not just a copy.”> is. Shall I add more muscles or shall I let each muscle be represented by more loops at the first level. Maybe the question is wrong?

<In fact, I really can’t see how the control systems in your model are supposed to work. The output at the highest level is the error signal times 1000 times 0.001, or times 1. There doesn’t seem to be any integration, so the so-called slowing factor is just a multiplier. The reference signal at the next lower level is simply this output. The perceptual signal at each level, if not imagined, is equal to the perceptual signal at the next lower level.>

I expected a comment from you or special Rick on this point. There are special formulas in Ricks model I didn’t understand. Your comment made me go back and I worked with the output formulas. Of course I understood Rick’s formulas, but when I used them everything became a disorder. Today I have adjusted them one after one and I have changed the slowing factor and the gain one after one. I think I have come a small step forward. And in the coming days I will work more with them.

I have adjusted the crazy formula for the Output function from =$A$17*($B$17*(D15-D16)) to =HVIS(D14="";D17;D17+$A$17($B$17*(D15-D16)-D17)).

A17 =slowing factor, B17=gain, D15=reference, D16=perceptual signal and D17 is the Output signal. As you see in the new formula (look away from imagination) I use the previous Output value (D17) and establish a value for the reference multiplied with the slowing factor and the gain. from here I subtract the previous value multiplied with the slowing factor.

Maybe I should have had a comment from Rick about just this argumentation.

    <So, Bjorn, I think you have taken too large a bite of this apple by trying to construct a model with six levels in it. I       would recommend starting simple and learning how simple control systems work in environments having simple      properties. Once you have a successful model of a control system that controls one physical variable, like the  temperature of a room, you can look at modeling multidimensional control systems, and perhaps try a two-level control   system. There just isn't any short-cut to understanding.

Bill, as an experienced programmer I understand your advise to not take a too large bite. I am not sure I will follow that. I am of the opinion that small steps bring me forward. I’ll listen to you and let it remain till I have worked out a control system that controls the temperature in a room (in Excel) and a two-level control system also in Excel. You will find them on my web within a week.
<Your ambition of modeling standing up on a ship is a good aim, but this is a far more complex problem than you have recognized. For one thing, you need to be able to model the behavior of an upright mass on a platform that is moving underneath it. That calls for advanced knowledge of physical mechanics. In a real model, you can’t just say that the person responds to an error by standing upright. You have to show how the control systems sense deviations from upright, and how the errors produce output forces that act on the mass of the body to accelerate it closer to the upright position. The physical mechanics comes into the model as a statement of how body velocity and orientation change as the forces on the body change. Then, given the equations describing each part of this system, you have to let the model run, sensing errors, converting them into forces, letting the forces accelerate the masses of the body, and computing the resulting velocities and positions over and over, 100 or 1000 times per second. You model doesn’t seem to be this kind of model at all. In fact my copy of your latest .xls file stops on an error, so the model doesn’t actually run at all.>

I feel it as a grave look. I thank you and you will hear from me within a year. And then I have a better remedy than Excel.

Bjorn

[From Bill Powers(2003.11.13.0815 MST)]

Bjorn Simonsen(2003.11.13;12:50
EuSt)–

I’m glad my critical review doesn’t discourage you.

It
isn’t easy to let higher level perceptions be functions of perceptions at
lower level when there is just one system loop at the level below.

Yes, this is true. It is also difficult when we when don’t know how to
compute higher-level perceptual functions, such as events or categories.
In fact, I would say that when we make models we should ignore the levels
I ha ve proposed and just do our best to produce a working
model.

As you maybe read on my site I will
now extend the model

"There is a control system for
each muscle cell. Here I have accumulated all control systems in a muscle
in one control system for
each muscle.

A muscle applies a torque that acts at a joint, or across a joint.What
happens when that torque is applied depends on how the body and the
environment interact. Of course you can simplify just to get a model to
run – we all do that – but you have to do a little more than just say
that the muscle produces a specific result. That actually bypasses
modeling and skips right to the final effect, like saying that when a
muscle is activated it creates a specific angle at the joint. The point
of modeling is to show HOW it does that.

Let’s talk about the room temperature control. The first thing you have
to set up in the model is the physics.

A furnace, when turned on, sends heat at a constant rate into the room
air. Heat is a unit of energy, measured in calories. The rate at which
the furnace puts heat energy into the room air is measured in calories
per second. If F stands for the rate of heat emission from the furnace in
calories per second, then the amount of heat energy emitted in
“dt” seconds is just F*dt.

Heat energy is being lost through the walls and windows at a rate
proportional to the temperature difference between inside and
outside times the wall area A in square cm. The rate of heat loss is
measured in calories per second. If T1 is the inside temperature and T2
is the outside temperature (both Celsius), and thermal conductivity is K,
and the wall area is A, the rate of heat loss is KA(T1 - T2), where T2
is smaller than T1. The amount of heat lost in dt seconds is KA(T1 -
T2)*dt.

The net flow of heat enery is the furnace output minus the heat loss
rates, or F - KA(T1 - T2). So the total amount of heat energy H that
flows into the air in a time of “dt” seconds is

H = [F - KA(T1 - T2)]*dt. Note that it could be negative if the furnace
doesn’t put out heat at a high enough rate.

The room has a certain mass of air in it, and the air has a specific heat
that determines how many calores are require to raise the temperature of
each gram of mass by 1 degree C.To compute the temperature rise, you
divide the amount of heat put into the air by the total mass in grams,
and multiply by the specific heat Let S be the specific heat, and M the
total mass. The temperature rise for an amount of heat x is x*S/M. So if
X is the net heat flow in time dt, the room air temperature rise in time
dt would be

change in T1 = [F - KA(T1 - T2)]S/Mdt.

For air, the numbers you need are:

Specific heat S: 0.24 cal/gram

density 0.0011 grams/cubic
cm

Volume of room 50,000,000 cubic cm (4 x 5 x 2.5 meters)

Mass of air = density * volume.

The thermal conductivity of the walls is

K:
1.2404

We will say arbitrarily that

Wall area A: 450,000 square cm (ignore floor and ceiling)

Finally, the furnace output rate when turned on is

F = 210,000 Calories/second That’s like a small room
heater.

I suggest that as a first step you simply set up a model of this part of
the system. Starting with a given inside and outside temperature, you can
turn on the furnace and start calculating the room temperature at
intervals of one second (dt = 1). For each calculation, you compute the
net heat gain and the temperature change, then add that change to the
room temperature T1 to get the temperature for the next time around.
Calculate 1000 values in a table of temperatures,

I think the numbers above a realistic, but I could have made mistakes.
You can judge by seeing how much the room warms up in 15 minutes (1000
second). Try varying the outside temperature to see the effect.

When you have this much working we can talk about the temperature control
systgem.

Best,

Bill P.

[From Rick Marken (2003.11.14.1210)]

Bjorn Simonsen(2003.11.13;12:50
EuSt)
I expected a comment from you or special
Rick on this point. There are special formulas in Ricks model I didn’t
understand…

I have adjusted the crazy formula for
the Output function from =$A$17*($B$17*(D15-D16)) to =HVIS(D14="";D17;D17+$A$17($B$17*(D15-D16)-D17)).
A17 =slowing factor, B17=gain, D15=reference, D16=perceptual signal and
D17 is the Output signal.

Maybe I should have had a comment from
Rick about just this argumentation.

I started using a spreadsheet (Lotus 123 at the time) for modeling control
systems because the spreadsheet format seemed like a nice way to display
a hierarchy of control systems and because the spreadsheet was a platform
independent way to do control programming.
I still use the spreadsheet for modeling but since they built Basic
into Excel I tend to use Basic for programming and the spreadsheet itself
for display. One problem with using the spreadsheet cell formulas (like
those you show above) for programming is that it’s hard to name variables.
You can assign names to cells and then refers to cells by those names but
that takes time. In Basic it’s easy to give variables meaningful names
as you write the code. Another problem with using the spreadsheet is fixing
things when there is an error in iterative mode. For example, if the control
loop goes unstable the cells values will quickly accumulate to values that
exceed the size limits for Excel numbers. To recover, you have to cur formulas
out of cells and put zeros in and then paste the formulas back in after
a compute cycle. It’s a pain.

But there are some nice things about modeling using a spreadsheet. The
spreadsheet eliminates much of the need for fancy display routines. Also,
there are graphical tools readily available. And all kinds of cool functions.

I am attaching a very simple spreadsheet control model that you can
build on to make the thermostat control system that Bill Powers (2003.11.13.0815
MST) suggested. I’ve indicated where the equations for the physics should
go. Basically, the physics represent the effect of o and d on q.
The output, o, in the spreadsheet, corresponds to F in Bill’s equations
and the the input, q, corresponds to the time integral of T1. Part
of the disturbance is incorporated into the equations for T1 as heat loss.
Another disturbance would be heat generated in the room by anything other
than the output of the furnace.

I think it would be interesting to see if we could use this prototype
control system as the basis for building Bill’s thermostat model. I’ll
give it a try too. Let’s see what we come up with.

Best

Rick

ECS.xls (89 Bytes)

···

Richard S. Marken, Ph.D.

Senior Behavioral Scientist

The RAND Corporation

PO Box 2138

1700 Main Street

Santa Monica, CA 90407-2138

Tel: 310-393-0411 x7971

Fax: 310-451-7018

E-mail: rmarken@rand.org

[From Erling Jorgensen (2003.11.15.1800)]

[Rick Marken (2003.11.14.1210)]

I started using a spreadsheet (Lotus 123 at the time) for modeling control systems
because the spreadsheet format seemed like a nice way to display a hierarchy of
control systems and because the spreadsheet was a platform independent way to do
control programming.

I think I've told you before, Rick, but your innovative use of spreadsheets to show
hierarchical control systems in action was extremely helpful to me in starting to
understand the dynamics of negative feedback systems, where everything was
controlling concurrently. I poured over your paper on spreadsheet modeling, and
then translated some of the formulas into MS Works language (I didn't have access
to Lotus), to try to look at how error propagates through the levels when certain
control units were deliberately placed into a runaway mode of conflict. Martin Taylor
used to call this "a bomb in the hierarchy," I think.

Another problem with using
the spreadsheet is fixing things when there is an error in iterative mode. For
example, if the control loop goes unstable the cells values will quickly
accumulate to values that exceed the size limits for Excel numbers. To recover,
you have to cur formulas out of cells and put zeros in and then paste the formulas
back in after a compute cycle. It's a pain.

Because I was looking at runaway positive feedback, this problem quickly arose after
several dozen or hundreds of iterations, depending on where the conflict was placed.
What I did to get around the problem you identify above, was to insert a "reset button"
into each formula. I let cell $A$1 be this reset button, with a value set to either zero or
one. I began with zero so I could set up the formulas, and not have a partial cycle begin
to iterate each time I pushed Enter. Then when all the formulas were arranged as best
I could, I manually set the reset button cell to a value of one, and began the iteration
process (I think with repetitive use of the F8 function button). When the errors had
propagated beyond the range of the system to display or easily recover, I could easily
modify something and try another run by setting the reset button to zero, and thereby
bringing the value of each formula to zero.

But there are some nice things about modeling using a spreadsheet. The spreadsheet
eliminates much of the need for fancy display routines. Also, there are graphical tools
readily available. And all kinds of cool functions.

I liked these features, too. At the end of each layer of the hierarchy, I put a formula that
gave the average error for the control systems in that layer, and then linked those formulas
to the graphical tools in Works, e.g., simple bar graphs. This allowed me to see where
error propagated first, how fast it rose, & how fast it spread to other layers. This was
quite a few years ago, but I think I remember the error starting low and spreading upward
in the hierarchy from the point of conflicting control systems. In other words, layers below
the point of conflict greatly increased their output to supply the ever increasing demands
for "larger" perceptual input to the conflicted units above them. But if I remember correctly,
those systems lower than the point of conflict still happily controlled their perceptions, making
them closely track their ever increasing reference standards.

The one difficulty I ran into with the capabilities of the MS Works software is that I could never
figure out a way to output the values of certain cells to a table to see the values over time.
With each new iteration the table would change. And so the best I could do was to run the
simulation for, say, 50 iterations, and then print the state of the spreadsheet at that point in time,
comparing it with a printout after another 50 iterations, and so on.

Anyway, it's nice to see more use being made of the spreadsheet as a simulation tool. And
again, thanks, because it was certainly very useful to my own working understanding of the
PCT model in action.

All the best,
        Erling

[From Erling Jorgensen (2003.11.15.2130)]
These are some beginning thoughts about how to go about modeling the Method of Levels or MOL. It is necessarily incomplete, because at present we only have verbal statements but not working simulations of the phenomenon of awareness. Nevertheless, this may serve as the start of an outline as to what may be involved.
As Bill has said recently, he conceives of MOL as an awareness process. [I have the CSG digest sent to my computer at work, and I am reflecting on this at home, so I am proceeding from memory-with no quotations, alas-of recent relevant posts.] The one postulate that Bill has suggested, in order to ascribe a function to awareness, is that reorganization follows awareness. This would provide a way to "limit the damage," so to speak, from unbridled reorganization, by keeping it close to the systems that might need improvement from such a random or trial-and-error process.
I don't know if Bill has explicitly said this, but the corollary that I draw from the above postulate is that awareness follows error. Or at least that is the working assumption that I would start with in outlining a model of MOL.
from an engineering standpoint, we would want reorganization to stay close to the systems that are experiencing sufficient error -- sufficient being defined either in terms of degree of error, duration of error, or both. While still being random (i.e., blind) as to outcome, reorganization could still be somewhat directed as to location, and that would be a useful feature for the surviveability of a system, so that already stable control components of the overall system are not reorganized away.
In all the working simulations of control systems that I have seen, there is no working component corresponding to "awareness." In other words, awareness has not yet been modeled and inserted into a control system simulation. An obvious candidate is the perceptual signal itself, but just as obviously, humans have all kinds of autonomic control systems operating with no particular need (and many with no ready means) for awareness to assist in their functioning. That is to say, "perceiving" does not equate to "being aware of." "Perception" is a statement about the input property of a closed loop form of organization. "Awareness" (whatever it is) is something quite different, or at least performing quite a different function in the overall system. Phenomenologically, it seems to be a property, not of any particular control loop, but rather of a network of control loops. Bateson might point out that it thus operates at a different logical level of analysis.
If I had to put "an awareness signal" into a diagram of a network of control loops, I would probably start with a copy of the error signal itself. From an engineering standpoint, we'd have to be very careful with how we used (or where we sent) such a copy. To have it directly affect other signals in surrounding control loops, at least above or at the same level of the hierarchy, leaves enormous room for instabilities to enter the system. I believe Bill has spoken of simulations that could not be stabilized, because of the effects of such wayward signals.
The normal operation of the control loop is already set up to use the error signal in a very efficient way, to drive output, which eventually reenters the control loop in terms of its perceived consequences. Add a net negative sign in one traverse around the loop, and you get the enormous selective advantages of negative feedback control. It would not be well from an engineering standpoint to mess that up, by awareness (in the form of a copy of the error signal) "second guessing" the control system's normal operation, so to speak, and inserting a supplemental round of output to bring perceptions under control.
{As an aside, I have wondered whether such a copy of the error signal could
be used to adjust the "gain" parameter of control loops. Gain is another one
of those properties of a control system, which can be manually adjusted in
the PCT simulations I have seen. But I don't think I've seen a working
simulation that does the adjusting itself. So under this proposal, a copy of
the error signal could be used exactly like the original error signal. That is,
to drive output which becomes the reference signal of control systems in the
next lower layer. Such copies would simply mobilize additional lower-level
resources (thereby increasing the gain!) in bringing the original perception to
its reference level. The drawback of linking "awareness" to such copies of
the error signal, is that it is not at all clear that "increased effort" always leads
to "increased awareness." In trying to solve one problem-i.e., how to
model a way to adjust gain-it won't do to create a larger problem, namely,
forever after having to be aware (by definition!) of every increase in gain. This
is why I mention all this as an aside to the main issue of this post.}

Getting back to the issue of outlining a way to model MOL, I believe that copies of error signals could serve as a way to monitor overall error and/or where it is occurring. This would _not_ be to override the normal working of control loops in the hierarchy, but to point to where reorganization could or should try its hand. Control loops with high error or sustained error or both would be good candidates for reorganization attempts.
To reorganize is not to _do_ things differently, but to _define_ things differently. Doing is the province of the hierarchy's normal mode of operation. It is constantly sending lower levels of control loops on pursuit tracking tasks-i.e., varying reference signals as needed-in an effort to find whatever works in bringing the desired perceptions of the higher levels to their respective reference levels. But when error persists, it may be time to stumble around for genuinely new ways of doing, thereby redefining what is attempted in those lower levels of control. And it may even be time to redefine what is desired in the first place, among the higher (and slower) levels of control.
In this view of things, awareness may be the lens (or the subjective experience of the lens), which focuses the efforts of reorganization. Awareness would be the meta-level monitoring system, serving not to intervene, but simply to point. Any intervening would be via the chancey system of reorganization, with full "veto power" left with the regular hierarchy as to which reorganizations actually made things better (and thus were allowed to stick around).
This property of an HPCT veto would arise out of the fact of error being the engine to drive reorganization, (just as it drives the regular output of reference signals to lower levels of the hierarchy.) Of necessity, I believe it would have to drive reorganization at a slower rate than the hierarchy's regular output. To recalibrate the standard faster than the results can be provided or monitored is essentially to change the units of measurement between reference standard and perception, rendering them incommensurate.
I think this picture of a regularly functioning HPCT system and a parallel but interacting reorganization system roughly corresponds to the two basic avenues that are always available for reducing error. In minimizing the difference between the reference and the perception (R - P), one can change the perception, or alternatively one can change the reference. In the first option, you do something different to bring about a different perceptual result. In the second option, you essentially want something different. (As the old song put it, "If you can't be with the one you love, love the one you're with.")
The first option makes your perceptions match what you want. The second option changes what you want to make it match what you're getting. In the language of psychotherapy, we tend to call these strategies of change, and strategies of acceptance, respectively. (I do a lot of Cognitive-Behavioral Therapy, and so I see some loose correspondence here to behavioral strategies and cognitive strategies, respectively, as well.)

···

------------------------

This is getting to be a rather elaborate essay, but I think there is a way to bring it back to the issue of the Method of Levels that I started with. My initial point of departure, in my own mind, was my earlier post to Rick about spreadsheet simulations, and efforts I made several years ago to look at spreading error relative to different layers of a vastly simplified hierarchy of control systems.
As I briefly explained in that earlier post (2003.11.15.1800), I first set up a stable set of negative feedback equations, arranged in a three-layer hierarchy, with up to four control systems in some or all of the layers. I then reversed the sign in one of the perceptual input functions, such that it directly conflicted with an adjoining control system. I had previously set up cells for monitoring the average error for each layer of the hierarchy, and these were linked to visual bar graphs so I could readily see their relative amounts.
I don't have the results immediately in front of me, but I seem to remember that the errors of the confllicted layer elevated first and steepest, followed by the higher level control systems that were dependent on them, but at a slower rate. Here is where I insert the working assumption of awareness following error, and speculations about modeling the Method of Levels. (It is further informed by experiences of using aspects of MOL in some of the Cognitive Therapy I do with clients.)
In my therapy work, as in MOL sessions described by PCT-ers, it is commonly the case that awareness initially stays in the midst of wherever there is uncorrected error. In those cases where the client seems to be wanting highly incompatible goals, there is often a pervasive sense of feeling stuck, with awareness ineffectually moving back and forth between the control systems in direct conflict. There often is a vague sense of higher level goals that are also being compromised, but bringing those areas into the foreground can often be difficult.
In my mind, this seems quite similar to the (highly simplified and schematic version of) error patterns in those spreadsheets of conflicted runaway feedback I was trying to implement. The greatest errors (and thus, maybe awareness for my clients?) were at the initial layers of conflict. But there also were slowly escalating errors at the next higher levels.
If the assumption of awareness following error were right, it would seem to require some way of neutralizing the impact of the initial errors, so that those background errors at higher levels could come into awareness. I believe something akin to this may happen in some of the cognitive therapy work that I do. They don't always work, but there are various forms of using hypothetical questions or scenarios in therapy. For instance, asking 'If you didn't have this problem you've been describing, what would you be doing instead?' Or asking the so-called "miracle question"-something like, 'If you were to wake up tomorrow with everything magically better, how would you know things were different?' This is trying to temporarily suspend the area that feels so stuck, so that deeper aspects can emerge. (From a modeling standpoint, I'm reminded here of Bjorn's way of indicating imagination with the simple insertion of an asterisk to neutralize a specific spreadsheet formula.) I!
t's like doing a temporary end-run around the initial area of conflict. The purpose would be so that the higher levels thereby brought into awareness might change the reference signals to those conflicted systems below, thus easing the conflict.
I need to reiterate here, this notion of awareness following error is untested, and indeed untestable at present, because we have no working model of awareness, with which to compare simulation data. But I believe one way to think about MOL in relation to the simplified simulations might be as follows. Start with a situation in which there appears to be sustained internal conflict. Set up a layer (n) control system that reframes and even requires as input those incompatible perceptions from layer (n-1) control systems. In a therapy or MOL context, perhaps it might be the perceived acceptance of the therapist / MOL-guide, which the client / inquirer transforms into a safe invitation to share even conflictual material. Perhaps it takes the form of a validation such as '_Of course_ you couldn't get out of that situation, given the relative power you had...' I'm reminded, too, of the insight of one of Dick Robertson's students that with reorganization things necessarily f!
eel worse before they get better, and how validating that might feel for a client to hear. The essence, I believe, is setting up a larger context that encompasses but does not directly compete with the previous conflict, thereby giving it a (smaller) frame of reference within a new but stable control system-(such as controlling for feeling that acceptance from the therapist / guide.) In the process, one monitors where the greatest degree of error seems to be occurring.
from a modeling standpoint, I believe this diminishes the relative error from (n-1) layer systems, since they become a stable (i.e., controlled) part of the new system at layer (n). Under the currently-untested assumption of awareness following error, that would leave awareness free to move up to error in the layer (n) systems. In fact, the new acceptance-controlling system there-which is able to encompass lots of previous error from layer (n-1) -- may even now conflict with the prior systems at layer (n), thereby concentrating awareness at that layer even more.
The modeling difficulties are obviously huge with any of this approach. We do not know how to construct realistic perceptual input functions of the variables that may actually be present in therapy sessions. We do not have very sophisticated simulations of interpersonal communication, such that the "physical plant" of a therapy session would have realistic dynamics. And as I've said already, we have no clear model of the

[From Rick Marken (2003.11.16.1030)]

Erling Jorgensen (2003.11.15.1800)--

I think I've told you before, Rick, but your innovative use of
spreadsheets to show
hierarchical control systems in action was extremely helpful to me in
starting to
understand the dynamics of negative feedback systems, where everything
was
controlling concurrently. I poured over your paper on spreadsheet
modeling, and
then translated some of the formulas into MS Works language (I didn't
have access
to Lotus), to try to look at how error propagates through the levels
when certain
control units were deliberately placed into a runaway mode of
conflict. Martin Taylor
used to call this "a bomb in the hierarchy," I think.

Thanks, Erling. It's great to see one's own humble efforts is put to
such great use. It makes it all worth it.

As you point out, the spreadsheet model can be used to demonstrate some
interesting facts about conflict in a hierarchy of control systems. In
particular, if you create a conflict between two systems at level 2 (by
having them both control for the same perception) then the conflict
only affects those two systems and systems higher levels (level 3 in
the spreadsheet) that use either of those two systems as a means of
controlling their own perceptions. As you note, systems at levels
below the level of conflict, even if they control perceptions involved
in the conflict, are not affected by the conflict at all in terms of
their ability to control.

So when you are in conflict about, say, taking drugs and not taking
drugs, you may not be able to control your consumption of drugs. And
you may not be able to control higher level perceptions, such as your
honesty (about taking drugs), that depend on whether or not you are
actually taking drugs. But you can still control lower level
perceptions, such as you ability to do things with you mouth, like pop
pills into it or blather with it into a radio microphone.

So a conflict does act like a kind of localized "bomb" in the
hierarchy, where the adverse effects of this bomb is only on the
systems in conflict and those higher level systems that _use_ the
conflicted systems. The spreadsheet suggests how people are able to
live with conflict without hallucinating (imagining successful control
of the perception involved in the conflict). All they have to do is
avoid situations that require control of the higher level perceptions
that use the conflicted systems.

And your strategy for dealing with the runaway cell values is
ingenious. Nice work.

Best regards

Rick

···

---
Richard S. Marken
marken@mindreadings.com
Home 310 474-0313
Cell 310 729-1400

[From Bruce Gregory (2003.11.16.1642)]

[From Rick Marken (2003.11.16.1030)]

So a conflict does act like a kind of localized "bomb" in the
hierarchy, where the adverse effects of this bomb is only on the
systems in conflict and those higher level systems that _use_ the
conflicted systems. The spreadsheet suggests how people are able to
live with conflict without hallucinating (imagining successful control
of the perception involved in the conflict). All they have to do is
avoid situations that require control of the higher level perceptions
that use the conflicted systems.

At last, a way around hallucinations! By "avoiding situations" I assume
you refer to controlling a higher level perception. Presumably,
"rationalization" also allows one to avoid conflicts, but I'm not sure
what the mechanism looks like.

Bruce Gregory

[From Bill Powers (2003.11.16.1712 MST)]

Erling Jorgensen (2003.11.15.2130)--

I think you have the germs of some good modeling ideas here. About all we
can do at this stage is try things out and see if anything interesting
results.

For reorganization, there is a strategy I have used a number of times with
success, that can can be adapted to single systems or multiple systems.
Let's see if I can make it understandable.

In any collection of control systems, you can define "intrinsic variables"
or "critical variables" that the system ,should maintain at some set of
reference levels in order to survive. These could be physical variables
affected while the control systems are controlling other things, or as you
suggested they could be error signals in the control systems themselves.
Obviously the best control exists when the error signals are all small.

Let's say the control system error signals are to be the intrinsic
variables, with implied reference levels of zero. If there is a collection
of control systems, we can declare several auxiliary arrays with an index i
to select which system we're talking about.

v[i]: an array of intrinsic variables, copies of the control error
           signals ( or just use e[i]).
vref[i]: an array of reference values for the intrinsic variables
           (all zero for error signals, so you don't really need this array)
dv[i]: an array of differences vref[i] - v[i]
dvsq[i]: an array of squared differences, dv[i]*dv[i].
pdvsq[i]: an array of previous values of squared differences

The array of squared differences is the measure of intrinsic error we will
use to determine whether a reorganization is needed. Just before
calculating new values of dvsq[i] on each iteration, we copy the existing
values into pdvsq[i], the array of previous values. Then by comparing
dvsq[i] with pdvsq[i], we can tell if this measure of intrinsic error is
increasing. If it is increasing a reorganization will take place.

What gets reorganized is some parameter of the control system. You
suggested gain, so we can set up an array

g[i]: an array of gains of the control systems.

We also need an array showing how much and in which direction the values of
g[i] are to change on each iteration:

dg[i]: an array of increments of g[i].

Note that on every iteration, whether or not a reorganization takes place,
the value of g[i] will change by computing

g[i] = g[i] + K*dg[i] (K to be explained below)

This is like e. coli swimming along in a straight line between tumbles. In
this case, the values of g[i] will continue to change as long as our
intrinsic error measure, dvsq[i], is not getting larger.

After each iteration of the equations for the control systems, we save the
old intrinsic error, compute the new intrinsic error, and see if the
squared error dvsq[i] has increased, If not, we just change g[i] as above,
and go to the next iteration. If the intrinsic error has increased, that is

IF dvsq[i] > pdvsq[i]

then a reorganization takes place in the i-th system:

dg[i] = 2.0*(random - 0.5),

  where "random" is a function that returns a random number between 0 and 1.

Now the constant K. The amount of change in the parameter must be very
small in any one iteration, and as the error gets smaller, the changes must
get smaller. So for K, I use something like 0.0001*abs(dv[i]). If this
number is too large, the error will not get smaller than some minimum; if
it is too small, the error will decrease only very slowly. So experiment
with the multiplying constant.

I hope this lays out the procedure sufficiently. If you're only
reorganizing one control system, no index i is needed, of course, or you
can set i to 1, or use an adjustable constant Imax which can be anything
from 1 up..

There are getting to be more people interested in the MOL. Perhaps we
should start thinking about a miniconference on that subject.

Best,

Bill P.

Modeling concrete examples 2
[From Bjorn Simonsen(2003.11.11;15:55EuSt)]

I am one of the lucky guys who came upon PCT. I have read what I have met among paragraphs. And I think I learn very well when I am active modeling. I am not clever making models, but I learn. I started to make models in PowerSim. Then I studied Rick’s hier.exl and I learned so much that I would model in Excel myself. In the future I think Smalltalk will be the program I will use.

From November 2003 I have retired from a busy job and you will see me participate more on the net in the future.

  1. of Mai 2003 I made a personal workshop among my Web sites. I would experiment with a method where other “students” in PCT could find subjects we could deepen in. I think CSG is not the correct place to discuss elementary things which have been discussed earlier.

The same day (2003.05.25) I invited all of you to visit my Web and look in my Workshop. I felt honored when I got a link from CSG to my site with exciting PC words and concepts, but I was disappointed when nobody sent me some words about my workshop.

I know “everybody” is busy, but I try once more. You are welcome to visit my http://home.c2i.net/bjornsimonsen/ where you can go to my personal workshop.

If this can be a start for modeling concrete examples I invite to a continuation of this thread.

If you can contribute with something that is not of common interest, please write me direct.

I know you are special busy Rick, but I know you know how to find the formulas in Excel and read them. I will appreciate special comments about the formulas and how I model. Please be explicit and tell me anything.

If this is a wrong way to learn more about PCT, please tell me.

Bjorn

Bjorn Simonsen

bsimonsen@c2i.net