# A Simple Hierarchical Control System

[From Bruce Gregory (980921.1225 EDT)]

When you adjust the setting on a thermostat to make the room more
comfortable, you are acting as a control element one level higher in the
system than the thermostat. You and the thermostat perceive the same
temperature and you adjust its setting to control your perception of the
temperature. When you open the window to make the room less stuffy, you are
acting as the lowest level in the hierarchy controlling your perception of
the stuffiness. This is no doubt obvious to everyone, but it struck me as a
helpful example of how a simple hierarchy works.

Bruce Gregory

[From Bill Powers (980921.1056 MDT)]

Bruce Gregory (980921.1225 EDT) --

When you adjust the setting on a thermostat to make the room more
comfortable, you are acting as a control element one level higher in the
system than the thermostat.

Right.

You and the thermostat perceive the same

temperature and you adjust its setting to control your perception of the
temperature.

Not right. You are controlling the temperature of many sensors distributed
all over your skin; it is controlling the temperature of its only sensor,
over on the other side of the room. You are controlling for "comfort,"
which is a variable made up of temperature, humidity, and other elements
such as the way your clothing feels against your skin -- harsh, clammy,
etc.. The thermostat controls only for temperature, which is only one
element of comfort.

When you open the window to make the room less stuffy, you are
acting as the lowest level in the hierarchy controlling your perception of
the stuffiness. This is no doubt obvious to everyone, but it struck me as a
helpful example of how a simple hierarchy works.

Opening the window, however, will probably disturb the thermostat even
though it counteracts the disturbance you call "stuffiness", so you will
create a conflict with it. This is why higher and lower systems do not act
in parallel in an optimized hierarchy. The higher system acts by varying
the reference level of the lower system, not by acting independently on the
same variable controlled by the lower system. That avoids the conflict.

Best,

Bill P.

[From Rick Marken (980921.1050)]

Bruce Gregory (980921.1225 EDT) --

You and the thermostat perceive the same temperature and you

Bill Powers (980921.1056 MDT) --

Not right...You are controlling for "comfort," which is a
variable made up of temperature, humidity, and other elements...
The thermostat controls only for temperature, which is only one
element of comfort.

It might also be worth noting that when we use the thermostat to
control comfort we do this by selecting a particular reference
setting (like 70 degrees) for the thermostat. In an HPCT hierarchy,
a higher level system doesn't really select a particular reference
setting for a lower level system. The higher level system just
varies the reference setting of the lower level system _as necessary_
in order to keep its perception at its reference. The higher level
system is like a person trying to control comfort by adjusting the
reference setting of a thermostat that has no "temperature markings"
on the dial; the higher level just keeps varying the lower level
reference setting until it perceives the level of comfort it wants.

Best

Rick

···

--
Richard S. Marken Phone or Fax: 310 474-0313

[From Bruce Gregory (980921.1500 EDT)]

Rick Marken (980921.1050)

It might also be worth noting that when we use the thermostat to
control comfort we do this by selecting a particular reference
setting (like 70 degrees) for the thermostat. In an HPCT hierarchy,
a higher level system doesn't really select a particular reference
setting for a lower level system. The higher level system just
varies the reference setting of the lower level system _as necessary_
in order to keep its perception at its reference. The higher level
system is like a person trying to control comfort by adjusting the
reference setting of a thermostat that has no "temperature markings"
on the dial; the higher level just keeps varying the lower level
reference setting until it perceives the level of comfort it wants.

On what basis does the higher order system vary the reference setting of the
lower order system? Trial and error? The higher order systems involved in
walking, for example, _seem_ to have a very good idea what reference levels
to establish for lower systems. Or is this just an illusion?

Bruce Gregory

[From Rick Marken (980921.1330)]

Bruce Gregory (980921.1500 EDT)--

On what basis does the higher order system vary the reference
setting of the lower order system? Trial and error?

No. On the basis of the size of the difference between the
higher level system's actual and intended perception (the error
variable).

calibration in living control systems. Thermostats are calibrated
so that a reference setting of a particular temperature (70
degrees, say) keeps the temperature at the theremostat's sensor
equal to that temperature (70 degrees). If we know we are generally
comfortable when the thermostat is set to 70 we just set
the thermostat to 70 and that's it. (Of course, we might be
in a location where 70 degrees at the thermostat's sensor
doesn't keep us comfortable; in that case we would have to
set the thermostat's reference to a different temperature).

The nervous system is not calibrated in this way; so a higher
level system in the nervous system can't set a lower level
reference to "70 degrees" or "1.3 newtons" in order to achieve
it's goals. What actually happens in hierarchical control is
that error in the higher level system varies the reference signal
for the lower level system so as to reduce the error (difference
between intended and actual hiher level perception) in the
higher level system. You can see how this works by examining
my spreadsheet model of a hierarchy of control systems at

The higher order systems involved in walking, for example, _seem_
to have a very good idea what reference levels to establish for
lower systems. Or is this just an illusion?

It's an illusion in the sense that the systems controlling gait
cannot set a calibrated reference for the lower level systems
(that control force, muscle tension, etc) that maintain the
perception of gait; the gait control system can't say to
the lower level systems "generate 1.2 newton, now generate 1.5
newtons, etc". Moreover, a constant gait typically can be
maintained _only_ by _varying_ the references for the lower
level systems that are used to maintain gait. This is because
there are continuous disturbances to gait: changes in the slop
of the land, the purchase you get from a step, etc. Sometimes it
might take 1.2 newtons to take a 3 ft stride; sometimes it might
take 1.7 newtons to take the same stride (I'm making up these
force values but I think you get the idea).

Again, check out the spreadsheet hierarchy. Watch how the level
1 and 2 references vary to maintain the level 3 perceptions in
a constant state.

Best

Rick

···

--
Richard S. Marken Phone or Fax: 310 474-0313

[From Bruce Gregory (980921.1703 EDT)]

Rick Marken (980921.1330)

The nervous system is not calibrated in this way; so a higher
level system in the nervous system can't set a lower level
reference to "70 degrees" or "1.3 Newton's" in order to achieve
it's goals. What actually happens in hierarchical control is
that error in the higher level system varies the reference signal
for the lower level system so as to reduce the error (difference
between intended and actual higher level perception) in the
higher level system. You can see how this works by examining
my spreadsheet model of a hierarchy of control systems at

Yes, I know the model (but I just looked at it again). Because of the delays
involved, would this be an effective way to adjust the reference level of a
thermostat? Is the complication due to the on-off nature of the furnace?
What I would expect to happen is that the system would set the thermostat to
the highest possible temperature and then reduce the setting to the point
where the furnace turns off as the reference level is approached. Is this a
reasonable simulation of a living system?

Bruce Gregory

[From Rick Marken (980921.1545)]

Bruce Gregory (980921.1703 EDT)--

Yes, I know the model (but I just looked at it again). Because of
the delays involved, would this be an effective way to adjust the
reference level of a thermostat? Is the complication due to the
on-off nature of the furnace? What I would expect to happen is
that the system would set the thermostat to the highest possible
temperature and then reduce the setting to the point where the
furnace turns off as the reference level is approached. Is this a
reasonable simulation of a living system?

Why not try it in Vensim. It takes too long to try to explain
this stuff verbally and words are not as clear as a working
model anyway.

Best

Rick

···

--
Richard S. Marken Phone or Fax: 310 474-0313

[From Bruce Gregory (980922.1221 EDT)]

Rick Marken (980921.1545)]

Why not try it in Vensim? It takes too long to try to explain
this stuff verbally and words are not as clear as a working
model anyway.

Easier said than done, by me anyway. The magnitude of the action of the
thermostat is independent of the size of the error (the furnace is either on
or it is off). As a result, the thermostat must control at the level of
program. Too complex for me. I'll have to graduate from the modeling course
first.

Bruce Gregory

[From Rick Marken (980922.0945)]

Me:

Why not try [modeling control using a thermostat] in Vensim?

Bruce Gregory (980922.1221 EDT)

Easier said than done, by me anyway.

You can't learn without trying.

The magnitude of the action of the thermostat is independent
of the size of the error

Not true. The magnitude of the action of the thermostat depends
precisely on the size of the error; when the error is greater
than some threshold value, the furnace goes on; when the error
is less than the threshold the furnace goes off. The relationship
looks like this:

on | *******
> *
> *
action | *
(furnace) | *
> *
> *
off | ********
>----------------
0 C 100
error

where C is the threshold error value. Clearly, action is not
independent of the size of the error. The only thing unusual
action) is binary.

As a result, the thermostat must control at the level of
program.

Remember, the "level" of control refers to the level of the
_perceptual_ variable controlled. The perceptual variable
controlled by a thermostat is an intensity (measured by the
diameter of the bimetallic strip, which is the thermostat's
perceptual function). So the thermostat doesn't control
anywhere near the level of program. So it should be pretty
easy to simulate a thermostat using Vensim.

Best

Rick

···

--
Richard S. Marken Phone or Fax: 310 474-0313

[From Bruce Gregory (980922.1302 EDT)]

Rick Marken (980922.0945)

Not true. The magnitude of the action of the thermostat depends
precisely on the size of the error; when the error is greater
than some threshold value, the furnace goes on; when the error
is less than the threshold the furnace goes off. The relationship
looks like this:

on | *******
> *
> *
action | *
(furnace) | *
> *
> *
off | ********
>----------------
0 C 100
error

where C is the threshold error value. Clearly, action is not
independent of the size of the error.

Clearly I am missing something subtle here. If the error is greater than
some threshold size, the response is always the same no matter how great the
error becomes. On this we agree. This is all I meant to say.

Remember, the "level" of control refers to the level of the
_perceptual_ variable controlled. The perceptual variable
controlled by a thermostat is an intensity (measured by the
diameter of the bimetallic strip, which is the thermostat's
perceptual function). So the thermostat doesn't control
anywhere near the level of program. So it should be pretty
easy to simulate a thermostat using Vensim.

Yes, good point. The thermostat does not perceive a program, but it executes
a program that is hard wired into the system. It is not obvious to me that
we ever perceive a program even when we are executing one. When I commute, I
carry out a program, but my perceptions relate to landmarks, not to
executing a program.

Bruce Gregory

[From Rick Marken (980922.1040)]

Bruce Gregory (980922.1302 EDT)--

Clearly I am missing something subtle here. If the error is
greater than some threshold size, the response is always the
same no matter how great the error becomes. On this we agree.
This is all I meant to say.

If this is what you meant to say then you should have said it.
What you did say was:

The magnitude of the action of the thermostat is independent
of the size of the error

which means that the magnitude of action is not systematically
related to the size of error. If you meant to say that the
action is the same once the error reaches some threshold value
then that's what you should have said. Then your statement would
have been correct (and correctly understood by me), though
irrelevant to how the thermostat actually works.

Yes, good point. The thermostat does not perceive a program,
but it executes a program that is hard wired into the system.

You can see that the thermostat is "executing a program" by
looking at the thermostat's behavior from the point of view of
your own program level of perception. Looked at from another
perceptual point of view, you could also see that the thermostat
is controlling its input.

It is not obvious to me that we ever perceive a program even
when we are executing one.

The fact that you can perceive the behavior of the thermostat as
"executing a program" is evidence that _you_ can perceive a program.
I have also done experiments, described in my "Hierarchical Behavior
of Perception" paper available at

which demonstrate that people can control the state of a program
perception.

Best

Rick

···

--
Richard S. Marken Phone or Fax: 310 474-0313