Urban Suite - Path Dependence
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model explores the concept of path dependence as explained by W. Brian Arthur in his paper, "Urban Systems and Path Dependence" and several other of his papers. Essentially firms walk around a landscape looking for a place to settle. Several mechanisms of how they decide where to locate can be simulated, and the results examined.
HOW IT WORKS
Each firm searches for a place to locate. They do this by taking the quality of the current location and the number of firms already located there. They use this to determine the probability of locating at the current location. They then generate a random number, if this number is less than the probability they settle down in the current location.
HOW TO USE IT
INITIAL-FIRMS - Controls the number of initial firms in the model
DISTRIBUTE? - Determines whether or not the initial firms are distributed to different locations
SETUP - Starts the model
GO - Runs the model
DISTURB - Tells all of the firms to look for a new location to settle
REGION-SIZE - This specifies how regional qualities influence the current location. At 1, only the current patch's quality is taken into account, as this number is increased the quality of more and more nearby patches is taken into account.
INCREASING-RETURNS - This controls the trade-off between quality and number of firms currently located. If it is set to 1.0 then the only thing that determines whether or not a firm settles in the current location is the number of other firms there. If it is set to 0.0 then the only thing that determines whether or not a firm settles there is the quality of the location.
ATTEMPTS - This specifies the number of patches a firm will visit each turn in determining whether or not to settle down.
BIRTH? - If this is set to true then new firms are created every turn.
THINGS TO NOTICE
If INCREASING-RETURNS is set high then the quality of the winning location may not be very high. If INCREASING-RETURNS is set low then the quality of the winning location will almost always be high. This can be seen in the monitor.
The patches are colored according to the quality of their location. Black patches are low quality, white patches are high quality and green patches are in the middle.
The size of the person shape on a patch indicates the number of firms located at that patch.
THINGS TO TRY
Try running the model with both low and high values of INCREASING-RETURNS. Try changing the value and then pressing DISTURB.
Try different sizes of regions and see how that affects the distribution of results.
EXTENDING THE MODEL
The current function to determine the probability of settling is an additive function. Try implementing a multiplicative trade-off function.
In Arthur's original paper, his model had different types of firms; this implementation has only one type of firm. Expand the model to have different firm types and different qualities that would be useful for each firm type. In addition Arthur had different probabilities of different firm types being created. This would also make an interesting extension.
NETLOGO FEATURES
Arthur's original model used global knowledge of the state of the world to decide where each firm would settle, here we take advantage of the fact that firms only have local information and have them wander around the landscape.
RELATED MODELS
This model is related to all of the other models in the "Urban Suite".
In particular, it is demonstrating the same concept as the "Urban Suite - Positive Feedback" model, although that model focuses on demonstrating the principle of increasing returns with utmost simplicity, whereas the current model is a little richer in content.
Also, the Segregation library model in NetLogo also explores how individuals decide where to locate but based on very different preferences.
For another urban settlement model, see the SOME model (created by the SLUCE project at University of Michigan), which explores residential settlements. http://www.cscs.umich.edu/sluce/education/sluce_ed.htm
CREDITS AND REFERENCES
This model is loosely based on the model presented in this paper: Arthur, W.B. (1988), "Urban systems and historical path dependence", in Ausubel, J.H., Herman, R. (Eds), Cities and their Vital Systems: Infrastructure, Past, Present and Future, National Academy Press, Washington, DC, pp.85-97.
Thanks to Bill Rand for his work on this model.
The Urban Suite models were developed as part of the Procedural Modeling of Cities project, under the sponsorship of NSF ITR award 0326542, Electronic Arts & Maxis.
Please see the project web site ( http://ccl.northwestern.edu/cities/ ) for more information.
HOW TO CITE
If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Rand, W. and Wilensky, U. (2007). NetLogo Urban Suite - Path Dependence model. http://ccl.northwestern.edu/netlogo/models/UrbanSuite-PathDependence. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
COPYRIGHT AND LICENSE
Copyright 2007 Uri Wilensky.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.
Comments and Questions
;; largest population of any of the areas globals [ largest-population ] ;; All patches have a potential between 0 and 1. patches-own [ quality ] ;; The moved-in? variable is true if the turtle is a resident of their current path ;; is it false if they are not a resident turtles-own [ moved-in? ] ;; sets the model up to setup ca reset-ticks ;; if we are distributing the firms make sure they are not on the same patches ifelse distribute? [ ifelse initial-firms > count patches [ repeat initial-firms [ ask patches with [ not any? turtles-here ] [ sprout 1 [ immigrate ] ] ] ] [ user-message "Can't distribute, fewer patches than people." ] ] ;; otherwise just create them randomly [ crt initial-firms [ immigrate setxy random-pxcor random-pycor ] ] ;; update the sizes of the firms on the basis of the other firms there update-sizes ;; set up the patch qualities ask patches [ set quality random-float 1 set pcolor quality * 10 + green - 5] ;; initialize the plot do-plot end ;; the main execution routine to go ;; if birth is turned on, have a new firm immigrate if birth? [ ask one-of turtles [ hatch 1 [ immigrate ] ] ] ;; record the largest population set largest-population max [ population ] of patches ;; ask turtles who are moved in, if they want to move out now ask turtles with [ moved-in? ] [ if move-out? [ move-out ] ] ;; turtles look for a place to live, moving in if they find a good one ask turtles with [ not moved-in? ] [ search ] ;; update the sizes update-sizes ;; advance clock tick ;; update the plot do-plot end ;; sets the size of each firm to a relative indication of how many firms are located on that patch to update-sizes set largest-population max [ population ] of patches ask turtles [ let new-size population / largest-population ifelse new-size < 0.1 [ set size 0.1 ] [ set size new-size ] ] end ;; turtles run this procedure when entering the city to immigrate set moved-in? false set shape "person" set color red set heading random 4 * 90 end ;; turtles run this procedure when existing the city to emigrate die end ;; move around and look for a new home to search ;; turtle procedure repeat attempts [ wander if ( move-in? ) [ move-in ] ] end ;; reports the current population in the region to-report population report count turtles in-radius region-size end ;; the routine that determines the probability of settling in the current location to-report suitability report ( quality * (1 - increasing-returns) ) + ( increasing-returns * ( population / largest-population ) ) end ;; return true if the turtle should move into the current patch to-report move-in? ;; turtle procedure report random-float 1 < suitability end ;; return true if the turtle should move out of the current patch to-report move-out? ;; turtle procedure ;; report false report random-float 1 > suitability end ;; called when a turtle moves in to move-in ;; turtle procedure set moved-in? true end ;; called when a turtle moves out to move-out ;; turtle procedure set moved-in? false end ;; has the firm randomly wander to wander ;; turtle procedure rt random 2 * 90 lt random 2 * 90 fd 1 end ;; updates the plot to do-plot set-current-plot "Residents" set-plot-x-range 0 1 + max [ count turtles-here ] of patches set-histogram-num-bars 10 histogram [ count turtles-here ] of patches with [ any? turtles-here ] end ; Copyright 2007 Uri Wilensky. ; See Info tab for full copyright and license.
There are 10 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Urban Suite - Path Dependence.png | preview | Preview for 'Urban Suite - Path Dependence' | over 11 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.