NetLogo User Community Models
by Rishabh Kumar (Submitted: 03/03/2014)
## WHAT IS IT?
## HOW IT WORKS
Two firms are given the same initial set of solution bit-strings. This represents a technological bottleneck and each firm runs a genetic algorithm on this string to get 'fitter' technologies.
In this case the 'all ones' solution is the fittest solution. ie the fitness of any string is measured by the total number of ones in the string.
Potential Adopters (the red dots in the display) evaluate the technology based:
The decision to adopt is set as a probability, positively dependent on the product score as per the evaluation criteria described above. Once a user decides to adopt (transformation into a white dot on the display), they decide which variant or standard to go with. In this case there's a tradeoff between the most commonly occurring product in their local network versus the properties of the product itself. For any adopter, if the percentage variation between the alternatives is higher than the level of adoption in their network (in percentage terms) they go for the 'fitter' product. Else they go for the most commonly occurring standard in their network.
Finally, at the point of adoption a welfare measure is introduced to measure a 'network deadweight loss.' The welfare gain/loss is given by the difference between the competing products' fitness. If the user made a choice based on the actual product, they have chosen the better product thus their welfare gain is positive. If the user made a choice based on their network imperative but the network was locked into the worse product, the user has a negative welfare gain (ie a welfare loss).
## HOW TO USE IT
Press the SETUP button to create an initial random population of solutions as well as initialize a population of potential adopters.
Press the GO button to start the innovation-diffusion process. The process runs for 100 steps.
The best solution found in each generation is displayed in the VIEW. Each white column represents a "1"-bit and each black column represents a "0"-bit.
=== Parameters ===
The POPULATION-SIZE slider controls the number of solutions that are present in each generation.
The CROSSOVER-RATE slider controls what percent of each new generation is created through reproduction (recombination or crossover between two parents' genetic material), and what percent (100 - CROSSOVER-RATE) is created through cloning of one parent's genetic material.
The MUTATION-RATE slider controls the percent chance of mutation. This chance applies to each position in the string of bits of a new individual. For instance, if the string is 100 bits long, and the mutation-rate is set at 1%, then on average one bit will be changed during the creation of each new individual.
The DESIGNLENGTH slider controls the size of the bit strings used in the genetic algorithm
The CONSUMER-POPULATION slider controls the number of potential adopters.
The NETWORK-SIZE slider sets a geographic network for each potential adopter. ie for a value of X, the potential adopter is networked with every agent within a radius of X (each distance measure is from the center of each patch), of themselves.
The "Fitness Plot" is used to show the best fitness values of the solutions at each generation, for each firm.
## THINGS TO NOTICE
Notice that initial dynamics tend to have a long lasting memory in terms of market outcomes. The adverse selection plot shows how many consumers chose the less efficient option, due to their network based selection.
The welfare plot is also interesting in giving a picture of the social outcomes due to efficient/inefficient selection.
## CREDITS AND REFERENCES
* Stonedahl, F. and Wilensky, U. (2008). NetLogo Simple Genetic Algorithm model. http://ccl.northwestern.edu/netlogo/models/SimpleGeneticAlgorithm. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
(back to the NetLogo User Community Models)