Control Lattice

From[Bill Williams 29 March 2004 7:00 PM CST]

Attached find two turbo pascal files. Each of the files of source code
contain a program that generates a lattice with 32 by 32 elements. The
lattice is generated by a frame to which the outer elements are attach.
Stretched between the attachment points on the frame are the elements
connected in a rectangular grid.

At first when I began experimenting with the grid I was interested in who a
disturbance to the grid would be transmitted through the lattice. At first
with the B LR_WB version I found that strange things were happening. When
the lattice was tuned up to where it was almost unstable, a small
disturbance at one corner would flow across the lattice and generate a
massive disturbance.

Howerver, when I saw that I really ought to update the information at each
node of the lattice, and modified the program so that it was properly
configured, the lattic even when very near instablity, was robust in
response to a disturbance-- even a rather big disturbance.

I hope some of you have the turbo pascal combilers, and will be able to
generate running programs. From within the university filter prohibit me
from transmitting working programs.

Please let me know, if you can get code running. There isn't really much to
do with the program except poke at it and see how they react to
disturbances.

Bill Williams

lr_wa.pas (6.97 KB)

lr_wb.pas (8.19 KB)

[From Bill Powers (2004.03.29.0713 MST)]

Bill Williams 29 March 2004 7:00 PM CST --

I hope some of you have the turbo pascal combilers, and will be able to
generate running programs. From within the university filter prohibit me
from transmitting working programs.

Please let me know, if you can get code running. There isn't really much to
do with the program except poke at it and see how they react to
disturbances.

I was able to compile and run both programs. Some fascinating effects,
especially when you play with the gains of the feedback loops. I haven't
figured out yet exactly what the control systems are doing or how they
affect each other. A writeup would be very helpful.

You might find the structure of the code a little simpler if you use
two-dimensional arrays. For example:

Then you can address x and y positions just by saying a[x,y].

Have you been able to get my program running yet? Of course you would have
told me if you had ...

Best,

Bill P.

···

a: array[0..31, 0..31] of real;

From[Bill Williams 29 March 2004 2:00 PM CST]

[From Bill Powers (2004.03.29.0713 MST)]

Bill Williams 29 March 2004 7:00 PM CST --

At last, Econ5 is running. Haven't yet experimented with it to any extent.
I am just beginning to get an idea where things are. But, I can see that,
it easier for me to see what is happening when variables are changed. I am
accustomed to considering the relationship between variables over time. I
have included code for VD5.PAS as an example. A consumer is subject to a
pulse, a step inpluse positive and negative for income and the consumer
adjusts consumption. The significant thing for me about VD5 is that the
consumer adjusts consumption upward much faster than downward.

Anyway the thing is the way you have the display set up I have to watch the
reaction of several variables making small changes simultaneously and
remember how these variable track each other. In some cases it may take 5
cycles for me to build up a good enough visual memory of how the changes
coorelate to be a the starting point for considering what is going on.

In reading through the explaination there is a missing

5" i "in line 20

" C ndicates a Consumption

So stuff is running.

Will send this and go back to poking at the variables.

It occurs to me that what I will doing for the forseeable future is sending
a stream of nit picking complaints. But, it would seem rather odd to
repeatedly complement you on "The program is running on yet another day."

Bill Williams

>I hope some of you have the turbo pascal combilers, and will be able to
>generate running programs. From within the university filter prohibit me
>from transmitting working programs.
>
>Please let me know, if you can get code running. There isn't really much

to

vd5.pas (7.28 KB)

···

from my standpoint there is a display feature you could add that would make

>do with the program except poke at it and see how they react to
>disturbances.

I was able to compile and run both programs. Some fascinating effects,
especially when you play with the gains of the feedback loops. I haven't
figured out yet exactly what the control systems are doing or how they
affect each other. A writeup would be very helpful.

You might find the structure of the code a little simpler if you use
two-dimensional arrays. For example:

a: array[0..31, 0..31] of real;

Then you can address x and y positions just by saying a[x,y].

Have you been able to get my program running yet? Of course you would have
told me if you had ...

Best,

Bill P.

[From Bill Powers (2004.03.29.1324 MST)]

Bill Williams 29 March 2004 2:00 PM CST --

Anyway the thing is the way you have the display set up I have to watch the
reaction of several variables making small changes simultaneously and
remember how these variable track each other. In some cases it may take 5
cycles for me to build up a good enough visual memory of how the changes
coorelate to be a the starting point for considering what is going on.

Good idea. What you want is the ability to designate any variables to be
plotted, so they will show when you first start the program. I'll work on it.

In reading through the explaination there is a missing

5" i "in line 20

" C ndicates a Consumption

Thanks. Fixed.

It occurs to me that what I will doing for the forseeable future is sending
a stream of nit picking complaints. But, it would seem rather odd to
repeatedly complement you on "The program is running on yet another day."

Complaints are good. I reserve the right to select which to address first.
After the nit-picking complaints, we can get to the big ones.

Best,

Bill P.

From[Bill Williams 29 March 2004 4:30 PM CST]

[From Bill Powers (2004.03.29.1324 MST)]

Bill Williams 29 March 2004 2:00 PM CST --

Complaints are good. I reserve the right to select which to address first.

Understood.

After the nit-picking complaints, we can get to the big ones.

Ok. However, I would like you to consider, while we are fiddling about
picking at nits, the following issue:

On page 280 in the appendix to _B:CP_ in the paragraph that begins "The most
common error ..." In a two sentence paragraph you dispose of the problem
presented by the way almost everyone things about causal relationships.
You say, "Such analyses are almost always qualitative and therefore do not
reveal the quantitative difficulty created by that approach."

Off hand who among the in the CSG community could take that sentence and,
off the top of their heads, expand the sentence into a four or five page
description of the problem?

Actually, lets not get into an invidious matter of naming names. But, how
about making an estimate of how many persons in CSG understand the problem?

I am making a special point of this issue because I am convinced that it
will be impossible to adaquately explain to ecnomists why your model takes
the form it does in the absence of an explaination of this issue. And, in
my experience with economists, and I am considered to be well acquainted
with theoretical issues in economics, I have only encountered five people
who seemed to understand the question. One my my mentor J. Fag Foster. One
might be Sturgeon-- but it is not easy to tell how well he understands the
question-- and it isn't remotely a recomended practice to probe at his
understanding, and I wouldn't dare attempt to do so covertly. And, two have
been my students. But, both of these had extensive preperations -- one took
a math degree at 19, and the other had been an electrical powerplant senior
engineer. Otherwise I have found it enarly impossible to explain the nature
of the problem. Let alone create an awareness of why the problem is
important.

And, in the absence of an understanding the principles upon which you are
attempting to model the economy don't make any sense. So, it seems to me
that either an effort is required to explain this issue better or we content
ourselves with an extremely restricted audience.

Bill Williams

[From Bill Powers (2004.03.29.1607 MST)]

Bill Williams 29 March 2004 4:30 PM CST --

Ok. However, I would like you to consider, while we are fiddling about
picking at nits, the following issue:

On page 280 in the appendix to _B:CP_ in the paragraph that begins "The most
common error ..." In a two sentence paragraph you dispose of the problem
presented by the way almost everyone things about causal relationships.
You say, "Such analyses are almost always qualitative and therefore do not
reveal the quantitative difficulty created by that approach."

The page that follows is suppose to illustrate what this difficulty is --
tha failure to treat time correctly. I don't know how many people actually
read it.

Off hand who among the in the CSG community could take that sentence and,
off the top of their heads, expand the sentence into a four or five page
description of the problem?

Actually, lets not get into an invidious matter of naming names. But, how
about making an estimate of how many persons in CSG understand the problem?

I think just about all the people who do simulations, which is five, maybe
six. The "slowing factor" may be used in a sort of rote way by some, but I
think they all know pretty much why it's needed.

I am making a special point of this issue because I am convinced that it
will be impossible to adaquately explain to ecnomists why your model takes
the form it does in the absence of an explaination of this issue.

You are probably right.

  And, in
my experience with economists, and I am considered to be well acquainted
with theoretical issues in economics, I have only encountered five people
who seemed to understand the question. One my my mentor J. Fag Foster. One
might be Sturgeon-- but it is not easy to tell how well he understands the
question-- and it isn't remotely a recomended practice to probe at his
understanding, and I wouldn't dare attempt to do so covertly. And, two have
been my students. But, both of these had extensive preperations -- one took
a math degree at 19, and the other had been an electrical powerplant senior
engineer. Otherwise I have found it enarly impossible to explain the nature
of the problem. Let alone create an awareness of why the problem is
important.

And, in the absence of an understanding the principles upon which you are
attempting to model the economy don't make any sense. So, it seems to me
that either an effort is required to explain this issue better or we content
ourselves with an extremely restricted audience.

All it takes is one well-known person with one foot in each world. I
haven't got into this yet with Bruun. I'm used to working with restricted
audiences!

Perhaps the best way to introduce the model is to show it doing interesting
things. Maybe if we can get it to work realistically (I don't claim that's
true yet), people will begin to ask how we did that. If they demand to be
told, then of course we can be wheedled into parting with the information.

Another approach for students is to use a simulater like Vensim, which is
simple to use and quite a lot of fun. You can download Vensim PLE (Personal
Learning Edition) (Meaning, of course, Vensimple) free, and do a lot with
it. Find it through Google.

With a simulator you can show how dynamic systems work. I think just
modeling a few things like a pendulum or a ballistic missile or a leaky
bucket being filled from a spigot can give an intuitive feel for
time-varying systems, and help to get away from the sequence-of-events
concepts that cause all the problems.

I don't usually worry about how many people will understand what I'm trying
to do. I have enough to do just overcoming my own limitations of time,
persistence, and understanding. Those who are willing to try to get it are
warmly urged to do so.

Best,

Bill P.

Best,

Bill P.

[From Rick Marken (2004.03.29.1920 EST)

Bill Williams (29 March 2004 7:00 PM CST)--

Attached find two turbo pascal files. Each of the files of source code
contain a program that generates a lattice with 32 by 32 elements. The
lattice is generated by a frame to which the outer elements are attach.
Stretched between the attachment points on the frame are the elements
connected in a rectangular grid.

I compiled and ran them. I don't know what they show but they sure look
great. Obviously a lot of hard work went into this and I want to
congratulate you on your efforts.

I think a nice brief write-up on what the demo shows would be very helpful.
I found what appears to be the control system code, where you calcule r, p
and ex in the x loop. Apparently you are setting r to p, via Ix and
Iy. I don't know what the aim of this is but the lattice display still
looks very nice.

Best

Rick

From[Bill Williams 29 March 2004 6:00 PM CST]

[From Bill Powers (2004.03.29.1607 MST)]

You say ,

I don't usually worry about how many people will >understand what I'm

trying to do. I have enough to do >just overcoming my own limitations of

time, persistence, and understanding.

I think that I understand your perception that the task is difficult enough
all by itself without adding to task additional difficulties-- such as
explaining the meaning of what you are attempting. Good demo's such as your
"Crowd" simulation may be one way to provoke an interest in the results you
have obtained. However, I have doubts that the economic model that you are
at work on will have this sort of impact. And, supposing that the model
generates provoking results-- which is possible -- then the problem remains,
at least as I see it, of communicating the meaning of the method[s] that
generated the results.

There is a sense in which their is a continuity in the problem of
communication. At one end, I think I understand at least some of the
principles involved in the time and causation issue. However, that
understanding isn't of much help to me when I am attempting to make sense of
the output of Econ5. As I have pointed out I am having difficulty using the
current display to understand how the variables are tracking. And, I think
you see my difficulty. I could better understand what is going on if I had
an output like a logic analyzer or an oscilloscope. As it is now I have to
construct the correlations in time in my imagination. I can do it, but the
computer can do it better and much faster. So, even between the two of us,
as I see it the problem of communication is a problem that lies, if not at
the heart of the matter, at least close to the issue of whether the project
is remotely viable. When I first replicated a Giffen program on an 8 bit
machine using Micro Soft Basic I didn't have a graphic output. So, I took
the numbers generated and plotted them on paper. 'we've come quite a ways
from there.

The intellectual problem of communication may not be entirely congruent with
the issue of what sort of graphics to use to display the program's output.
However, unless the basic principles are comprehended by an audience then
what is involved is not science but magic. And, if it is a question of
magic, then there are cultural forces at work that can call on passions that
are overwhelmingly more influential than whatever display your program will
ever generate. At least in my view an appreciation of the significance of
the programs output will require an understanding, at least in principle, of
how the output is being generated. The only force that you can call on in
this situation is the force generated by an understanding.

What I am asking is not that you take time away from writing code to
consider pedagogical issues. Rather what I want you to do is take the issue
of communication seriously. I have in preparation a discussion of the time
and causation issue. After thirty years struggling with the issue in the
last few months I seem to have gotten the materials together in a
presentation would be more accessible without distorting the argument. I
understand your frustration with the issue of communicating material to an
audience that is almost totally lacking in the background required to
comprehend the principles underlying the methods that you are using. All I
am asking is that you provide a bit of support to my effort to develop an
exposition that would be more readily accessible.

Bill Williams

From[Bill Williams 30 March 2004 9:15 AM CST]

[From Rick Marken (2004.03.29.1920 EST)

Actually I thought I'd see if there was any interest among people who could
compile the program before writing it up. With a thumbs up from you and
Bill Powers, maybe its worth my trying to explain what the model
demonstrates. However, it would be good if more than two people could see
it run. The university has filters installed that block me from either
recieving or sending EXE files. For a while I could rename a file with some
temporary sufix and it would get through-- now they have a more sophisticate
filter installed. If you can, would you mind resending the two programs to
the CSGnet as EXE files ?

Bill Williams

[From Bill Powers (2004.03.30.0918 MST)]

Bill Williams 29 March 2004 6:00 PM CST --

I think that I understand your perception that the task is difficult enough
all by itself without adding to task additional difficulties-- such as
explaining the meaning of what you are attempting.

I didn't mean that quite the way it came out. Of course if anyone is
interested I'm only too happy to explain whatever needs explaining.

And, supposing that the model
generates provoking results-- which is possible -- then the problem remains,
at least as I see it, of communicating the meaning of the method[s] that
generated the results.

It often happens that people fail to grasp what I wrote, and I don't
realize what it is they find hard to understand. This leads to explaining
things that are already understood, and failing to answer the real
question. So in the present case I suspect there's something that's obvious
to me but not to anyone else, so please ask anything you like and I'll try
to clarify.

However, that understanding isn't of much help to me when I am attempting
to make sense of the output of Econ5. As I have pointed out I am having
difficulty using the current display to understand how the variables are
tracking.

Did you get my message last night saying that I had put in a plotter that
will display all the variables shown as bar-codes, but as time plots (as on
an oscilloscope)? I sent it to same folder where I FTP'd the last bunch.
The program is called PEcon005a.exe (same as the former name but with an
"a" added). I also zipped the file and set it to CSGnet as an attachment,
but you can ignore that if your communication system rejects it.

And, I think
you see my difficulty. I could better understand what is going on if I had
an output like a logic analyzer or an oscilloscope.

That what you had as of last night. Let me know if it's what you wanted.

Best,

Bill P.

[From Rick Marken (2004.03.30.1410 EST)]

Bill Williams (30 March 2004 9:15 AM CST) --

With a thumbs up from you and Bill Powers, maybe its worth
my trying to explain what the model demonstrates.

I think it would be very worth it.

If you can, would you mind resending the two programs to the CSGnet
as EXE files ?

I'm afraid I don't know how to create EXE files using Turbo or I would be happy to send them. I was just compiling and running the program via Turbo Pascal, which, thanks to Bill P., includes all the utilities your program uses. In order to create an EXE file I think I would have to know how to include those utilities along with the compiled version of your main program in order to create a stand alone executable. I bet Bill Powers know how to do this.

Until someone figures how to send the executable version, how about sending a brief description of what the demo demonstrates. I think this would be nice for people to see before (or while) they run the executable.

Best

Rick

Richard Marken, Ph. D.
Senior Behavioral Scientist
RAND Corporation
1700 Main St., P.O. Box 2138
Santa Monica, CA 90407-2138
310 393-0411 Ext. 7971
rmarken@rand.org

[From Bill Powers (2004.03.30.1231 MST)]

Rick Marken (2004.03.30.1410 EST)

I'm afraid I don't know how to create EXE files using Turbo or I would be
happy to send them.

They're located in \tp\units, and have the same name as the program with
the extension .exe.

I'll zip the two .exe files and attach them to this message (BW0330.zip)

Best,

Bill P.

Bw0330.zip (51.4 KB)

[From Rick Marken (2004.03.30.1640 EST)]

Bill Powers (2004.03.30.1231 MST)--

Rick Marken (2004.03.30.1410 EST)

I'm afraid I don't know how to create EXE files using
Turbo or I would be happy to send them.

They're located in \tp\units, and have the same name as
the program with the extension .exe.

Sure enough! That was easy. Now that I'm on a PC (too) maybe I'll get back into Pascal programming.

Best

Rick

···

--
Richard Marken, Ph. D.
Senior Behavioral Scientist
RAND Corporation
1700 Main St., P.O. Box 2138
Santa Monica, CA 90407-2138
310 393-0411 Ext. 7971
rmarken@rand.org

[From Bill Powers (2004.03.31.0726 MST)]

Rick Marken (2004.03.30.1640 EST)--

Sure enough! That was easy. Now that I'm on a PC (too) maybe I'll get back
into Pascal programming.

I suggest getting into Delphi instead. Turbo Pascal 7.0 programs with
graphics will not run on Windows 2000, NT, XP, and so on. Thank you once
again, Mr. Gates, for your brilliant programming ideas. Also note that TP7
will not run on machines faster than about 150 MHz without a revised
turbo.tpl library file. Pretty soon there won't be anyone around who can
run Turbo Pascal programs on their machines. That has happened already to
Charlotte Bruun.

So far we have Bruce Abbott, you, David Goldstein, soon Bjorn Simonsen, and
me in possession of Delphi and able at least to compile and run source
code. I trust that Richard Kennaway also can program in Delphi, or could
learn it if he had 15 minutes to spare. There may be others lurking.

Best,

Bill P.