Econ004

[From Bill Powers (2003/02.07.183e7 MST)]

Bill Williams UMKC 7 Feburary 2003 4:10 PM CST --

>My initial impression, and only very initial impression, is that a more
extensive >graphic routine will be needed in order to visualize what's
happening. But, I haven't >spent enough time looking at the code yet, to
really have much to say.

I agree about the need for plotting more variables. The problem is room on
the screen. We're going to have to get very clever when the model gets more
complex. The program is there to fool around with, so feel free.

I believe that in Delphi, it's possible to define the graphics screen to be
much bigger than the actual screen. Then "scroll bars" show up at the
bottom and right sides of the screen so you can move the visible area
around on the virtual screen.

I started a Delphi version of Econ004 and got it working. The source code
is much smaller because Delphi provides routines for doing most of the
editing and plotting that is written out in TP7.0 (the executable code,
however is MUCH LARGER). One thing that saved room on thee screen was to
turn the bar graphs 90 degrees and use thinner bars with a somewhat smaller
range. Also it's possible to use small fonts so the numbers can still be
fit into the screen, right over the bars. Another thing that will help is
"hints," You can define these for various screen elements, so that when
(for example) you place the cursor over a label "Rp", after a short pause
an expanded label appears saying "Plant Reserve, $", and so forth. We can
use short (and small) abbreviations for variables, but the hints will
remind us of what they mean.Then there are things like drop-down menus
which are out of the way most of the time, and appear only when you need to
change something on the screen. We really need Bruce Abbott in on this --
he's become pretty proficient with Delphi.

For now we're working in Turbo Pascal -- I mention Delphi only as a hint.
Some of this can still be done in TP7, but the time will come when you'll
need to give some serious thought to acquiring a suitable Windows PC. I
understand perfectly your hesitancy to launch into such a project, but I'm
pretty sure that it will turn out to be much less bother than you now
anticipate. For one thing, if you buy the computer through a local computer
store, they will, for not much money, configure it for you, transferring
data from your old hard disk to a new one, installing programs, setting up
internet communications (specify Eudora), installing a firewall and virus
protection, and so forth, so you're basically in business as soon as you
get the thing home. Of course you'll be learning for a month or so, but you
will also be able to write and program within a couple of days. The basic
moves are simple, and there are plenty of people on CSGnet who will be
delighted to answer questions about how to make things happen. I'm sure
there are plenty of local experts around UMKC, too. And don't forget,
you're the guy who wrote that interlocking-directorates program in that
impenetrable language whose name I have forgotten (gratefully).That was an
impressive piece of programming, so I have faith in you even if you aren't
so sure.

Back to TP7. After you've experimented with the Econ004 a bit you'll
probably have questions, which should lead into a guided tour of the
program that perhaps others on CSGnet might want to join in on. Can I get a
count of how many people have been able either to run the .exe program or
compile the source code with Turbo Pascal? If we take our time, and try
changing things in the program to see the effect, it will soon become
familiar and manageable. It's hard at first to get the idea of a big
iterative program like this -- it's hard to imagine that the computer does
all of those computations in hundreds of lines of code just to inch the
system forward by 1/1000 of a day. But after doing this enough, you get
used to the idea that these computers are FAST, and that you can do a whole
lot more before the speed of the simulation is reduced anywhere close to
real time.

Best,

Bill P.

[From Bill Powers (2003.02.08.0702 MST)]

Bill Williams UMKC 8 Feburary 2003 0:45 AM CST --

>I think my experience with the interlocking-directorates program may
provide some >guidance for how to proceed with the Econ project.

Thanks for that illuminating, if alarming, story about your development of
the Prolog program. It's truly a jungle out there. All I can say is, let's
try to make a small clearing within which we can start a civilization. I
think people resort to irrationality and narrowmindedness only when they
have lost their confidence in being able to know or do anything of
significance. Psychologists have given up on understanding people;
economists have given up on understanding the economy. When you have given
up on substance, all you have left is form. It's like a steady diet of
meringue.

Let's begin exploring Econ004 by looking at the wage-earner. I have said
that a wage-earner uses hours of work to obtain money, and uses money to
obtain goods and services ("goods" for short). That seems clear enough, but
there are some problems with these assumptions which we will come to in due
time. Let's begin by seeing what the program says about the wage-consumer,
the consumer who works for his money.

First, goods and money. The wage-consumer, or Cw, has a reference level for
maintaining the wage-household inVentory of goods, Vw, at a reference level
refVw. Why not start by saying the consumer wants to consume at a given
rate? I can think of many rationalizations, but the basic reason is that we
need a cumulative variable somewhere in the loop into which and from which
all the flows, or rates, can come and go. The consumer is going to be using
so many goods per day, so the store of goods is depleted at that rate; to
replace those goods, the consumer must purchase the same number of goods
per day. At the same time, there is a goal, refVw, for how many goods are
to be in the wage-consumer's possession. Some of these are durable goods
like houses and cars; others dwell in inventory for only a short time:
food, medicine, gasoline, and so on. Others disappear almost at the same
time they are purchased: movies, music, train tickets. Some goods are gone
before they can be used; depreciation (in the physical, not accounting,
sense).

If Gw is the rate at which goods are acquired by a wage-consumer, Uw is the
rate at which they are used, and Dw the rate at which stored goods
depreciate, we can write a differential equation describing the time rate
of change of wage-consumer inventory:

d(Vw)/dt = Gw - Uw - D*Vw, or

d(Vw) = (Gw - Uw - D*Vw)*dt

To convert this into an integral equation for simulation purposes, we
integrate both sides of the equation, and express the integration process
in terms suitable for a program (an Euler integration in this case, a fancy
word for the simplest kind):

Vw := Vw + (Gw - Uw - D*Vw)*dt;

The first Vw on the right side is the initial value of inventory; to that,
we add the daily rates of increase and decrease of inventory, multiplying
by dt, the fraction of a day over which we are calculating the accumulation
and loss. Not having to please mathematicians, I use dt throughout, even
though I should start with a delta-t and then let its size decrease to
zero. We use a dt small enough that making it any smaller will not change
the results noticeably.

This equation, strictly speaking, is not about the agent, the
wage-consumer, but about the household operated by that composite person.
It doesn't matter who accumulates and uses goods; if they are used and
accumulated and lost at the specified rates, the inventory will increase
and decrease as shown because of conservation of matter, not because of
psychology.

The agent is introduced when we speak of an inventory goal and what is done
to make actual inventory match it. The controlling agent, or the part of
the human wage-consumer that carries out control of inventory, is shown by
these equations:

errorVw := refVw - Vw;

OutputVw := GainVw*errorVw;
This is a simple proportional control system: the magnitude of output
action is proportional to the momentary error between the actual amount of
inventory Vw and the reference amount refVw. Note that we assume that the
perception of Vw is numerically equal to the actual size of Vw.

What does this output activity cause in the environment of the control
system? In
Econ004, it causes a certain rate of acquisition goods, this rate
symbolized as Gw.
All conversion factors are contained in gainVw. The consumer acquires goods
at a rate proportional the difference between current inventory and the
desired level of inventory.

This has the happy and not unanticipated result that this control loop
contains a single integrator. Control loops with a single integrator and no
transport lag are unconditionally stable for any amount of gain. When
represented in a computer, so that dt cannot really be infinitestimal, the
limit on gain is set only by dt; if gain is too high, computational
oscillations will set it, one full cycle every two iterations. If it is
necessary to use a still higher gain to match performance with that of a
real system being simulated, the solution is to reduce dt sufficiently to
eliminate the computational oscillations (at the expense of needing more
iterations of the program to cover each unit of time).

If the real system contains a transport lag, and its performance is limited
by that lag, then we need to incorporate a corresponding lag in the model.
Normally we would choose a dt that is perhaps 1/10 or less of that lag, so
its size will not influence the results. Otherwise, the size of dt has
nothing to do with time-lags in the real system; it is simply the penalty
we pay for using a digital computer instead of a real analog computer.

We now have a control system that keeps the wage-household inventory Vw
near the wage-consumer's reference level refVw by varying the rate at which
goods are purchased. How near depends on the control system's gain and on
the two disturbances: Uw, which subtracts from Vw, and Dw, which substracts
a fraction of the remaining Vw fron Vw. For a steady state, the rate of
acaquisition, Gw, must equal Uw + Dw*Vw. If the gain is low, a large error
is needed to bring Gw high enough to cancel the two rates of loss. If gain
is high, only a small error is needed for equilibrium. The parameter gainVw
therefore determines how tight control of inventory will be, and can be
adjusted to make the model's performance match observations.

When the wage consumer buys goods at a certain rate Gw, measured in goods
per day, this requires that money be spent at a rate Gw*P, measured in
dollars per day, where P is the price per good in dollars. Dollars per good
times goods per day equals dollars per day. It is often useful to keep
track of units as a reality check.

The money spent comes from the second variable controlled by the
wage-consumer, the cash Reserve. The cash reserve Rw is an account into
which money flows as income, Yw, and out of which money flows as expenses,
Xw. Since Econ004 does not include interest as yet, the differential
equation for the reserve is

d(Rw)/dt = Yw - Xw, or
d(Rw) = (Yw - Xw)*dt,

where Yw and Xw are flows measured in dollars per day, and dt is the
fraction of a day over which the change is measured. In integral form for a
model, we have

Rw := Rw + (Yw - Xw)*dt

Again, this is a property of the household, not of the wage-consumer. The
amount of money in an account is equal to the initial amount plus the rates
of income and expenditure per day, times the fraction of a day over whyich
the accumulation is measured.

The rate of expenditure of money, Xw, is determined by how fast goods are
being bought, which is set by the other control system, the inventory
control system:

Xw := Gw*P,
  where Gw is the rate of acquisition of goods, and P is the price per
good, as discussed above.

The wage-consumer has a reference level for the amount of cash Reserve that
is to be maintained, refRw. The control system is

errorRw := refRw - Rw;

outputRw := gainRw*errorRw;

Again, a simple proportional control system, leaving the control loop with
a single integrator in it.

The output action outputRw of this system will have its effect on the reserve
Rw by varying the income, Yw. If we wanted to postpone the problem of where
income comes from, we could just say

Yw := K*outputRw,

with K being an arbitrary constant. But we can be more specific: if Nw is
the fraction of a day worked per day, and W is the wage in dollars per day,
then the income will be

Yw := Nw*W

and we can say that

Nw := outputRw,

closing the loop.

We see now that the wage consumer in Econ004 maintains a certain level of
cash reserve by working as many hours (in fractions of a day) as necessary,
and purchases goods at whatever rate is needed to maintain a given
inventory of goods. The level of the inventory is affected by usage and
depreciation; the level of cash reserves is affected by the rate of buying
goods at a given price and by the hours worked at a given wage.

Because these computations are done over only a very short time interval
dt, it can be assumed that reference levels, wages, and prices are
essentially constant at their average values during the interval. So the
program can compute the states of all the variables, including any small
changes in prices, wages, and reference levels, and then update all the
variables before doing the next computation for the next small interval of
time. When nothing changes abruptly, this is a valid approach and will
yield accurate results. For very rapid or instantaeous changes, other
approaches are needed which we can explore when or if such circumstances arise.

Summing up the equations for the wage-consumer, we have

===============WAGE-CONSUMER INVENTORY CONTROL

AGENT
  errorVw := REFvW = vW;
  outputVw := gainVw*errorVw;

OUTPUT INTERFACE
  Gw := outputVw {effect on inventory}
  Xw := Gw*P; {effect on cash reserve}

ENVIRONMENT or HOUSEHOLD
  Vw := Vw + (Gw - Uw - Dw*Vw)*dt;

===============WAGE-CONSUMER CASH RESERVE CONTROL

AGENT
  errorRw := rfefRw - Rw;
  outputRw := gainRw*errorRw;

OUTPUT INTERFACE
  Nw :- outputRw;
  Yw := Nw*W;

ENVIRONMENT or HOUSEHOLD
  Rw := Rw + (Yw - Xw)*dt;

There endeth the lesson. After this is assimilated we can discuss some
problems with the assumptions, the main one being the assumption that the
wage-consumer can vary hours of work at will. We could say that the model
correctly represents what would happen if this were true, but the question
is, what other arrangements are likely?

Best,

Bill P.

[From Bill Powers (2003.02.08.1900 MST)]

Bill Williams UMKC 8 Feburary 2003 12:15 PM CST--

>One observation : Usually consumers are thought of as maintaining a cash
reserve >proportionate to their income, or consummption rather than of some
absolute amount. >And, the same is true of the inventory of goods as being
thought of as motivated by the >rate of consumption. Although people don't
normally consume paintings, so it _is_ more >accurate to depict them as
controlling for an inventory of paintings.

We're still talking aggregates here since there is only one of each type of
entity: plant/manager, wage-household/consumer, and
capital-income-household/.consumer. So any characteristics we give these
entities has to be thought of as an average over a population. At this
stage you can propose anything you like; your suggestions wouldn't be hard
to put into the model.Also there is only one kind of good; later I'm sure
we will want to put in a variety of goods at a variety of prices.

Second: It seems to me that there might be an advantage to setting up the
control loops so that they include integration. Then in the absence of
conflict the loop would settle much more precisely to the reference value
rather than "somewhere somewhat close" to the reference depending upon
gain. We've had this discussion before I think, but I don't recall where,
if anywhere, it led.

Here's the basic problem: if you have more than one integration in a loop,
you get oscillations (just like for those two integrators in a oscillating
loop). You can make one integrator leaky, but then you get some degree of
instability, which may be exactly what you want if you're trying to model a
real system that displays those symptoms, but which I think we don't want
when we're just starting.

In Econ004, the single integration occurs in the "environment" of each
consumer control system, so the controllers themselves are proportional.
The plant manager adjusts prices in a proportional loop, but the price
operates through consumer loops with integrations in them. You can raise
their gains enough to get very close control if you want to.

Remember that if the real system isn't unstable, we don't want the model to
be unstable, either.

Third: Given the way you've set this up, I would anticipate that an
increase in the wage rate would result in a decrease in the number of
hours worked, and a decrease in the rate an increase in hours of work sought.

  If I'm correct in thinking this, that's OK with me. ( It is, however,
considered a perverse effect. And, you might want to consider under what
conditions the worker might react to a wage-increase by working more
hours. Or, what situations would result in behavior that looks as if the
consumer is attempting to maximize consumption.) It might make a
difference to the worker whether the rate increase was temporary or not.
If the increase was temporary, the worker might work more hours and then
plan on cutting back somewhat when and or if the wage rate return to the
original level.

You are correct, and we need to work on this. However, let's not jump the
gun. It may be that the effect of working harder when pay is raised will
show up under some conditions, which I suspect will turn out to be
conditions in which wage-earner wages are kept low. Keynes mentions another
case. Employers essentially bid for the services of workers: they raise
their pay offer until enough workers are willing to work at that level,
according to Keynes. So in some region of operation, I can imagine a model
in which raising the offered pay will result in more workers and hence more
hours worked. I would like to see if we can get a model to work that way
without introducing stimulus-response ideas.

However, in a macro model, which this one still is, we have only one
worker, so we will have to redefine some things if we want to use the
Keynes model (I don't mean he offered it as a model; he was probably
referring to classical economics. I'm just using his name as a tag). If
you'd like to work on that, please do.

Another difficulty in handling wage-earners is that of unemployment. In one
way or another, we don't let people in the US die of starvation. We need to
get a handle on just how this is done. A wage-earner typically supports
more than himself -- there are at least some children and other dependents.
When a wage-earner is laid off, and income drops to zero, there is nothing
to live on except savings (which will be small at that end of the scale)
and whatever other people are willing to give. Otherwise the outcome has to
be death.

In the model as it stands, the wage-earner works just enough to meet the
goals for income and possessions. We could say instead that of the total
possible workforce, enough people seek employment at the offered wage to
support all the people at least at some subsistence level. By adjusting the
wage, the plant manager can adjust the number of hours worked, so it is the
manager who determines that instead of the wage-consumer. What's in my mind
right now is that the wage-consumer isn't really able to manipulate his own
number of hours worked. There is not really a choice of withholding labor
as Keynes assumed: to choose not to work is to choose to die, basically.
Charity, savings, or unemployment compensation last only so long and then
they are gone, and they can apply only to relatively small numbers of
people at a given time. At some point the worker is forced to accept
employment at whatever wage is offered, and must then try to subsist on it.
And if not enough work is offered ...

Well, it would seem that the only way to get workers to work at whatever
wage the employer wants to offer is to make sure they receive a small
enough proportion of the total production that they must work whenever they
can and as much as they can just to keep their error signals from getting
bigger. There can be no question of workers being paid so much that they
would be content to live on what they can earn in half a day or less. It is
necessary to arrange the system so that the workers can't get close to
their goals for income or possessions, basically possessions.

Pardon my wandering about as one thought after another comes by. I think
this is what we have to work on first, to set up the model so it will
indeed make the workers work more, or more workers work at all, when they
are offered more. To do this we must arrange things so the workers always
have much less than they want (or need), and so will always take advantage
of any opportunities to earn more. The plant manager, then, can adjust the
costs of production by manipulating the wage offered and thus the number of
people working a standard workday. It could be that the model as it stands
will work this way if we set the parameters correctly. It's possible that
the only reason for the "perverse" behavior is that the wages in the
present setup of the model are sufficient to satisfy the workers' wants and
needs, so that there is no serious effort to earn more. As you say in this
post, there are other things they would like to spend time on, and if they
earn enough they can afford to do so instead of earning more. We have to
figure out how to keep them from doing that (move over, Machiavelli).

One possible way to achieve this altered state of the model would be to
allow capital-income consumers to control the ratio of their own income to
the income of wage-earners. They would have to have a reference level for
keeping the plant viable, but as long as it remained so, they could award
themselves as big a slice of the pie as they pleased. As the model now
stands, the managers are the ones who adjust this ratio, with the goal of
keeping the plant's cash reserve at a reference level. There is no bias in
favor of recipients of capital distributions; indeed, if the plant's cash
reserves are low, it is the income of the capital recipents that is
reduced. The managers skip a dividend.

The bias we need could be introduced by giving ultimate control of the
ratio to the capital income recipients. We would also have to set their
goals for possessions and cash reserves as high as feasible, so that even
if productivity increases, the added output and the money that goes with it
would not go to the wage-consumers. The balance would have to be maintained
so that the wage-consumers are never allowed to earn as much as they want
or need, and so will work at any offered wage level, but not so low that
they will die in any large numbers.

Fourth: Maybe instead of having a sharp cut-off point for the maximum
hours of labor, you might consider a schedule in which the more hours
worked the greater is the conflict with non-work activities.

In the light of the above, I think we will approach this a different way.
The preferences you mention might well become part of the model, but would
be more relevant when we model a state of affluence in which wage-earners
can in fact work less to enjoy their nonwork activities more.

>Unless I've missed something the addition seems OK. Is there some plan
for where this >is going?

Vaguely, but I'm trying to focus on problems we can tackle immediately and
that relate to building confidence in the limited model we have so far.
Down the line, I've indicated that I want to see multiples of all the
entities in the model, with multiple goods and prices and statistical
distributions of preferences for goods. I'd like to see multiple plants so
we can examine the effects of competing for market share. But I'm in no
hurry to get there. The model is complex enough right now to slow me down,
and I do want to see if we can get this much into a shape that we both feel
good about. As indicated (partially) above, there is plenty to work on.

Best,

Bill P.

[From Bill Powers (2003.02.08.1144 MST)]

Bill Williams UMKC 8 Feburary 2003 10:00 PM CST m--

One way to handle unemployment is to assume that there is a non-market
subsistence economy which is less productive than the market economy.

OK, I think that is a good idea. Let's see if we can do it.

I don't think we can be talking about farmers giving free food, or people
without jobs living off the land somehow. With 95% of the population living
in urban areas, supporting people without jobs has to mean (I'm guessing)
people _with_ jobs taking them on as dependents, one way or another
(personally or through support of private welfare agencies). Since those
without jobs don't work, do they contribute to production? I wouldn't think
so, or at least not significantly. We can include a productivity factor for
the unemployed if that sounds like a good idea -- say 2% of the
productivity of employed people? Name a number. I'm looking for a way to
reflect, in the model, the number of non-working people and the effect they
have. It looks as if another category of consumer will be introduced to the
model: the employable unemployed. We can make other dependents part of the
households of the two existing kinds.

Let's say that we're going to assume that the system will not let anyone
actually starve to death. This would mean that nonworking people will
require some input of goods and services, and that someone will have to
provide money to pay for them -- obviously, someone _with_ an income. I
suppose we will need two categories of nonworking people; those who could
work if jobs were available, and those who are permanently dependent
(babies, the disabled, and old people). Also, since there are two
categories of people who have income, wage-earners and recipients of
capital income, we will have to make some provision in the model for
distributing the burden of supporting the jobless between these two groups.

An alternative, though this may be premature, would be to introduce
government, or in general a not-for-profit entity that can redistribute
income. This way of handling it says that there is some level of voluntary
support of philanthropic institutions, with the level of government support
through taxation and welfare being adjusted to make up any difference that
develops, with the goal of preventing unemployed people from falling below
subsistence level or an arbitrary poverty level.

Before we start writing code, what do you think of my interpretations of
your proposal to this point? Once that part is done, we can start looking
at the mechanisms for "sucking in and expelling" workers, and making sure
the effects on the system are correctly represented.

>What I had in mind in suggesting the inclusion of integration in the

control was the widespread and I think correct perception that the economy
is in the longrun stable but poorly damped.

We can certainly do this, but don't forget that even in a critically damped
system that is perfectly stable, there will be fluctuations of activity.
The behavior of the control systems will reflect fluctuating disturbances
such as seasonal variations, crop failures, changes in foreign competition,
large business failures, and so on, all of which we can represent as one or
more composite disturbances in the system -- for example, random
fluctations in productivity. The resulting variations will not necessarily
reflect instability.

To see whether we need to introduce true instability into the model (easy
enough to do, by adding integrators as you suggest, or time-lags) we need
to look at the periodicity of actual business cycles. If there is no
"natural frequency" that persists over time, so it could be picked out with
a Fourier analysis or autocorrelation, then we would not want to make our
model unstable -- to do so would be to go against what we observe in the
real system. I'm open to any suggestions here, but my not very strong
inclination is to leave the system stable until we're forced to do otherwise.

>What you said in connection with my thinking about including integration in

the wage-worker's loop has me wondering about the structure of the model.
I've been looking at the parts and I've compiled and run the program. But,
I'm not sure, or rather I'm sure I don't fully understand it at this point.
I had thought that what was involved was a balance sheet combined with a
producer maintaining cash and physical stocks, and a consumer doing the
same under a slightly different nominclature. It might help me see what is
there if you could provide a diagram depicting how the parts fit together.

I'll see what I can come up with. It will take a little time -- trying to
diagram it has been frustrating because it's hard to avoid confusion from
criss-crossing lines. I think I'll try to work out a tabular presentation.

Actually, no agent in the system is keeping the books. The program does
that by enforcing conservation laws. All money that enters one account must
be subtracted from one or more other accounts. All goods produced or
purchased must show up as inventory, and all goods sold or used must
subtract from one or more inventories. All goods that pass from plant to
consumer must be subtracted from the plant's inventory, and at the same
time must show up in the inventory of some consumer. No agent in the system
is responsible for seeing to it that these balances are maintained. The
program simply makes it impossible for them not to be maintained. This
model is just a way of implementing the actual transactions that take
place, one at a time and in parallel, a thousandth of a day at a time. In
this sense the model is more realistic than an accountant's record, which
could fail to transfer a record of goods or funds correctly. If the model
works at all, it will not make any mistakes.

I'll start putting together the presentation of the whole model. It will
look something like the presentation of the wage-consumer a couple of days ago.

Best,

Bill P.

[From Bill Powers (2003.02.10.0805)]

Phil Runkel on Sunday 9 Feb 03 --

What's working? Having a job? Contributing to the society? Do
employers work? Do the people who buy tickets to the ballet or the
football game employ the performers? Do students employ teachers? Do
the armies of volunteer workers contribute to the economy? Do they have
jobs? Do people who carry on illegal businesses have jobs? Are they
employers? Gee whiz! How can you find the boundaries of such
designations?

Fortunately, the model doesn't rely on such terminology. A company (which
can be a single individual) produces goods and services which are sold at a
price.
The sum of all sales, times the price of each sale, is the income of the
company. The cost of production consists of all money that the company must
pay out to anyone in the course of producing the product. What is left
over, if anything, is either retained against future needs, spent on
maintaining the means of production, or distributed to those who have a
claim to the surplus.

Of the people responsible for operating the company, some are managers who
are in charge of deciding what to produce, how to produce it, and how much
to charge for it. All who are involved in production are paid a wage (which
includes salary) for organizing and operating all the means of production
(and distribution), as well as the means of obtaining raw materials. Their
pay.is one part of the cost of production; the rest of the cost is the
distribution of company income owed to the recipients of capital income,
among whom are the owners of the means of production (what they receive is
called profit).

As consumers, all people who receive wages or capital distributions
maintain themselves and their households by buying goods and services and
thus providing all the income that the company has (other than money
invested directly in companies). Consumers maintain cash reserves and
stocks of goods which they consume at various rates. These are, of course,
the same goods and services they are instrumental in producing in return
either for a wage or for capital distributions. The money they spend is the
money they have received for their role in production.

"Company", "manager", and "consumer" describe functions that are carried
out, either by separate people or by the same people in different roles.
The model spells out in detail how each function is carried out, and how
both money and goods change hands in this process.

I hope that by devising a model that shows clearly how the system works,
and how it must be set up to achieve various kinds of results, we will be
able to show exactly how and where the system must change to avoid bloody
revolution or disaster. People tend to see only the good side of what they
are doing; any bad results are either unfortunate accidents or something to
be ignored and denied. A competent model can show how all kinds of results
arise from the operation of a system, results both intended and unintended.
When it is fully understood that capitalism creates both marvels of good
living and extremes of misery, and why it does, it will be hard to maintain
that this system should be retained unchanged. It is not evil people who
create the dark side of the world we live in, but good people who by their
own actions cause the very things they abhore. When good people understand
exactly what effects they are having, they will not wish to continue having
those effects.

If that's not true, we might as well set a match to the whole shebang.

Best,

Bill P.

Best,

Bill P.

"Pay no attention to that man behind the curtain."
The Wizard Of Oz

"Convince a man against his will;
He's of the same opinion still."
Embroidery by Grammy Alice

[From Bill Powers (2003.02.10.1119 MST)]

Bill Williams UMKC 10 Feburary 2003 10:00 AM CST--

>If you don't conform to the 9-5 routine its going to be very difficult,
nearly >impossible for most people, to create for themselves a reasonable
life. But, there are >exceptions such as Linus Torvalds

We have to base the model on what happens most of the time, not on
individual exceptions. Of course this means that the exceptions will remain
exceptions, but the value of the model will depend on how well it depicts
the main features of the economic system.

>... I was taken back a bit by your comments about there already being an
integrating >term in the model. I was assuming that the basic model
consisted only of a set of >simulataneous books-- the exquations of
exchange -- that balance by definition. And, >that is what I understand
your most recent comments to indicate-- that there is no >_over all_
controller in the economic system.

This is true. There are five control systems making up three agents, and
the behavior of the model arises strictly out of their interactions. I
think the term "integration" may be entering our discussion with two
different meanings here. One meaning is "coordination" or "bringing
together into a single system," which is NOT the meaning I am using. The
meaning I have been using is mathematical: essentially, integration means
summation, adding up of small variable quantities to produce a single
number, their sum. The two usages have nothing to do with each other even
though the same word is used for both of them.

I agree with what you said sometime back about the problem of approaching
this verbally. Partly as a result I've constructed an extremely simple
model which expresses the conclusions I came to thirty years ago in the
dissertation. Its running now, but I need to clean up the code, insert
comments and write some narrative explaining what I _think_ the model
does, and identify the assumptions upon which it is based. When I get
worked out a bit more, you can inspect it. Perhaps by comparing the two
models perhaps we can see if we agree about assumptions and proceedure, or
where there is a difference

I'll be very happy to participate in that.

As a short explaination while I check, clean up the code and write a short
narrative:

>[Keynes] first set out some initial definitions about the factors that
determined the ratio of consumption to income ( C/Y ).

Yes, I remember that: the "propensity to consume," which he asserted is a
function of income. The "marginal propensity to consume" is dC/dY, which
can change over time and with the values of C and Y, meaning it's a
nonlinear function. This is not the way to start a model. If consumption
and income are related, the model needs to contain a mechanism that creates
a relationship between them. Otherwise you're asserting the very conclusion
you hope to prove (and if you don't think you need to prove it the model
will be trivial).

In Econ004, consumption is driven strictly by the reference level for the
possession of goods (there is an implied reference level for the _use_ of
goods, but that would be a lower-level system and I want to keep the model
simple for now). People buy food because they need to eat, not because they
have enough income to buy it. They would try to obtain food even if they
didn't have enough income to buy it. If they didn't they would die. They
may want other things for less pressing higher-order reasons, but once the
reference level is set, the rest follows as before.

In Econ004, this results in a relationship between consumption and income,
but as a causal matter it is reversed from what Keynes assumed. He
basically assumed that it is income that causes consumption, whereas in the
control-system model it is consumption that creates the need for income,
which in turn produces hours of work that create the needed income, or as
near to that amount as it possible to obtain given the states of other
variables in the environment. Of course that is how it works as our present
economic system is set up, and as long as the participants follow the
rules, which is what I assume for the present.

>THen he considers the effect of a change in investment upon income, given
the ratio of >consumption to income.

Having no way to show that there will be such a ratio or what determines
its magnitude, it is pure conjecture to assume any effect of investment on
income. Can you fill in for me the missing steps between investment and
consumer income?

>However, the way he does this contains an inconsistency in which the
"actual" ratio of >C/Y is changing as the process develops, but Keynes
assumes that the change is the >result of a ratio of C/Y that is assumed to
be a characteristic of the consumer. So >there is an obvious inconsistency
in the analysis.

Yes. This is what comes of asserting the relationship instead of deriving
it from more basic assumptions. Since there is no reason to assume that it
is income that causes consumption, anything based on such an assumption is,
to say the least, suspect if not simply wrong on the face of it.

> What I did was to point out that the only way to handle the matter which
would be >internally consistent >was to adopt a specification of the
relationships as a set of >differential equations in time or dC/dt / dY/dt

This, of course, is equivalent to dC/dY except when income is constant.
dC/dY is the marginal propensity to consume, but you expressed so it can be
derived from observations of changes in each variable over time. However,
there is the implication in writing it this way that it is the dC/dt that
depends on the dY/dt, while it is quite possible that the dependency is the
other way around.

> But, its really easy to get it wrong using difference equations-- And I
don't know of >any published explaination of what is required to get it
right. In physical theory >where you have the actual phenomena availible,
and the differential equation >representation has been worked out, there's
something to check the analysis against. >This isn't the case in economics.

It really doesn't matter whether you use differential equations or
approximate them with difference equations. as long as you make sure the
two forms converge to the same answer. This can usually be done by
examining the forms. All digital simulations of analog computers like
simPCT or Vensim or others use the same approaches, which are the same as
mine except that I make no provision for integration methods other than
Euler. If there are any doubts about that, the same simulation can be set
up in, say, Vensim, which allows using more advanced integration methods
such as Runge-Kutta. I have done such checks with tracking models and found
no difference in the results. You have to have very badly-behaved data with
very high sensitivity to small changes in parameters before you have to
worry about the integration method (integration is basically how you solve
differential equations -- that and a little algebra).

  Any way when I plugged the Veblen/Duessenberry model into my model
economy what I saw was appealing in a sense, but I wondered, how is that
possible?

I look forward to seeing it.

THe way I read this there's an implication or rather suggestion that that
it takes "power" to keep a body moving. And, if it takes power to keep a
body moving, then I guess it takes an "impact" to get it moving. And, if
you believe this, then behaviorism is going to look like it makes a lot of
sense. And, economic theory is going to be just about impossible.

Yup.

Best,

Bill P.

[From Bill Williams UMKC 8 Feburary 2003 10:00 PM CST]

One way to handle unemployment is to assume that there is a non-market
subsistence economy which is less productive than the market economy. Then
fluctuations in the level of activity in the market sector sucks in or
expell workers from the market sector. There's a historical record that
provides some support for this. There was a bitter struggle in England in
what is called the "Enclosure movement" in which landlords broke up their
traditional patterns of obligation to their semi-feudal farmhands for a
more profitable market orriented production. Something similiar happened
under different circumstances in Ireland in the period before the Great
Famine. The native Irish were, one way or another, forced off the more
productive land. During the famine which the Irish experienced, English
landlords in Ireland were exporting grain. Recent famines in India, it is
argued, have been the result not so much of absolute shortages of food, but
instead of poor harvests which resulted in less work and income for
marginal landless workers. But, the argument has been made that in a pure
market economy assuming individualism unemployment is impossible. Those who
don't work starve. Given the change in the nature of the economy and the
disappearance of a subsistence alternative to the market the alternative is
some form of welfare, but at a standard of living well below most
employment.

What I had in mind in suggesting the inclusion of integration in the
control was the widespread and I think correct perception that the economy
is in the longrun stable but poorly damped. I'm not suggesting that the
level of activity at which the economy is stable is "optimal" in the sense
of providing the level of employment that might be desired-- I don't think
there is any "natural force" that generates such a tendency. But, I don't
think for the most part that the economy is widely unstable either.
However, a professor here who spends his time looking a macro economic
patterns says the current configuration is very unusual. He says the only
other time with the period for which there is a reasonable statistical base
to examine, was the period before the "Great Depression." There maybe some
wishful thinking included in his analysis.

What you said in connection with my thinking about including integration in
the wage-worker's loop has me wondering about the structure of the model.
I've been looking at the parts and I've compiled and run the program. But,
I'm not sure, or rather I'm sure I don't fully understand it at this point.
I had thought that what was involved was a balance sheet combined with a
producer maintaining cash and physical stocks, and a consumer doing the
same under a slightly different nominclature. It might help me see what is
there if you could provide a diagram depicting how the parts fit together.

While I'm making suggestions of things to consider, I'm fully in agreement
with you on clarifying the basic model before adding features.

best

Bill Williams

From Phil Runkel on Sunday 9 Feb 03

To Bill Powers re 2003.02.08.1144

What's working? Having a job? Contributing to the society? Do
employers work? Do the people who buy tickets to the ballet or the
football game employ the performers? Do students employ teachers? Do
the armies of volunteer workers contribute to the economy? Do they have
jobs? Do people who carry on illegal businesses have jobs? Are they
employers? Gee whiz! How can you find the boundaries of such
designations?

[From Bill Williams UMKC 8 Feburary 2003 0:45 AM CST]

[From Bill Powers (2003/02.07.183e7 MST)]

don't forget,
you're the guy who wrote that interlocking-directorates program in that
impenetrable language whose name I have forgotten (gratefully).That was an
impressive piece of programming, so I have faith in you even if you aren't
so sure.

I think my experience with the interlocking-directorates program may provide some guidance for how to proceed with the Econ project. When I started programing the only language availible to me was the MicroSoft BASIC and I hated it. Then I got a copy of Turbo Pascal and it was really neat. I still didn't know much of anything about programing, you were providing hints and some help, but it wasn't by any means and couldn't be a systematic course of instruction. So I read Nicholas Wirth's books ( the author of Pascal ) and his stuff was really good. The main thing I remember was his insistence upon a method of progressive refinement. This probably isn't the whole story, but it gave me an idea about how to build a program that would take several months to complete. However, when I attempted to get started with the interlock program I had difficulty ( read couldn't ) find a simple, robust configuration that would do the interlock search. Looking at the computer science texts I ran across Horiwitz's (sp?) survey of computer languages. H's thesis was choose a language that matches the problem you want to solve. Reading through his review of languages it was apparent that Prolog provided a very direct way to write an interlocking directer search program. The code for the search routine itself could be written in four lines in Prolog. And the complete search program, including a dummy data set, fit on a single page. But, the Borland version of Prolog while superficially very well done, was based upon some very inefficient underlying routines. Maybe this was due to inescapable limitations involved in fitting a Prolog implementation into the resources provided by a micro-chip ( of the time ) computer. Whatever the source of the limitation, it was clear that a Prolog version of the search program would require days and even months running on the then 3 and 6 mhz machines. So I spent about 18 months gradually building faster and faster search routines in Pascal using the basic structure of the Prolog implementation as a model. The last version used a hashcode indexing routine which was really quick. But, each of the steps involved in the sequence were self-contained and usually fairly small. I learned some lessons along the way, like spending 4 days tracing down an intermittent bug impressed me with the value of initializing variables-- whether I think its neccesary or not in a particular case. The thing about the interlock program that made it a good "student's exercise" was that it was possible to check by hand the correctness of the report of interlocks. I could spending a day in the library confirm using standard and poor's tables to verify the interlocks for a core set of large banks and insurance companies. Whether or not the program was correct wasn't a question after the interlocks had been verified by hand. There might be more interlocks out there, but there couldn't be less. However, there was a problem with the data. Was J. B. Smith of the Corn Corp board the same guy as John Bates Smith of Hogbellies ltd. ? I wasn't interested in trying to solve this problem. Actually I wasn't really all that interested in the interlock problem as a whole-- aside from its being a good project from which to learn how to approach a project that was going to take more than a day or two. And, I chose the interlock project partly because this guy I knew had devoted his career to studies of industrial organization. The capstone of his work was an interlock table which he and some other people had developed by hand. I never understood how he did this. When I questioned him about it he'd get angry and say, "You don't understand, I memorized it all." Maybe he did. I suppose its possible. But, it took the colloboration he'd assembled there were three or four professors and a stream of graduate students at work for almost a year to do this one table. What they did was to transform themselves into a sort of computer, it took a great deal of diligence, focus and and a year of very boring work. And, when it was done they hated each others guts, and the colaboration broke-up. I wasn't really thinking about the situation into which I was inserting myself. It seemed obvious to me that what these people needed was a program that would find the linkages they were putting so much effort into searching for by hand. But, I got sort of carried away with the project. But I was facinated when little improvements resulted in decreases in the time required to compute the table by factors between 2 and 10. And these improvements compounded upon each other. When I finished the code ran to 200 some pages, and the program computed the table that had taken them amost a year to do by hand in 10 or 12 seconds. ( Now, of course, with machines running about 300 times faster it would take less than a fraction of a second to compute the table. ) When I finished the program I thought these folks would be impressed with what I'd done. And, they were. But, not quite in the way I had expected. When the program ran and the data table popped-up, they thought they were seeing a precomputed table. When they realized that what they were seeing was the actual computation they started laughing. I wasn't exactly clued into what was generating the laughter. I was still in the mode of looking for ways to speed-up the computation. So I started talking about how if they wanted to they could run it 4X times faster by getting a 25 mghz machine. And, then they stopped laughing and looked at me as if I was some sort of enourmous insect. Over time it became evident that I'd been welcomed into the club where everybody hated everybody else's guts. When I gave a paper on the program at a conference the discussant's remarks consisted a question, "Why would anyone do such a thing? He said, "We don't need a program to tell us that there is a power elite." And, the journal editor I sent the stuff refused to send it out to reviewers. He didn't he said, "understand " it. My reaction was "What's to understand?" But, the guy who spent his entire professional life from his PhD thesis to his retirement working in the field of industrial organization, ended up arguing that we don't need to know the number of interlocks-- which contradicted the basis
upon which his entire career up to that point had been based.

For a moment there I got so caught-up in the absurd stuff that followed from my writing the interlock program that I forgot where this was supposed to be going. But, I think there really might be a point to this. Inorder to make the econ model go three things have to be handled correctly: 1) there's a real process involved ( I like Veblen's caption "the economic life process" ),
then there's the monetary and accounting structure ( double entry bookeeping can be the source of mystification, the leakages and fountains of money can be, or at least seem magical, plus the usual description of how prices are set is only partly correct ), and to make in PCT correct agency has to be introduced in a way that is consistent with parts 1 and 2. My experience has been that people are not neccesarily all that rational even in regard to what seem to be simple issues. In the example of my interlock program, once the results were calculated the program could be discarded and the results verified by hand. IN the Econ model everything depends upon a consensus concerning how to represent the system. In the past I haven't been confident that such a consensus existed. While I was entirely confident that the appendix to BCP expressed the proper way to describe the behavior of a system. If your appendix was mistaken then all the conclusions I've held for thirty some years have also been mistaken. After compiling and running Econ004 and looking at the code, things seem to be in order. But, I wouldn't describe what I've done in anysense as verifying the program. I think its going to take considerable time to become adquainted with the parts, acquainted enough with the parts to be confident that I understand how things fit together. There's a sense that I don't understand some parts of my own programs. But, that doesn't worry me if I've tested the parts as they were being assembled. So, I'd say why not begin exercising the program a bit. Say by the government injecting or withdrawing currency. You may wish to see what effect increasing or decreasing the wage-rate has, but this seems to me like a more complicated issue. If after some experimentation a problem is then identified with the basic model it can be fixed. Or, after some experience it may seem desirable to modify the basic model. In order to construct a working system you've had to introduce activities into the program. I suspect that There may be a simplier way of doing this, but for now I think the thing to do is exercise the model you've constructed.

Re: your private emails about my computer resources:

You are of course correct that at some point I'll have to update my system. But, right now my primary goal is getting an abstract of a book completed. And, the 600 mhzx machine is more than capable enough for the time being.
You say it would only take a month or so to adjust to a new machine, software, etc etc. and that seems like a reasonable estimate for such an adjustment. But, right now I'm in a mode similiar to cramming for finals in which there's no extra attention availible to devote to what for the moment are, or would be extraneous activities. My "outpouring" of stuff on the net may appear to an "extraneous activity" but it serves the purpose of getting my thinking somewhat ( I hope ) organized regarding issues that I'll have to explain as a part of a control theory based reconstruction of economic analysis. I've resented having to spend time figuring out how to explain things such as why it makes a difference whether you approach an analysis in terms of a "causal-sequence" as opposed to a "causal-process." You spend 2 and 2/3 pages on the issue in BCP. As you say on the last page of text in BCP, "... knowing about this relationship [ the problem of stability and sequence etc etc ] is essential to seeing the overall situation correctly." p. 282.

Earlier in the section concerned with stablity you say,

  "The most common beginner's error in analyzing how a control system
  works is to trace the effects of an abrupt disturbance step by step
  around the closed loop. Such analyses are almost always qualitative,
  and therefore do not reveal the quantitative difficulty created by
  that approach." p. 280.

But, of course! But, who would ever make such an _obvious_ beginner's error?
May I quote Veblen?

          All this is simple enough. It is so simple and is so obvious
          that it is difficult to see it until it has been pointed out,
          and after it has been pointed out it seems to have been
          unnecessary to speak of it." p. 177.

            Veblen on Kant's Critique of Judgement

Then you go on to say,

  "There are far more sophisticated methods for analyzing system
  stablity, and I do not pretend to be expert enough to present
  them here out of my own knowledge." p. 282.

All I think I can say is, if this is true for you, I'm going to have to work really hard to avoid resorting to wholesale make believe.

Best,

Bill Williams

[From Bill Williams UMKC 8 Feburary 2003 12:15 PM CST]

Bill,

I'm sure its tegious writing stuff out in such detail, but I find it very helpful to be able to read through the sequence rather than having to attempt myself to recreate in my head, even if I could do it, the argument after the author says, "Obviously ..... "

One observation : Usually consumers are thought of as maintaining a cash reserve proportionate to their income, or consummption rather than of some absolute amount. And, the same is true of the inventory of goods as being thought of as motivated by the rate of consumption. Although people don't normally consume paintings, so it _is_ more accurate to depict them as controlling for an inventory of paintings.

Second: It seems to me that there might be an advantage to setting up the control loops so that they include integration. Then in the absence of conflict the loop would settle much more precisely to the reference value rather than "somewhere somewhat close" to the reference depending upon gain. We've had this discussion before I think, but I don't recall where, if anywhere, it led.

Third: Given the way you've set this up, I would anticipate that an increase in the wage rate would result in a decrease in the number of hours worked, and a decrease in the rate an increase in hours of work sought. If I'm correct in thinking this, that's OK with me. ( It is, however, considered a perverse effect. And, you might want to consider under what conditions the worker might react to a wage-increase by working more hours. Or, what situations would result in behavior that looks as if the consumer is attempting to maximize consumption.) It might make a difference to the worker whether the rate increase was temporary or not. If the increase was temporary, the worker might work more hours and then plan on cutting back somewhat when and or if the wage rate return to the original level.

I'm not suggesting that you should neccesarily adopt all of these suggestions.The analysis is going to get complicated as it develops, but there are choices to be made concerning which directions in which to add complication. So, I'm pointing out possiblities.

Fourth: Maybe instead of having a sharp cut-off point for the maximum hours of labor, you might consider a schedule in which the more hours worked the greater is the conflict with non-work activities. The standard view is that people work as little as possible. But there are surveys that seem to show that most people actually like working. But, they have other things to do too. And, if there is too much paid work is required they have difficulties because non-work tasks don't get done.

Unless I've missed something the addition seems OK. Is there some plan for where this is going?

Best

  Bill Williams

[From Bill Williams UMKC 10 Feburary 2003 10:00 AM CST]

[From Bill Powers (2003.02.08.1144 MST)]

Bill Williams UMKC 8 Feburary 2003 10:00 PM CST m--

One way to handle unemployment is to assume that there is a non-market
subsistence economy which is less productive than the market economy.

OK, I think that is a good idea. Let's see if we can do it.

I don't think we can be talking about farmers giving free food, or people
without jobs living off the land somehow. With 95% of the population living
in urban areas, supporting people without jobs has to mean (I'm guessing)
people _with_ jobs taking them on as dependents, one way or another.

Yes. When I mentioned the non-market subsistence economy, I was more or less engaging my mouth before doing any thinking. Runkel's got a point, or maybe more accurately _several_ points. As an instance we "produce" children by way of a "non-market" process. I doubt anyone believes that "for profit" firms could do so more efficiently. So, if we're going to approach this as an exercise from a "first principles" standpoint, what I said about the relationship between the market and non-market economies doesn't do justice to the issues involved. But, to get on with the modeling .... usually if as an adult if you aren't "gainfully employed" it is assumed that your experience can't be very rewarding or productive. And, despite all the qualifiers that might be introduced I think for most people this is true. If you don't conform to the 9-5 routine its going to be very difficult, nearly impossible for most people, to create for themselves a reasonable life. But, there are exceptions such as Linus Torvalds, pretty much by himself, living in his mother's basement over a summer initiated the Lenux operating system as an alternative to microsoft. ( See Glyn Moody's 2001 _Rebel Code: Inside Linux and the Open Source REvolution_ ) It seems to me that the development of Lenux a community based "open source code" operating system is the sort of thing that Z Harris was talking about in his book _Transformation of Capitalism_ . If the Lenux system and the institutional arrangement that it is a part of proves to be superior to what Microsoft as a profit seeking corporation can generate then there are profound implications for economic and social theory. One of them will be that it will no longer be possible to plausibly assert, as I careless did in the recent post, that market based production is neccesarily more efficient than non-market based arrangements.

So, I'll retract what I said initially that suggested that non-market activities are neccesarily less productive. But, question remains as to the meaning of the relation between the level of market based employment and the number of people seeking such employment. Mainstream economics doesn't do justice to this problem, heterdox traditions, Marxism, Institutionalism, and the Keynesian and Post-Keynesians have a lot more to say about the issue. I'm not at the moment inclined to drop everything and do even a quick review of this literature. So, off the top of my head, I don't think it would be unreasonable to adopt a structural assumption about the type of economy modelled that--- ordinarially there are more people who want market based paying jobs than there are jobs availible. This assumption could be later modified, improved, corrected in various ways, acknowledging that it is a simplifying assumption based on what is typically true of the economy we are thinking about. At least this seems to me to be better than the contemporary orthodoxy which attempts by sneaky arguments that unemployment isn't actually real. THey argue, if you can see beyond the code words they use, that if you are unemployed then you always _could_ get a job by reducing the price you charge for your labor. What's left out of this arguement is the consideration that a worker might have to drop the wage rate so low that it would be impossible to survive on the income recieved.

When I mentioned including integration in the model's control loops, what may have been in my mind was that to get the VEblen/Duessenberry model of consumer behavior to work I had to include integration in the budget loop to make the model work. ( I haven't gotten very far in developing an econometric basis for the VD model, but the work a student did two summer's ago seemed to bear it out. THe best data availible the quarterly reports from the BLS reports from the last 50 years doesn't seem to be extensive enough or of such quality that it will generate especially persuasive results. Still, I think the model can be developed further in various ways ) So, I was taken back a bit by your comments about there already being an integrating term in the model. I was assuming that the basic model consisted only of a set of simulataneous books-- the exquations of exchange -- that balance by definition. And, that is what I understand your most recent comments to indicate-- that there is no _over all_ controller in the economic system. THe various parts of the system producers, consumers, and what ever else is going to be included are attempting to control for various things, but whole system as collection is not controlled. I'm looking at the code, but as you say even you find it "complicated."

I agree with what you said sometime back about the problem of approaching this verbally. Partly as a result I've constructed an extremely simple model which expresses the conclusions I came to thirty years ago in the dissertation. Its running now, but I need to clean up the code, insert comments and write some narrative explaining what I _think_ the model does, and identify the assumptions upon which it is based. When I get worked out a bit more, you can inspect it. Perhaps by comparing the two models perhaps we can see if we agree about assumptions and proceedure, or where there is a difference.

As a short explaination while I check, clean up the code and write a short narrative: As a student when I looked at economic models it seemed to me that there were two problems. One was the absence of an adaquate theory of agency. The other was a very widespread practice in theory construction in which various assumptions were first proposed, but then in the process of developing the theory the inital assumptions were violated. THe principle motivation which the economists had for violating their own assumptions was their inabilty to consistently handle change in, or over, time. And, the lack of a theory of agency may have also contributed to this. The suspific example I looked at was the way Keynes handled consumption. He first set out some initial definitions about the factors that determined the ratio of consumption to income ( C/Y ). THen he considers the effect of a change in investment upon income, given the ratio of consumption to income. However, the way he does this contains an inconsistency in which the "actual" ratio of C/Y is changing as the process develops, but Keynes assumes that the change is the result of a ratio of C/Y that is assumed to be a characteristic of the consumer. So there is an obvious inconsistency in the analysis. What I did was to point out that the only way to handle the matter which would be internally consistent was to adopt a specification of the relationships as a set of differential equations in time or dC/dt / dY/dt . The problem was that having pointed this out that consistency of in analysis of a proces in time demanded this sort of statement, I couldn't do anything with the conclusion. And, whether I was correct or not, the result was a formal criticism that didn't seem to lead much of anywhere. I had an idea, or a conviction that the usual proceedures in which a sequence of changes, such as Keynes had used in his analysis of the determination of income, was inconsistent. Only extremely careful handling of the way in which difference equations were set up for computation would give the proper answer. ( I may have been of the opinion that it couldn't be done using difference equations.) Kenneth Bolding said you could do analysis using either difference or differential equations, that it didn't make any difference. But, its really easy to get it wrong using difference equations-- And I don't know of any published explaination of what is required to get it right. In physical theory where you have the actual phenomena availible, and the differential equation representation has been worked out, there's something to check the analysis against. THis isn't the case in economics.
  Any way when I plugged the Veblen/Duessenberry model into my model economy what I saw was appealing in a sense, but I wondered, how is that possible? Despite having spent a good portion of my life attempting to escape from the period-sequence mindset, I haven't been able altogether or even very extensively a simultaneous model or differential equation habit of thought. A few days ago, Bill was making fun of the Aristotelian physics and the notion of "impetus" If you look in a diction, "impetus" is defined as "... noun 1, energy of motion; the power with which a moving body tends to maintain its velocity. " THe way I read this there's an implication or rather suggestion that that it takes "power" to keep a body moving. And, if it takes power to keep a body moving, then I guess it takes an "impact" to get it moving. And, if you believe this, then behaviorism is going to look like it makes a lot of sense. And, economic theory is going to be just about impossible.

best

Bill Williams