# Genetic algorithm in economics

Genetic algorithm in economics

Genetic algorithms are used to model the learning behaviour of economic agents. The term "genetic algorithm" is often abbreviated as GA. The genetic algorithm is a particular class of evolutionary algorithm inspired by evolutionary biology. A genetic algorithm is defined as basic if it only contains a method for reproduction and experimentation. It is defined as augmented if it contains a selection operator as well.

Genetic algorithms are implemented as a computer simulation in which a population of abstract representations (called chromosomes or strings) of candidate solutions (called individuals, or agents) to an optimization problem evolves toward better solutions. Traditionally, solutions are represented in binary as strings of 0s and 1s, but other encodings are also possible. The evolution usually starts from a population of randomly generated individuals and happens in generations. In each generation, the fitness of every individual in the population is evaluated, multiple individuals are stochastically selected from the current population (based on their fitness), and modified (mutated or recombined) to form a new population. The new population is then used in the next iteration of the algorithm.

The genetic algorithm has increasingly been applied to economics over the last two decades. It has been used to characterize a variety of models including the cobweb model, the overlapping generations model, game theory and asset pricing.

Design

The genetic algorithm generally consists of a population of n agents with m strings. These strings are often initially randomly generated but are then updated every g periods. Each string is assigned a fitness value through a defined method which is used as a measure of performance. The strings are updated through a series of operators. The basic genetic algorithm generally consists of three unique operators: the reproduction operator, which attempts to imitate successful agents and the two experimentation operators, crossover and mutation, which are implemented to bring diversity into the system. The augmented genetic algorithm includes an election operator, which adds a selection criteria.

Reproduction

The first operator, reproduction, works by attempting to imitate. In general, it selects another agent to observe its fitness value. If its fitness value is greater than its own, then it elects to adopt the other agent's string. Otherwise, it preserves it own. These strings are then placed into an offspring pool to undergo the mutation operators, crossover and mutation. Most functions are stochastic and designed so that a small proportion of less fit solutions are selected. This helps keep the diversity of the population large, preventing premature convergence on poor solutions. Popular and well-studied selection methods include roulette wheel selection and tournament selection.

Crossover

Mutation

Election

These processes ultimately result in the offspring pool of strings that is different from the initial parent pool. The election operator then works by comparing the fitness of the parent strings to the potential fitness of the offspring pool. If the offspring string has a higher fitness value, it will replace the parent string in the population. Otherwise, the parent string will stay. Generally the average fitness will have increased by this procedure for the population, since only the best strings are selected.

Genetic Algorithm in the Cobweb Model

The cobweb model is a simple supply and demand model for a good over t periods. Firms (agents) make a production quantity decision in a given period, however their output is not produced until the following period. Thus, the firms are going to have to use some sort of method to forecast what the future price will be. The GA is used as a sort of learning behaviour for the firms. Initially their quantity production decisions are random, however each period they learn a little more. The result is the agents converge within the area of the rational expectations (RATEX) equilibrium for the stable and unstable case. If the election operator is used, the GA converges exactly to the RATEX equilibrium.

There are two type of learning methods these agents can be deployed with: social learning and individual learning. In social learning, each firm is endowed with a single string (which is used as its quantity production decision). It then compares this string against other firm's strings. In the individual learning case, agents are endowed with a pool strings. These strings are then compared against other strings within the agent's population pool. This can be thought of as mutual competing ideas within a firm whereas in the social case, it can be thought of as firm's learning from more successful firms. Note that in the social case and in the individual learning case with identical cost functions, that this is a homogeneous solution, that is all agent's production decisions are identical. However, if the cost functions are not identical, this will result in a heterogeneous solution, where firms produce different quantities (note that they are still locally homogeneous, that is within the firm's own pool all the strings are identical).

After all agent's have made a quantity production decision, the quantities are aggregated and plugged into a demand function to get a price. Each firm's profit is then calculated. Fitness values are then calculated as a function of profits. After the offspring pool is generated, hypothetical fitness values are calculated. These hypothetical values are based on some sort of estimation of the price level, often just by taking the previous price level.

References

* J Arifovic, 'Genetic Algorithm Learning and the Cobweb Model ', Journal of Economic Dynamics and Control, vol. 18, Issue 1, (January 1994), 3-28.

* [http://www.sfu.ca/crabe/ Centre for Adaptive Behaviour in Economics]
* [http://www.econ.iastate.edu/tesfatsi/getalife.htm Agent-Based Computational Economics and Artificial Life: A Brief Intro]

Wikimedia Foundation. 2010.

### Look at other dictionaries:

• Genetic algorithm — A genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to generate useful solutions to optimization and search problems. Genetic algorithms belong to the larger class of… …   Wikipedia

• Evolutionary algorithm — In artificial intelligence, an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population based metaheuristic optimization algorithm. An EA uses some mechanisms inspired by biological evolution: reproduction,… …   Wikipedia

• List of numerical analysis topics — This is a list of numerical analysis topics, by Wikipedia page. Contents 1 General 2 Error 3 Elementary and special functions 4 Numerical linear algebra …   Wikipedia

• List of mathematics articles (G) — NOTOC G G₂ G delta space G networks Gδ set G structure G test G127 G2 manifold G2 structure Gabor atom Gabor filter Gabor transform Gabor Wigner transform Gabow s algorithm Gabriel graph Gabriel s Horn Gain graph Gain group Galerkin method… …   Wikipedia

• evolution — evolutional, adj. evolutionally, adv. /ev euh looh sheuhn/ or, esp. Brit., /ee veuh /, n. 1. any process of formation or growth; development: the evolution of a language; the evolution of the airplane. 2. a product of such development; something… …   Universalium

• Ant colony optimization algorithms — Ant behavior was the inspiration for the metaheuristic optimization technique. In computer science and operations research, the ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be… …   Wikipedia

• Multi-objective optimization — (or multi objective programming),[1][2] also known as multi criteria or multi attribute optimization, is the process of simultaneously optimizing two or more conflicting objectives subject to certain constraints. Multiobjective optimization… …   Wikipedia

• Dual inheritance theory — (DIT), also known as gene culture coevolution, was developed in the late 1970s and early 1980s to explain how human behavior is a product of two different and interacting evolutionary processes: genetic evolution and cultural evolution. DIT is a… …   Wikipedia

• List of distributed computing projects — A list of distributed computing projects. Berkeley Open Infrastructure for Network Computing (BOINC) The Berkeley Open Infrastructure for Network Computing (BOINC) platform is currently the most popular volunteer based distributed computing… …   Wikipedia

• Category:Optimization algorithms — An optimization algorithm is an algorithm for finding a value x such that f(x) is as small (or as large) as possible, for a given function f, possibly with some constraints on x. Here, x can be a scalar or vector of continuous or discrete values …   Wikipedia