Econ005

[From Bill Powers (2004.03.26.1006 MST)]

Attached is a self-extracting zipped file, Ec005.exe. Put it in its own
directory and execute it, and it will expand into a set of files. The
runnable file is PEcon005.exe. The Delphi source code, an instruction text
file, and a bitmap diagram file are also included (the bitmap file is used
by the program, so keep all files in the same directory, even when
compiling with Delphi (only if you want to compile it -- PEcon005 is
stand-alone)). Should run on any PC.

Try the experiments suggested at the end of the instructions. Then ask
questions. Sequence is important.

Best,

Bill P.

Ec005.exe (257 KB)

[From Rick Marken (2004.03.26.1006)

Bill Powers (2004.03.26.1006 MST)]

Attached is a self-extracting zipped file, Ec005.exe.

Got it. It works (once I realized that the extracted files were on the
desktop). Looks great. I also printed out the code. I hope I get a chance to
work on this this weekend. Otherwise I'm out of town on business again
until next Thursday.

Best

Rick

···

--
Richard S. Marken
MindReadings.com
Home: 310 474 0313
Cell: 310 729 1400

From[Bill Williams 26 March 2004 1:20 PM CST]

[From Bill Powers (2004.03.26.1006 MST)]

Your post Ec005.exe was blocked by the University filter.

A student suggested that it might be possible to use FTP to communicate.

With your permission I will send my FTP address and password directly to
you.

The student thought using FTP would be unproblematic. I have no idea, but it
seems worth trying.

Bill Williams

···

Bill P.

Hi, Bill

I'm attaching the zip version of the file, but will be glad to FTP it also.

Best,

Bill

ec005.zip (241 KB)

···

At 12:27 PM 3/26/04, you wrote:

From[Bill Williams 26 March 2004 1:20 PM CST]

> [From Bill Powers (2004.03.26.1006 MST)]

Your post Ec005.exe was blocked by the University filter.

A student suggested that it might be possible to use FTP to communicate.

With your permission I will send my FTP address and password directly to
you.

The student thought using FTP would be unproblematic. I have no idea, but it
seems worth trying.

Bill Williams

> Bill P.

From[Bill Williams 26 March 2004 1O:00 PM CST]

I'm attaching the zip version of the file, but will be glad to FTP it

also.

This time the programs and all seem to have arrived. Will try compiling code
Saturday.

Bill

[From bill Powers (2004.03.27.0513 MST)]

Bill Williams 26 March 2004 1O:00 PM CST --

This time the programs and all seem to have arrived. Will try compiling code
Saturday.

This is written in Delphi, so while most of the procedures and functions
will look familiar to a Pascal programmer, the program will compile only if
you have Delphi -- do you?

In any case, the executable code (PEcon005.exe) should run on any PC, a
faster one being preferable. Also please set the screen to 800 x 600
resolution.

Best,

Bill P.

[From Bill Powers (3004.,03.30.0944 MST)]

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

In the category of "things I should have explained ..."

When you first start Econ005, the system variables are in arbitrary and
probably meaningless states. It takes a while (almost one full scan of the
plot) for the system to come to equilibrium. After that you can start
changing parameters to see their effects one at a time. After the system
reaches equilibriumn, nothing seems to be happening, but transactions are
going on continuously. When you change something you will see the effects
immediately.

You must have wondered what the heck was supposed to be going on. I just
forgot to mention the above.

Best,

Bill {

From[Bill Williams 30 March 2004 11:40 AM CST]

···

----- Original Message -----

[From Bill Powers (3004.,03.30.0944 MST)]

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

In the category of "things I should have explained ..."

It didn't cause me any difficulty. Just what you would expect -- a startup
oscillation-- But, it is the sort of thing that does need to be explained.

Keep in mind that I don't receive notice when stuff happens with the FTP.
So, until your previous email, I did know stuff had arrived here.

Should have time this afternoon to see the revised display.

Bill Williams

From[Bill Williams 30 March 2004 11:50 AM CST]

[From Bill Powers (3004.,03.30.0944 MST)]

I just ran the revised Econ5 with the variables /time display. I've a
meeting in a few minutes, so no time to play with it. But, cycling through
a few times the display is much, much easier to comprhend. Could you
include a pause function so that I could hold a response to a change?

Bill Williails

[From Bill Powers (2004.03.30.1218 MST)]

Bill Williams 30 March 2004 11:50 AM CST --

I just ran the revised Econ5 with the variables /time display. I've a
meeting in a few minutes, so no time to play with it. But, cycling through
a few times the display is much, much easier to comprhend. Could you
include a pause function so that I could hold a response to a change?

Look at the screen again. There's a GREAT BIG button labeled "Pause." Well,
a regular-sized button, but it's there. When you click it the action stops
and the caption on the button changes to "continue." I leave it as an
exercise for the student to figure out how to start it again. I know Bill W
can figure it out, but how about all you non-programmers out there?

If you switch to the diagram and don't press pause, the plot continues in
the background until the end, and when it reaches the end the diagram
blanks. Will fix later. You can see the diagram some more by cycling the
plot/diagram buttons.

You exit the program with the X in the upper right corner. I'll add a stop
button later.

Are you getting interested in what can be done with Delphi?

Best,

Bill P.

From[Bill Williams 30 March 2004 3:30 PM CST]

[From Bill Powers (2004.03.30.1218 MST)]

Bill Williams 30 March 2004 11:50 AM CST --

>I just ran the revised Econ5 with the variables /time display. I've a
>meeting in a few minutes, so no time to play with it. But, cycling

through

>a few times the display is much, much easier to comprhend. Could you
>include a pause function so that I could hold a response to a change?

Look at the screen again. There's a GREAT BIG button labeled "Pause."

Yes, now I see it. But, it is located in the right in the middle of the
screen. Who's going to see when it is located in such a strange place?

Now I really can see what is going on. Still, it is going to take me some
time to work through the relationships. It isn't at all necessary for now,
but when you get to a major revision is there any reason why the variables
over time panel can't be larger? If we can get some people to test drive
it, they might be able to suggest mods.

More comment, after I get some sleep.

Bill Williams

From[Bill Williams 30 March 2004 11:10 PM CST]

[From Bill Powers (2004.03.30.1218 MST)]

Are you getting interested in what can be done with
Delphi?

If you mean, am I getting interested in switching to Delphi as my primary
programming compiler, the answer is an emphatic no. I've got way to much
going on here already-- which is why I didn't see the "pause" button when I
first ran the modified Econ005. I had about 5 minutes to see how the
display was working, and that didn't include time to gawk at anything except
what I could see as the variables started up and stabilized.

I've got other project going. I'm out front pretty much by myself in
representing the faculty in a planning process for a renovation, rebuilding
of the UMKC library. Name is splatter all over the school paper. And,
administrators are in print refuting positions I never held. I think I may
have convinced some long time faculty to become more involved in the
process.

I am at work on a new introduction to the book. The introduction starts
more or less from what you were saying in the appendix to _B:CP_. I have
been listening to the lectures in a servo mechanics course so I have a
better idea about what the electrical engineering approach to servo theory
contains. The problem, however, is how to make these principles accessible
to people who are even less proficient in math and almost totally at a loss
regarding physics, physiology, and psychology.

My recent idea that using control theory it would be possible to explain
"sticky prices" seem doable, but actually doing it means starting work in an
area that I am almost totally unfamiliar. But, pulling it off would make
for a book that might get a lot more attention. The area is a hot topic, a
literature search pulls up close to a thousand articles.

Right now I find it hard to justify spending the time required to learn how
to get to my FTP and copy new EXE versions into my folder. What I am
looking at right now is an intensive effort to get a good quality reasonably
accessible introduction written. If you know of where there is an
explanation of the concepts you cover in your appendix to _B:CP_ that
doesn't take an engineering degree or physical science, or mathematics
degree to read, please tell me. Having a model exposition to work from
would, I think, make it much easier to write/copy an introduction.

So, am I interested in shifting to Delphi. I don't think so.

In the mean time I have spent some time with Econ005. I don't place much
confidence in my conclusion, but it seems to me that Econ005 may be running
correctly.

However, the way it behaves may appear a bit strange. I would think that
shifting to a consumer that is in chronic error as a result of a consumption
reference level that is well beyond what the budget allows might result in
the model behaving more like what you think it should be doing. You might
consider changing the control theory based agents to maximizing based
agents. I expect that you will want to test this at some point.

[From Bjorn Simonsen(2004.03.31,12:15 EuST)]

From Bill Powers (2004.03.30.1218 MST)

Wonderful. I am enthusiastically. You are great guy. You
give me and have given me great pleasures with manu of your performances.

I play with your model, but I can’t yet tell you which
overview I get.

Look at the screen again. There’s a GREAT BIG
button labeled “Pause.” Well,

a regular-sized button, but it’s there. When you
click it the action stops

and the caption on the button changes to
“continue.” I leave it as an

exercise for the student to figure out how to
start it again. I know Bill W

can figure it out, but how about all you non-programmers
out there?

I must be blind.
I don’t find any/Pause/Continue Button. Neither I find the Plot/Diagram button.

I use Windows
98.

In my down-left
corner there is a panel showing days. It runs and runs and at the time it is “Days:
2821.nnn Yk= and nothing more. The
panel is placed over the text: “Reserve ControlGain” so I can’t see the text.

May I propose a
button so the page can be transcribed? The absolute best would be a listing
where Plant/Wage Income Consumer/Capital Income consumer variables and the
dependent variables were placed nearby. Another idea could be a button, which
copied the text and numbers to Windows temporary storage memory so we can paste
it on a Word document. ……

It will be so
much easier if I don’t need to write everything myself. (???)

Are you getting interested in what can be done
with Delphi?

I am. And I am
on my way downloading a free (I guess) Delphi 7.0.

When I have got
it I’ll ask you where to find some tutorials or books to learn Delphi. I still
work with Smalltalk and I will continue still some time.

bjorn

I must be blind. I don’t find
any/Pause/Continue Button. Neither I find the Plot/Diagram
button.
From Bill Powers (2004.04.31.0714 MST)]

Bjorn Simonsen(2004.03.31,12:15
EuST)–

This is in Econ005a (notice the "a: at the end. Maybe you didn’t
notice the new version I sent as a zipped attachment on the
29th.).

I
use Windows 98.

I do, too.

In
my down-left corner there is a panel showing days. It runs and runs and
at the time it is “Days: 2821.nnn
Yk= and nothing more. The
panel is placed over the text: “Reserve ControlGain” so I can’t see the
text.

Set your screen to 800 x 600.

May
I propose a button so the page can be transcribed?

Use Alt-PrtScr to put the display on the clipboard. From there you can
paste it into Word files, a Paint program, and so on. This is one of the
great advantages of using Delphi – it creates Windows-friendly
programs.

The absolute best would be a
listing where Plant/Wage Income Consumer/Capital Income consumer
variables and the dependent variables were placed nearby. Another idea
could be a button, which copied the text and numbers to Windows temporary
storage memory so we can paste it on a Word document.
……

See above.

Are
you getting interested in what can be done with
Delphi?

I am. And I am on my way downloading a free (I guess) Delphi
7.0.

The last time I looked, it cost $100. Maybe that’s not true any
more.

When
I have got it I’ll ask you where to find some tutorials or books to learn
Delphi.

The Borland Delphi Community page is a good place to start. Also, look up
Delphi using Google. There are several good web sites devoted to Delphi.
Bruce Abbott, by the way, is very proficient with Delphi, way ahead of
me.

Best,

Bill P.

From[Bill Williams 30 March 2004 11:10 PM CST]

Bill,

Could I get you to change the color ( 3 places ) for income? Now income is
colored a pale pink. Just looking at it hurts my eyes.

Bill

[From Bill Powers (2004.03.31.0751 MST)]

Bill Williams 30 March 2004 11:10 PM CST --

Are you getting interested in what can be done with
Delphi?

>

If you mean, am I getting interested in switching to Delphi as my primary
programming compiler, the answer is an emphatic no.

I can fully sympathize with that. Dag is always trying to tempt me into
trying some new program, and I resist loudly because I dread the learning
period and don't have the time for it anyway.

The only problem is, as I wrote to Rick just now, that Turbo Pascal isn't
going to run on the newer operating systems if you use any graphics, and
maybe not even in text mode. Maybe that will be fixed, but Microsoft is not
known for making it easy to use older software. They call it "legacy"
software, a sneer at everyone who is so old-fashioned as to use hardware or
software that came out more than three years ago (it seems).

Delphi programming is Turbo Pascal with Windows extensions. The main change
is that it is "event-driven", meaning that the main procedures are
triggered by things you do to "controls" on the screen. Fortunately, there
is an "idle" event that happens every time nothing else is happening. It
can be used to establish a "heartbeat" that calls a program at intervals
you can set (to the nearest microsecond or better!), and this can be used
to run iterative simulations written in very nearly the way we write them now.

One of the great features is that when you start Delphi, it comes up with a
Unit and a Form already set up -- and you can type F9 to compile and run
it. It won't do anything except let you minimize or close the window, but
you start out with a running program to which you can add your own
programming. The Unit is just like a Pascal Unit (and the Editor is just
like the old Pascal editor), and the Form is an image of the screen you
will see when the program runs. You can drag "controls" from a menu onto
the Form, like that button labeled Pause. Double-click the button, and the
compiler switches to the Editor with a blank procedure that, at run-time,
will be called every time you click the button. You just write in the
Pascal program you want to be executed, between the Begin and End.. That
program can call other procedures and functions you have written into the
Implementation part of the Unit, so this is the door into any kind of
programming you want to do.

The commands in the Editor are the same old WordStar commands that have
been in Turbo Pascal since the first version, plus others you can use if
you like. To do a search and replace I still type control-Q-A, and Find is
control-Q-F. Control-Y deletes a line, and so on. Brings a tear to the eye
-- I learned that stuff in about 1975.

I am with you in hating all modern computing languages, which require you
to devote 90% of your time to figuring out how to get the damned language
to do what you want, and then make you do it the way some snot-nosed baby
genius thinks you ought to do your programming. But hey, that's progress.
Anyway, Delphi is fairly unobtrusive in that regard, though it still thinks
that multi-tasking is the bees knees, and Windows assumes that 200 people
are going to be using your computer. I think we'll just have to get used to
it, if we want other people to be able to run our programs. It's not their
fault.

One other thing. If you acquire Delphi, you can use it even before
understanding it to compile and run source code, which can be sent back and
forth as ASCII text, even embedded in an email post. Only three small files
need to be sent, and you open just one of then, the .dpr or project file,
by using File|Open in Delphi. Hit F9, and it compiles and runs. I wouldn't
try using it on the laptop you have, however. Too slow, not enough memory.

You could start making your own changes to the program right away, even
before you start learning the special Delphi stuff.There are certainly
things to learn, but I think you would very quickly get back to the level
of programming you're now doing. And your programs would run on all new
machines until Gates decides to screw us again. But then there will be new
versions of Delphi, whereas Turbo Pascal 7.0 is the last version there will
ever be. When nobody uses Windows 98 any more, nobody will be able to run
your programs.

Re: Econ005:

As to "maximizing" agents, they would be easy to add (if you know what you
want to add) since the agents are programmed separately from the "test bed"
part, which is the lower part of the diagram. I think we need to flesh out
the test bed first, making a provision for investment to maintain and alter
productivity (called "efficiency" in Econ005), and for banks to create and
lend money at specified interest rates, and a not-for-profit sector (which
includes government) to redistribute money.We may want a plant that makes
only capital goods and sells to the other plant (while paying its workers
and doing capital distributions just as the other plant does),

Also, we may want to add a few more agents. For example, we may want to
split the capital-income consumer into an owner and a non-owner, so the
owner can be the one who receives profits and also who (as CEO or board of
directors) decides the policies to be followed by plant managers. I think
it's reasonable to have a manager-agent who controls inventory by adjusting
prices, but we also need an employer-agent who hires and fires, and
probably a level above those guys, an agent who sets limits on employment
and price changes, with an eye on the return on investment -- this one
might be an owner-consumer as well. Or maybe just a bean-counter.

So there is still a lot of experimenting to do. I don't think we want to
add unnecessary complications just because we can, but there's some minimum
amount of detail that's needed to make the model realistic enough for
present purposes. No doubt our aims will change with experience.

By the way, I thought of a useful way to introduce the model. Instead of
saying that it's a model of "the" economy, or the "US" economy, we should
just say it's a model of AN economy, whatever economy would result from
having agents and interactions in it of the type we have proposed. The
point is to keep proposing components and altering components until this
model economy begins to behave in ways similar to the economy we want to
imitate. We're not simply trying to imitate _behavior_. We're proposing an
underlying organization which will behave according to the properties we
give, and in the end, if we succeed, like the real system we're trying to
understand.

I'm thinking about your comments on the time problem. Keep reminding me,
and I'll try to come up with something useful. There may be more to the
concept of simulation than just the method of handling time, but that is
certainly one of the basic points.

Your suggestion about making the numbers on the bar-charts larger conflicts
with my reason for putting them where they are -- looking ahead to having a
lot more of these bar-charts on the screen at the same time, as we add
agents and sectors. I still worry about that, and suggestions are needed.
Of course I could put bigger numbers somewhere else in the present version,
but what happens when we add five more sets of plots to the screen? It's
going to be a mess unless we can think of some better way to do the plots.

Actually, it should be possible to work with a window much larger than the
display screen. When you do that, the part of the window that will fit is
shown, and there will be scroll bars on the right side and bottom, which
can be used to move the viewing area around in the large window. The scroll
bars show up automatically when you set the window size to be larger than
the display screen. Hmm. Well, we have lots of things to work on, from the
model itself to the way it's shown and used on the screen.

By the way, did you notice that I distributed your two program files as
zipped attachments? Maybe you didn't see that post. We need that writeup,
although of course I wouldn't dream of telling you what to do.

Best,

Bill P.

From[Bill Williams 31 March 2004 11:20 AM CST]

[From Bill Powers (2004.03.31.0751 MST)]

Hurried comments, a meeting to go to shortly.

Thank you so much for reminding me that whether or not I want to abandon
Turbo Pascal that I am going to forced to anyway. I hope you are proud of
yourself for having made my day.

I've got some idea about how to organize a display. No rush, it wouldn't
hurt to give a few days to gain more experience with the existing setup.

I am going to print out your post so I have something to read during the
meeting.

And, I will get back to you later today.

Bill Williams

[From Bill Powers (2004.03.31.1021 MST)]

Bill Williams 30 March 2004 11:10 PM CST--

Could I get you to change the color ( 3 places ) for income? Now income is
colored a pale pink. Just looking at it hurts my eyes.

Done. I replaced PEcon005a.exe byh FTP. Just substitute it for the old file
of the same name.

Best,

Bill P>