NetLogo Models Library:
This is a model of a cocktail party. The men and women at the party form groups. A party-goer becomes uncomfortable and switches groups if their current group has too many members of the opposite sex. What types of group result?
The party-goers have a TOLERANCE that defines their comfort level with a group that has members of the opposite sex. If they are in a group that has a higher percentage of people of the opposite sex than their TOLERANCE allows, then they are considered "uncomfortable", and they leave that group to find another group. Movement continues until everyone at the party is "comfortable" with their group.
The NUMBER slider controls how many people are in the party, and the NUM-GROUPS slider controls how many groups form.
The SETUP button forms random groups. To advance the model one step at a time, use the GO ONCE button. The GO button keeps the model running until everybody is comfortable.
The numbers in the view show the sizes of the groups. White numbers are mixed groups and gray numbers are single-sex groups.
To set the tolerance of the people for the opposite sex, use the TOLERANCE slider. You can move the slider while the model is running. If the TOLERANCE slider is set to 75, then each person will tolerate being in a group with less than or equal to 75% people of the opposite sex.
The NUMBER HAPPY and SINGLE SEX GROUPS plots and monitors show how the party changes over time. NUMBER HAPPY is how many party-goers are happy (that is, comfortable). SINGLE SEX GROUPS shows the number groups containing only men or only women.
At the end of the simulation (when everyone is happy), notice the number of single-sex groups. Are there more than at the start?
Try varying TOLERANCE. Is there a critical tolerance at which each all groups end up being single-sex? At different tolerance levels, does it take longer or shorter for everyone to become comfortable?
See how many mixed groups (not a single-sex group) you can get.
Using the GO ONCE button, experiment with different tolerances. Watch how one unhappy person can disrupt the stability of other groups.
Is it possible to have an initial grouping such that the party never reaches a stable state? (i.e. the model never stops running)
Observe real parties. Is this model descriptive of real social settings? What tolerance level do real people typically have?
Add more attributes to the model. Instead of male/female, try a trait that has more than two types, like race or religion. (You might use NetLogo's breeds feature to implement that.)
Allow each breed of person to have their own tolerance.
Complicate the tolerance rules: For example, the tolerance could go up as long as there are at least two of one breed.
Allow groups to subdivide, instead of finding new groups.
Set a maximum group size, so that if there are too many people in the group, they become unhappy.
Most NetLogo models put the origin (0,0) in the center of the world, but here, we have placed the origin near the right edge of the world and most of the patches have negative X coordinates. This simplifies the math for situating the groups.
Horizontal wrapping is enabled, but vertical wrapping is disabled. Thus, the world topology is a "vertical cylinder".
Notice the use of the
mod primitive to space out the groups evenly. Setting up the groups in this manner allows for easy movement from group to group.
This model is based on the work of the pioneering economist Thomas Schelling: Schelling, T. (1978). Micro-motives and Macro-Behavior. New York: Norton.
See also: Resnick, M. & Wilensky, U. (1998). Diving into Complexity: Developing Probabilistic Decentralized Thinking through Role-Playing Activities. Journal of Learning Sciences, Vol. 7, No. 2. http://ccl.northwestern.edu/papers/starpeople/
If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.
For the model itself:
Please cite the NetLogo software as:
Copyright 1997 Uri Wilensky.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit https://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 firstname.lastname@example.org.
This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers RED #9552950 and REC #9632612.
This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2001.