MT: I have 279 unread messages on CSGnet
PY: Wow…I’m responsible for half of them. No wonder I never saw your responses.
MT: it sometimes is important than one recognized that p and qi are functions of time, and that p is an integrative function of qi…by “integrative function” I mean that the value of p at time t0 depends on the values of qi over some time period from t0-epsilon to t0-delta…But as I say, usually this doesn’t matter, since most control experiments run quite slowly compared to the time it takes to build the perception.
PY: Look at the demo of RM concerning hierarchical control: http://www.mindreadings.com/ControlDemo/Hierarchy.html
PY: Do you think that the perceptions above configuration (transition and sequence) are properly implemented as “integrative functions”? An integrative function would map all values between t0 epsilon to t0 delta as one constant-valued interval. To show the raw data of the transition and sequence at each instant of time is not the same, I am thinking.
RM: The problem here is the idea that there is an X out there that can be perceived in different ways.
What would it mean to perceive X in different ways? It means that your perception, p, is a function of X, p = f(X), and the different ways of perceiving X represent different functions of X.
PY: That’s not a very good way to put it. A better way is this: your perception, p, is a particular “moment” of state-space, X, and the different ways of perceiving X represent different moments of X(t). It seems you’re in need of a primer on Markov processes…don’t worry, we’ll get there; until then…
PY: Let’s look again at a definition of an object class or abstract data type:
abstract data type: square
{
DATA
int: height
int: width
METHODS
int: get_height ()
{return height}
void: change_height (int: arg_1)
{height = arg_1}
int: get_width ()
{return width}
void: change_width (int: arg_1)
{width = arg_1}
}
PY: What we are seeing here is the use of methods to access and manipulate data belonging to the object. These are known as “accessor” and “mutator” functions, and they are implemented inside the definition of the object itself. An accessor function, such as int: get_height (), returns a value of a specified type. In this case, it returns an int corresponding to the value of the height variable which belongs to the object. Mutator functions, such as void: change_height (int: arg_1), accept an argument which is used to alter the object data accordingly. These functions may or may not return a value; if not, they are of type “void”.
PY: A program which uses this object would look like this:
main()
{
square X // instantiate a square-class object named X
X.change_height (5) // mutator function
if (X.get_height () != 5) // accessor function inside conditional; “!=” means “not equal”
print “the method didn’t work!”
}
PY: You don’t need to code this way (i.e. using accessor and mutator functions), but it’s standard professional protocol. Getting back to what RM said…different ways of perceiving X represent different accessor functions of the object X. In the square object, we have two such accessor (get_) functions.
RM: X is just a scalar physical variable (as it appears to be when it is symbolized as X)…
PY: Let’s call X an instance of an object. For instance, the square X in the program above.
RM: In PCT, what you call “X”, the reality that is “out there”, is actually set of physical variables, v.i, that is best represented as X = [v.1, v.2…v.n] as it is in Fig. 1, p. 66 of LCS I.
PY: All is well. We can imagine X as an object “out there, inside the computer”. It is is a set of physical variables occupying a contiguous array of memory bytes.

RM: Your perception of X is then represented as p = f(v.1, v.2…v.n). Different ways of perceiving X are again represented by different forms of the perceptual function, f().
PY: Indeed, your perception is the returned value of an accessor function. These values can be combined into different variables. For example, int: area = X.get_height() * X.get_width().
RM: But now, when p is a function of more than one physical variable, the different ways of perceiving X can differ in other ways besides magnitude. For example, if p = f(v.1, v.2), the perception of X could be p = v.1+v.2 or p = v.1*v.2.
PY: ERROR! This is wrong! The different ways of perceiving X has nothing to do with combining various data variables into different expressions. It only has to do with the types of values returned by its accessor functions. In this case, we can access the height or width of the square. We can combine these however we like, but what matters is the type of variable we assign the value to. The function just above, int: area = X.get_height() * X.get_width(), stores the value as an integer (although the type can be anything, including an abstract data type).
PY: Do we understand each other?.
···
On Thu, Sep 24, 2015 at 1:29 PM, Martin Taylor mmt-csg@mmtaylor.net wrote:
[Martin Taylor 2015.09.24]
I have 279 unread messages on CSGnet, so forgive me if I am jumping to repeat something that has been said already.
On 2015/09/24 3:15 PM, Richard Marken wrote:
[From Rick Marken (2015.09.24.1215)]
RM: Hope this clears things up. I think the main thing to understand is that p and q.i are the same variable. p is not a function of q.i; both p and q.i are the same function of physical variables, where p is what is seen from the perspective of the control system and q.i is the same thing seen from the perspective of an observer of the control system.
That’s more or less right, but it sometimes is important than one recognized that p and qi are functions of time, and that p is an integrative function of qi, not exactly the same thing. Most often, the distinction doesn’t matter, but sometimes it does. By “integrative function” I mean that the value of p at time t0 depends on the values of qi over some time period from t0-epsilon to t0-delta. You can see this simply by noticing that when you look at a movie, you don’t see a whole series of still pictures, or by “seeing” the continuous movement and deformation of a form that has one shape in one location and is replaced after a few milliseconds gap by a different form in a new place.
But as I say, usually this doesn’t matter, since most control experiments run quite slowly compared to the time it takes to build the perception. The time lag from detecting the error to its effect on qi is usually much longer, though this may not be true at higher perceptual levels, as when it slowly dawns on you that someone may have been cheating you, but you can act quickly to correct the error in that perception.
So for practical purposes, it is often OK to say that p and qi are essentially the same variable, despite one being in the environment and the other in the brain, but if you are being careful, you should always be sure to note that it is not actually true. Physical causality works, and causes precede effects, even in a control loop.
Martin