Complexity and the Economy Read online

Page 2


  development. It occurred to me, gradually at first, that John and I could

  design a primitive artificial economy that would execute on my computer, and

  use his learning system to generate increasing sophisticated action rules that would build on each other and thus emulate how an economy bootstraps its

  way up from raw simplicity to modern complication. In my mind I pictured

  this miniature economy with its little agents as sitting in a computer in the

  corner of my office. I would hit the return button to start and come back a

  few hours later to peer in and say, oh look, they are trading sheep fleeces for obsidian. A day later as the computation ran, I would look again and see that

  a currency had evolved for trading, and with it some primitive banking. Still

  later, joint stock companies would emerge. Later still, we would see central

  banking, and labor unions with workers occasionally striking, and insurance

  companies, and a few days later, options trading. The idea was ambitious and

  I told Holland about it over the phone. He was interested, but neither he nor

  I could see how to get it to work.

  That was still the status the following summer in June 1988 when Holland

  and I met again in Santa Fe shortly before the program was to start. I was keen to have some form of this self-evolving economy to work with. Over lunch

  at a restaurant called Babe’s on Canyon Road, John asked how the idea was

  coming. I told him I found it difficult, but I had a simpler idea that might be feasible. Instead of simulating the full development of an economy, we could

  simulate a stock market. The market would be completely stand-alone. It

  would exist on a computer and would have little agents—computerized inves-

  tors that would each be individual computer programs—who would buy and

  sell stock, try to spot trends, and even speculate. We could start with simple agents and allow them to get smart by using John’s evolving condition-action

  Pr eface [ xiii ]

  rules, and we could study the results and compare these with real markets.

  John liked the idea.

  We began in the fall, with the program now started, to build a computer-based

  model of the stock market. Our “investors,” we had decided, would be indi-

  vidual computer programs that could react and evolve within a computer that

  sat on my desk. That much was clear, but we had little success in reducing the market to a set of condition-action rules, despite a number of attempts. The

  model was too ad-hoc, I thought—it wasn’t clean. Tom Sargent happened to

  be visiting from Stanford and he suggested that we simply use Robert Lucas’s

  classic 1978 model of the stock market as a basis for what we were doing. This worked. It was both clean and doable. Lucas’s model of course was mathematical; it was expressed in equations. For ease of analysis, his investors had been identical; they responded to market signals all in the same way and on average correctly, and Lucas had managed to show mathematically how a stock’s price

  over time would vary with its recent sequence of earnings.

  Our investors, by contrast, would potentially differ in their ideas of the

  market and they would have to learn what worked in the market and what

  didn’t. We could use John’s methods to do this. The artificial investors would develop their own condition/forecast rules (e.g., if prices have risen in the

  last 3 periods and volume is down more than 10%, then forecast tomorrow’s price will be 1.35% higher). We would also allow our investors to have several such rules that might apply—multiple hypotheses—and at any time they

  would act on the one that had proved recently most accurate of these. Rules

  or hypotheses would of course differ from investor to investor; they would

  start off chosen randomly and would be jettisoned if useless or recombined to

  generate potential new rules if successful. Our investors might start off not

  very intelligently, but over time they would discover what worked and would

  get smarter. And of course this would change the market; they might have to

  keep adjusting and discovering indefinitely.

  We programmed the initial version in Basic on a Macintosh with physi-

  cist Richard Palmer doing the coding. Initially our effort was to get the sys-

  tem to work, to get our artificial investors to bid and offer on the basis of

  their current understandings of the market and to get the market to clear

  properly, but when all this worked we saw little at first sight that was different from the standard economic outcome. But then looking more closely, we

  noticed the emergence of real market phenomena: small bubbles and crashes

  were present, as were correlations in prices and volume, and periods of high

  volatility followed by periods of quiescence. Our artificial market was showing real-world phenomena that standard economics with its insistence on identical agents using rational expectations could not show.

  I found it exciting that we could reproduce real phenomena that the stan-

  dard theory could not. We were aware at the time that we were doing some-

  thing different. We were simulating a market in which individual behavior

  [ xiv ] Preface

  competed and evolved in an “ecology” that these behaviors mutually created.

  This was something that couldn’t easily be done by standard equation-based

  methods—if forecasting rules were triggered by specific conditions and if they differed from investor to investor their implications would be too complicated to study. And it differed from other computerized rule-based models that

  had begun to appear from about 1986 onward. Their rules were few and were

  fixed—laid down in advance—and tested in competition with each other.

  Our rules could change, mutate, and indeed “get smart.” We had a definite

  feeling that the computer would free us from the simplifications of standard

  models or standard rule-based systems. Yet we did not think of our model as

  computer simulation of the market. We saw it as a lab experiment where we

  could set up a base case and systematically make small changes to explore

  their consequences.

  We didn’t quite have a name for this sort of work—at one stage we called

  it element-based modeling, as opposed to equation-based modeling. About

  three years later, in 1991, John Holland and John Miller wrote a paper about

  modeling with “artificial adaptive agents.”2 Within the economics community

  this label morphed into “agent-based modeling” and that name stuck. We took

  up other problems that first year of the Economics Program. Our idea was

  not to try to lay out a new general method for economics, as Samuelson and

  others had tried to do several decades before. Rather we would take known

  problems, the old chestnuts of economics, and redo them from our different

  perspective. John Rust and Richard Palmer were looking at the double auction

  market this way. David Lane and I were working on information contagion, an

  early version of social learning, using stochastic models. I had thought that

  ideas of increasing returns and positive feedbacks would define the first years of the program. But they didn’t. What really defined it, at least intrinsically, was John Holland’s ideas of adaptation and learning. I had also thought we

  were going slowly and not getting much done, but at the end of our first year, in August 1989, Kenneth Arrow told us that compared with the initial years

  of the Cowles Foundation effort in the 1950s, our project had ma
de faster

  progress and was better accepted.

  I left Santa Fe and returned to Stanford in 1990 and the program passed

  into other hands. It continued with various directors throughout the 1990s

  and the early 2000s with considerable success, delving into different themes

  depending on the directors’ interests and passing through periods of relative

  daring and relative orthodoxy. I returned to the Institute in 1995 and stayed

  with the Program for a further five years.

  Most of the economic papers in this volume come out of this first decade

  or so of SFI’s economics program. We published an early version of the stock

  2. J. H. Holland and J. H. Miller, “Artificial Adaptive Agents in Economic Theory,”

  Amer. Econ. Assoc. Papers and Proceedings, 81, 2, 365–370, 1991.

  Pr eface [ xv ]

  market paper in Physica A in 1992, and followed that with the version included here in 1997. The paper got considerable notice and went on to influence much

  further work on agent-based economics.

  One other paper that was highly noticed came out in 1994, and this was my

  El Farol paper (included in this volume as Chapter 2). The idea had occurred to me at a bar in Santa Fe, El Farol. There was Irish music on Thursday nights and if the bar was not too full it was enjoyable, if the bar was crowded it was much less so. It occurred to me that if everyone predicted that many would come

  on a given night, they would not come, negating that forecast; and if every-

  one predicted few would come they would come, negating that forecast too.

  Rational forecasts—rational expectations—would be self-negating. There was

  no way to form properly functioning rational expectations. I was curious about what artificial agents might make of this situation and in 1993 I programmed

  it up and wrote a paper on it. The paper appeared in the American Economic Review’s Papers and Proceedings, and economists didn’t know at first what to make of it. But it caught the eye of Per Bak, the physicist who had originated the idea of self-organized criticality. He started to fax it to colleagues, and suddenly El Farol was well known in physics. Three years later, a game-theoretic

  version of the problem was introduced by the physicists Damien Challet and

  Yi-Cheng Zhang of the University of Freiburg as the Minority Game.3 Now,

  several hundred papers later, both the Minority Game and El Farol have been

  heavily studied.

  In 1997 my ideas took off in a different direction, one that wasn’t directly

  related to Santa Fe’s economics program. I became deeply interested in tech-

  nology. The interest at first puzzled me. My early background was engineer-

  ing, but still, this fascination with technology seemed to have nothing to do

  with my main interests in either economics or complexity. The interest had in

  fact been kindled years before, when I was exploring the idea of technologies

  competing for adoption. I had noticed that technologies—all the technolo-

  gies I was looking at—had not come into being out of inspiration alone. They

  were all combinations of technologies that already existed. The laser printer

  had been put together from—was a combination of—a computer processor, a

  laser, and xerography: the processor would direct the laser to “paint” letters or images on a copier drum, and the rest was copying.

  I had realized something else as well. In 1992 I had been exploring jet

  engines out of curiosity and I wondered why they had started off so simple

  yet within two or three decades had become so complicated. I had been learn-

  ing C programming at the time, and it occurred to me that C programs were

  structured in basically the same way as jet engines, and as all technologies for 3. D. Challet and Y-C. Zhang, “Emergence of Cooperation and Organization in an Evolutionary Game,” Physica A 246: 407–418, 1997.

  [ xvi ] Preface

  that matter. They had a central functioning module, and other sub-modules hung off this to set it up properly and to manage it properly. Over time with a given technology, the central module could be squeezed to deliver more performance if sub-technologies were added to get past physical limits or to work around problems, and so a technology would start off simple, but would add

  pieces and parts as it evolved. I wrote an essay in Scientific American in 1993

  about why systems tended to elaborate.4

  Somehow in all this I felt there was something general to say about technol-

  ogy—a general theory of technology was possible. I had started to read widely

  on technology, and decided I would study and know very well several particu-

  lar technologies, somewhere between a dozen and twenty. In the end these

  included not just jet engines, but early radio, radar, steam engines, packet

  switching, the transistor, masers, computation, and even oddball “technolo-

  gies” such as penicillin. Much of this study I did in St. John’s College library in Santa Fe, some also in Xerox Parc where I was now working. I began to see

  common patterns emerging in how technologies had formed and come into

  being. They all captured and used phenomena: ultimately technologies are

  phenomena used for human purposes. And phenomena came along in fami-

  lies—the chemical ones, the electronic ones, the genomic ones—so that tech-

  nologies formed into groups: industrial chemistry, electronics, biotechnology.

  What became clear overall was that it wasn’t just that individual technolo-

  gies such as the jet engine evolved over their lifetimes. Technology—the whole collection of individual technologies—evolved in the sense that all technologies at any time, like all species, could trace a line of ancestry back to earlier technologies. But the base mechanism was not Darwinian. Novel technologies did not come into existence by the cumulation of small changes in earlier technologies: the jet engine certainly did not emerge from small changes in

  air piston engines. Novel technologies sprung from combining or integrating

  earlier technologies, albeit with human imagination and ingenuity. The result

  was a mechanism for evolution different from Darwin’s. I called it Evolution

  by Combination, or Combinatorial Evolution.

  This mechanism exists of course also in biological evolution. The major tran-

  sitions in evolution are mostly combinations. Unicellular organisms became

  multicellular organisms by combination, and prokaryotes became eukaryotes

  by combination. But the occurrence of such events is rare, every few hundred

  million years at best. The day-to-day evolutionary mechanism in biology is

  Darwinian accumulation of small changes and differential selection of these.

  By contrast, in technology the standard evolutionary mechanism is combina-

  tion, with Darwinian small changes following once a new technology exists.

  4. W. B. Arthur, “Why Do Things Become More Complex?” Scientific American, May 1993.

  Pr eface [ xvii ]

  I felt I now understood how technologies came into existence, and how the collection of technology evolved. I wanted to see if I could make such evolution work in the lab or on a computer. Around 2005 I was working at FXPAL,

  Fuji Xerox’s think tank in Palo Alto, and I had met the computer scientist

  Wolfgang Polak. Could we create a computer experiment in which a soup of

  primitive technologies could be combined at random and the resulting combi-

  nation—a potential new technology—tossed out if not useful but retained if

  useful and added to the soup for further combination? Would such a system

 
creating successive integrations in this way bootstrap its way from simplicity to sophistication? We experimented with several systems, to no avail. Then

  we came across a beautiful paper by Richard Lenski in Nature,5 where he and his colleagues had used the genetic algorithm to evolve digital circuits. Digital technologies seemed a natural medium to work in: if you combined two digital

  circuits you got another digital circuit; and the new circuit might do some-

  thing useful or it might not.

  Getting our experiment to work wasn’t easy, but after a couple of months

  Polak got the system running and it began to “create” novel circuits from

  simple ones. Beginning with a soup of simple 2-bit nand circuits, the basic building block in digital circuits, we could press the return button to start

  the experiment and examine what had been created 20 hours later. We found

  circuits of all kinds. Elementary ones had formed first, then ones of interme-

  diate complication such as a 4-bit equals, or 3-bit less than. By the end an 8-bit exclusive-or, 8-bit and, and an 8-bit adder had formed. Casually this may not seem that significant. But an 8-bit adder that works correctly (adding 8 bits of x to 8 bits of y to yield 9 bits for the result, z) is one of over 10177,554 circuits with 16 inputs and 9 outputs, and the chance of finding that randomly in

  250,000 steps is negligible. Our successive integration process, of combining

  primitive building blocks to yield useful simple building blocks, and combin-

  ing these again to create further building blocks, we realized was powerful.

  And actual technology had evolved in this way. It had bootstrapped its way

  from few technologies to many, and from primitive ones to highly complicated

  ones.

  We published our experiment in Complexity but strange to say it was little noticed or commented on. My guess is that it fell between cracks. It wasn’t

  biological evolution, it wasn’t the genetic algorithm, it wasn’t pure technol-

  ogy, and it wasn’t economics. And the experiment didn’t solve a particular

  problem. It yielded a toolbox or library of useful circuits, much like the library of useful functions that programming language designers provide. But it

  yielded this purely by evolution, and I found this a wonder. I have a degree in electrical engineering and Polak has one in computer science, but if you asked 5. Lenski, R., C. Ofria, R. Pennock, and C. Adami, “The Evolutionary Origin of Complex Features, Nature, 423, 139–443, 2003.