Accepted Manuscript Title: OPEC, the Seven Sisters, and Oil Market Dominance: An Evolutionary Game Theory and Agent-Based Modeling Approach Author: Aaron D. Wood Charles F. Mason David Finnoff PII: DOI: Reference:
S0167-2681(16)30120-2 http://dx.doi.org/doi:10.1016/j.jebo.2016.06.011 JEBO 3829
To appear in:
Journal
Received date: Revised date: Accepted date:
15-9-2015 2-6-2016 19-6-2016
of
Economic
Behavior
&
Organization
Please cite this article as: Wood, Aaron D., Mason, Charles F., Finnoff, David, OPEC, the Seven Sisters, and Oil Market Dominance: An Evolutionary Game Theory and Agent-Based Modeling Approach.Journal of Economic Behavior and Organization http://dx.doi.org/10.1016/j.jebo.2016.06.011 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
Title OPEC, the Seven Sisters, and Oil Market Dominance: An Evolutionary Game Theory and Agent-Based Modeling Approach
Authors Aaron D. Wood1, Charles F. Mason2, David Finnoff2 1
Department of Economics, Sykes College of Business, The University of Tampa, 401 W. Kennedy Blvd. Box: O, Tampa, FL, USA, 33606; Aaron D. Wood email:
[email protected]; 2
Department of Economics & Finance, University of Wyoming, 1000 East University Ave., Dept 3985, Laramie, WY, USA, 82071; Charles F. Mason email:
[email protected], David Finnoff email:
[email protected]
Corresponding Author Aaron D. Wood (
[email protected]) Highlights:
An evolutionary and computational approach to studying energy markets is proposed The approach is applied to the historical struggle between OPEC and the Seven Sisters An evolutionary game models heterogeneous cartels, their learning, and market shares An agent-based model simulates the theoretical model of the cartels across time A transition in power is found driven by evolutionary learning and resource growth
Abstract: A methodological toolkit comprised of evolutionary game theory and agent-based modeling is used to study OPEC and the Seven Sisters as they struggled for control over global petroleum markets during the 1960s and 1970s. An evolutionary game theory model incorporates heterogeneous populations, energy-specific variables, and behavioral considerations to capture the fundamentals of the applied problem. An agent-based model is used to provide detailed results and demonstrate the importance of the natural resource to the outcome of the model.
Keywords: Evolutionary game theory; agent-based modeling; energy economics; behavioral economics; OPEC; Seven Sisters. 1. Introduction and Historical Background1 1
The authors thank William S. Neilson, Zhi Li, and an anonymous referee for helpful comments and suggestions.
This paper examines the struggle between OPEC and the Seven Sisters as the two cartels competed for control over global petroleum markets during the 1960s and 1970s. With vast economic and political consequences, this conflict is well-known anecdotally within academia and industry, but the intertemporal transition of market dominance from the Seven Sisters to OPEC has not been satisfactorily explained in the economics literature. By combining an evolutionary game theory (EGT) model featuring heterogeneous populations of agents and natural resource-specific variables with the computational power of agent-based modeling (ABM), we describe agent learning and gain insight into the problem. In particular, we highlight the key role of natural resource stocks and learning in an evolutionary environment in driving the switch in market dominance. The historical interval begins with the Seven Sisters major oil firms as the dominant force in global petroleum markets in the decades following World War II. Consisting of Royal Dutch Shell, British Petroleum, Gulf, Exxon, Mobil, Texaco, and Chevron, the anti-competitive cartel held concessions to oil in sovereign nations with abundant petroleum resources (Sampson, 1975). A concession offered an exclusive right to search for oil in a nation’s territory, along with the right to produce and distribute any oil that was discovered (Wagner, 2009). In exchange, the firm gave a share of the profit in royalties to the nation in which it operated. This arrangement gave the Sisters property rights over oil in Venezuela and oil-producing Middle Eastern nations, and by 1950 the cartel possessed a 98.3% market share of world petroleum production (Engen, 2009). This arrangement was potentially beneficial to both parties; the particular Sister earned profits, and the sovereign state earned revenue from its non-renewable resource at a time when it lacked the expertise to discover, extract, and market its petroleum (Yergin, 1992). However, the producing nations grew dissatisfied with the share of oil receipts that they received from the Seven Sisters, as the terms of the concessions were favorable for the western firms (Libecap and Smith, 2004; Adelman, 1997). The nations also became discontented over having little control over the resources located in their respective territories. In 1960, Saudi Arabia, Iraq, Iran, Kuwait, and Venezuela formed OPEC to serve as a defensive organization designed to stabilize world petroleum prices and defend the interests of the member states (Al-Otaiba, 1975). OPEC was initially ineffectual, as internal rivalries and unilateral actions precluded the group from gaining a greater share of oil profits from the major firms or in capturing control over their own resources. It took nearly a decade for the OPEC nations to figure out how to multilaterally bargain for a larger share of the rents from oil, and it wasn’t until 1973 that the cartel learned how to operate cohesively and leverage its natural resources as a means to obtain dominance over world oil markets. OPEC, despite having possession of the vast majority of world oil reserves, was unable to capture control of world petroleum markets for well over a decade. This multiple-year delay between when OPEC was founded and its ascent to the position as the leading force in global petroleum markets is difficult to model with orthodox economics techniques; despite the popularity of this historical story, no comprehensive model has explained the behavior of the agents across the time horizon. Traditional models that have investigated OPEC’s behavior have examined the cartel once it captured control of oil markets by using traditional game-theoretic approaches (Salant, 1976; Gilbert, 1978) or by taking snapshots of
particular agents at specific points along a time horizon (Dutta, 1999). However, the historical epoch examined in this paper is one dynamic problem that evolved slowly and in starts across over a decade, and it is a contest in which OPEC agents had to learn and adapt as they struggled to capture control away from the Sisters. For a variety of reasons, this dictates the use of an alternative methodological approach to model this episode in the history of energy markets. First, the interplay between the Seven Sisters and OPEC is inherently strategic, dictating the use of game theory rather than constrained optimization. Second, the interaction between the parties in the two cartels was not a singular occurrence; rather, it took place over several decades. This requires an intertemporal approach. Third, the actions of agents reflected emotions like envy and discontent, and they engaged in learning and adaptation over time (Yergin, 1992; Maugeri, 2006). This requires a behavioral approach that models agents who use heuristics to guide evolving behavior. In our view, a combination of theoretical EGT and computational ABM provides an appropriate toolkit for this application. EGT is the theoretical component of the toolkit, and it combines strategic interdependence with an evolutionary learning process that is based on behavioral agents who learn, experiment, and use heuristics to guide their choices as they interact in intertemporal, game-theoretic settings. While the EGT framework provides an attractive modeling approach to this sort of learning and adaptation, EGT models can quickly become analytically intractable, particularly when the complexity of the environment is non-trivial (as in this application). To transcend this limitation, we bolster our EGT work with ABM. ABM computes emergent, systemwide behaviors that arise as a consequence of individual-level interactions. In this work, ABM serves as a laboratory to test the assertions of the theoretical EGT model, and the combination of EGT and ABM emerges as an evolutionary, behavioral analogue to the “theory and data” structure common to the economics literature. The combined approach allows the incorporation of a behavioral description of agents’ learning and adaptation in OPEC and the Seven Sisters with an energy-specific variable that captures the state of a cartel’s market share. Results show that a market share advantage and discontent over comparatively low payoffs allow OPEC agents to learn to operate as a collusive cartel and drag their rivals to an equilibrium in which OPEC controled global oil markets. This transition in power over global oil markets was stimulated by groups of agents who acquired new information, imitated others, acted on emotion, relied on heuristics, experimented with new strategies, and learned from their mistakes as they interacted strategically. These characteristics not only inform the problem studied, but also have general appeal. The appeal stems from the creation of a research methodology for a class of applied problem that orthodox techniques struggle to address; EGT and ABM are well-suited to the study of any dynamic, game-theoretic problems in which agents reflect behavioral considerations. It presents one approach to advance economics as an evolutionary science, and the applicability of combining EGT and ABM extends beyond cartel problems and energy issues to any situation in which strategy and behavioral economics are present. The balance of this paper proceeds as follows. Section 2 provides a literature review of previous cartel research with respect to OPEC and global oil markets, evolutionary game theory, and agentbased modeling. Section 3 presents the methodology of the evolutionary game theory model and
the agent-based model. Section 4 discusses the results of the agent-based model. Section 5 concludes. Two appendices provide mathematical and computational support.
2. Literature Review Previous research on OPEC and global oil has largely studied the cartel once it already emerged as the dominant force in world petroleum markets, and this research has relied on a variety of cartel modeling approaches and frameworks. A Nash-Cournot approach is used by Salant (1976) to model OPEC as a unified group maximizing profits without strife amongst its members. Other papers that model OPEC as the dominant firm in world oil markets include Pindyck (1978), who structures OPEC as a unified monopolist solving a wealth-maximizing optimal control problem, Cremer and Wietzman (1976), and Tourk (1977). Ulph and Folie (1980) use a Nash-Cournot approach to model a primary cartel and a fringe with different production costs. Loury (1986) examines oil producers as Nash-Cournot players to find that producers with large stocks extract a smaller proportion of their stocks than producers with small stocks, and his work is supported by Polasky (1992). Gilbert (1978) uses a Stackelberg approach to model OPEC as a price-making Stackelberg leader with other producers as price takers. Dutta (1999) takes game-theoretic snapshots through time to investigate the internal dynamics of OPEC countries. Some papers model Saudi Arabia as the dominant firm in the cartel, including Erickson (1980), Mabro (1986), and Adelman (1995), while others propose the OPEC core countries as the dominant firm in the cartel, including Hnyilicza and Pindyck (1976), Noreng (1978), and Houthakker (1979). Noncartel approaches to examining OPEC and world oil include the competitive models of McAvoy (1982) and Verleger (1987). Moran proposes political explanations (1980, 1982), though these have not been empirically tested. A number of emprical analyses of global oil markets have rejected a competitive model, including Griffin (1985), Jones (1990), Youhanna (1994), and Alhajji and Huettner (2000a, 2000b). On the other hand, a number of studies have rejected a cartel explanation of global crude oil markets and OPEC behavior, including Dahl and Yücel (1991), Almoguera et al. (2011), and Alhajji and Huettner (2000a, 2000b), while Gülen (1996) rejects cartel behavior during certain time periods. Some studies find empirical support for the hypothesis that Saudi Arabia played a role akin to a dominant firm in OPEC, as does Alhajji and Huettner (2000a, 2000b). The mixed messages regarding the nature of global crude oil markets underscores the complexity of the economic environment, as well as the difficulty in teasing out definitive empirical results. These features point to a more nuanced approach, one that pays attention to learning and imitation, as well as the important role associated with resource holdings. Articulating learning in such an environment motivates the incorporation of an EGT model with ABM support. Smith’s (1982) seminal book induced a string of theoretical contributions in the EGT literature, including Binmore et al. (1995), Binmore and Samuelson (1993b), Hofbauer and Sigmund (1998), Samuelson (1997), Vega-Redondo (1996), and Weibull (1995, 1998). Safarzynska and van den Bergh (2010) offer a survey of the literature, and applied work in EGT has emphasized learning behavior (Duersch et al., 2012), often in the context of organizations or markets (Khan and Peeters, 2015; Kopel et al., 2014). Other applied work has been done in innovation (Safarzynska and van
den Bergh, 2011), energy investment (Safarzynska and van den Bergh, 2013), and the environment (Antoci et al., 2013). Several authors have called for the use of evolutionary methods in conducting applied research and public policy (Clark, 1988; Gintis, 2007; Vanberg, 2004; Wilson and Gowdy, 2013). Agent-based modeling research is surveyed in Axelrod and Tesfatsion (2006), Chen (2012), and Arthur (2006). While much ABM work has studied macroeconomics (Gualdi et al., 2015; Lengnick, 2013) and financial markets (Fischer and Riedler, 2014; Kluger and McBride, 2011), Micola et al. (2008) also use it to study energy markets. Also related to this work, Heymann et al. (2014) and Janssen and Rollins (2012) rely on ABM to examine game-theoretic issues, and Kimbrough (2011) and Pahl-Wostl and Ebenhöh (2004) utilize ABM to investigate behavioral questions.
3 Methodology 3.1 Evolutionary Game Theory Model The EGT model specifies OPEC and the Seven Sisters as heterogeneous populations of agents as they struggled for control over global petroleum markets. The model builds upon and applies the theoretical contributions of Samuelson (1997) by extending the model to include heterogeneous populations of agents and an innovative learning process that incorporates the influence of natural resources in energy markets. Let there be two distinct populations, both of size 𝑁, and let each population have two strategy choices. OPEC agents are members of Population 𝐼, and they can play strategy 𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 or strategy 𝑉 − 𝑃𝑟𝑜𝑟𝑎𝑡𝑒. 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 implies that an OPEC agent has chosen to supply the industrial world with abundant oil at low prices, while 𝑃𝑟𝑜𝑟𝑎𝑡𝑒 relates that an OPEC agent has cut its production to a fraction of available output. Seven Sisters agents are the members of Population 𝐼𝐼, and they can play strategy 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒 or strategy 𝑌 − 𝐴𝑐𝑞𝑢𝑖𝑒𝑠𝑐𝑒. 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒 entails setting oil prices and production levels, while 𝐴𝑐𝑞𝑢𝑖𝑒𝑠𝑐𝑒 consists of letting OPEC agents control prices and production levels while focusing on other aspects of the oil industry, like logistics and end-user sales. Additional strategy choices, like 𝐸𝑥𝑖𝑡 𝑡ℎ𝑒 𝑀𝑎𝑟𝑘𝑒𝑡 or 𝐷𝑒𝑠𝑡𝑟𝑜𝑦 𝐴𝑙𝑙 𝐼𝑛𝑓𝑟𝑎𝑠𝑡𝑟𝑢𝑐𝑡𝑢𝑟𝑒, are eliminated for both populations by strict iterated dominance. A graphical representation of the normal-form game is presented as Game 𝑄̂ in Figure 1. In every period of the evolutionary game, each member of both populations is randomly drawn to play an opponent from the opposing group. Let 𝐵 > 𝐴, 𝐴 > 𝐷, 𝐵 > 𝐶, 𝐵 > 𝐷, 𝐴 > 𝐶, and 𝐶 > 𝐷 such that strict Nash equilibria are {𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛, 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒} and {𝑉 − 𝑃𝑟𝑜𝑟𝑎𝑡𝑒, 𝑌 − 𝐴𝑐𝑞𝑢𝑖𝑒𝑠𝑐𝑒}. 𝐵 is the payoff earned by an agent that is in control over the market and its opponent, while 𝐴 is the payoff associated with cooperating with a dominant opponent. 𝐶 and 𝐷 are the payoffs associated with coordination failures. Specifically, strategic combinations where both agents try to dominate oil markets yield an outcome where both agents realize a Pareto-inferior payoff due to fighting, while an outcome in which both agents yield to the other leave unrealized OPEC / Seven Sisters
X – Dominate
Y – Acquiesce
gains on the table. Instead, the payoff structure assumes that a leader-follower model offers the greatest possible payoffs, where the leader earns a superior payoff to the follower. In essence, this is an applied, evolutionary version of a battle-of-the-sexes game with natural resources and behavioral considerations. At the start of the game, all OPEC agents play 𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛, while all Seven Sisters agents play 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒. Expected payoffs for each agent are contingent on the strategic choices of agents in the opposing population. Actual payoffs are random, where an agent earns its expected payoff plus outcome 𝑅 of random variable 𝑅̃ . The random variable captures exogenous shocks in world petroleum markets, and its expected value is zero. Thus, if an OPEC agent plays 𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 while a Sister firm plays 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒, the OPEC agent would earn an expected payoff of 𝐴, but it would realize an actual payoff of 𝐴 + 𝑅. Expected payoffs for OPEC agents, where 𝑙 represents the proportion of Seven Sisters agents who play 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒, are given by 𝜋𝑈 (𝑙) = 𝑙𝐴 + (1 − 𝑙)𝐶 𝜋𝑉 (𝑙) = 𝑙𝐷 + (1 − 𝑙)𝐵.
(1a) (1b)
For Seven Sisters agents, expected payoffs are given by the equations below, assuming that 𝑘 proportion of the OPEC population plays 𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛: 𝜋𝑋 (𝑘) = 𝑘𝐵 + (1 − 𝑘)𝐶 𝜋𝑌 (𝑘) = 𝑘𝐷 + (1 − 𝑘)𝐴.
(2a) (2b)
These payoffs are invariant across the game for the sake of tractability. Realistically, it is likely that payoffs evolved over the period, or that the payoffs to collude increased monotonically over time. However, Weibull (1995) shows that the set of all Nash equilibria is invariant to affine transformations to each player’s payoff function. The learning process takes place after each round the normal-form game is played. After realizing its payoff, each agent probabilistically determines if it will engage in learning or not. Mathematically, each agent pulls from a Bernoulli random variable in each period 𝜏 to determine if it will engage in learning. If the agent does not take a learn draw, it does not reflect on its strategy choice, and it is content to play the same strategy in the subsequent period when it again faces a random opponent from the rival population. If it does receive a learn draw, it will reflect on its welfare using the equation below that relates to its current payoff: 𝑔(𝐴, 𝜓) = 𝑝𝑟𝑜𝑏{[(𝜓 > 𝜒)⋀(𝐴 + 𝑅 < ∆)]⋁[(𝜓 < 𝜒)⋀(𝐴 + 𝑅 < 𝜌)]} 𝑔(𝐵, 𝜓) = 𝑝𝑟𝑜𝑏{[(𝜓 > 𝜒)⋀(𝐵 + 𝑅 < ∆)]⋁[(𝜓 < 𝜒)⋀(𝐵 + 𝑅 < 𝜌)]} 𝑔(𝐶, 𝜓) = 𝑝𝑟𝑜𝑏{[(𝜓 > 𝜒)⋀(𝐶 + 𝑅 < ∆)]⋁[(𝜓 < 𝜒)⋀(𝐶 + 𝑅 < 𝜌)]} 𝑔(𝐷, 𝜓) = 𝑝𝑟𝑜𝑏{[(𝜓 > 𝜒)⋀(𝐷 + 𝑅 < ∆)]⋁[(𝜓 < 𝜒)⋀(𝐷 + 𝑅 < 𝜌)]}.
(3a) (3b) (3c) (3d)
To explain these learning rules, assume that an OPEC agent is earning payoff 𝐴. If this agent receives a learn draw, it will use equation (3a), the first of the four listed above. Let 𝜓 equal the
agent population’s market share, and interpret this as a combination of oil reserves and production. Let 𝜒 represent the opposing population’s market share, allow that ∆ be the agent’s contentment level (simply the payoff of its opponent), and let 𝜌 be the agent’s reservation payoff, where 𝜌 > 𝐷. Then, given that the OPEC agent realizes payoff 𝐴 and observes market share 𝜓, the learning rule works as follows. If the agent enjoys a market share advantage and is earning a payoff less than its opponent, it will leverage its market share and abandon the strategy that is leaving it worse off than the rival agent. If the OPEC agent maintains a market share advantage and observes that it is earning a payoff superior to its opponent, it will have no need to alter its behavior. Additionally, if the OPEC agent has a market share disadvantage and is earning less than its reservation payoff, it will also abandon its strategy and seek a superior payoff through a different strategic choice. This learning process is influenced by the satisficing agents of Simon’s (1959) seminal thinking in behavioral economics, along with the insights of prospect theory (Kahneman and Tversky, 1979) in which agents use their opponents as a reference point to guide their heuristic choices. It is also influenced by behavioral economics research focused on envy, spite, and malice. During its struggle with the Seven Sisters, OPEC was upset that it was earning less than the firms. This was reflected outwardly as envy and spite, as OPEC was willing to face temporary disruptions and negative transition shocks as it took steps to capture control of global oil markets and supplant the Seven Sisters. This is captured in the model as OPEC is willing to accept payoff-inferior coordination failures when the right conditions in the learning process are met; an agent must be earning less than its detested rival, and it must possess sufficient market share to leverage the resource in a power play against its opponent. This behavioral modeling choice is supported through experimental findings; papers have demonstrated that spiteful agents are willing to leave their opponents out to dry even if it hurts all parties (Carpenter and Rudisill, 2003), spiteful agents object to Pareto-improving outcomes that benefit opponents more well-off than them (Beckman et al., 2002), and spite can cause deviations from expected, rational outcomes in game-theoretic settings (Kirchsteiger, 1994). Next, let 𝐹 be a uniform distribution on the interval [−𝜔, 𝜔], where {𝐴, 𝐵, 𝐶, 𝐷} ⊂ [∆ − 𝜔, ∆ + 𝜔]. This satisfies the monotone likelihood ratio property and allows agents to let the realization of low payoffs to prompt new strategy choices. It also allows us to pass expectations inside the function such that we can state that if an agent plays a strategy with an expected payoff, the probability of strategy abandonment is 𝑔(𝜋, 𝜓) = 𝐹{[(𝜓 − 𝜒)⋀(𝜋 − ∆)]⋁[(𝜒 − 𝜓)⋀(𝜋 − 𝜌)]},
(4)
where 𝜋 is an agent’s generic payoff. Then, if (𝜓 > 𝜒) is satisfied, let the condition of market share advantage be represented by variable 𝜇. Next, let 𝜇 = 𝑎, let (𝜋 − ∆) = 𝑏, and let (𝜋 − 𝜌) = ¬𝑏. Given 𝑎⇒𝑏
¬𝑎 ⇒ ¬𝑏 contraposition gives ¬𝑎 ⇒ ¬𝑏 ⟺ 𝑏 ⇒ 𝑎 Thus 𝑎 ⇔ 𝑏. Therefore, we are able to concisely write the generic learning rule as 𝑔(𝜋, 𝜓) = 𝐹{[𝜇 ⟺ (𝜋 − ∆)]⋁[¬𝜇 ⟺ (𝜋 − 𝜌)]}.
(5)
When the market share advantage is satisfied, earning less than an opponent prompts strategy revision. If market share advantage is not satisfied, then earning less than the reservation-payoff level prompts new strategy choices. After the learning process is complete, an agent who did not learn may or may not receive a mutation draw. An agent who mutates selects one of the two strategies available at its disposal and deploys it in the subsequent round. Mutation in this context is interpreted as a strategy experiment. Having established the normal-form game, along with the learning and mutation processes, we pass to continuous time and examine the evolution of the system. This process is a Markov model with state space {0,1, … , 𝑁}, where a state is the number of agents in OPEC playing 𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 or the number of agents in the Seven Sisters playing 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒. Sample path behavior is examined to determine the resultant stationary distributions where the model comes to rest, and it is noted that any state can be reached from any other state given the right combination of learning and mutation. Let the initial conditions reflect the realities of the world petroleum market in 1960; all OPEC agents are playing 𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛, all Seven Sisters agents are playing 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒, and the market share of the Seven Sisters initially exceeds that of OPEC. Then, let OPEC’s market share increase incrementally in every period along the time horizon, with an analogous incremental decrease in the Seven Sisters’ market share in every period. Simply, OPEC is responsible for an ever-increasing portion of petroleum reserves and production at the expensive of its rival’s market segment, and OPEC unambiguously obtains a market share advantage at some period 𝜏 + 𝑝. Finally, when appropriate limits are taken, the replicator dynamics are revealed (see Appendix A). When time periods 𝜏 become sufficiently short, we pass to continuous time, where 𝛾 ∈ [0,1] represents the number of OPEC agents playing 𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 and 𝛿 ∈ [0,1] represents the proportion of Seven Sisters agents playing 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒. The replicator equations are 𝑑𝛾 = 𝛾̇ = 𝛾 {[𝜇 ⟺ (𝜋(𝛾) − 𝜋̅(𝛾))] + [𝜆[(1 − 2(𝛾))(𝑘 − 𝜋̅(𝛾))]]} 𝑑𝑡
(6)
𝑑𝛿 = 𝛿̇ = 𝛿 {[𝜇 ⟺ (𝜋(𝛿) − 𝜋̅(𝛿))] + [𝜆[(1 − 2(𝛿))(𝑙 − 𝜋̅(𝛿))]]}, 𝑑𝑡
(7)
where the popularity of a given strategy increases if the market-share dominance condition is met and the payoff to a strategy exceeds the average payoff in the population. 𝜆 is the probability of
mutation, where mutation can increase or decrease the popularity of a strategy given the parameters in a given period. The Nash equilibria are {𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛, 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒} and {𝑉 − 𝑃𝑟𝑜𝑟𝑎𝑡𝑒, 𝑌 − 𝐴𝑐𝑞𝑢𝑖𝑒𝑠𝑐𝑒}, and these correlate to the stable stationary states. The stationary states are written as 𝛼 = {𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛, 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒} 𝛽 = {𝑉 − 𝑃𝑟𝑜𝑟𝑎𝑡𝑒, 𝑌 − 𝐴𝑐𝑞𝑢𝑖𝑒𝑠𝑐𝑒}. The unstable stationary states are 𝜉 = {𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛, 𝑌 − 𝐴𝑐𝑞𝑢𝑖𝑒𝑠𝑐𝑒}, {𝑉 − 𝑃𝑟𝑜𝑟𝑎𝑡𝑒, 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒}. Evolutionarily, the game begins at 𝛼, and the game remains at or near this state as long as the OPEC market share is less than that of the Seven Sisters, assuming that payoff 𝐴 exceeds reservation payoff 𝜌. OPEC agents can experiment during this period, but if payoff 𝐷 is less than the reservation payoff, the learning process will bring the oil-producing nations back to state 𝛼. However, once the OPEC market share exceeds the Seven Sisters market share, the selection of stationary states will change. As soon as OPEC learns how to leverage its natural resources and behave in accordance with possessing a market share advantage, a combination of the learning and mutation processes will cause the model to evolve to state 𝛽. Graphically, the evolution of the system is reflected in the phase diagram in Figure 2. The thin lines exhibit the gravity of the basins of attraction by converging at the stable stationary states 𝛼 and 𝛽, and the bold lines reflect the evolutionary dynamics of the model. When we begin and the Sisters possess market share advantage, all agents are at state 𝛼 in the top-left corner. Any OPEC strategy deviation is met with failure, and the thin lines show any divergent agents returning to full production. After period 𝜏 + 𝑝, OPEC captures market share advantage, and the bold lines display the learning of OPEC states as they drag the system to state 𝛽 in the bottom-right corner. Thereafter, any Sister deviation is met with failure, and the thin lines around state 𝛽 show the gravity of this stable stationary state in the regime in which OPEC has market share advantage. In the language of Binmore and Samuelson (1993a), this phase diagram shows the short run, the medium run, and the long run. In the short run and medium run, agents begin to adapt to their circumstances; here, the players in each cartel compete but remain at the original equilibrium. In the long run, agents adapt to their situation and, in this case, evolve to a different equilibrium. In this model, that development is enabled by the transfer of control over the market share variable in period 𝜏 + 𝑝. An ultralong run analysis is not pertinent for this particular applied problem as repeated switches in equilibria did not occur across this historical epoch.
3.2. Agent-Based Model The agent-based model is the computational analogue to the EGT model outlined above. It lends simulative support and provides detailed results for the theoretical model. The program was written in C++ and tested and debugged using Microsoft Visual Studio 2010. It was compiled in Linux using the Intel C++ Compiler, and simulations were conducted on the Mount Moran Supercomputing Cluster at the Advanced Research Computing Center (ARCC) at the University of Wyoming. Detailed pseudocode is provided in Appendix B to circumvent the criticism that ABM research is opaque and to offer transparency and insight into the program’s construction. When the program begins, the user inputs all probabilities and parameters of the model. In every period, OPEC agents and Seven Sisters agents randomly face each other in the global petroleum market game. OPEC agents can play 𝑈 − 𝐹𝑢𝑙𝑙 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 or 𝑉 − 𝑃𝑟𝑜𝑟𝑎𝑡𝑒, while Sister agents can play 𝑋 − 𝐷𝑜𝑚𝑖𝑛𝑎𝑡𝑒 or 𝑌 − 𝐴𝑐𝑞𝑢𝑖𝑒𝑠𝑐𝑒. At the beginning of the game, all OPEC agents are engaging in full production, and all Sister agents are dominating. In every period, each agent may or may not receive a learn draw, following the process described in Section 3.1; if a learn draw is taken, agents select a new strategy if they are discontented by earning less than their rival and if they are able to leverage control of the natural resource, or they can select a new strategy if they are earning less than their reservation payoff. Thereafter, every agent may or may not receive a mutation draw, and this can incite an agent to randomly experiment with their strategy choice. At the end of each period, market share grows or decays as appropriate for both cartels, though individual players don’t realize this change until the next time they receive a learn draw. Market share is a variable that ranges from zero to one, where market share of 0.1 would represent a group possessing 10% of global reserves and production. Different variations of the model are simulated to demonstrate the importance of the energyspecific variable. We also simulate a control model with no change in market share over the course of the time horizon; the Sisters maintain complete control over the resource throughout the game. The interpretation of this control model is that the two populations of agents are not engaging in evolutionary learning with respect to the natural resource. In contrast, in the main treatment model, the Sisters begin the game enjoying complete oil market share dominance, and OPEC gradually learns that they have an ever-increasing market share until they obtain a market share advantage after period 50,001 of 100,000. Alternate treatment models discussed in the results section below feature different market share transfer rates. Universally, the probability of learning is 0.0002%, the probability of mutation is 0.000001%, and there are 7 agents in each population. Each model is simulated for 100,000 periods ten times. These parameters roughly imply that there are 10 periods in a given day over a 25 year period in which any one particular agent could potentially make a strategic oil choice, but that each agent seriously reflects on a change in behavior only once every couple of weeks.
4. Results and Discussion
The results of the control model are demonstrated in Figure 3. In this control model, the lack of evolutionary learning with respect to the natural resource is associated with the absence of a transfer in power: the Seven Sisters maintain control of oil markets across the time horizon. While the OPEC agents earn less than their rivals, they are unable to learn to leverage control of the resource as a means to capture control of oil markets. In fact, OPEC agents who deviate from full production are drawn back to that strategy and the original stationary state by the gravity of its basin of attraction. Note that 0 for OPEC refers to engaging in full production, while 1 entails prorating production. For the Seven Sisters, playing 0 refers to dominating, while 1 refers to acquiescing. Conversely, in the main treatment model, OPEC agents begin with no market share, but their market share increases by 0.001 in every period. The Sisters agents, however, begin the game with a market share of one, and their market share declines by 0.001 in every period. When agents take a learn draw, they realize the current state of their market share. Figure 4 reveals that once OPEC learns that it has the leverage to dominate global petroleum markets, its member states move quickly, and the Sister firms are forced to change their strategy as a means to avoid conflict and obtain a payoff-superior outcome relative to a coordination failure. To demonstrate the importance of the energy-specific variable in the model, two variants reflect different rates at which OPEC acquires market share away from the Seven Sisters major firms. In one version, OPEC captures market share at a more rapid rate, enjoying a market share advantage in period 20,002. The results are shown in Figure 5. OPEC more quickly captures control of oil resources, forcing the Sisters to acquiesce. Another version features a slower transition in market share advantage, with OPEC gaining a majority of market share in period 66,668. The results of this are depicted in Figure 6, and this shows a delayed transition between equilibria. In all the model variants, note that changing the parameters to make learning more frequent only causes the results to be more robust. Universally, OPEC is motivated by envy and discontent at earning less than its opponents in the rival cartel, and when it recognizes that it has the power to leverage its market share, the OPEC agents are willing to face temporary coordination failures as they take control and drag the Sister firms to their payoff-superior equilibrium in which OPEC prorates and the Sisters acquiesce. This outcome captures the development of the historical conflict between the two populations, and it brings us to where the consequences inherent to the historical conflict become well known. Results demonstrate how agents within a cartel can band together to subvert and overpower a competing cartel. Here, this occurs through evolutionary learning and discontent. OPEC agents learn how to operate collusively for the betterment of the individual members based on the development of the natural resource, and they utilize spite against its rival to motivate action. This elevates OPEC to an empowered state in which the cartel is able to set prices, control market shares, and nationalize oil resources. In relation to history, the short run and medium run results of the model reflect the struggle of the 1960s and early 1970s in which OPEC battled against the Sisters but was unable to switch equilibria. The long run results reflect an emergence of the state of global oil in and after 1973 where the Seven Sisters have lost control and OPEC is the dominant cartel. It is at this point after
the struggle and transition in power when the literature mentioned in section 2 begins to examine the behavior of OPEC. Prior work has taken the transition in power between the cartels as given, but the results of this model demonstrate how OPEC evolved to become the dominant force in global oil.
5. Conclusions This paper uses a methodological toolkit of evolutionary game theory and agent-based modeling to examine the struggle between OPEC and the Seven Sisters for control over global petroleum markets during the 1960s and 1970s. It provides an overview of the historical setting, it discusses the difficulty of modeling this intertemporal energy issue using traditional methods, and it examines previous research on OPEC and oil cartel behavior. It then details a heterogeneous-agent evolutionary game theory model to capture the fundamentals of how OPEC became the dominant force in world oil, and it simulates the theoretical work using an agent-based modeling approach. The EGT and ABM work in this paper incorporate energy-specific variables and behavioral concerns like discontent, envy, and spite to model the transition in power between the two cartels. OPEC agents experience discontent when they earn less than a rival agent in the opposing cartel of Seven Sisters firms, and they evolve to operate in a unified, collusive fashion and act to capture control of global oil markets when they learn to leverage control of the natural resource. A control model in which agents do not reflect on the natural resource demonstrates no change in power between the two cartels, while the treatment models demonstrate the importance of the natural resource variable to the outcome; when OPEC agents learn they have a market share advantage, they are able to act on their discontent against the major firms, accepting temporary coordination failures as they drag their opponents to an equilibrium in which OPEC is in control. The implication is that transitions in power between cartels or groups of agents can be modeled through the use of heuristics and evolutionary learning. Applied evolutionary game theory, simulated using agent-based modeling, can exhibit the transition dynamics that emerge when agents use rules and learning to guide their behavior. Here, learning and resource control facilitate evolutionary change and trigger a switching point that allows one cartel of agents to drag their opponents from one equilibrium to another. Beyond cartel and energy issues, the research methodology in this paper represents an approach to modeling problems in behavioral economics and game theory in which agents who learn and rely on heuristics interact in strategically interdependent settings across time. Evolutionary game theory allows flexible and realistic modeling of agent behavior in dynamic, game-theoretic settings, and agent-based modeling provides detailed results for the otherwise intractable mathematics of EGT. This approach offers one toolkit to conduct applied, evolutionary work in economics. In subsequent research, we intend to combine the work in this paper with the model in our companion paper that studies the strategic development of OPEC (Wood et al., 2016). The goal of that project is to create a synthesis in which we are able to study the strategic considerations within and between the cartels in one comprehensive model. In other forthcoming work, we will use this toolkit to examine contemporary and future shifts in the evolution of natural gas and renewables markets.
References Adelman, M.A., 1995. The Genie Out of the Bottle: World Oil Since 1970. Cambridge, MA: The MIT Press. Adelman, M.A., 1997. My education in mineral (especially oil) economics. Annual Review of Energy and the Environment 22, 13-46. Alhajji, A.F., Huettner, D., 2000a. OPEC and world oil markets from 1973 to 1994: cartel, oligopoly, or competitive? The Energy Journal 21(3), 31-60. Alhajji, A.F., Huettner, D., 2000b. OPEC and other commodity cartels: a comparison. Energy Policy 28, 1151-1164. Almoguera, P.A., Douglas, C.C., Herrera, A.M., 2011. Testing for the cartel in OPEC: non cooperative collusion or just non-cooperative? Oxford Review of Economic Policy 27(1), 144168. Al-Otaiba, M.S., 1975. OPEC and the Petroleum Industry. New York: John Wiley & Sons Inc. Antoci, A., Borghesi S., Galeotti, M., 2013. Environmental options and technological innovation: an evolutionary game model. Journal of Evolutionary Economics 23, 247-269. Arthur, W.B., 2006. Out-of-equilibrium economics and agent-based modeling. In: Tesfatsion, L., Judd, K.L. (Eds.). Handbook of Computational Economics, Vol. 2: Agent-Based Computational Economics. Amsterdam: North Holland, 1551-1564. Axelrod, R., Tesfatsion, L., 2006. A guide for newcomers to agent-based modeling in the social sciences. In: Tesfatsion, L., Judd, K.L. (Eds.). Handbook of Computational Economics, Vol. 2: Agent-Based Computational Economics. Amsterdam: North-Holland, 1647-1659. Beckman, S.R., Formby, J.P., Smith, W.J., Zheng, B., 2002. Envy, malice, and Pareto efficiency: an experimental examination. Social Choice and Welfare 19, 349-367. Binmore, K., Gale, J., Samuelson, L., 1995. Learning to be imperfect: the ultimatum game. Games and Economic Behavior 8, 56-90. Binmore, K., Samuelson, L., 1993a. An economist’s perspective on the evolution of norms. Journal of Institutional and Theoretical Economics 150, 45-63. Binmore, K., Samuelson, L., 1993b. Muddling through: noisy equilibrium selection. SSRI working paper 9410R, University of Wisconsin. Carpenter, J., Rudisill, M., 2003. Fairness, escalation, deference, and spite: strategies used in labormanagement bargaining experiments with outside options. Labour Economics 10, 427-442.
Chen, S., 2012. Varieties of agents in agent-based computational economics: a historical and an interdisciplinary perspective. Journal of Economic Dynamics & Control 36, 1-25. Clark, N., 1988. Some new approaches to evolutionary economics. Journal of Economic Issues XXII(2), 511-531. Cremer, J., Weitzman, M., 1976. Models of the Oil Market. Chur, Switzerland: Harwood Academic Publishers. Dahl, C., Yücel, M., 1991. Testing alternative hypotheses of oil producer behavior. The Energy Journal 12(4), 117-138. Duersch, P., Oechssler, J., Schipper, B., 2012. Unbeatable imitation. Games and Economic Behavior 76, 88-96. Dutta, P.K., 1999. Strategies and Games: Theories and Practice. Cambridge, MA: MIT Press. Engen, O.A., 2009. The development of the Norwegian Petroleum Innovation System: a historical overview. In: Fagerberg, J., Mowery, D.C., Verspagen, B. (Eds.). Innovation, Path Dependency, and Policy: The Norwegian Case. Oxford: Oxford University Press, 179-207. Erickson, N., 1980. Developments in the world oil market. In: Pachauri, R. (Ed.). International Energy Studies. New York: Wiley and Sons, 9-16. Fischer, T., Riedler, J., 2014. Prices, debt, and market structure in an agent-based model of the financial market. Journal of Economic Dynamics & Control 48, 95-120. Gilbert, R., 1978. Dominant firm pricing policy in a market for an exhaustible resource. The Bell Journal of Economics 9(2), 385-396. Gintis, H., 2007. A framework for the unification of the behavioral sciences. Behavioral and Brain Sciences 30, 1-61. Griffin, J., 1985. OPEC behavior: a test of alternative hypotheses. American Economic Review 75(5), 954-963. Gualdi, S., Tarzia, M., Zamponi, F., Bouchard, J., 2015. Tipping points in macroeconomic agentbased models. Journal of Economic Dynamics & Control 50, 29-61. Gülen, S.G., 1996. Is OPEC a cartel? Evidence from cointergration and causality tests. The Energy Journal 17(2), 43-57. Heymann, D., Kawamura, E., Perazzo, R., Zimmermann, M.G., 2014. Behavioral heuristics and market patterns in a Bertrand-Edgeworth game. Journal of Economic Behavior & Organization 105, 124-139.
Hnyilicza, E., Pindyck, R.S., 1976. Pricing policies for a two-part exhaustible resource cartel: the case of OPEC. European Economic Review 8, 139-154. Hofbauer, J., Sigmund, K., 1998. Evolutionary Games and Population Dynamics. Cambridge, UK: Cambridge University Press. Houthakker, H., 1979. The political economy of world energy. Harvard Institute of Economic Research discussion paper no. 617. Janssen, M.A., Rollins, N.D., 2012. Evolution of cooperation in asymmetric commons dilemmas. Journal of Economic Behavior & Organization 81, 220-229. Jones, C., 1990. OPEC behavior under falling prices: implications for cartel stability. The Energy Journal 11(3), 117-129. Kahneman, D., Tversky, A., 1979. Prospect theory: an analysis of decision under risk. Econometrica 47(2), 263-292. Khan, A., Peeters, R., 2015. Imitation by price and quantity setting firms in a differentiated market. Journal of Economic Dynamics & Control 53: 28-36. Kimbrough, E.O., 2011. Heuristic learning and the discovery of specialization and exchange. Journal of Economic Dynamics & Control 35, 491-511. Kirchsteiger, G., 1994. The role of envy in ultimatum games. Journal of Economic Behavior & Organization 25, 373-389. Kluger, B.D., McBride, M.E., 2011. Intraday trading patterns in an intelligent autonomous agentbased market. Journal of Economic Behavior & Organization 79, 226-245. Kopel, M., Lamantia, F., Szidarovsky, F., 2014. Evolutionary competition in a mixed market with socially concerned firms. Journal of Economic Dynamics & Control 48, 394-409. Lengnick, M., 2013. Agent-based macroeconomics: a baseline model. Journal of Economic Behavior & Organization 86: 102-120. Libecap, G.D., Smith, J.L., 2004. Political constraints on government cartelization: the case of oil production regulation in Texas and Saudi Arabia. In: Grossman, P. (Ed.). How Cartels Endure and How They Fail: Studies of Industrial Collusion. Cheltenham, UK: Edward Elgar Publishing, 196-223. Loury, G.C., 1986. A theory of ‘oil’igopoly: Cournot equilibrium in exhaustible resource markets with fixed supplies. International Economic Review 27(2), 285-301. Mabro, R., 1986. OPEC and the World Oil Market. Oxford, UK: Oxford University Press.
Maugeri, L., 2006. The Age of Oil: The Mythology, History, and Future of the World’s Most Controversial Resource. Westport, CT: Praeger Publishers. McAvoy, P., 1982. Crude Oil Prices as Determined by OPEC and Market Fundamentals. Cambridge, MA: Ballinger Publishing Company. Micola, A.R., Banal-Estañol, A., Bunn, D.W., 2008. Incentives and coordination in vertically related energy markets. Journal of Economic Behavior & Organization 67, 381-393. Moran, T., 1980. Oil Prices and the Future of OPEC: The Political Economy of Tension and Stability in the Organization of Petroleum Exporting Countries. Baltimore, MD: The Johns Hopkins University Press. Moran, T., 1982. Modeling OPEC behavior: economic and political alternatives. In: Griffin, J., Teece, D. (Eds.). OPEC Behavior and World Oil Prices. London: Allen and Unwin, 94-130. Noreng, Ø. 1978. Oil Politics in the 1980s. New York: McGraw-Hill Book Company. Pahl-Wostl, C., Ebenhöh, E., 2004. Heuristics to characterize human behavior in agent-based models. In: Pahl-Wostl, C., Schmidt, S., Rizzoli, A.E., Jakeman, A.J. (Eds.). Complexity and Integrated Resources Management. Proceedings from 2nd Biennial Conference International Environmental Modeling and Software Society, Osnabrück, Germany, 177-184. Pindyck, R.S., 1978. Gains to producers from the cartelization of exhaustible resources. Review of Economics and Statistics 60, 238-251. Polasky, S., 1992. Do oil producers act as ‘oil’igopolists? Journal of Environmental Economics and Management 23(3), 216-247. Safarzynska, K., van den Bergh, J.C.J.M., 2010. Evolutionary models in economics: a survey of methods and building blocks. Journal of Evolutionary Economics 20, 329-373. Safarzynska, K., van den Bergh, J.C.J.M., 2011. Beyond replicator dynamics: innovation selection dynamics and optimal diversity. Journal of Economic Behavior & Organization 78, 229-245. Safarzynska, K., van den Bergh, J.C.J.M., 2013. An evolutionary model of energy transitions with interactive innovation-selection dynamics. Journal of Evolutionary Economics 23, 271-293. Salant, S.W., 1976. Exhaustible resources and industrial structure: a Nash-Cournot approach to the world oil market. Journal of Political Economy 84(5), 1079-1094. Sampson, A., 1975. The Seven Sisters: The Great Oil Companies and the World They Made. New York: The Viking Press.
Samuelson, L., 1997. Evolutionary Games and Equilibrium Selection. Cambridge, MA: The MIT Press. Simon, H.A., 1959. Theories of decision-making in economics and behavioral science. The American Economic Review 49(3), 253-283. Smith, J.M., 1982. Evolution and the Theory of Games. Cambridge, UK: Cambridge University Press. Tourk, K., 1977. The OPEC cartel: a revival of the dominant firm theory. The Journal of Energy and Development 7(2), 321-328. Ulph, A.M., Folie, G.M., 1980. Exhaustible resources and cartels: an intertemporal Nash-Cournot model. The Canadian Journal of Economics 13(4), 645-658. Vanberg, V.J., 2004. The rationality postulate in economics: its ambiguity, its deficiency, and its evolutionary alternative. Journal of Economic Methodology 11(1), 1-29. Vega-Redondo, F., 1996. Evolution, Games, and Economic Behaviour. New York: Oxford University Press. Verleger, P.K., 1987. The evaluation of oil as a commodity. In: Gordon, R.L., Jacoby, H.D., Zimmerman, M.B. (Eds.). Energy: Markets and Regulation, Essays in Honor of M.A. Adelman. Cambridge, MA: MIT Press. Wagner, H.L., 2009. The Organization of Petroleum Exporting Countries. New York: Chelsea House. Weibull, J.W., 1995. Evolutionary Game Theory. Cambridge, MA: The MIT Press. Weibull, J.W., 1998. What have we learned from evolutionary game theory so far? Stockholm School of Economics Research Institute of Industrial Economics working paper No. 487. Wilson, D.S., Gowdy, J.M., 2013. Evolution as a general theoretical framework for economics and public policy. Journal of Economic Behavior & Organization 90S, S3-S10. Wood, A.D., Mason, C.F., Finnoff, D., 2016. The development of OPEC: an evolutionary game theory and agent-based modeling approach. University of Wyoming working paper. Yergin, D., 1992. The Prize: The Epic Quest for Oil, Money, and Power. New York: Free Press. Youhanna, S.J., 1994. A note on modelling OPEC behavior 1983-1989: a test of the cartel and competitive hypotheses. The American Economist 38(2), 78-84.
Appendix A: Mathematical Appendix This appendix provides detail to the evolution of the model and the differential equations known as replicator equations: 𝑑𝛾 = 𝛾̇ = 𝛾 {[𝜇 ⟺ (𝜋(𝛾) − 𝜋̅(𝛾))] + [𝜆[(1 − 2𝛾)(𝑘 − 𝜋̅(𝛾))]]} 𝑑𝑡 𝑑𝛿 = 𝛿̇ = 𝛿 {[𝜇 ⟺ (𝜋(𝛿) − 𝜋̅(𝛿))] + [𝜆[(1 − 2𝛿)(𝑙 − 𝜋̅(𝛿))]]}. 𝑑𝑡 Let each population be of size 𝑁 and let the length of each discrete period of time be denoted as 𝜏. This is a Markov process with 𝑁 + 1 population states where 𝑈 ∈ {0, 𝑓, 2𝑓, … ,1} 𝑋 ∈ {0, 𝑓, 2𝑓, … ,1}. Here, let 𝑓 denote the number of agents playing strategy 𝑈 in state 𝑢, as well as the number of agents playing 𝑋 in state 𝑥. Allowing for the population to get sufficiently large (e.g. 𝑁 → ∞) and time periods to get sufficiently short (e.g. 𝜏 → 0), one can demonstrate how we arrive upon our replicator equations in which 𝛾 and 𝛿 assume values [0,1]. We examine the Markov process to examine how the system evolves; that is, how the system moves to a state in which one more or one fewer agent plays 𝑈 or 𝑋. To gain insight into this process, imagine an agent in each population receives a learn draw in every arbitrarily short period 𝜏, and let the population 𝑁 be fixed for convenience. To determine the probability that a member of either or both groups of agents move a single step in any direction, we calculate moving from state 𝑢 with 0 ≤ 𝑢 < 1 to state 𝑢 + 𝑓 and from state 𝑥 with 0 ≤ 𝑥 < 1 to state 𝑥 + 𝑓. To move to the right one step, probabilities 𝑟(𝑢, 𝑓, 𝜏) and 𝑟(𝑥, 𝑓, 𝜏) are 𝑟(𝑢, 𝑓, 𝜏) = 𝜇 ⟺ [𝜏𝑁(1 − 𝜏)𝑁−1 (1 − 𝑢){(𝑢(1 − 𝜆) + (1 − 𝑢)𝜆)𝑔(𝜋𝑉 (𝑢)) + 𝑂(𝑓)} + 𝑂(𝑁 2 , 𝜏 2 )] 𝑟(𝑥, 𝑓, 𝜏) = 𝜇 ⟺ [𝜏𝑁(1 − 𝜏)𝑁−1 (1 − 𝑥){(𝑥(1 − 𝜆) + (1 − 𝑥)𝜆)ℎ(𝜋𝑌 (𝑥)) + 𝑂(𝑓)} + 𝑂(𝑁 2 , 𝜏 2 )] This states that, in order for an agent to switch from state 𝑢 to state 𝑢 + 𝑓, the agent must take a learn draw, it must be playing 𝑉, and it must abandon 𝑉 for 𝑈. 𝑉 can be abandoned due to agent discontent or due to experimentation. The probability that an OPEC agent chooses 𝑈 is
𝑈𝑁 𝑁 − 𝑈𝑁 − 1 (1 − 𝜆) + 𝜆 = 𝑢(1 − 𝜆) + (1 − 𝑢)𝜆 + 𝑂(𝑓) 𝑁−1 𝑁−1 Similar intuition exists if a Sister agent is to abandon 𝑌 for 𝑋. The agent must take a learn draw, it must be playing 𝑌, and it must abandon 𝑌 for 𝑋. The probability the Sister agent chooses 𝑋 is 𝑋𝑁 𝑁 − 𝑋𝑁 − 1 (1 − 𝜆) + 𝜆 = 𝑥(1 − 𝜆) + (1 − 𝑥)𝜆 + 𝑂(𝑓) 𝑁−1 𝑁−1 Simplifying, letting 𝑅(𝑢, 𝑓) = (1 − 𝑢){(𝑢(1 − 𝜆) + (1 − 𝑢)𝜆)𝑔(𝜋𝑉 (𝑢)) + 𝑂(𝑓)} and 𝑅(𝑥, 𝑓) = (1 − 𝑥){(𝑥(1 − 𝜆) + (1 − 𝑥)𝜆)ℎ(𝜋𝑌 (𝑥)) + 𝑂(𝑓)}, the probabilities for moving a step to the right are 𝑟(𝑢, 𝑓, 𝜏) = 𝜇 ⟺ [𝜏𝑁(1 − 𝜏)𝑁−1 𝑅(𝑢, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 )] 𝑟(𝑥, 𝑓, 𝜏) = 𝜇 ⟺ [𝜏𝑁(1 − 𝜏)𝑁−1 𝑅(𝑥, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 )] Then, to move from the left, from state 𝑢 with 0 ≤ 𝑢 < 1 to state 𝑢 − 𝑓 and from state 𝑥 with 0 ≤ 𝑥 < 1 to state 𝑥 − 𝑓, 𝑙(𝑢, 𝑓, 𝜏) = 𝜇 ⟺ [𝜏𝑁(1 − 𝜏)𝑁−1 𝑢{((1 − 𝑢)(1 − 𝜆) + 𝑢𝜆)𝑔(𝜋𝑈 (𝑢)) + 𝑂(𝑓)} + 𝑂(𝑁 2 , 𝜏 2 )] 𝑙(𝑥, 𝑓, 𝜏) = 𝜇 ⟺ [𝜏𝑁(1 − 𝜏)𝑁−1 𝑥{((1 − 𝑥)(1 − 𝜆) + 𝑥𝜆)ℎ(𝜋𝑌 (𝑥)) + 𝑂(𝑓)} + 𝑂(𝑁 2 , 𝜏 2 )]. After substitution, 𝑙(𝑢, 𝑓, 𝜏) = 𝜇 ⟺ [𝜏𝑁(1 − 𝜏)𝑁−1 𝐿(𝑢, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 )] 𝑙(𝑥, 𝑓, 𝜏) = 𝜇 ⟺ [𝜏𝑁(1 − 𝜏)𝑁−1 𝐿(𝑥, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 )]. Next, use the probabilities of stepping to the left or right to model the behavior along the sample path. This will enable us to understand our phase space. To accomplish this, we calculate an estimation of the expectation and variance of 𝑢(𝑡 + 𝜏) − 𝑢(𝑡) conditional on 𝑢(𝑡) and 𝑥(𝑡 + 𝜏) − 𝑥(𝑡) conditional on 𝑥(𝑡). Let 𝜃(𝑢, 𝑓) = 𝑅(𝑢, 𝑓) − 𝐿(𝑢, 𝑓) 𝜃(𝑢, 𝑓) = 𝑢(1 − 𝑢)(𝑔(𝜋𝑉 ) − 𝑔(𝜋𝑈 )) + 𝜆(1 − 2𝑢)𝑔̅ + 𝑂(𝑓) 𝜃(𝑥, 𝑓) = 𝑅(𝑥, 𝑓) − 𝐿(𝑥, 𝑓) 𝜃(𝑥, 𝑓) = 𝑥(1 − 𝑥)(ℎ(𝜋𝑌 ) − ℎ(𝜋𝑋 )) + 𝜆(1 − 2𝑥)ℎ̅ + 𝑂(𝑓) and allow that 𝜎 2 (𝑢, 𝑓) = 𝑅(𝑢, 𝑓) + 𝐿(𝑢, 𝑓)
𝜎 2 (𝑢, 𝑓) = (1 − 2𝑢)𝑢(1 − 𝑢)(𝑔(𝜋𝑉 ) + 𝑔(𝜋𝑈 )) + 𝜆𝑔̅ + 𝑂(𝑓) 𝜎 2 (𝑥, 𝑓) = 𝑅(𝑥, 𝑓) + 𝐿(𝑥, 𝑓) 𝜎 2 (𝑥, 𝑓) = (1 − 2𝑥)𝑥(1 − 𝑥)(ℎ(𝜋𝑌 ) + ℎ(𝜋𝑋 )) + 𝜆ℎ̅ + 𝑂(𝑓) where 𝑔̅ = 𝑢𝑔(𝜋𝑈 (𝑢)) + (1 − 𝑢)𝑔(𝜋𝑉 (𝑢)) and ℎ̅ = 𝑥ℎ(𝜋𝑋 (𝑥)) + (1 − 𝑥)ℎ(𝜋𝑌 (𝑥)). These equations let us write the replicator equations in the form 𝛾̇ = 𝜃(𝛾, 0) and 𝛿̇ = 𝜃(𝛿, 0). Since 𝐹 is a uniform distribution on [−𝜔, 𝜔], it can be said that 𝑔(𝜋) = (Δ + ω − π)/2𝜔. Thus, 𝜃(𝑢, 0) = 𝑢(1 − 𝑢){𝑔(𝜋𝑉 (𝑢)) − 𝑔(𝜋𝑈 (𝑢))} + 𝜆(1 − 2𝑢){(1 − 𝑢)𝑔(𝜋𝑉 (𝑢)) − 𝑢𝑔(𝜋𝑈 (𝑢))} 𝑢(1 − 𝑢) 𝜆(1 − 2𝑢) (Δ + ω − π 𝜃(𝑢, 0) = (𝜋𝑈 (𝑢) − 𝜋𝑉 (𝑢)) + ̅) 2𝜔 2𝜔 𝜃(𝑥, 0) = 𝑥(1 − 𝑥){ℎ(𝜋𝑌 (𝑥)) − ℎ(𝜋𝑋 (𝑥))} + 𝜆(1 − 2𝑥){(1 − 𝑥)ℎ(𝜋𝑌 (𝑥)) − 𝑥ℎ(𝜋𝑋 (𝑥))} 𝑥(1 − 𝑥) 𝜆(1 − 2𝑥) (Δ + ω − π 𝜃(𝑥, 0) = (𝜋𝑋 (𝑥) − 𝜋𝑌 (𝑥)) + ̅) 2𝜔 2𝜔 Let 𝑘 = Δ + 𝜔, rescale time such that 2𝜔 is eliminated from the denominator, and let 𝑢(1 − 𝑢)(𝜋𝑈 (𝑢) − 𝜋𝑉 (𝑢)) = 𝑢(𝜋𝑈 (𝑢) − 𝜋̅(𝑢)) and 𝑥(1 − 𝑥)(𝜋𝑋 (𝑥) − 𝜋𝑌 (𝑥)) = 𝑥(𝜋𝑋 (𝑥) − 𝜋̅(𝑥)). Replace 𝑢 with 𝛾 and 𝑥 with 𝛿, we get, respectively, 𝛾̇ = 𝜃(𝛾, 0) and 𝛿̇ = 𝜃(𝛿, 0). Next, to acquire the expectation and variance of 𝑢(𝑡 + 𝜏) − 𝑢(𝑡), let 𝑢(𝑡 + 𝜏) − 𝑢(𝑡) = 𝜉𝑢(𝑡), and to acquire the expectation and variance of 𝑥(𝑡 + 𝜏) − 𝑥(𝑡), let 𝑥(𝑡 + 𝜏) − 𝑥(𝑡) = 𝜂𝑥(𝑡). Next, because 𝜀{𝑢(𝑡)│𝑢(𝑡) = 𝑢} = 𝑢 and 𝜀{𝑥(𝑡)│𝑥(𝑡) = 𝑥} = 𝑥, the probability of moving more than a single step in any given discrete period of arbitrarily short length is given by 𝑂(𝑁 2 , 𝜏 2 ). Thus, we calculate, 𝜀{𝜉𝑢(𝑡)│𝑢(𝑡) = 𝑢} = 𝑓𝑟(𝑢, 𝑓, 𝜏) − 𝑓𝑙(𝑢, 𝑓, 𝜏) + 𝑂(𝑁 2 , 𝜏 2 ) 𝜀{𝜉𝑢(𝑡)│𝑢(𝑡) = 𝑢} = 𝜏𝜃(𝑢, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 ) 𝜀{𝜂𝑥(𝑡)│𝑥(𝑡) = 𝑥} = 𝑓𝑟(𝑥, 𝑓, 𝜏) − 𝑓𝑙(𝑥, 𝑓, 𝜏) + 𝑂(𝑁 2 , 𝜏 2 ) 𝜀{𝜂𝑥(𝑡)│𝑥(𝑡) = 𝑥} = 𝜏𝜃(𝑥, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 ) and 𝜀{𝜉𝑢(𝑡)2 │𝑢(𝑡) = 𝑢} = 𝑓 2 𝑟(𝑢, 𝑓, 𝜏) − 𝑓 2 𝑙(𝑢, 𝑓, 𝜏) + 𝑂(𝑁 2 , 𝜏 2 ) 𝜀{𝜉𝑢(𝑡)2 │𝑢(𝑡) = 𝑢} = 𝜏𝑓𝜎 2 (𝑢, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 ) 𝜀{𝜂𝑥(𝑡)2 │𝑥(𝑡) = 𝑥} = 𝑓 2 𝑟(𝑥, 𝑓, 𝜏) − 𝑓 2 𝑙(𝑥, 𝑓, 𝜏) + 𝑂(𝑁 2 , 𝜏 2 ) 𝜀{𝜂𝑥(𝑡)2 │𝑥(𝑡) = 𝑥} = 𝜏𝑓𝜎 2 (𝑥, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 )
and 𝑣𝑎𝑟{𝜉𝑢(𝑡)│𝑢(𝑡) = 𝑢} = 𝜏𝑓𝜎 2 (𝑢, 𝑓) − {𝜏𝜃(𝑢, 𝑓)}2 + 𝑂(𝑁 2 , 𝜏 2 ) 𝑣𝑎𝑟{𝜉𝑢(𝑡)│𝑢(𝑡) = 𝑢} = 𝜏𝑓𝜎 2 (𝑢, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 ) 𝑣𝑎𝑟{𝜂𝑥(𝑡)│𝑥(𝑡) = 𝑥} = 𝜏𝑓𝜎 2 (𝑥, 𝑓) − {𝜏𝜃(𝑥, 𝑓)}2 + 𝑂(𝑁 2 , 𝜏 2 ) 𝑣𝑎𝑟{𝜂𝑥(𝑡)│𝑥(𝑡) = 𝑥} = 𝜏𝑓𝜎 2 (𝑥, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 ), where the equation 𝜀{𝜉𝑢(𝑡)│𝑢(𝑡) = 𝑢} = and 𝜀{𝜂𝑥(𝑡)│𝑥(𝑡) = 𝑥} =
𝜀{𝑢(𝑡+𝜏)│𝑢(𝑡)=𝑢}−𝜀{𝑢(𝑡)│𝑢(𝑡)=𝑢}
𝜀{𝑥(𝑡+𝜏)│𝑥(𝑡)=𝑥}−𝜀{𝑥(𝑡)│𝑥(𝑡)=𝑥} 𝜏
𝜏
= 𝜃(𝑢, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 )
= 𝜃(𝑥, 𝑓) + 𝑂(𝑁 2 , 𝜏 2 ).
Finally, when appropriate limits are taken, the right-hand side converges to 𝜃(𝑢, 0) and 𝜃(𝑥, 0). The left-hand side, at the limit, converges to the replicator equation for each particular population.
Appendix B: Pseudocode Appendix The following appendix uses English-language pseudocode to provide clarity into the functioning of the heterogeneous-agent ABM model. The computer program was constructed by the author in C++, and test simulations were conducted by compiling and running the code with Microsoft Visual Studio 2010. The code was compiled in Linux using the Intel C++ Compiler, and simulations were conducted on the Mt. Moran Supercomputing Cluster at the University of Wyoming. The purpose of this pseudocode is to mitigate the “black box” criticism often levied against ABM work; this appendix allows a reader with little programming experience to examine the program that generated the data used in this paper. The program consists of seven components: a header file and source file for the OpecAgent class, a header file and source file for the SisterAgent class, a header file and source file for the OilMarket class, and a TestLab source file that executes the “main” program. OpecAgent.h Define the class OpecAgent Declare public components of the class Declare the default constructor Declare specific constructors Declare the destructor Declare a function that returns an OpecAgent’s strategy Declare a function that returns an OpecAgent’s payoff Declare a function that returns an OpecAgent’s reservation payoff Declare a function that returns an OpecAgent’s market share/oil reserves Declare a function that returns an OpecAgent’s ID number
Declare a function that sets an OpecAgent’s strategy Declare a function that sets an OpecAgent’s payoff Declare a function that sets an OpecAgent’s reservation payoff Declare a function that sets an OpecAgent’s market share/oil reserves Declare a function that sets an OpecAgent’s ID number Declare private variables of the class Declare a variable that holds an OpecAgent’s strategy Declare a variable that holds an OpecAgent’s payoff Declare a variable that holds an OpecAgent’s reservation payoff Declare a variable that holds an OpecAgent’s market share/oil reserves Declare a variable that holds an OpecAgent’s ID number
OpecAgent.cpp Declare inclusions and libraries, including the OpecAgent headerfile Define a specific constructor, allowing it to accept initial parameter values from the user Define a specific constructor, creating a new OpecAgent by copying an extant class member Define the destructor Implement a function that returns an OpecAgent’s strategy Implement a function that returns an OpecAgent’s payoff Implement a function that returns an OpecAgent’s reservation payoff Implement a function that returns an OpecAgent’s market share/oil reserves Implement a function that returns an OpecAgent’s ID number Implement a function that sets an OpecAgent’s strategy Take in a sensible value (0 or 1) from the user and set that as an OpecAgent’s strategy Implement a function that sets an OpecAgent’s payoff Take in a sensible value from the user and set that as an OpecAgent’s payoff Implement a function that sets an OpecAgent’s reservation payoff Take in a sensible value from the user and set that as an OpecAgent’s reservation payoff Implement a function that sets an OpecAgent’s market share/oil reserves Take in a sensible value from the user (ensure that it is nonnegative) and set that as an OpecAgent’s market share/oil reserves Implement a function that sets an OpecAgent’s ID number Take in a sensible value from the user and set that as an OpecAgent’s ID number
SisterAgent.h Define the class SisterAgent
Declare public components of the class Declare the default constructor Declare specific constructors Declare the destructor Declare a function that returns a SisterAgent’s strategy Declare a function that returns a SisterAgent’s payoff Declare a function that returns a SisterAgent’s reservation payoff Declare a function that returns a SisterAgent’s market share/oil reserves Declare a function that returns a SisterAgent’s ID number Declare a function that sets a SisterAgent’s strategy Declare a function that sets a SisterAgent’s payoff Declare a function that sets a SisterAgent’s reservation payoff Declare a function that sets a SisterAgent’s market share/oil reserves Declare a function that sets a SisterAgent’s ID number Declare private variables of the class Declare a variable that holds a SisterAgent’s strategy Declare a variable that holds a SisterAgent’s payoff Declare a variable that holds a SisterAgent’s reservation payoff Declare a variable that holds a SisterAgent’s market share/oil reserves Declare a variable that holds a SisterAgent’s ID number
SisterAgent.cpp Declare inclusions and libraries, including the SisterAgent headerfile Define a specific constructor, allowing it to accept initial parameter values from the user Define a specific constructor, creating a new SisterAgent by copying an extant class member Define the destructor Implement a function that returns a SisterAgent’s strategy Implement a function that returns a SisterAgent’s payoff Implement a function that returns a SisterAgent’s reservation payoff Implement a function that returns a SisterAgent’s market share/oil reserves Implement a function that returns a SisterAgent’s ID number Implement a function that sets a SisterAgent’s strategy Take in a sensible value (0 or 1) from the user and set that as a SisterAgent’s strategy Implement a function that sets a SisterAgent’s payoff Take in a sensible value from the user and set that as a SisterAgent’s payoff Implement a function that sets a SisterAgent’s reservation payoff Take in a sensible value from the user and set that as a SisterAgent’s reservation payoff Implement a function that sets a SisterAgent’s market share/oil reserves
Take in a sensible value from the user (ensure that it is nonnegative) and set that as a SisterAgent’s market share/oil reserves Implement a function that sets a SisterAgent’s ID number Take in a sensible value from the user and set that as a SisterAgent’s ID number
OilMarket.h Define the class OilMarket Define all relevant inclusions Include the OpecAgent header file Include the SisterAgent header file Declare public components of the class Declare the default constructor Declare the destructor Declare the function that prompts the user to input normal-form game payoffs Declare the function that prompts the user to input reservation payoffs Declare the function that prompts the user to input learning probabilities Declare the function that prompts the user to input mutation probabilities Declare the function that prompts the user to input the rate of change of OPEC market share/oil reserves Declare the function that prompts the user to input the rate of change of Seven Sisters market share/oil reserves Declare the function that establishes ID numbers for an OpecAgent This function accepts an OpecAgent and an integer as an input Declare the function that establishes ID numbers for a SisterAgent This function accepts a SisterAgent and an integer as an input Declare the function that establishes reservation payoffs for an OpecAgent This function accepts an OpecAgent as an input Declare the function that establishes reservation payoffs for a SisterAgent This function accepts a SisterAgent as an input Declare the function that implements the basic, simultaneous move game This function accepts an OpecAgent and a SisterAgent as inputs Declare a function that allows payoffs to vary after the game for an OpecAgent This function accepts an OpecAgent as an input Declare a function that allows payoffs to vary after the game for a SisterAgent This function accepts a SisterAgent as an input Declare the function that implements the learning process This function accepts an OpecAgent and a SisterAgent as inputs Declare the function that implements the mutation process This function accepts an OpecAgent and a SisterAgent as inputs Declare the function that implements the change in market share/oil reserves
This function accepts an OpecAgent and a SisterAgent as inputs Declare the function that implements an exogenous shock to the system This function accepts an OpecAgent and a SisterAgent as inputs Declare private variables of the class Declare a variable that holds the probability of learning Declare a variable that holds the probability of mutation Declare a variable that holds the rate of change of OpecAgent market share/oil reserves Declare a variable that holds the rate of change of SisterAgent market share/oil reserves Declare variables that hold the payoffs of the game Declare a variable to hold the OpecAgent reservation payoff level Declare a variable to hold the SisterAgent reservation payoff level Declare a variable to hold the initial strategy deployed by OpecAgents Declare a variable to hold the initial strategy deployed by SisterAgents
OilMarket.cpp Declare inclusions and libraries, including the OpecAgent, SisterAgent, and OilMarket header files Define the default constructor Define specific constructors Define the destructor Implement the function that prompts the user for payoffs Print a message that welcomes the user to the program Print copyright and authorship information to the user Print instructions to the user, including a graphical figure of the 2x2 game Accept each individual payoff in the 2x2 game via keyboard input Return each payoff value to the program Implement the function that prompts the user for reservation payoffs Print instructions concerning reservation payoff values to the user Accept reservation payoff values for each population of agents via keyboard input Return each reservation payoff value to the program Implement the function that prompts the user for learning probabilities While loop to ensure the learning probability is within logical bounds Print instructions concerning learning to the user Accept the learning probability via keyboard input Return the learning probability to the program Implement the function that prompts the user for mutation probabilities While loop to ensure the mutation probability is within logical bounds Print instructions concerning mutation to the user
Accept the mutation probability via keyboard input Return the mutation probability to the program Implement the function that prompts the user for the change in OpecAgent market share/oil reserves Print instructions concerning market share/oil reserves to the user Accept the incremental change in OpecAgent market share/oil reserves via keyboard input Return the change in market share/oil reserves to the program Implement the function that prompts the user for the change in SisterAgent market share/oil reserves Print instructions concerning market share/oil reserves to the user Accept the incremental change in SisterAgent market share/oil reserves via keyboard input Return the change in market share/oil reserves to the program Implement the function that gives each OpecAgent an ID number The function accepts a member of the OpecAgent class and a variable from the TestLab The function calls the OpecAgent member function that sets ID numbers Implement the function that gives each SisterAgent an ID number The function accepts a member of the SisterAgent class and a variable from the TestLab The function calls the SisterAgent member function that sets ID numbers Implement the function that performs the simultaneous-move, 2x2 game This function accepts an OpecAgent and SisterAgent as inputs Declare temporary variables to hold payoffs, strategies, reserves, and ID numbers Call OpecAgent and SisterAgent member functions on the respective agents to fill the temporary variables with the current values of payoffs, strategies, reserves, and ID numbers If both agents play strategy 0 Set the appropriate payoffs for both agents using their member functions Else if the OpecAgent plays 0 and the SisterAgent plays 1 Set the appropriate payoffs for both agents using their member function Else if the OpecAgent plays 1 and the SisterAgent plays 0 Set the appropriate payoffs for both agents using their member function Else if both agents play 1 Set the appropriate payoffs for both agents using their member function Else declare the error and exit the program gracefully Print the outcome to the screen for the user to read Implement the function that generates exogenous shocks to the OpecAgents’ payoffs This function accepts an OpecAgent member as an input Declare temporary variables to hold the agent’s payoff and ID number
Call OpecAgent member functions to fill the temporary variables with the values of the payoff and ID number Generate a random number from a uniform distribution that is either 0 or 1 If the random number is 0 Generate a small, positive shock to the agent’s payoff Else Generate a small, negative shock to the agent’s payoff Call the agent’s member function to establish the new value as its payoff
current
Implement the function that generates exogenous shocks to the SisterAgents’ payoffs This function accepts a SisterAgent member as an input Declare temporary variables to hold the agent’s payoff and ID number Call SisterAgent member functions to fill the temporary variables with the current values of the payoff and ID number Generate a random number from a uniform distribution that is either 0 or 1 If the random number is 0 Generate a small, positive shock to the agent’s payoff Else Generate a small, negative shock to the agent’s payoff Call the agent’s member function to establish the new value as its payoff Implement the function that performs the learning process for the agents This function accepts an OpecAgent and SisterAgent as inputs Declare temporary variables to hold payoffs, reservation payoffs, strategies, reserves, and ID numbers Call OpecAgent and SisterAgent member functions on the respective agents to fill the temporary variables with the current values of payoffs, reservation payoffs, strategies, reserves, and ID numbers If both agents are playing strategy 0 Generate a random number from a uniform distribution for the OpecAgent If that random number is less than the learning probability, the OpecAgent engages in the learning process If the OpecAgent enjoys a market share advantage and is earning less than its opponent or if the OpecAgent does not enjoy a market share advantage and is earning less than its reservation payoff The OpecAgent changes its strategy from 0 to 1 Else the OpecAgent did not find it necessary to alter its behavior Else inform the user that the OpecAgent did not take a learn draw Generate a random number from a uniform distribution for the SisterAgent If that random number is less than the learning probability, the SisterAgent engages in the learning process If the SisterAgent enjoys a market share advantage and is earning less than its opponent or if the SisterAgent does not enjoy a market share advantage and is earning less than its reservation payoff The SisterAgent changes its strategy from 0 to 1 Else the SisterAgent did not find it necessary to alter its behavior
Else inform the user that the SisterAgent did not take a learn draw If the OpecAgent is playing strategy 0 and the SisterAgent is playing strategy 1 Generate a random number from a uniform distribution for the OpecAgent If that random number is less than the learning probability, the OpecAgent engages in the learning process If the OpecAgent enjoys a market share advantage and is earning less than its opponent or if the OpecAgent does not enjoy a market share advantage and is earning less than its reservation payoff The OpecAgent changes its strategy from 0 to 1 Else the OpecAgent did not find it necessary to alter its behavior Else inform the user that the OpecAgent did not take a learn draw Generate a random number from a uniform distribution for the SisterAgent If that random number is less than the learning probability, the SisterAgent engages in the learning process If the SisterAgent enjoys a market share advantage and is earning less than its opponent or if the SisterAgent does not enjoy a market share advantage and is earning less than its reservation payoff The SisterAgent changes its strategy from 1 to 0 Else the SisterAgent did not find it necessary to alter its behavior Else inform the user that the SisterAgent did not take a learn draw If the OpecAgent is playing strategy 1 and the SisterAgent is playing strategy 0 Generate a random number from a uniform distribution for the OpecAgent If that random number is less than the learning probability, the OpecAgent engages in the learning process If the OpecAgent enjoys a market share advantage and is earning less than its opponent or if the OpecAgent does not enjoy a market share advantage and is earning less than its reservation payoff The OpecAgent changes its strategy from 1 to 0 Else the OpecAgent did not find it necessary to alter its behavior Else inform the user that the OpecAgent did not take a learn draw Generate a random number from a uniform distribution for the SisterAgent If that random number is less than the learning probability, the SisterAgent engages in the learning process If the SisterAgent enjoys a market share advantage and is earning less than its opponent or if the SisterAgent does not enjoy a market share advantage and is earning less than its reservation payoff The SisterAgent changes its strategy from 0 to 1 Else the SisterAgent did not find it necessary to alter its behavior Else inform the user that the SisterAgent did not take a learn draw If both agents are playing strategy 1 Generate a random number from a uniform distribution for the OpecAgent If that random number is less than the learning probability, the OpecAgent engages in the learning process If the OpecAgent enjoys a market share advantage and is earning less than its opponent or if the OpecAgent does not enjoy a market share advantage and is earning less than its reservation payoff
The OpecAgent changes its strategy from 1 to 0 Else the OpecAgent did not find it necessary to alter its behavior Else inform the user that the OpecAgent did not take a learn draw Generate a random number from a uniform distribution for the SisterAgent If that random number is less than the learning probability, the SisterAgent engages in the learning process If the SisterAgent enjoys a market share advantage and is earning less than its opponent or if the SisterAgent does not enjoy a market share advantage and is earning less than its reservation payoff The SisterAgent changes its strategy from 1 to 0 Else the SisterAgent did not find it necessary to alter its behavior Else inform the user that the SisterAgent did not take a learn draw Else declare the error and exit the program gracefully Print the post-learning outcome to the screen for the user to read Implement the function that performs the mutation process for the agents This function accepts an OpecAgent and SisterAgent as inputs Declare temporary variables to hold strategies Call OpecAgent and SisterAgent member functions on the respective agents to fill the temporary variables with the current strategies Generate a random variable for each the OpecAgent and the SisterAgent If the OpecAgent’s random variable is less than the mutation probability Generate a random variable that is either 0 or 1 Set the OpecAgent’s strategy randomly using the 0 or 1 random variable Inform the user that the OpecAgent has mutated If the SisterAgent’s random variable is less than the mutation probability Generate a random variable that is either 0 or 1 Set the SisterAgent’s strategy randomly using the 0 or 1 random variable Inform the user that the SisterAgent has mutated If the OpecAgent’s random variable and the SisterAgent’s random variable both exceed the mutation probability Inform the user that no mutation took place Inform the user of the outcome after the mutation process has completed Implement the function that updates market share/oil reserves for the agents This function accepts an OpecAgent and SisterAgent as inputs Declare temporary variables to hold current market share/oil reserves for each agent Call OpecAgent and SisterAgent member functions on the respective agents to fill the temporary variables with the current market share/oil reserves of each agent Increment the current market share/oil reserves for each agent by their respective change in market share/oil reserves Call OpecAgent and SisterAgent member function on each agent to set the updated market share/oil reserves Implement the function that imposes an exogenous shock This function accepts an OpecAgent and SisterAgent as inputs
Declare temporary variables to hold strategies Call OpecAgent and SisterAgent member functions on the respective agents to fill the temporary variables with the current strategies Generate a random number that is either 0 or 1 for the OpecAgent Set the OpecAgent’s strategy using the random number Generate a random number that is either 0 or 1 for the SisterAgent Set the SisterAgent’s strategy using the random number
TestLab.cpp Declare inclusions and libraries, including the OpecAgent, SisterAgent, and OilMarket header files Declare the function that prompts the user for payoff shock probabilities Implement the function that prompts the user for payoff shock probabilities While loop to ensure that the payoff shock probability is positive and logical Print instructions concerning exogenous payoff shocks to the user Accept the exogenous payoff shock probability via keyboard input Return the exogenous payoff probability to the program Declare the function that prompts the user for exogenous market shock probabilities Implement the function that prompts the user for exogenous market shock probabilities While loop to ensure that the exogenous market shock probability is positive and logical Print instructions concerning exogenous market shocks to the user Accept the exogenous market shock probability via keyboard input Return the exogenous market shock probability to the program Declare the function that prompts the user for the number of agents to participate in an evolutionary game Implement the function that prompts the user for the number of agents to participate in an evolutionary game While loop to ensure that the number of agents in each population is positive Print instructions concerning the input of the number of agents to the user Accept the number of agents via keyboard input Return the number of agents to the program Declare the function that prompts the user for the number of iterations of the game to be played Implement the function that prompts the user for the number of iterations of the game to be played While loop to ensure that the number of iterations is positive Print instructions concerning iterations to the user Accept the iterations via keyboard input Return the iterations of the game to be played to the program Declare the function that prompts the user for the number of repetitions of the program to be run
Implement the function that prompts the user for the number of repetitions of the program to be run While loop to ensure that the number of repetitions is positive Print instructions concerning repetitions to the user, instructing them that this number will cause the entire program to run repeatedly with the exact same parameters Accept the number of repetitions via keyboard input Return the iterations of the game to be played to the program Declare main program Create an object of the OilMarket class Call the OilMarket object’s function that prompts the user to input payoffs Call the OilMarket object’s function that prompts the user to input reservation payoffs Call the OilMarket object’s function that prompts the user to input the learning probability Call the OilMarket object’s function that prompts the user to input the mutation probability Call the OilMarket object’s function that prompts the user to input the change in OpecAgent market share/oil reserves Call the OilMarket object’s function that prompts the user to input the change in SisterAgent market share/oil reserves Call the TestLab function that prompts the user for exogenous payoff shocks Call the TestLab function that prompts the user for exogenous market shocks Call the TestLab function that prompts the user for the number of agents to play the game Call the TestLab function that prompts the user for the number of rounds the game is to be played Call the TestLab function that prompts the user for the number of times the entire game is to be played with all of the parameters from above For a number of repetitions less than the number of times the program is to run Create a vector of OpecAgent objects of size dictated by the user Create a vector of SisterAgent objects of size dictated by the user For a number of repetitions less than the number of agents in the game Call the OilMarket functions that establish ID numbers for OpecAgent and SisterAgent member objects Call the OilMarket functions that establish reservation payoffs for OpecAgent and SisterAgent member objects For a number of repetitions less than the number of agents in the game Print a starting report for the user that details initial strategy, reservation payoff, and market share/oil reserve levels Create objects that will generate text files of varying formats to record the results of each run of the program Detail the particulars of each text file, including format and recorded content
For a number of repetitions less than the number of rounds the agents are to play the game Randomize the order of all of the OpecAgent members Randomize the order of all of the SisterAgent members Generate a random number to be used for exogenous market shocks If the random number is less than the chance of an exogenous shock Call the member function that imposes an exogenous market shock on each OpecAgent and SisterAgent member object Inform the user that there has been exogenous shock in this period Record this result to the output text files Call the OilMarket function that updates market share/oil reserves for all of the agents Else For a number of repetitions less than the number of agents in the game Determine which two agents are playing in every simultaneous-move game by ID number Call the OilMarket simultaneous-move game function; every pair of agents plays the basic game Generate a random number to be used for exogenous payoff shocks for the OpecAgent If the random number is less than the chance of an exogenous payoff shock Call the OilMarket exogenous payoff shock function to adjust the OpecAgent’s payoffs Generate a random number to be used for exogenous payoff shocks for the SisterAgent If the random number is less than the chance of an exogenous payoff shock Call the OilMarket exogenous payoff shock function to adjust the SisterAgent’s payoffs Call the OilMarket learning process function Call the OilMarket mutation process function Write all outcomes to the output text files Call the OilMarket function that updates the agents’ market share/oil reserves Close the text file output objects Return control to close the main program
U – Full Production V – Prorate
A, B D, C
Figure 1: Normal-form of Game 𝑄̂
C, D B, A
OPEC Agents
𝛼
U – Full Production
V – Prorate 𝜉 X – Dominate
X – Dominate
Seven Sisters Agents
Seven Sisters Agents
Y – Acquiesce
Y – Acquiesce
𝜉
U – Full Production
V – Prorate 𝛽 OPEC Agents
Figure 2: Phase diagram for Game 𝑄̂
Figure 3: ABM Control Model
Figure 4: ABM Treatment Model
Figure 5: ABM Treatment Model with OPEC Rapidly Capturing Market Share Advantage
Figure 6: ABM Treatment Model with OPEC Slowly Capturing Market Share Advantage