A Downloadable ABM Example:
 
ValSeek(2.0)


NOTE:  The model described below is designed as a desktop application.  It will not run in your browser.  Therefore, in order to run the model and explore its implications, you will need to download it by clicking the link in the Quick-Start Guide below.  Further, the model will only run if you have the NetLogo modeling environment installed on your computer.  If you do not currently have that environment installed, you can download it at https://ccl.northwestern.edu/netlogo/.  The installation is simple, fast, and free.  Instructions for the download are available here.

Before running this model, you should read the descriptions that follow of the real-world phenomenon being modeled and how the model works.  A Quick-Start Guide to running the model is provided, but there is also a good deal of useful information
about the model, its controls, and output in the Info tab within the model itself.  You should look at that information after you have run the model a few times.

The Target Phenomenon

A research question that has significant implications for society at large is whether diversity in work group membership affects group performance.  One argument favoring diversity in work group composition is that groups staffed with different types of people may have a broader array of perspectives, information, and skills that can be applied to the tasks they perform.  If so, then a more diverse group may be better equipped than a relatively homogeneous group to handle those tasks, and so perform them better.

The model described below explores the latter portion of this argument, focusing in particular on whether having diverse problem-solving strategies benefits or impairs group problem-solving performance.  The model reveals that the answer depends largely on how much communication—exchange of ideas—there is among members as they work to solve a problem.  It predicts that, up to a point, more communication improves the problem-solving performance of diverse groups, whereas more communication dramatically worsens the performance of homogeneous groups.

Overview

The model is called ValSeek(2.0).  It is a reinstantiation of the model originally described in Larson (2007).  Its name derives from the value-seeking problems with which it is concerned.  A value-seeking problem requires problem-solvers to sift through a set of solution alternatives that vary in value, with the goal of selecting a solution with the highest possible value.  The value of a solution refers to its worth or desirability, or to the amount of satisfaction that can be derived from it.  The model is restricted, however, to problems for which the time, effort, and/or expense involved in evaluating potential solutions makes it impractical to assess every possible solution alternative.  For such problems, the strategies that problem-solvers use to navigate the solution space are critical to their performance.

Real-world value-seeking problems typically involve solutions with multiple distinct features or elements.  Examples include creating a marketing plan (what budget, form of advertising, pricing structure, and duration will be proposed), arranging a travel itinerary (what cities will be visited, in what order, for how long, and what lodging will be recommended), and designing an automobile (what engine, seating capacity, passenger amenities, and safety features will be specified).  Indeed, almost any product of human invention can be seen as a solution to a value-seeking problem.  Each exists because the problem-solver(s) believed that its particular combination of elements would yield greater value than any other combination that might reasonably have been put forth.

How ValSeek(2.0) Models Value-Seeking Problems

The relationship among the possible solutions to a value-seeking problem can be conceptualized abstractly as an n-dimensional space, where n is the number of solution elements. Thus, each dimension represents a different element (e.g., in the marketing plan problem, one dimension is budget), each point on a given dimension reflects a different state of that element (e.g., the various amounts of money that might be budgeted), and each separate location within the n-dimensional space denotes a different combination of element states (e.g., a different marketing plan). The task for the problem-solver is to move through this space in search of the one location (solution) with the greatest value.

For simplicity, ValSeek(2.0) only considers problems with binary solution elements, that is, elements with just two possible states (e.g., present vs. absent, new vs. used, analog vs. digital).  It can represent problems with from 4 to 16 binary elements, though even a 16-element problem is relatively simple when compared to the complexity of many real-world value seeking problems.

ValSeek(2.0) creates generic value-seeking problems by constructing systems of numerical codes that represent abstract solution alternatives, and then randomly assigns a different value to each.1  It then simulates the activity of problem-solvers as they move from one alternative to another in search of a solution with the greatest value.

How ValSeek(2.0) Models Individual Problem-Solving

ValSeek(2.0) treats problem-solving as an activity that takes place in a series of discrete steps. Two things occur during each step.  First, the problem-solver moves from her current location in the n-dimension solution space to a new location—that is, she shifts her attention from one solution alternative to another.  Second, she evaluates the solution found at that new location.  This entails two sub-steps: (a) the value of the solution at the new location is determined by consulting a look-up table, and then (b) that value is compared to the value of the problem-solver’s “current best solution,” that is, the solution with the highest value encountered so far.  If the new solution has a higher value than the current best solution, then it becomes the new current best solution.  Otherwise, a different location in the n-dimensional space is evaluated.  This move-and-evaluate process continues until no solution can be found that has a higher value than the current best solution, at which point the current best solution it adopted as the chosen solution, and problem-solving terminates.

Two points should be noted here.  First, the problem-solving routine begins by choosing at random a starting location within the n-dimensional space.  By default, that starting location becomes the initial current best solution.  Second, every subsequent problem-solving step starts at the location of the current best solution.  Thus, the move that takes place at the beginning of each step is always a move away from the current best solution and toward some other, not-yet-evaluated alternative.  If the latter proves to have a higher value than the former, then it replaces the former as the current best solution, and the next move after that proceeds from the location of the new current best solution.  But if the solution at the new location does not have a higher value, then the problem-solver retreats to the location of the current best solution, and uses it again as the starting point for a move to a different not-yet-evaluated alternative.

How ValSeek(2.0) Models Problem-Solving Strategies

ValSeek(2.0) is centrally concerned with the strategies that problem-solvers use to decide which solution alternative will be evaluated next, that is, what move they will make at the start of each problem-solving step.  These strategies are referred to in the model as “flipset heuristics,” a term derived from how the strategies are represented internally.2   As the start of each problem-solving step the problem-solver determines which solution alternative will be evaluate next by applying its flipset heuristic.  The flipset heuristics implemented in ValSeek(2.0) have the following properties:
Note that evaluation clusters limit the solution alternatives that a problem-solver can evaluate in the very next problem-solving step, but they do not—in and of themselves—limit the solution alternatives that can be evaluate in the problem-solving process overall.  Problem-solver can potentially explore many alternatives beyond those specified in a given evaluation cluster if they are able first to find a solution alternative within that cluster that has a higher value than their current best solution, and so adopt it as their new current best solution.  Adopting a new current best solution means that the (same) flipset heuristic will specify a new evaluation cluster.  If this pattern is repeated multiple times, many solutions beyond those specified in the original evaluation cluster can be evaluated.5

ValSeek(2.0) allows the user to assigned group members either the same or different flipset heuristics, thus endowing them with either the same or different problem-solving strategies.  This enables a comparison of results when members have either diverse or homogeneous problem-solving strategies.   

How ValSeek(2.0) Models Group Problem-Solving

The main aim of ValSeek(2.0) is to simulate the performance of groups of people who work collaboratively to solve a common problem.  Working collaboratively implies that group members interact with one another to discuss the information and ideas they have that are relevant to solving the problem.  In the case of value-seeking problems, an important category of information that members might discuss is the value of the solution alternatives they each have examined, particularly after discovering one that has greater value than their current best solution. These are the moments where it is most evident that progress is being made toward finding the solution with the greatest value.

ValSeek(2.0) can simulate up to 12 people working together to solve the same problem.  At the start of the simulation, each member is assigned a problem-solving strategy (i.e., flipset heuristic).  The same strategy might be assigned to every member of the group (homogeneous member strategies) or different members might be assigned different strategies (diverse member strategies).  Then, during the simulation each member follows the move-and-evaluate routine described above.  The only difference is that members can announce to the group when they find a new current best solution.  Each of the other members can then compare the value of the announced solution to that of their own current best solution.  If the announced solution has a higher value, then they too will adopt it as their new current best solution, and continue their move-and-evaluate process from the location of that announced solution.  If, on the other hand, the announced solution does not have a higher value, then it will be ignored.  Thus, communicating about the value of a discovered new solution alternative may or may not impact another member’s path through the solution space, depending on the value of that other member’s own current best solution.

In the real world, groups differ widely in how much interaction actually takes place among members while working collaboratively on a problem: some communicate a great deal (e.g., a group of close friends) while other communicate noticeably less (e.g., a group of strangers thrown together by circumstance).  ValSeek(2.0) explores the impact of different levels of communication between members by systematically varying across groups the probability of communication.  Specifically, members in the 1st through 6th groups run communicate 0%, 20%, 40%, 60%, 80%, and 100% of the time, respectively.6  The same is true for members in the 7th through 12th groups run, the 13th through 18th groups run, etc.  Communicating 100% of the time means that group members are always aware of each new current best solution discovered by their groupmates.  Communicating 0% of the time, by contrast, means that group members are never aware the new current best solutions discovered by their groupmates (except at the very end).  Communicating at an intermediate level means that group members sometimes are and sometimes are not aware of the new current best solutions discovered by their groupmates.  In all cases, however, members always become aware of each other’s final current best solution (i.e., the one that remains at the conclusion of their move-and-evaluate process), and the group as a whole always adopts the announced solution with the highest value.

Quick-Start Guide to Running the Model


1. If you don’t already have the NetLogo modeling environment installed on your computer, install it from https://ccl.northwestern.edu/netlogo/.  Download instructions are available here.
ValSeek(2.0)
                    Heterogeneous

ValSeek(2.0) Flipset
                    Heuristic 1
2.
Click here to download ValSeek(2.0), then launch the model on your computer.
3.
Adjust the sliders to the desired values for nDimensions (the number of dimensions in the solution space, and so the number of elements in each solution alternative) and GroupSize (the number of members in each simulated group).
4.
Use the groupComposition chooser to determine the problem-solving strategies that group members will be assigned.  Flipset Heuristic 1, Flipset Heuristic 2, and Flipset Heuristic 3, each represent a different problem-solving strategy.7 If any of these is selected, all members will be assigned that strategy.  By contrast, if Heterogeneous is selected, every third member will be assigned Flipset Heuristic 1, 2, or 3, respectively (e.g., in a 6-member group, Members 0 and 3 will be assigned Flipset Heuristic 1, Members 1 and 4 will be assigned Flipset Heuristic 2, and Members 2 and 5 will be assigned Flipset Heuristic 3. NOTE: Member IDs always begin at 0).
5.
To run the model, Click Setup, then Go Indefinitely.  The model will run one group discussion after another, cumulating the results as it goes.  Click Go Indefinitely again to stop the model.
6.
Adjust the model's speed.  There is a slider at the top of the page to control the speed of the model.  The model will run fastest when (a) that slider is set all the way to the right and (b) the all switches in the model are all set to OFF.  To obtain relatively stable results, the model should be allowed to run until a large number of group (e.g., > 300,000) have been simulated.  For smaller problems (i.e, those involving fewer group members and more solution dimensions), this will take only a couple of minutes.  It will take longer for larger problems.
7. The primary output of interest is displayed in the two graphs. The left-hand graph plots the average value found by all groups run so far at each of 6 communication probability levels: 0.0, 0.2, 0.4, 0.6, 0.8, 1.0 (see Endnote 6). The right-hand graph plots the percentage of groups run so far at each of those same 6 communication probability levels that found the highest possible value in the solution space.
8. To replicate the results reported in Larson (2007), set nDimensions = 5 and groupSize = 3. Then run the model 4 times, once for each option in the groupComposition chooser.  Stop each run when a total of 600,000 groups have been simulated (100,000 groups per communication level). The resulting output shown in the two graphs should closely approximate one of the solid lines shown in Figures 3 and 4 of Larson (2007).
9.
More detailed information about the model's controls, output, and general operation can be found in the Model’s Info tab.

Endnotes

1 Two points are worth noting.  First, while each numerical code identifies a different solution alternative, the alternatives themselves have no substance to them.  The numerical codes simply serve to distinguish one alternative from another, which is all that is required in order to model the problem-solving processes considered here.  Second, a solution’s value does not necessarily bear a simple linear relationship to the state of its elements.  In the real world, elements sometimes contribute additively to the total value of a solution, but sometimes contribute in multiplicative or even negative ways.  By randomly assigning values to solutions, and doing so for every group that is run, conclusions can be drawn about problem-solver behavior that are independent of any particular element-value relationship.

2 The numerical code that represents each solution alternative is a string of binary digits.  The number of digits in the code is equal to the number of dimensions in the solution space (e.g., in a 4-dimension solution space, each solution alternative is identified by a different 4-digit binary code).  Computationally, a flipset heuristic is an instruction for changing one binary code to another, and so for shifting the simulated problem-solver’s attention from one solution alternative to another.  For example, one heuristic (strategy) is to “flip one randomly selected digit in the code,” where “flip” means to change that digit to its other possible state.  Thus, the code 0-0-0-0, which identifies one possible solution, would be changed to the code 0-0-0-1, another possible solution, if its first digit were flipped.  (Note: Digits are numbered right to left, with the furthest element to the right being the first digit).  Another heuristic (strategy) for changing the codes is to “flip all but one randomly selected digit in the code.”  Here, the code 0-0-0-0 would be changed to 1-1-1-0 if all of its digits except the first one were flipped.  The term “flipset” simply refers to the digits that are flipped simultaneously in order to change one binary code to another.

3 For instance, when applied to solution 0-0-0-0, the heuristic “flip one randomly selected digit in the code” will shift the problem-solver’s attention to either 0-0-0-1, 0-0-1-0, 0-1-0-0, or 1-0-0-0.  By comparison, when the heuristic “flip all but one randomly selected digit in the code” is applied, the problem-solver’s attention will shift to either 1-1-1-0, 1-1-0-1, 1-0-1-1, or 0-1-1-1.

4 This is an example of “constrained randomness.”  The problem solver is constrained to consider next only to a solution within the evaluation cluster, but within that cluster the choice of which specific solution to consider next is random.

5 To be clear, let us suppose that 0-0-0-0 is the current best solution.  If the problem-solver’s flipset heuristic is “flip one randomly selected digit in the code,” then the evaluation cluster will be 0-0-0-1, 0-0-1-0, 0-1-0-0, and 1-0-0-0.  Suppose further that the problem-solver actually evaluates solution 0 1 0 0, finds that its value is great than that of 0-0-0-0, and so adopts 0-1-0-0 as her new current best solution.  If so, then, according to the same flipset heuristic, the new evaluation cluster will be 0-1-0-1, 0-1-1-0, 0-0-0-0, or 1-1-0-0.  The first, second, and fourth of these are solution alternatives that could not be reached from the first step.

6 These communication percentages are operationalized probabilistically.  For example, communicating 60% of the time means that group members have a 0.6 probability of becoming aware of any given new current best solution discovered by one of their groupmates.  The x-axis in the two output graphs in ValSeek(2.0) is scaled in terms of these probabilities, not in terms of percentages.

7 Flipset Heuristic 1 implements the strategy “flip one randomly selected digit in the code.”  Flipset Heuristic 2 implements the strategy “flip all but one randomly selected digit in the code.”  Flipset Heuristic 3 implements the strategy “flip any two adjacent randomly selected digits in the code,” where the first and last digits of the code are treated as being adjacent, as if the digits were all arranged in a circle.

 
Revised 4.30.2022