Agent Scheduling in Opinion Dynamics: A Taxonomy and Comparison Using Generalized Models

Opinion dynamics models are an important field of study within the agent-basedmodeling community. Agent scheduling elements within existing opinion dynamics models vary but are largely unjustified and only minimally explained. Furthermore, previous research on the impact of scheduling is scarce, partially due to a lack of a common taxonomy with which to discuss and compare schedules. The Synchrony, Actor type, Scale (SAS) taxonomy is presented, which aims to provide a common lexicon for agent scheduling in opinion dynamics models. This is demonstrated using a generalized repeated averaging model (GRAM) and a generalized bounded confidence model (GBCM). Significant di erences in model outcomes with varied schedules are given, along with the results of intentional model biasing using only schedule variation. We call on opinion dynamics modelers to make explicit their choice of schedule and to justify that choice based on realistic social phenomena.


Introduction
. The field of opinion dynamics (OD) seeks to model the mechanisms by which opinions spread through a population. Within this context, opinions may be loosely defined as Axelrod ( ) defined culture: they are any attributes that may be altered by social influence. Recent papers have extensively covered the dominant models, ideal-typical results, and challenges facing the field of OD modeling (Sîrbu et al. ; Flache et al. ). OD is inherently a multi-disciplinary field; first authors of influential papers in the field have degrees spanning cognitive science (De uant et al. , ), management science (Dandekar et  . OD modeling lends itself to the use of what Bonabeau ( ) called the agent-based mindset, where one describes "a system from the perspective of its constituent units" (p. ). Using this mindset, modelers can define the rules of interaction between individual agents within the model and allow social influence to propagate throughout the system. This allows a modeler to build complex models from relatively simple rules that are based upon theories in the psychological and sociological literature. If these outputs are realistic, the modeler has proven that the proposed rules are su icient to generate realistic emergent behavior. In other words, that behavior can be explained by the proposed mechanism. This is best stated by Epstein ( ) in his motto for generative social science: "if you didn't grow it, you didn't explain its emergence" (p. ). For the purpose of this paper, agents are any objects that populate a model implementing an agent-based mindset. This is consistent with individual agent-based models (ABM) in the taxonomy proposed by Macal ( ).
. While it is possible to build continuous-time OD models, discrete-time models are more common and are thus the focus of the present paper. Discrete-time OD models map the set of N agents' opinions at time t to the set of those agents' opinions at time t + 1. Continuous OD models are those that map R N → R N , with individual opinions drawn from a continuous range of values, typically [0, 1] or [−1, 1]. These maps may take the form of a linear transformation as seen in the repeated averaging models (Harary ; Abelson ; DeGroot ), a deterministic non-linear transformation as seen in the the Hegselmann-Krause (HK) bounded confidence model (Hegselmann & Krause ), or a stochastically-varied non-linear transformation as seen in the De uant-Weisbuch (DW) bounded confidence model (De uant et al. ). They may take as inputs only the vector of opinions and any model parameters, as in the basic forms of those listed above, or take additional inputs from agent characteristics such as uncertainty (De uant et al. ), vectors of arguments (Mäs & Flache ), or locations and personality traits (Duggins ). .
In discrete OD models, individual opinions are drawn from a discrete set of values, typically {0, 1} or {−1, 1}. These usually implement non-linear transformations with additional inputs from agent characteristics, o en including their geographic position. Examples of discrete OD models that take this form are the voter model (Holley & Liggett ), the social impact theory model (Nowak et al. ), and the Sznajd model (Sznajd-Weron & Sznajd ; Stau er et al. ). One discrete OD model that breaks this form is the Ising field model of Galam ( ), which solves a global optimization problem without an agent-based implementation despite defining its elements using an agent-based mindset. .
The agent-based mindset, for all its strengths, can yield weaknesses. One, which explains its emergence in recent decades as a viable method of modeling, is the amount of computation required. Interactions and associated computations tend to increase exponentially as the number of agents increases. Another potential weakness is the tendency to ignore system-level elements of behavior when focusing upon agent-level behavior. .
One system-level behavior of an OD model that may have a significant e ect upon dynamics is the agent schedule: which agent(s), in what order, influence (or are influenced by) which other agents in each discrete step of time. OD models have used various schedules with little justification. The Sznajd model has agents simultaneously influencing their immediate neighbors in dimension (Sznajd-Weron & Sznajd ; Stau er et al. ). The repeated averaging models have all agents simultaneously being influenced by all others to whom they are connected (Harary ; Abelson ; DeGroot ). The bounded confidence models have pair of agents influencing one another simultaneously in the DW model (De uant et al. ) or all agents simultaneously being influenced by all others in the HK model (Hegselmann & Krause ), subject to confidence constraints.
. Research into the impact of varying agent schedules is limited. Cellular automata (CA) researchers have examined the e ects of varying agent schedules upon CA behavior (Page ; Cornforth et al. ) and proposed schedules based on probabilistic sets of cells acting each turn and imperfect communication of states between cells at each turn (Bouré et al. ). A thorough survey of existing work on the impact of scheduling upon CA behavior is provided by Fatès ( ).
. The world of ABM has focused much less upon this impact. The earliest ABMs, run without computers, did not adhere to any schedule strictly (Schelling ). In many of the most influential ABMs, all agents act in random order (examples include Holland ; Epstein & Axtell ; Epstein ), and books detailing the use of ABM continue to use this schedule without explanation (Gilbert & Troitzsch ; North & Macal ). Introductory tutorials on ABM tend to avoid the question of agent scheduling entirely (Bonabeau ; Axelrod & Tesfatsion ; Macal & North ; Macal ; Weimer et al. ). Textbooks address the di erence between synchronous and asynchronous update schedules without acknowledging the variety of schedules that fit into those broad categories (Railsback & Grimm ; Wilensky & Rand ). None of these resources delve into the depth of schedules that may exist.

.
Research into the impact of scheduling upon ABMs is limited to a small handful of articles. Caron-Lormier et al. ( ) used a basic ecological ABM to show a significant di erence in the behavior of the model when switching between two schedules. Fatès & Chevrier ( ) compared the behavior of a basic ABM based upon various deconfliction rules paired with a particular synchronous schedule and found significant di erences. Bonnell et al. ( ) used a basic foraging model to examine the combined e ects of cell size, cell heterogeneity, and two specific schedules upon patterns of behavior; they found significant non-linear e ects and interactions between these inputs. .
Notably in OD modeling, Urbig et al. ( ) generalized the DW and HK bounded confidence models into a single model where all agents are simultaneously influenced by up to m others simultaneously. They found that the general behavior of the models is qualitatively similar, although the value of m did have various e ects on the specifics of that behavior. However, direction of influence was not addressed; agents were influenced by other  .
The Overview, Design concepts, Details (ODD) protocol (Grimm et al. ) encourages ABM modelers to explicitly specify the schedule used in the model. More recently, Collins et al. ( ) called for development of descriptive standards for agent-based models, but as yet no standard exists with which to communicate agent schedules in a way that is adequate for OD modeling. Some attempts at this do exist; one example focused specifically upon cellular automata is that of Cornforth et al. ( ). However, it is insu icient to adequately explain an OD model's schedule due to not addressing direction of influence and adhering to only the extremes of scale in which one or all agents act per time step. .
The purpose of this paper is threefold: ( ) to build a taxonomy for agent scheduling that is adequate for describing OD model schedules, ( ) to demonstrate the potential impact of various schedules using influential continuous OD models, and ( ) to discuss social interpretations of schedule choices. This taxonomy also serves to potentially unite disparate models implementing similar assumptions, such as the bounded confidence models, into a single set of parameters as recently called for by Flache et al. ( ).

Synchrony, Actor type, Scale (SAS) Scheduling Taxonomy
. The Synchrony, Actor type, Scale (SAS) taxonomy is a concise method of communicating the schedule of an OD model. The components should be reported in order as shown in the summary in Table . Synchrony relates to whether states are continuously updated as agents act and has two options: synchronous and asynchronous. Actor type relates to the direction of influence and has four options: target, source, group, and mixed. Scale relates to the number of actors chosen for each role per time step and has parameters (or if actor type is mixed). Each component is explained in detail below. Table lists the schedules of many OD models in the literature using this taxonomy.

Synchrony .
Synchrony refers to whether updates to each agent's state occur in parallel or in series. A model in which all agent updates occur in parallel would be called synchronous. A model in which some or all agent updates occur in series would be called asynchronous.
. Let A be a set of ordered source-target pairs (i, j), where i = j, chosen to exhibit influence in a given time step in an OD model. Let f A : R N → R N be the function that maps a vector of N opinions to the vector of N opinions a er the pairs in A exhibit their influence synchronously. This synchronous model cannot be broken down further. A single time step of an asynchronous model, to the contrary, can be broken into a repeated application of f {(i,j)} , in some order, for each (i, j) pair in A. Synchronous and asynchronous models are therefore identical when A consists of no more than one (i, j) pair, i.e., when at most one interaction occurs per time step.
. Synchrony is best illustrated using a repeated averaging model. Let x t ∈ R N be the row vector of opinions at time t. Let w ij be the weight of influence from agent i to agent j, where w ii = 0. An OD model can be formulated as an N × N matrix P where x t+1 = x t P The synchronous model's matrix would be defined by  To generate an asynchronous model, let P (i,j) be the N × N matrix defining a synchronous model where A = {(i, j)}. Let A (l) be the lth pair drawn in some order from A. Then the asynchronous model is defined by .
A synchronous model's update in an object-oriented programming language may be written as two steps: ( ) update temporary opinions for each agent using the permanent opinions of other agents and ( ) update permanent opinions to match temporary opinions. This avoids cascading e ects within a single time step such that agent i's opinion at time a has no e ect on agent j's opinion at time a + 1 unless agent i directly influences agent j.
. An asynchronous model updates permanent opinions directly a er each interaction. This allows cascading e ects within a single time step such that agent i's opinion may influence agent j's opinion without directly influencing agent j. This occurs when there is an unbroken chain of influence between agent i and agent j in the order of agents' actions.

Actor type .
In the context of the SAS taxonomy, the primary actor in an OD model is the entity that is chosen to act. In an agent-based model, this is the agent or group of agents that executes code directly. Primary actors may be paired with other agents in the course of this action. An agent paired in such a way is a secondary actor. In a model not explicitly coded as an agent-based model, the primary actor is implicitly identified as performing some action by the mathematical formulation.
. In defining a model built from an agent-based mindset, three primary actor types exist: source agents who influence others when they act, target agents who are influenced by others when they act, and groups of agents who mutually influence one another. The choice of agent type impacts the schedule both in how pairing of agents is performed and, for asynchronous schedules, the order in which influence occurs. Figure shows examples of possible pairings based on actor types. Additionally, it is possible for actors to be of mixed type; various "breeds" of agent may act di erently, for example, or an agent's action may vary as a function of the model state. .
If primary actors are source agents, some set of secondary actors (i.e., targets) is chosen for each primary actor. In an asynchronous model, this source influences all of its targets before another source acts. If primary actors are target agents, some set of secondary actors (i.e., sources) is chosen for each primary actor. In an asynchronous model, this target is influenced by all of its sources before another target acts. If primary actors are groups of agents, there are no secondary actors; each group exhibits influence between member agents as defined by the model. Each group action may be represented as an OD model executed upon a subset of agents, so these schedules may be further refined using the SAS taxonomy. Deconfliction rules may be required for synchronous models when one agent may be chosen to act as a member of multiple groups. .
If primary actors are of mixed types, some or all of the above actor types exist and act within the model. It must be specified whether actors of a given type act before actors of another type, representing sequential applications of multiple OD models within a time step, or they act in mixed order, representing a truly mixed OD model.

.
Regardless of primary actor type, it is vital for the modeler to further detail the order in which agents take action. Random order is common, but potential alternative ordering techniques are without limit.

Scale .
In the context of the SAS taxonomy, scale refers to the number of agents contained in sets of primary actors, secondary actors, and groups. For a model using source actors, no more than s source agents are chosen as primary actors, with no more than t target agents selected as secondary actors for each primary actor. For a model using target actors, no more than t target agents are chosen as primary actors, with no more than s source agents selected as secondary actors for each. For a model using group actors, no more than t groups of no more than s agents each are chosen to influence one another. For a model with mixed-type actors, no more than r agents are chosen to act as primary actors. If a primary actor acts as a target, it is influenced by no more than s secondary actors; if it acts as a source, it influences no more than t secondary actors; and if it is a group, it consists of no more than u agents. Parameters should be listed in alphabetical order. .
If the model imposes scaling limits below the number of agents in the model, related parameters should be given as positive integers. Otherwise, parameters should be reported as ∞ to communicate the scale is not limited. This allows direct comparison between otherwise-identical models of di ering population sizes. Similarly, if individual agents are heterogeneous with respect to scale parameters, the largest scale parameter should be reported along with more detail regarding those heterogeneous values.

Generalized Repeated Averaging Model
. To demonstrate the use of the SAS taxonomy, and to demonstrate potential di erences that may arise in model outputs as a result of di ering schedules, we examine two models generalized from those available in the literature. The first of these is the repeated averaging model.

Model definition .
As originally presented by Harary ( ), the repeated averaging model uses a linear transformation upon the vector of agents' opinions to perform discrete-time updates. This linear transformation takes the form of an N × N right-stochastic matrix of pair-wise weights between agents. DeGroot ( ) and Berger ( ) proved that this model tends to converge under reasonable conditions. We limit our model such that these conditions are met. .
The generalized repeated averaging model (GRAM) removes the requirement that the model's matrix be predetermined and static. For ease of communication, we use the transposed form of earlier models. Let x t be the row vector of agent opinions at time t and P be the le -stochastic matrix defining the OD model from time t to time t + 1. Then, This matrix is further restricted to have diagonal elements of value (1 − µ), where µ ∈ (0, 1) is a convergence parameter analogous to that in the De uant-Weisbuch model (De uant et al. ). An individual agent, if influenced during time t, grants µ influence to others while maintaining (1 − µ) self-influence. This ensures that the model converges and allows direct comparison between varied schedules.

.
P may vary over time as di erent primary and secondary actors are chosen and, in the case of asynchronous schedules, as the order of actors changes. Actors are always selected at random from the pool of available agents. As all agents are equally likely to be chosen at each time step, the social network is a complete graph. However, depending on schedule parameters, every pair of agents need not interact at each time step.
. Further definition of the GRAM varies by synchrony and actor type. For precision in defining the model, it is defined in matrix form.

Synchronous
. Let us first consider the model associated with a Synchronous Target (s, t) schedule. Let T be the set of t target agents randomly chosen as primary actors, or the set of all agents if t ≥ N . For each agent j ∈ T , let S j be the set of s source agents randomly chosen to influence agent j, or the set of all other agents if s ≥ N − 1. The matrix associated with the model appears as an N × N identity matrix where columns with indices in T are modified. It may be defined element-wise by For the Synchronous Source (s, t) schedule, let S be the set of s source agents randomly chosen as primary actors, or the set of all agents if s ≥ N . For each agent i ∈ S, let T i be the set of t target agents randomly chosen to be influenced by agent i, or the set of all agents if t ≥ N − 1. By extension, let S j be the set of agents i for which j ∈ T i . The matrix associated with this model appears as an identity matrix where rows with indices in S are modified. It is defined by For the Synchronous Group (s, t) schedule, we assume that repeat influences may not occur; that is, if two agents are members of multiple groups, they only influence each other once. Let A be the set of t s-tuples of agents chosen as primary actors, or the set of all possible s-tuples of agents if t ≥ N s . Let T be the set of all agents belonging to one or more groups in A. For each agent j, let S j be the set of all agents belonging to one or more groups in A that also contain agent j. The matrix associated with this model is defined by

.
Mixed actor types are not used in the GRAM. The multitude of options make direct comparison to other actor types impossible. Furthermore, we are not aware of any OD models that have used mixed actor types.

Asynchronous .
Asynchronous schedules are more complicated to define as a result of their iterative nature. Let us first define the matrix P (i,j) , which is used for both source and target actor types. This is the matrix associated with a Synchronous Target ( , . To solve for the appropriate value of µ * , we must ensure that (1 − µ) influence remains assigned to the agent's initial opinion at the end of the time step, potentially a er several iterative updates. Consider agent j, with a set of source agents S j that will serially influence agent j in some order. Let S (k) j be the kth element drawn from S j . The opinion of agent j (x j ) a er the kth interaction becomes is that agent's opinion immediately before the interaction occurs, which may have been modified since the beginning of the time step. Therefore, a er all interactions the opinion becomes In order to maintain (1 − µ) self-influence, we then have that The matrix P (i,j) is therefore defined as We may now define the Asynchronous Target (s, t) GRAM. Let T be the set of t target agents randomly chosen as primary actors, or the set of all agents if t ≥ N . For each agent j ∈ T , let S j be the set of s source agents randomly chosen to influence agent j, or the set of all other agents if s ≥ N − 1. Let T (l) be the lth element drawn from T , and let S (k) j be the kth element drawn from S j . The matrix associated with the model, then, is the ordered product of P (i,j) matrices.
For the Asynchronous Source (s, t) GRAM, let S be the set of s source agents randomly chosen as primary actors, or the set of all agents if s ≥ N . For each agent i ∈ S, let T i be the set of t target agents randomly chosen to be influenced by agent i, or the set of all other agents if t ≥ N − 1. By extension, let S j be the set of agents i for which j ∈ T i . Let S (k) be the kth element drawn from S, and let T (l) i be the lth element drawn from T i . The matrix associated with the model is again the ordered product of P (i,j) matrices.
For the Asynchronous Group (s, t) GRAM, let A be the set of t s-tuples of agents chosen as primary actors, or the set of all possible s-tuples of agents if t ≥ N s . Let A (k) be the kth element drawn from A. Let P A (k) be the The Asynchronous Group (s, t) GRAM's associated matrix is the ordered product of P A (k) matrices.
Parameters for the GRAM that remain in need of values are s, t, µ, and N . The intent of the present experiment is to motivate experimenters to explicitly state their schedule use by showing that scheduling choices can have a significant impact upon the outcome of an OD model. Therefore, a quantity of interest is the influence that particular agents have based on their order in an asynchronous model. .
In an Asynchronous Target (s, t) schedule, let the coe icient associated with agent i's influence upon agent j be denoted λ i . As shown in Equation , where k is the order in which agent i was drawn from S j . It follows that the absolute di erence between the influence of the last source and that of the first source is For a set value of µ, this is a decreasing function of |S j | when |S j | ≥ 2 and equals 0 when |S j | = 1. Therefore, the greatest absolute di erence in influence is observed when s This function of µ ∈ (0, 1) approaches 0 as µ → 0 + and approaches 1 as µ → 1 − . Therefore, the largest absolute di erence in influence exists when s = 2 and µ is large. .
Using the same schedule, another measure of interest would be the ratio of the last agent's influence to that of the first. From Equation we can calculate this ratio.
Because µ ∈ (0, 1), for a set value µ, this is an increasing function of |S j | with value 1 when |S j | = 1 that approaches (1 − µ) −1 as |S j | → ∞. For a set value of |S j |, this is an increasing function that approaches 0 as µ → 0 + and approaches ∞ as µ → 1 − . Therefore, the greatest influence ratio is observed when s = ∞ and µ is large. .
In an Asynchronous Source (s, t) schedule, the precise influence of an agent is not analytically tractable because e ects cascade depending upon the nature of the social network defined by primary and secondary actor selection. Some observations related to order may still be made, however. The first primary actor shi s the mean opinion in the model toward their opinion upon action. If one of that actor's secondary actors is a later primary actor, that shi further a ects the mean. The probability of this occurring increases with t. Therefore, we expect the influence of an agent i to decrease with k, the order in which agent j is drawn from S. Furthermore, we expect this variation in influence to increase with t. Because the opinion of source agent i is unchanging, the order in which agents are drawn from T i has no e ect. .
In an Asynchronous Group (s, t) schedule, as defined in the GRAM, cascading e ects behave similarly to those in the Asynchronous Source (s, t) schedule. Therefore, we expect the influence of agents in group k, where k is the order in which that group of agents is drawn from A, to decrease as k increases. The probability of cascading e ects increases with t, again, so we also expect the di erence in influence to increase with t. Note that when s = ∞, only one group is possible (all agents), so the Asynchronous Group (∞, t) GRAM is identical to the Synchronous Target (∞, ∞), the Synchronous Source (∞, ∞), and the Synchronous Group (∞, ∞) GRAMs. .
These results suggest that s should be varied between 2 and ∞ for Source and Target actor types and held at 2 for Group actors. Because there is no reason to believe that t would have a significant e ect for Source actors while high values of t elicit the most e ect for Target and Group actors, t should be set high for those actor types. Increasing t beyond 1000 has no e ect upon models with Source and Target actors, but increasing t has an e ect up to N s for Group actors, so setting t = 1000 allows for the most direct comparisons between actor types by keeping the number of total interactions equal. Furthermore, although we expect the greatest magnitude of e ect when µ is high, a range of values should be examined to assess the robustness of these findings. The number of agents, N , should be set to a high value, but computation time increases exponentially with N . Informal pilot runs varying N indicated N = 1000 is a good compromise value. Thus, all simulations are performed with t = 1000, N = 1000, s varied between 2 and 1000, and µ varied from 0.01 to 0.99 at increments of 0.01.

.
The order e ects also suggest a manner of observing the impact that schedule may have by biasing that order. Randomly ordering agent actions should obscure any variance in influence when a large number of agents are used. However, there is no reason to believe that humans are influenced in random order by those with whom they interact. Indeed, the dynamics of individual conversations is a relatively unexplored area in opinion dynamics (Duggins ( ) is a notable exception here). To showcase the most extreme potential e ect that scheduling may have, randomized order (i.e., unbiased) and biased order models are compared for asynchronous schedules. Bias toward 0 may be induced by ordering agent actions in a particular way. When primary actors are targets, sources acting in order of decreasing opinion induces negative bias; Equations and show that later sources have higher influence. When primary actors are sources, acting in order of increasing opinions induces negative bias; early actors' influence has an opportunity to cascade more than later actors' influence. Similarly, when primary actors are groups, acting in increasing order of the mean opinions of agents within the group induces negative bias.

.
The GRAM was run for 1000 replications for each set of parameters, beginning with a set of N = 1000 agents initialized to uniformly distributed opinions. It is considered to have converged when the range of opinions falls below 0.01.

.
Normalized heat maps are shown in Figures and . For each set of parameters (seen as a column within a plot), the associated histogram was generated for bins of width 0.01 and frequencies were normalized such that a value of 0 is observed only if no outcome resulted in that opinion and a value of 1 is observed only if that opinion was the most frequently observed outcome for that set of parameters. Each dot in these plots is colored according to the normalized frequency, with red being the most common outcome and blue being unseen outcomes.
. For s = 2, all three primary actor types (target, source, group) were examined with and without synchrony. When schedules were asynchronous, both unbiased and biased forms were run as described above. convergence. Both source and target primary actors exhibited noticeable di erences in variance for high values of µ when changing synchrony. For all synchrony and biases, source primary actors generate drastically higher variance in opinions at convergence than target or group primary actors. Group primary actors exhibit the weakest biasing with relatively small variance even for high µ.
. For s = ∞, only source and target primary actors were simulated; as the action for group primary actors is defined, those models would be equivalent for both synchronous and asynchronous schedules. Furthermore, for synchronous schedules, source and target primary actors result in identical models; therefore, only target primary actors were simulated, although the results show them in both positions for ease of comparison. When schedules were asynchronous, both unbiased and biased forms were again run. Figure shows the results as a normalized heat map. A larger value of s appears from a broad view to have eliminated the di erences between schedules. A closer view is warranted.
. Figures (for s = 2) and (for s = ∞) plot the variance observed for each parameter set across 1000 replicates. Note that scales vary between plots in Figure due to the drastic di erences in scale between actor types that mostly disappear for s = ∞. The variance in observed opinions for the Source (2, 1000) schedules stands out as being significantly di erent from that observed with other schedules. This is likely due to the strong influence that the first agents chosen have upon every other agent. However, closer examination shows that all schedules exhibit unique patterns of variance as µ is varied. Interestingly, increasing µ beyond a point for some .
The biasing e ect of ordering primary actors according to their opinion can be clearly observed in the results in Figure , a plot of the mean observed outcomes across all 1000 replicates for each parameter setting for which bias is included. As expected, bias is strongest when the convergence parameter µ is high, but it is clearly observable even for low to moderate values. When µ < 0.65, the schedule that exhibits the strongest bias is the Asynchronous Source (2, 1000). In this schedule, the mean opinion at convergence decreases in a nearly linear fashion as µ increases, while other schedules exhibit more nonlinear e ects. When 0.65 ≤ µ ≤ 0.85, the strongest bias is exhibited in the Asynchronous Target  ) (the Hegselmann-Krause or HK model) have been heavily studied and reused. The two are very similar to one another; the primary di erence relates to schedule. Using the SAS taxonomy, the DW model uses a Asynchronous Group (2, 1) schedule while the HK model uses a Synchronous Target (∞, ∞) schedule. .
The generalized bounded confidence model (GBCM) is a generalized model that includes the DW, but not the HK model, as a special case. Taking an average of all agents within confidence threshold d, as the HK model does, sets individual values of µ to Sj −1 Sj . Thus, including the HK model perfectly into the GBCM would negate the ability to compare between schedules as µ would become heterogeneous between agents, and its scale would vary with actor type and scale parameters. A near analogue exists, however, using the same schedule but fixing µ as a homogeneous input parameter.

.
The GBCM di ers from the GRAM in one key way: a er initializing sets S j and/or T i , they are filtered to only include secondary actors whose opinions are within d of the primary actor, where d is the confidence threshold. In order to include the base DW and HK models and enable direct comparisons between schedules, d is homogeneous across the model.

Model definition .
The above informal definition of the model is useful for a conceptual overview of the GBCM but insu iciently precise to replicate the model. Let x t again be the row vector of N agent opinions at time t and P be the lestochastic N × N matrix defining the OD model from time t to t + 1. Then, As with the GRAM, P is further restricted to have diagonal elements of value (1−µ), where µ ∈ (0, 1) is a convergence parameter. An individual agent, if influenced during time t, grants µ influence to others while maintaining (1 − µ) self-influence. This form ensures the clusters converge and allows direct comparison between schedules.
. Again, P may vary over time as sets of primary and secondary actors are chosen and, in the case of asynchronous schedules, as the order of actors changes. Actors are always initially selected at random from the pool of available agents, regardless of their opinions.
. Further definition of the GBCM varies by synchrony and actor type. For precision in defining the model, it is defined in matrix form.

Synchronous .
For the Synchronous Target (s, t) schedule, let T be the set of t target agents randomly chosen as primary actors, or the set of all agents if t ≥ N . For each agent j ∈ T , let S * j be the set of s source agents randomly chosen to potentially influence agent j, or the set of all other agents if s ≥ N −1. Let I j be the set of agents i for whom |x i − x j | ≤ d. The set S j = S * j ∩ I j becomes the filtered set of eligible sources. The matrix P associated with the model is the N × N matrix derived from T and S j that is defined by Equation . .
For the Synchronous Source (s, t) schedule, let S be the set of s source agents randomly chosen as primary actors at time t, or the set of all agents if s ≥ N . For each agent i ∈ S, let T * i be the set of t target agents randomly chosen to potentially be influenced by agent i, or the set of all other agents if t ≥ N − 1. Let I i be the set of agents j for whom |x i − x j | ≤ d. The set T i = T * i ∩ I i becomes the filtered set of eligible targets. By extension, let S j be the set of agents i for which j ∈ T i . The matrix P associated with the model is the N × N matrix derived from S and S j that is defined by Equation . .
For the Synchronous Group (s, t) schedule, we again assume that repeat influences may not occur. Let A be the set of t s-tuples of agents initially chosen as primary actors, or the set of all possible s-tuples of agents if t ≥ N s . Let T be the set of all agents belonging to one or more groups in A. For each agent j, let S * j be the set of all agents belonging to one or more groups in A that also contain j. Let I j be the set of agents i for whom |x i − x j | ≤ d. The set S j = S * j ∩ I j becomes the filtered set of eligible sources. The matrix associated with the model is the N × N matrix derived from T and S j that is defined by Equation . .
Mixed actor types are not used in the GBCM.

Asynchronous .
Asynchronous schedules with source and target primary actors are defined using the P (i,j) matrices defined in Equation . .
For the Asynchronous Target (s, t) schedule, let T be the set of t target agents randomly chosen as primary actors, or the set of all agents if t ≥ N . For each agent j ∈ T , let S * j be the set of s source agents randomly chosen to potentially influence agent j, or the set of all other agents if s ≥ N − 1. The set S j = S * j ∩ I j becomes the filtered set of eligible sources. Let I j be the set of agents i for whom |x i − x j | ≤ d. Let T (l) be the lth element drawn from T , and let S (k) j be the kth element drawn from S j . The matrix P associated with the model is the N × N matrix defined by Equation . .
For the Asynchronous Source (s, t) schedule, let S be the set of s source agents randomly chosen as primary actors at time t, or the set of all agents if s ≥ N . For each agent i ∈ S, let T * i be the set of t target agents randomly chosen to potentially be influenced by agent i, or the set of all other agents if t ≥ N − 1. Let I i be the set of agents j for whom |x i − x j | ≤ d. The set T i = T * i ∩ I i becomes the filtered set of eligible targets. By extension, let S j be the set of agents i for which j ∈ T i . Let S (k) be the kth element drawn from S, and let T (l) i be the lth element drawn from T i . The matrix P associated with the model is the N × N matrix defined by Equation . .
For the Asynchronous Group (s, t) schedule, let A * be the set of t s-tuples of agents initially chosen as primary actors, or the set of all possible s-tuples of agents if t ≥ N s . Let A (k) be the kth element drawn from A. Let P A (k) be the matrix associated with a Synchronous Group (s, 1) GBCM where A (k) is the chosen primary actor according to Equation . The Asynchronous Group (s, t) GBCM's associated matrix is the ordered product of P A (k) matrices given in Equation . Parameters for the GBCM that are in need of values are s, t, µ, d, and N . Calculations for an agent's influence are identical to those for the GRAM, with the exception that |S j | ≤ s in GBCM. When s = 2, it is likely for many agents that |S j | = 1, so we expect to see the biasing e ect reduced in GBCM compared to GRAM. In particular, when the schedule is Asynchronous (biased) Source (2, 1000), only the set of agents with opinions within d of both randomly chosen primary actors will be a ected by order biasing. This implies that such agents would have opinions within 2d of one another. Because opinion shi is proportional to the distance between source and target opinions, these interactions will result in relatively small shi s. Thus we expect the biasing e ect for the Asynchronous (biased) Source (2, 1000) schedule to be very weak.

Synchrony and Bias
.
In order to best show potential di erences between schedules, it is most e ective to use a value of d for which the results are well-known. Both De uant et al. ( ) and Hegselmann & Krause ( ) examine their models in-depth with d = 0.20, so we follow suit with the same value. In both models the prototypical outcome for this model is two distinct clusters with the possibility of small clusters at the opinion poles (called "wings") or between the major clusters. In their analyses, these smaller clusters were ignored, but we will include them.

.
All simulations are performed with t = 1000, N = 1000, d = 0.20, s varied between 2 and 1000, and µ varied from 0.01 to 0.99 at increments of 0.01. Aside from d, which is not defined in the GRAM, these are the same values used in the GRAM.
The GBCM was run for replications for each set of parameters, beginning with a set of N = 1000 agents initialized to uniformly distributed opinions. The model is considered to have converged when the range of opinions within each cluster is less than d 2 , because clusters cannot communicate with one another once this occurs.

.
Normalized heat maps are shown in Figures and . For these plots, the mean opinion within each cluster at convergence is treated as a separate outcome, regardless of how many agents were in that cluster. For each set of parameters (seen as a column within a plot), the associated histogram was constructed with bins of 0.01 and frequencies normalized such that a value of 0 is observed only if no outcome resulted in that opinion and a value of 1 is observed only if that opinion was the most frequently observed outcome for that set of parameters. Each dot in these plots is colored according to the normalized frequency, with red being the most common outcome and blue being unseen outcomes.
. For s = 2, all three primary actor types (target, source, group) were examined with and without synchrony. When schedules were asynchronous, both unbiased and biased forms were run. Figure  schedules, the location of the most common clusters diverge toward the opinion poles. No obvious di erences exist between schedules utilizing source actors with s = 2. For both target and group actors, there appears to be a di erence in variance in cluster opinions in the synchronous and asynchronous schedules. Biasing e ects appear mild for group actors but much stronger for target actors.
. For s = ∞, only source and target primary actors were simulated; as the action for group primary actors is defined, those models would be equivalent for both synchronous and asynchronous schedules. Furthermore, for synchronous schedules, source and target primary actors result in identical models; therefore, only target primary actors were simulated, although the results shown in Figure show them in both positions for ease of comparison. While the GRAM showed the di erences between schedules to be less drastic for s = ∞, the GBCM shows the opposite trend. Synchronous schedules exhibit similar distributions of cluster opinions with s = ∞ to those observed when s = 2. Asynchronous schedules, however, have no instances of extreme "wings" occurring across all values of µ for either primary actor type, and only observed instances of opinion convergence when µ < 0.25. Instead, cluster opinions shi gradually toward a moderate opinion until they are near enough to converge when µ is high. This pattern is observed for both unbiased and biased schedules, although "moderate" opinion is significantly a ected by µ for biased schedules for both actor types. It is also the opposite pattern to that observed for source actors when s = 2, in which clusters tended to diverge as µ increased. .
In order to compare the biasing e ect across schedules, Figure plots the mean opinion of all agents at convergence with the same parameters, regardless of cluster membership.
The feature that distinguishes bounded confidence models from repeated averaging models is the presence of distinct opinion clusters at convergence. As such, for these models, a primary measure of interest is the number of clusters that exist at convergence within a single replicate. Figure    all schedules. Of these, only the Asynchronous (Unbiased) Target (∞, 1000) schedule does not reach a single cluster when µ is su iciently high. When s = 2, the number of clusters initially increases as µ increases for all schedules. The number of clusters in the Synchronous Source (2, 1000), Asynchronous (Unbiased and Biased) Source (2, 1000), and Synchronous Group (2, 1000) schedules increase as a function of µ across its entire range, while the function is non-monotonic for the remaining schedules. .
The variance in number of observed clusters between replicates, shown in Figure also shows varying patterns for each schedule. For most schedules, the variance increases with µ to a point, then decreases. The Asynchronous (Biased) Target (2, 1000) schedule is unique in resuming an increase at the highest values of µ, while the Synchronous and Asynchronous (Unbiased and Biased) Source (2, 1000) schedules stand out with variance that increases drastically up to µ ≈ 0.15 and continuing to increase approximately linearly for the remaining range of µ.

Discussion
. The most obvious qualitative observation for both the GRAM and GBCM is that varying the schedule of agent interactions can have significant impacts upon the emergent behavior observed. This is the primary intent of these models, and it suggests that schedules should be more clearly stated and justified in OD models. A clear and inclusive taxonomy such as SAS makes these discussions far easier.

.
In the GRAM, varying synchrony in all cases altered the relationship between the convergence parameter µ and the variance in opinions observed at convergence. Varying the primary actor type had drastic e ects upon that variance for s = 2, while that e ect largely disappeared for s = ∞. .
In the GBCM, the patterns of where emergent clusters were located varied with synchrony, especially for high values of µ. For s = 2 and moderate values of µ, Asynchronous schedules were more likely to generate clusters toward the poles of the opinion spectrum (i.e., "wings") than synchronous schedules. For s = ∞, only synchronous schedules ever resulted in these wings. The pattern of cluster locations was changed drastically by varying synchrony in this case. For all synchronous schedules, with su iciently high values of µ, wings were more likely to be observed than clusters at more moderate locations; these models increasingly generated bipolarization. For s = 2 and source-type primary actors, this e ect was more clearly observed regardless of synchrony and bias; the most-observed clusters shi ed toward the poles as µ was increased.
. The biased models were biased solely by the order in which agents were chosen to act. No schedule completely eliminated the e ect of biased ordering, but in both models target actors were most a ected by this ordering regardless of synchrony and parameters. This suggests that further research should be made into the dynamics of conversations; the assumption inherent to OD models that individuals speak with others in random order should be questioned. For example, it may be true that individuals tend to initiate conversations with like-minded others but are motivated to interject in existing conversations when they hear opinions that di er moderately from their own. This would imply a non-random order that may a ect emergent behaviors.

.
There are social implications for each element of the agent schedule as well. Synchrony indicates whether individuals change their minds in the course of an interaction, or if their opinion shi s a er the interaction is completed during a period of reflection. Scale parameters indicate the social activity levels of an individual by defining how many interactions they may have. This may vary by time, topic, and individual. Primary actor type reflects how an individual approaches interactions -as a learner (target), as a teacher (source), or as a collaborator (group). An individual may have di erent motivations, and therefore di erent approaches, depending upon the situation. This mixture may also vary depending on the social status of that individual; writers for media outlets and individuals with many followers on social media may act as sources far more o en than others.
. An interesting and counter-intuitive outcome was observed in the GBCM with source actors for s = 2, where increasing the convergence parameter µ increased the separation between the most observed clusters. The convergence parameter could alternatively be considered "susceptibility to influence," as it is related to how much others' opinions a ect one's own. This suggests that the presence of primarily source-type actors has a bi-polarizing influence. Partisan news sources and social media have been examined for their e ects on bipolarization (see, for example, Levendusky ; Lee et al. ; Messing & Westwood ; Bakshy et al. ). This suggests a mechanism for such a phenomenon.

Conclusion
. The SAS taxonomy represents a step toward creating a common language with which opinion dynamics researchers can compare models and discuss the social assumptions inherent to those schedules. This paper defines the taxonomy and examines variants of two generalized models using the mechanisms of repeated averaging and bounded confidence.
. The outcomes of these models executed under various schedules show that varying any element of the schedule as defined can significantly a ect emergent behavior in even relatively simple models. Existing models rely primarily upon randomization to order actions and choose agent type and synchrony without significant justification, but these can be interesting and useful inputs to a model. Furthermore, openly discussing these aspects of models can allow greater standardization and repeatability of models.