The Mathematica Journal
Feature Articles
New Products
New Publications
News Bulletins
Write Us
About the Journal
Staff and Contributors
Back Issues
Download this Issue

The Model

Motivation for the Model

This combination of genetic programming and cellular automata emerges out of the desire to study a classic problem in the economic analysis of law: conflicting use of adjoining land use [1]. The problem arises in which the behavior of one landowner affects the profitability of neighboring landowners. Thus the production of vegetable farmers may be adversely affected by the number of cows maintained on an unfenced landscape by neighboring ranchers.

Traditional economic analysis of this problem has assumed that landowners have astonishing powers of computation, anticipation, and observation, and that they assimilate all local and global properties of the economic and legal system. It further assumes that all adjustments to equilibrium take place instantaneously. These models fail to address more realistic settings in which agents interact locally and learn on the basis of limited knowledge regarding the local and global environment.

One departure from the traditional method of analysis was made earlier by Chandler [2], in which he assumed that actors could select learning mechanisms and mechanisms for learning how to learn from a set of prespecified choices that the author thought relatively logical. That work, like this one, explored how changing the rules of law altered both behaviors and the methods of learning employed by agents in the economy. While the results of that work were intriguing--the emergence of order roughly paralleling cooperative behavior--the constraint on choices available to the agents was somewhat artificial.

In this paper, that constraint is relaxed. While the grammar from which possible choices are to be made is constrained--as it is in any genetic programming approach--the possible constructions from that grammar are essentially unlimited. The agents are thus given far greater freedom to explore. The idea of this paper is to see what sorts of learning and behaviors in fact emerge, and in what period of time, given this freedom and the background rules of law. One issue to be explored is the extent to which changes in the rule of law changes methods of learning, forms of behavior, and gross features of the economy.

The Economy

Site Activities

Each site in this economy either produces cows (ranching) or grows vegetables (farming). The amount of production at each site varies from 0 to 7. Farmers growing vegetables may have all or part of their crop destroyed by cows from adjacent properties. If is the number of cows at the site to the left of the farmer and is the number of cows at the site to the right of the farmer, then the vegetables remaining (vpost) after trampling is , where v is the level of production of vegetables by the farmer and a is a constant representing the destructive force of surrounding cows.

Cost of Production

It costs money to produce either cows or vegetables. The formula (tc) for total cost of production of either vegetables or cows is , where x is the quantity produced. This formula results in long-run equilibrium being attained when the price is equal to four. [Note7]


The demand function in the economy is determined by the number of sites () in the economy. If p is the price of a commodity (either cows or vegetables), then the quantity demanded is . [Note8]


Consistent with traditional economic learning, the price of cows and vegetables in the economy is determined by the intersection of endogenously determined supply at a particular time with the current demand. For example, if there are 20 sites in the economy, and δ is set equal to 8, the demand for cows is thus . If the quantity of cows supplied is 63, then the equilibrium price is because .

The Data Structures Employed to Model the Economy

We model an economy in the Mathematica language as a data structure called an automatonPattern with two parts: a List containing a number () of sites, and a sequence of Rule objects containing certain global data about the economy, such as commodity prices and demand levels. Code Fragment 10 shows how this is done in Mathematica. The List is generally treated as a ring with programs treating the right end of the List as being adjacent to the left end. The authors accomplish this treatment through use of part indices computed as mod the length of the ring offset by one to compensate for Mathematica's use of part 1 rather than part 0 as the first element of an object.

A site is in turn modeled as a List, which contains data on the behavior and profitability of the site (represented as an object with a head of List) as well as a number of programs. These programs include programs for how to behave, how to modify how to behave, how to modify how to modify how to behave, how to modify how to modify how to modify how to behave, and how to modify how to modify how to modify how to modify how to behave. The programs have a head of either recombination or behavior. Fragment 9 shows how this is done in Mathematica.

A site might thus look like the following.

Copyright © 2001 Wolfram Media, Inc. All rights reserved.

[Article Index][Prev Page][Next Page]