3. Computation and economic order
The basic features of computational markets are best
understood by comparing them with human markets. Many important tradeoffs, such
as those between market mechanisms and central planning, have already been
examined in the context of human society.
3.1. Market organization
Consider the awesome dimensions of the American
community. . .a labor force of 80,000,000. . .11,000,000 business units. . .
.Who designed and who now directs this vast production-and-distribution
machine? Surely, to solve the intricate problems of resource allocation in a
vast economy, central guidance is required. . . .But American economic activity
is not directed, planned, or controlled by any economic czar-governmental or
private.
--------------------------A. A. Alchian and W. R. Allen,
1968 [5]
Two extreme forms of organization are the command economy
and the market economy. The former attempts to make economic tradeoffs in a
rational, centrally-formulated plan, and to implement that plan through
detailed central direction of productive activity. The latter allows economic
tradeoffs to be made by local decisionmakers, guided by price signals and
constrained by general rules.
The command model has frequently been considered more
"rational", since it involves the visible application of reason to the economic
problem as a whole. Alternatives have frequently been considered irrational and
an invitation to chaos. This viewpoint, however, smacks of the creationist
fallacy-it assumes that a coherent result requires a guiding plan. In
actuality, decentralized planning is potentially more rational, since it
involves more minds taking into account more total information. Further,
economic theory shows how coherent, efficient, global results routinely emerge
from local market interactions. (The nature and function of prices and of
market mechanisms are a notorious source of lay confusion-just as Aristotle
threw rocks and yet misunderstood mechanics, so people trade and yet
misunderstand markets. Alchian and Allen [5] give
a good grounding in the basic concepts and results of economic analysis.)
Should one expect markets to be applicable to processor
time, memory space, and computational services inside computers? Steel mills,
farms, insurance companies, software firms-even vending machines-all provide
their goods and services in a market context; a mechanism that spans so wide a
range may well be stretched further.
As will be shown, however, a range of choices lies between
pure central planning and the universal fine-grained application of market
mechanisms. Computational markets, like human markets, will consist of islands
of central direction in a sea of trade.
3.2. Encapsulation and property
The rationale of securing to each individual a
known range within which he can decide on his actions is to enable him to make
the fullest use of his knowledge. . . .The law tells him what facts he may
count on and thereby extends the range within which he can predict the
consequences of his actions.
------------------------------F. A. Hayek, 1960 [6]
. . .the law ought always to trust people with
the care of their own interest, as in their local situations they must
generally be able to judge better of it than the legislator can
do.
------------------------------A. Smith, 1776 [7]
Computer science began, naturally enough, with central
planning applied to small, manageable machines. The first programs on the first
computers were like Robinson Crusoe on an empty island. They had few problems
of coordination, and the complexity of their affairs could (at first) be
managed by a single mind.
As the complexity of software grew, programs with multiple
subroutines became the equi- valent of autocratic households or bureaucracies
with extensive division of labor. Increasingly, however, bugs would appear
because the right hand would not know what the left hand had planned, and so
would modify shared data in unexpected ways.
To combat this problem, modern object-oriented
programming (to paraphrase) "secures to each object a known space within which
it can decide on its actions, enabling the programmer to make the fullest use
of his knowledge. Encapsulation tells him what facts he may count on and
thereby extends the range within which he can predict the consequences of his
actions". In short, motivated by the need for decentralized planning and
division of labor, computer science has reinvented the notion of property
rights.
Central direction of data representation and processing
has been replaced by decentralized mechanisms, but central direction of
resource allocation remains. Rather than "trusting objects with the care of
their own interest, in their local situations", the systems programmer attempts
to legislate a general solution. These general solutions, however, provide no
way to make tradeoffs that take account of the particular merits of particular
activities at particular times.
3.3. Tradeoffs through trade
. . .a capacity to find out particular
circumstances. . .becomes effective only if possessors of this knowledge are
informed by the market which kinds of things or services are wanted, and how
urgently they are wanted.
-----------------------------------F. A. Hayek, 1978 [8] .
. .the spontaneous interaction of a number of
people, each possessing only bits of knowledge, brings about a state of affairs
in which prices correspond to costs, etc., and which could be brought about by
deliberate direction only by somebody who possessed the combined knowledge of
all those individ- uals. . . .the empirical observation that prices do tend to
correspond to costs was the beginning of our science.
--------------------------F. A. Hayek, 1937 [9]
Trusting objects with decisions regarding resource
tradeoffs will make sense only if they are led toward decisions that serve the
general interest-there is no moral argument for ensuring the freedom, dignity,
and autonomy of simple programs. Properly-functioning price mechanisms can
provide the needed incentives.
The cost of consuming a resource is an opportunity
cost-the cost of giving up alternative uses. In a market full of entities
attempting to produce products that will sell for more than the cost of the
needed inputs, economic theory indicates that prices typically reflect these
costs.
Consider a producer, such as an object that produces
services. The price of an input shows how greatly it is wanted by the rest of
the system; high input prices (costs) will discourage low-value uses. The price
of an output likewise shows how greatly it is wanted by the rest of the system;
high output prices will encourage production. To increase (rather than destroy)
value as 'judged by the rest of the system as a whole',a producer need
only ensure that the price of its product exceeds the prices (costs) of the
inputs consumed. This simple, local decision rule gains its power from the
ability of market prices to summarize global information about relative
values.
As Nobel Laureate F. A. Hayek observes, ". . .the whole
reason for employing the price mechanism is to tell individuals that what they
are doing, or can do, has for some reason for which they are not responsible
become less or more demanded. . . .The term `incentives' is often used in this
connection with somewhat misleading connotations, as if the main problem were
to induce people to exert themselves sufficiently. However, the chief guidance
which prices offer is not so much how to act, but what to do."[8] This observation clearly applies to the idea of
providing incentives for software; the goal is not to make software sweat, but
to guide it in making choices that serve the general interest.
These choices amount to tradeoffs. With finite processing
and memory resources, taking one action always precludes taking some other
action. With prices and trade, objects will have an incentive to relinquish
resources when (and only when) doing so promises to increase their net revenue.
By trading to increase their revenue, they will make tradeoffs that allocate
resources to higher-value uses.
3.4. Spontaneous order
Modern civilization has given man undreamt of
powers largely because, without understanding it, he has developed methods of
utilizing more knowledge and resources than any one mind is aware
of.
------------------------------F. A. Hayek, 1978 [10]
Will prices, trade, and decentralized tradeoffs be
valuable in computation? This depends in part on whether central planning
mechanisms will be able to cope with tomorrow's computer systems.
Systems are becoming available having performance
tradeoffs that are nightmarishly complex compared to those of a von Neumann
machine running a single program. The world is becoming populated with
hypercubes, Connection Machines, shared-memory multi-procesors, special-purpose
systolic arrays, vectorizing super-computers, neural-net simulators, and
millions of personal computers. More and more, these are being linked by local
area networks, satellites, phones, packet radio, optical fiber, and people
carrying floppy disks. Machines in the personal-computer price range will
become powerful multi-processor systems with diverse hardware and software
linked to a larger world of even greater diversity. Later, with the eventual
development of molecular machines able to direct molecular assembly (the basis
of nanotechnology) [11], we can
anticipate the development of desktop machines with a computational power
greater than that of a billion of today's mainframe computers [12,13].
One might try to assign machine resources to tasks through
an operating system using fixed, general rules, but in large systems with
heterogeneous hardware and software, this seems doomed to gross inefficiency.
Knowledge of tradeoffs and priorities will be distributed among thousands of
programmers, and this knowledge will best be embodied in their programs.
Computers are becoming too complex for central planning, with its bottlenecks
in computation and knowledge acquisition. It seems that we need to apply
"methods of utilizing more knowledge and resources than any one mind is aware
of." These methods can yield a productive spontaneous order through
decentralized planning-through the application of local knowledge and local
computational resources to local decisions, guided by non-local market prices.
Instead of designing rules that embody fixed decisions, we need to design rules
that enable flexible decisionmaking.
Markets are a form of "evolutionary ecosystem" [I], and such systems can be powerful generators of
spontaneous order: consider the intricate, undesigned order of the rain forest
or the computer industry. The use of market mechanisms can yield orderly
systems beyond the ability of any individual to plan, implement, or understand.
What is more, the shaping force of consumer choice can make computational
market ecosystems serve human purposes, potentially better than anything
programmers could plan or understand. This increase in our power to utilize
knowledge and resources may prove essential, if we are to harness the power of
large computational systems.
3.5. Command and price mechanisms
An economist thinks of the economic system as
being co-ordinated by the price mechanism. . . .Within a firm, the description
does not fit at all. . . .It is clear that these are alternative methods of
co-ordinating production. . . .if production is regulated by price movements. .
.why is there any organization?
----------------------------------R. H. Coase, 1937 [14]
Coase asks, "Why are there firms?". Firms are economic
organizations that typically make little use of market mechanisms internally.
If reliance on market forces always produced more efficient use of resources,
one would expect that systems of individuals interacting as free-lance traders
would consistently out-compete firms, which therefore would not exist. In
reality, however, firms are viable; analogous results seem likely in
computational markets.
Market transactions typically incur higher overhead costs
than do transactions inside firms [14,15]. These transaction costs (in both human and
computational markets) are associated with advertising, negotiation,
accounting, and problems of establishing adequate trust-typically, inside a
firm, matching consumers with producers does not require advertising,
instructions do not require negotiation, movement of goods does not require
invoices and funds transfer, and coworkers share an interest in their joint
success. Firms lower the high overhead cost of market transactions among
numerous small entities by bundling them together into fewer, larger entities.
Not only does this save costs on what are now internal transactions, but by
creating larger entities, it raises the size of typical transactions, making
relatively fixed per-transaction overhead costs a proportionally smaller
burden. (For small enough transactions, even the simplest accounting would be
too expensive.)
Similar considerations hold among computational objects.
For small enough objects and transactions, the cost of accounting and
negotiations will overwhelm any advantages that may result from making
flexible, price-sensitive tradeoffs. For large enough objects and trans-
actions, however, these overhead costs will be small in percentage terms; the
benefits of market mechanisms may then be worth the cost. At an intermediate
scale, negotiation will be too expensive, but accounting will help guide
planning. These scale effects will encourage the aggregation of small, simple
objects into "firms" with low-overhead rules for division of income among their
participants.
Size thresholds for accounting and negotiations will vary
with situations and implementation techniques [16]. Market competition will tune these thresholds,
providing incentives to choose the most efficient scale on which to apply
central-planning methods to computation.
3.6. Can market objects be programmed?
The objects participating in computational markets must
initially be much simpler than the human participants in human markets. Can
they participate successfully? Human markets are based on intelligent systems,
but this does not show the impossibility of basing markets on simple objects-it
merely shows that the argument for agoric systems cannot rest on analogy alone.
Explicit attention must be paid to the question of the minimal competence and
complexity necessary for an object to participate in a market system. (These
issues provide another motivation to form computational "firms" and to open
computational markets to human participation.)
Experimental double-auction markets on a laboratory scale
[17] give some indication of the requirements
for market participation. Though involving human beings, some of these
experiments have excluded most of the range of human abilities: they have
excluded use of natural language (indeed, of any communications channel richer
than simple bids and acceptances) and they have replaced goods with abstract
tokens, excluding any cultural or historic information about their value. The
participants in these markets have performed no sophisticated calculations and
have lacked any knowledge of economic theory or of other players' preferences.
Yet in this informationally-impoverished environment, these markets rapidly
converge to the prices considered optimal by economic theory. Spencer Star [18] has successfully run double-auction markets
among software entities employing simple decision procedures, and has achieved
comparable efficiency.
Another reason for confidence in the applicability of
market mechanisms to computation is the existence of primitive market
mechanisms (outlined in this paper and presented in [III]) able to cope with such recognized software
problems as garbage collection and processor scheduling. With evidence for the
workability of market mechanisms both at this low level and at the
sophisticated level of human society, there is reason to expect them to be
workable at intermediate levels of sophistication as well.
3.7. Complexity and levels
Large computational ecosystems linked to the human market
will have many parts, many aspects, many levels, and great complexity. Failure
to recognize the differences among these levels will open many pitfalls. The
field of biology suggests how to approach thinking about such systems.
Biological ecosystems obey physical law, but to understand
them as ecosystems requires abstractions different from those used in physics.
The existence of physics, chemistry, cell biology, physiology, and ecology as
separate fields indicates that the concepts needed for understanding biological
systems are naturally grouped according to the scale and complexity of
phenomena to which they apply. Such a grouping may be called a level. Some
issues arise repeatedly at different levels. For example, cells, organs,
organisms, and hives all expend effort to maintain a boundary between their
internal and external environments, and to bring only selected things across
that boundary.
The concepts needed for understanding agoric open systems
may likewise be grouped according to different levels, ranging from
computational foundations through increasingly complex objects to market
systems as a whole. As in biology, there are issues which appear in some form
at all levels. Appendix I examines some of
these issues, including security, compatibility, degrees of trust, reasoning,
and coordination. In considering these issues in computational markets, it will
be important to avoid misapplying concepts from one level to a very different
level-that is, to avoid the equivalent of trying to analyze biological
ecodynamics in terms of conservation of momentum.
The next three sections of this paper examine
computational markets at successively higher levels, examining first
foundations, then decision-making entities, and finally the emergent properties
of large systems.
|