Statistical Physics and Network Theory as an Interdisciplinary
Approach to Legislative Forecasting
Daniel S. Clark
Washington and Lee Department of Physics and Engineering
19 May 2020
Abstract
The current .eld of American politics, particularly within the legislative branch, is considered highly polarized and signi.cantly inscrutable. In the face of this shifting political landscape, attempts to rigorously analyze the United States Congress under the standard paradigms of qualitative political science have proved partially insu.cient, particularly e.orts to accurately forecast legislative behavior. We introduce two classes of models to analyze the voting behavior and political topology of the United States Congress. The .rst are multi-temperature kinetic Ising models and the second are weighted network models. These models are presented .rst in order to evaluate and study the partisanship and social interactions within Congress, and second as a means of conveying the versatility of statistical physics and network-based computer simulations in non-physical contexts. The physical and theoretical basis of these models are provided, with special attention paid to the distinct challenges and bene.ts of applying non-equilibrium statistical physics. The development and legislative forecasting applications of each are then detailed, alongside the results of interest. Each indicate complimentary and contrasting results, which are particularly signi.cant when considered alongside modern conceptions of the American political environment.
Contents
1
Introduction
3 2
Voter
Models
6
2.1
IsingModels
......................................... 9
2.2
KineticIsingModels
..................................... 13
2.3
MethodsofSolvingKineticIsingModels
.......................... 19
2.4
NetworkTheoryandSocialNetworks............................ 21 3
Kinetic
Ising
Model
of
the
United
States
Legislature
24 4
Social
Network
Model
of
the
United
States
Legislature
29 5
Conclusions
and
Further
Applications
36 References
39 Appendix
A
Multi-Temperature
Kinetic
Ising
Model
Code
42 Appendix
B
Social
Network
Model
Code
44
Introduction
In the face of government shutdowns, controversial policy decisions, and a decline in the enactment of laws, the United States Legislature has received increased scrutiny throughout the 21st century. Gallup polls conducted as recently as February of 2020 indicate a 23% approval rating of the American legislature
[1],
while
a
2014
report
by
the
Washington
Post
indicates
that
these
most
recent
classes
of
Congress
are
among
the
least
e.ective
in
United
States
history
[2].
Popular criticism continually identi.es polarization and lack of cooperation as the primary de.ciencies of the legislature. The traditional techniques under which political behavior is studied have only begun to make steps in qualitatively and quantitatively analyzing these phenomena.
Simultaneously, however, government publications, news media outlets, and direct communication between legislators and constituents have provided signi.cant access to data detailing not only the voting records of legislators, but also the external and internal processes which eventually determine those votes. Armed with this wealth of information, physicists have entered the .eld of political science
in
demonstrably
high
numbers
[3]
[4],
pioneering
the
growing
.eld
of
‘socio-physics.’
This
.eld
not only provides a new direction for the development of quantitative political forecasting but also simultaneously capitalizes on this widely available data for the study of complex, cooperative systems. Moreover, this .eld provides a pedagogical tool to demystify political processes and educate the public on
legislative
trends.
In
particular,
non-partisan
organizations
such
as
GovTrack
[5]
and
PredictGov
[6]
have gained increased popularity and coverage over the last few years as their sites provide legislative forecasting and analysis of each legislator’s voting trends, earning these organizations citations from the Hu.ngton Post [7],
New York Times [8],
and
even
HBO’s
Last Week Tonight with John Oliver [9].
These organizations’ simultaneous application of machine learning, network theory, and political science raises the necessary question implicit in our modern technologically and scienti.cally literate society: how can our disparate stores of scienti.c and social knowledge be brought together in order to create something greater than the sum of their parts? While this paper cannot claim to represent the answer to that question, it earnestly attempts to mark its place in the endeavor. Voter models have been studied for a number of years in statistical physics, and the application of statistical physics to the modern American political environment may allow for the development of more accurate models. Moreover, as this research stands at the con.uence of physics and political science, the versatility of
these models promises the possibility of further application in the .elds of sociology, epidemiology,
legal studies, and other .elds which deal in complex networks. Furthermore, each of these topics also intersect with the concept cooperation, understood as behaviors in which individuals act on the behalf of others at a cost to themselves. As such, this thesis also adds to the ongoing e.ort to explain this conundrum in social science which has been called one of the most signi.cant of our generation, given its
apparent
contradiction
to
Darwinian
and
capitalistic
paradigms
[10].
The translation of the United States Congress to a numerically soluble statistical system bene.ts from relatively straightforward analogues to well-known physical and theoretical models. In order to demonstrate this, a brief explanation of the United States Congress’s structure and legislative processes is necessary. The United States Congress is a bicameral legislature: it is divided into two discrete legislative bodies, the House of Representatives and the Senate. The Senate is composed of 100 voting legislators, while the House is comprised of 435 voting legislators. In both the House of Representatives and the Senate, motions to adopt legislation may be determined by a roll call vote, or a vote in which each legislator’s vote is individually recorded. Therein, legislators provide votes of ‘yea/aye’ (approval of the motion) or ‘nay’ (disapproval of the motion). In the case of a majority vote in the a.rmative, the motion is passed. While a supermajority vote may be required under special circumstances, these occur only under certain conditions, and as such they may be considered unnecessary considerations for this brief overview. With this sketch of the legislative process in mind, the United States Congress could be easily conceptualized as a lattice or network comprised of either 100 or 435 sites or nodes, respectively. Each site or node is then occupied by a legislator in either the ‘yea’ or ‘nay’ states, and therefore the entirety of Congress could be conceptualized as a two state macro-system determined by the majority of states therein.
While this initial framework may be relatively simple, the process by which each legislator resolves to a ‘yea’ or ‘nay’ state is a result of internal factors such as the individual’s political leaning and agenda, as well as external factors including peer in.uence, public opinion, and lobbyist groups. These internal factors, though realistically de.ned on an issue-to-issue basis, can largely be simpli.ed under the umbrella descriptors of liberal and conservative. These terms are de.ned according to a legislator’s general stance on a variety of political issues and how those stances compare to the position of either the liberal Democratic Party or the conservative Republican Party. While this metric for political ideology and agenda discounts the divide between .scal and social liberalism and conservatism, as well as a variety of complex sociopolitical considerations, it serves as a relatively accurate general descriptor of political leaning.
The external factors which may impact a particular legislator’s decision-making are comparably easier to describe without generalization. Interactions between legislators or their respective sta.s, between legislators and lobbyists, and between legislators and constituents are well documented and recorded. However, the degree to which a legislator or group of legislators may be susceptible to external in.uences varies signi.cantly. This trait manifests on a spectrum ranging from reluctance to change stance on a given issue to what is often described as maverick voting or bloc voting in the most extreme case. In the case of ‘maverick’ voting, a legislator may refuse to change an initial vote regardless of external in.uence. Similarly, in the case of ‘bloc’ voting a group of legislators may elect to vote the same as one another regardless of the legislation in question or external in.uences. These behaviors are especially noteworthy in that ‘maverick’ voting is especially emblematic of the intractability frequently commented on in the modern legislature, while ‘bloc’ voting, which frequently occurs along partisan lines, demonstrates political polarization. On this note, outside of the extreme cases of maverick Representatives or bloc voting groups, external interactions are also signi.cantly limited, though not necessarily eliminated, by party politics and disparities in political ideology. Therefore, legislators of similar political leanings or party a.liations are more likely to in.uence one another than legislators of extremely disparate political beliefs.
Working within this readily apparent and analogous statistical system within the United States Congress, this thesis presents two classes of cooperative, stochastic social network models in order to describe and analyze voting behavior.
We begin with a presentation on relevant models in section 2, which begins by introducing the concept of a voting model and illustrates its function through a brief overview of an especially simple two-state model. The Ising model is presented in 2.2. The non-equilibrium extensions of the Ising model, kinetic Ising models and multi-temperature kinetic Ising models, are presented in 2.3. Numerical methods signi.cant to solving kinetic Ising models are then provided in 2.4. Next, 2.5 presents an introduction to network theory and network based models. We present an original application of multi-temperature kinetic Ising models in section 3, beginning by detailing the model’s development. This is followed by results of the model alongside our interpretation. We then present an original application of network theory in order to model the United States Congress in section 4, detailing development, followed by results and interpretation. Section 5 concludes this thesis with a comparison of results, alongside a brief exploration of further applications for these models and methods.
Voter Models
The simplest goal of a voting model is to describe the formation or dissolution of consensus in a population. Before moving on to present our two original classes of voting models, a brief exploration of a well-studied and simple voting model may be bene.cial as an introduction to the topic. While a variety of simple voting dynamics may be simulated to this end, we will consider a model which possesses the distinct advantages of being not only solvable in arbitrary spatial dimensions but also topologically versatile enough to demonstrate the application of both spin-.ip Ising-type models and network models. This
model,
.rst
proposed
by
Holley
and
Liggett
[11],
considers
a
population
of
voters occupying a system of any given dimensionality. These voters are then graphically arranged according to a stochastic topology, and each is assigned an initial opinion state, q. As the simulation progresses over an arbitrary time scale represented by discrete update events, each voter adopts the opinion state of their nearest neighbor. Throughout each update event over arbitrary time steps, .t, this model simulates the change in opinion of the voter at lattice site x.
The transition rate of any given voter occupying the position, x, while the system is in con.guration s is de.ned as,
1 s(x)
wx(s)= [1 - s(y)] (1)
2 z
y.(x)
where the opinion state of the voter occupying site x is given by s(x). The coe.cient z is the number of nearest neighbors to x, known as the lattice coordination number. The set of nearest neighbors to site x is given by (x). The sum is therefore taken over all other voters, y, in closest proximity to
x. Note that the transition rate of the voter at site x is proportional to the inverse of disagreeing neighbors, where s(y)= s(x). Therefore, a voter will only change opinion if a nearest neighbor possesses a di.erent opinion state.
While this transition rate exclusively describes the dynamics of a single voter at each update event, from this rate we are able to derive a master equation describing the transition rates of the entire system. The probability that the set of all voters are in con.guration s at time t is provided by the master equation,
d
p(s)= - wx(s)p(s)+ wx(s x)p(s x) (2)
dt
xx
x
where sdenotes the state of the system in which the voter occupying site x has changed opinion.
x
This means that sx(x)= s(y) when s(y)= s(x) or alternatively, s= -s(x). Therefore, the gain term relates the probability of all transitions to the con.guration s in a single update event, while the loss term relates the probability of all transitions out of con.guration s in a single update event.
An example of two possible con.gurations following an update event, s and sx, for a system of N = 3 voters on a one dimensional lattice, wherein x = 2, and opinion states, q, may be either +1 or -1 is provided in Figure 1.
Figure 1. An example of a possible transition between con.gurations, wherein the opinion state of the voter populating site x is updated.
In order to determine the system’s inevitable steady state, we consider the average opinion of the system, S,
S = (f(s)) = f(s)P (s) (3)
s where f(s) is the set of all voting states.
Drawing from the master equation, we are able to determine the time dependency of S, by considering the average opinion state of any voter at position x over an arbitrary time step, .t.
.
s(x, t + .t) = .
. s(x, t) with probability 1 - wx(s).t (4)
.
. -s(x, t) with probability wx(s).t
As the opinion state of the voter at site x changes by -2s(x) at a rate of .x, the average opinion
evolves according to,
dS(x)1
= -S(x)+ S(y) (5)
dt z
y.(x)
Summing this over all sites, we note that the average alignment of the system, m =
S(x)
is
xN
necessarily conserved. While the alignment of the system throughout each update event does change (as only a single site is updated at a time, the alignment of the con.guration necessarily changes), the average over all sites and trajectories of the dynamics are conserved [12].
As a consequence of this conservation, the system must necessarily reach a consensus.
Consider a .nite population of voters wherein an initial fraction . are in the opinion state q = +1, while a fraction 1 - . are in the opinion state q = -1. The initial alignment is therefore m0 =2. - 1. The .nal alignment is then given by,
mt.8 = E(.) × 1 + (1 - E(.)) × (-1)
(6)
=2E(.) - 1 where E(.) is the exit probability, or the probability of a .nal consensus on the opinion state, q = 1. This expression equals the initial alignment, m0 =2. - 1. According to these conservation dynamics, this voting system must ultimately reach one of two .nal alignments, with probabilities given by,
. .
. .
.
+1 with probability E(.)
m = (7)
-1 with probability 1 - E(.)
As a result, the probability of reaching a consensus on the opinion state q = +1 is E(.)= . and the probability of reaching a consensus on the opinion state q = -1 is 1 -.. As such, the .nal opinion state depends exclusively on the initial fractions of opinion states, . and 1 - ., indicating that the steady state of the model has no dependence on the system size or the topology of the network. The initial and .nal states of the system given an arbitrary initial alignment, m0, are shown in Figure 2 and 3 respectively.
While this model is notably simple, and largely unrealistic given voters’ immediate willingness to
Figure 3. The two possible .nal alignments Figure 2. The initial alignment, m0 of the of the system (m = -1 and m = 1), alongside system, with unit probability. the magnitude of their probability.
adjust their opinion state towards conformity with nearest neighbors, its signi.cance in this thesis is critical. In one-dimension, this model is functionally identical to an Ising-type model. In two-dimensions, this model is a simple application of network theory. In either case, this model succinctly demonstrates the most essential purposes of a voter model. Speci.cally, that a model must demonstrate the process of forming opinions and identify the dependencies of that process. The following models could therefore be considered adaptations of this simple voting model, in that they attempt to more rigorously de.ne methods of interaction along political lines, and as such generate more nuanced results speci.c to the United States Congress.
2.1 Ising Models
The .rst class of models we present are multi-temperature kinetic Ising models, a class of non-equilibrium Ising models. While the methods and applications of statistical physics in general are versatile and well-developed, the study of systems out of equilibrium is considerably less mature. Despite considerable e.ort spread out over more than a century of research, universally applicable analogs to the near-ubiquitous mathematical formalisms standard in equilibrium statistical physics are limited. For example, no analogs of the ubiquitous canonical Boltzmann factor or partition function of
equilibrium
statistical
physics
have
been
found
which
can
be
applied
with
consistency
[13].
What
strides have been made in the .eld of non-equilibrium statistical physics are generally concerned with systems
at
small
deviations
from
equilibrium
[12].
That being said, systems out of equilibrium are well appreciated in computer simulation due to their capacity to present conceptually straightforward and
explicit
results
which
may
be
adapted
to
a
variety
of
systems
[15].
As
one-dimensional
versions
of kinetic Ising models can be solved exactly, these models provide a versatile space for simulating soluble
complex
systems
[16].
Given that non-equilibrium systems are considerably more di.cult to approach, our treatment
of multi-temperature kinetic Ising models will begin with a consideration of the comparably simple equilibrium Ising model. This will not only allow this thesis to better present the distinct advantages and disadvantages of working in non-equilibrium statistical physics, but also provide a signi.cantly more approachable space in which to de.ne signi.cant functions of state and tendencies of Ising models which carry into their non-equilibrium counterparts.
The
one-dimensional
Ising
model,
.rst
solved
by
Ernst
Ising
in
1925
[17],
is
an
equilibrium
model
of
ferromagnetism. While modern Ising models may be used to simulate both antiferromagnetic and nonmagnetic
systems
[18],
we
will
proceed
with
a
discussion
of
purely
the
ferromagnetic
model
as
it
most
signi.cantly relates to this thesis. Within the Ising model, discrete variables, si, representing magnetic dipole moments of atomic spins are arranged in N discrete, equidistant lattice sites (i =1, 2, ..., N). Critically, the lattice may have either periodic or non-periodic boundaries, often referred to as toroidal or
free
boundary
conditions,
respectively
[17].
In
the
case
of
periodic
boundary
conditions,
the
Nth spin interacts with the .rst spin, therefore the one-dimensional lattice is treated as a ring. In the case of non-periodic boundary conditions, the lattice is treated as a chain. For the purposes of this thesis, we will proceed with the assumption that boundary conditions are non-periodic, and refer to the lattice as an Ising chain.
Each spin is in one of two states (si .{+1, -1}), and each spin is able to interact with its neighbors. Coupling constants, Jij , are introduced to describe these interactions, and are de.ned such that 0 0 A(s . s .) = (29)
.
.
1 if otherwise
Therefore, at each update event, any transition which lowers the energy of the system is accepted, while any transition which raises the energy of the system is accepted with a probability proportional to the Boltzmann weight associated with the energy di.erence between the initial and .nal state.
While many simulations of the Ising model are ‘spin-.ip’ algorithms, the Kawasaki method simulates Kinetic Ising models by swapping the orientation of spins [23].
As such, the Kawasaki method is a magnetization conservation method, meaning the total magnetization is unchanged over each itera
tion of the algorithm. This is useful in studying systems dominated by a single magnetization phase;
while a given system may tend to positive magnetization, the Metropolis method is equally as likely to select and settle to a negative magnetization. The Kawasaki method comes in two varieties, the local and nonlocal Kawasaki methods. The local Kawasaki method refers to algorithms which swap only neighboring spins. The non-local Kawasaki method swaps spins regardless of their separation along the lattice. While the non-local is more e.cient, meaning simulations tend towards equilibrium
with
less
computation
time
[25],
it
is
a
non-physical
simpli.cation
as
spin
transitions
therefore
do not depend on the physical distance between coupled particles, thereby disregarding the locality requirement implicit in most Ising simulations. Outside of this modi.cation, the Kawasaki method and Metropolis method are largely identical. Speci.cally, the acceptance ratio remains the same as that selected for the Metropolis method.
While these methods for simulating and thereby solving kinetic Ising models over discrete time steps are versatile and precise, we have shown above in our treatment of the system’s magnetization that the Glauber master equation can be easily manipulated to form e.cient expressions for the system’s time dependent functions of state. As such, the ODEINT routine in the Python package SCIPY is an easily accessible means of simulating the dynamics of the system. In this case, a system simply evolves according to the selected transition rates on an arbitrary time scale, within which the integrated
magnetization
equations
are
solved
at
each
discrete
time
step
[22].
2.4 Network Theory and Social Networks
The second class of models we employ are weighted, complex networks. Network theory, whose .rst relation was proven in 1736 by Euler’s solution to the Seven Bridges of K¨onisberg
problem
[26],
is
the analysis of graphs as representations of symmetric and asymmetric relations. Complex network theory, by extension, is the analysis of interacting nodes represented within a graph. While a complete overview of network theory is outside the scope of this project, given that the mathematical and computational machinery of each network is at least somewhat unique to the systems analyzed, a brief overview of terms and analytical techniques related to network theory is worthwhile here.
A network, in the simplest terms, is a two-dimensional representation of nodes and edges which connect
those
nodes
[30].
A
network
is
depicted
as
a
graph,
de.ned
as
the
ordered
triple
G =(V, E, f) wherein V = {v1,v2, ...., vn} is the set of nodes and E . V × V is
the
set
of
edges
[27].
We
de.ne
n and m as the cardinality of the sets V and E respectively, such that, | V |= n and | E |= m. The
function f is then the function which maps elements of E to corresponding pairs of elements in V .
Figure 7. A simple network in both graphical and mathematical terms.
Within a graph, edges may be either directed or undirected. Undirected edges denote a binary, symmetric relation between nodes, while directed edges denote the relationship between a node to another,
which
may
not
be
symmetric
[28].
A graph is therefore undirected if, for any two pairs of vertices, (v, u) . E and (u, v) . E. The degree, di, of a node, vi, is the number of edges incident upon the node, and is given by the degree value, ki. The degree sequence is de.ned at, dT =[d1d2d3 ...dn] [27].
The
function,
f,
may
also
determine
the
edge
weight
and
length
of
connections
made
[28].
The
dependencies of this function vary with application, though typically within the set V , nodes may be assigned any number of items of information signi.cant to their graphical position, propensity to form
edges,
etc
[28].
A
simple
graph
refers
to
a
graph
wherein
nodes
are
connected
without
multiple
edge
between
the
same
nodes
or
loops
(edges
which
connect
the
node
to
itself)
[27].
We
will
consider
exclusively simple graphs for the purposes of this thesis.
That said, various other descriptors will be signi.cant to our model. A graph may be described as connected
if
any
node
can
be
reached
by
traveling
along
the
edges
starting
with
any
given
node
[29].
A
graph
may
also
be
strongly
connected
if
the
edges
provide
a
direct
path
between
any
two
nodes
[10].
N(N-1)
The maximum number of edges possible in an undirected graph of N nodes is . Furthermore,
2
a graph may be described as k-connected if each node has the same degree, k. A given graph may also be broken into subgraphs, or a set of nodes connected by edges which may be extracted and analyzed independently
of
the
graph
itself
[30].
Of particular note here are networks of social in.uence and interaction, speci.cally voter models and models which may be adapted to simulate voting behaviors. In general, our attention is focused on connected graphs comprised of nodes, encoded into which is an index of data which determines that nodes position, capability to in.uence other nodes, and susceptibility to in.uence from other nodes. For the purposes of this thesis, we will refer to those nodes as agents.
In the .eld of network theory, signi.cant work has been undertaken to analyze the e.ect of different
structural
and
topological
network
parameters
on
the
evolution
of
cooperation
[10].
Signi.cant
parameters
include
degree
distribution,
degree
heterogeneity,
average
degree,
and
assortativity
[29].
Degree heterogeneity is a relatively simple concept. A network may be considered homogenous or
regular
if
any
given
node
may
be
reached
in
the
same
number
of
steps
from
any
other
node
[28].
Conversely, degree heterogeneity refers to the spectrum of degree values within
the
network
[28].
Furthermore, degree heterogeneity provides a measure of a network’s diversity of structures. As the spectrum of d-values of the nodes increases, the network becomes more irregular and complex. This spectrum is measured through the degree distribution, P (k), which determines how many nodes in a network have the given degree, k. For example, in stochastic networks in which edges are generated randomly but with a given probability, P (k) is a Poisson distribution around the average degree, (k) [10].
The .rst proposed measure of heterogeneity comes from Snijders, alongside a modi.cation by Bell [28],
is
given
as
N
1
P (k)= (ki -(k))2 (30)
N
i
This
expression
is
particularly
accurate
in
the
case
of
random
graphs
[10],
and
is
su.cient
to
our
purposes.
That said, the development of network edges may either be random or preferential to varying degrees; this is referred to as assortativity. For the purposes of a social network, these preferences usually depend on either following a probability distribution which favors nodes of higher degree or on certain criteria nested within each node in the set V [27].
We
will
proceed
with
the
latter
de.nition,
as it most closely relates to the tendency of politicians to interact with members of the same political party.
Closely related to measurements of interactions between agents of di.ering political parties, and
especially pertinent to the needs of this thesis, are measurements of cooperation. We will proceed
with
the
de.nition,
provided
by
Krackhardt
and
Stern
[31],
that
cooperation
index,
µ is given by,
EI - EE
µ = (31)
EI + EE
where EI is the number of edges internal to an organization, while EE is the number of edges exiting an organization.
These fundamentals of network theory alongside these metrics of graphical qualities form the foundation by which social networks may be constructed and analyzed. We apply these in the context of the United States legislature in section 4.
Kinetic Ising Model of the United States Legislature
We now present a kinetic Ising-type model of the United States Legislature. This model is constructed in Python 3.7, and the code is provided in Appendix A. Within this model, each lattice site of a .nite Ising chain is populated by a two-spin particle, representing a legislator, in either the ‘yes’ state (s = 1) or ‘no’ state (s = -1). The current state of each particle represents that legislator’s vote.
The sites are arranged to re.ect the spectrum of political ideologies, such that s1 and sN may be considered the ideological extremes. As such, the nearest neighbors of each particle represent the most ideologically similar legislators. The Ising chain is considered to have non-periodic boundary conditions in order to re.ect the lack of in.uence between ideologically opposed legislators. As such, given the locality condition, spin transition interactions occur only between ideologically similar legislators.
The initial spins of the particles at each site are set to either alternate between the two possible spin states (i.e. s1 =1,s2 = -1,s3 =1 ...), or be evenly distributed between portions of the chain. Therefore, the initial magnetization is 0.
Equal sections of the Ising chain are treated as being in contact with a heat reservoir, with portions segmented according to ideological similarity. The temperature of each heat reservoir is assigned, and while the temperature is an arbitrary value, it critically informs the dynamics of the system.
We select the standard transition rates described by Glauber, alongside the multi-temperature extension from Racz and Zia. As a result, we express the magnetization of each sub-lattice according to the di.erential equations provided above,
d.n
m1 = -m1 + m2 (32)
dt 2
d.n
mn = -mn +(mn+1 + mn-1) (33)
dt 2 d.n
mN = -mN + mN-1 (34)
dt 2
From these initial conditions, the magnetization of each particle is solved using Python package SCIPY routine ODEINT, which solves the master equation and di.erential equations of magnetization for individual particles. These values are then stored, and total magnetization of the system is calculated. The total magnetization of the system represents the average alignment of particles in either the ‘yes’ or ‘no’ states. As a result, the total magnetization represents the consensus of the entire lattice, while the magnetization of each sub-lattice is the consensus of each ideologically-separated population. A positive magnetization indicates a majority in the ‘yes’ state, while a negative magnetization indicates a majority in the ‘no’ state.
In order to apply this model to the United States Legislature, we consider an Ising chain of 435 sites, representing the House of Representatives. Each site is occupied by a two-spin particle, representing a voting member of the House of Representatives. Lattice sites are arranged according to political
N
ideology, such that sites n = 1 through n = may be considered as representing the comparably
2
N
more ‘liberal’ legislators and n = + 1 through n = N may be considered the comparably more
2
‘conservative’ legislators. We divide this Ising chain into equal sub-lattices, each treated as being in contact with a heat bath.
We begin by dividing the chain into three sub-lattices; the results of this simulation are provided in Figure 8. We .nd that regardless of initial conditions the system eventually moves towards a steady state in which total magnetization is 0. This indicates that the system inevitably fails to reach any consensus, as an equal number of legislators are in the ‘yes’ and ‘no’ states. In order to examine this system further, we observe the localized magnetization of each sub-lattice, provided in Figure 9.
We note that the magnetization of the system tends to follow the behavior of those regions in contact with the lowest temperature heat reservoir, as those regions move most slowly to the steady state. This follows naturally from the model’s parameters under Glauber dynamics. Due to the temperature dependency of . in the magnetization di.erential equations, temperature could be treated
Figure 8. The change in overall magnetization for a lattice chain of length N = 435, wherein three equally segmented populations are in contact with a corresponding heat bath of various temperatures. The time scale is arbitrary.
Figure 9. The change in overall magnetization for a lattice chain of length N = 435, wherein three equally segmented populations are in contact with a corresponding heat bath of various temperatures. The time scale is arbitrary.
as the tendency of each sub-lattice’s population of particles to align with the system. As such, the higher the relative temperature of the reservoir, the faster the system will move towards the steady state; conversely lower temperatures relate a lower a.nity towards alignment, or ‘stubbornness’.
This result is better demonstrated in the case in which the Ising chain is divided into .ve equal sub-lattices, each in contact with a heat reservoir of a distinct temperature. Here we observe that the magnetization of any two sub-lattices, set to identical initial spin con.gurations, will move towards the steady state at di.erent rates which are inversely proportional to temperature, as in the case of the sub-lattices in contact with heat reservoirs T =2.5 and T =3.0 shown in Figure 11. The total magnetization of the .ve temperature system is provided in Figure 10, and the localized magnetization for each sub-lattice is provided in Figure 11.
When considered in the context of the United States Congress, this model presents an immediately apparent shortcoming. While this model invariably predicts that the House of Representatives will not be able to reach a consensus regardless of their initial vote or stubbornness, approximately 3% of bills were enacted into law under the 115th Congress
[32].
Therefore,
an
accurate
predictive
model
should allow for at least certain cases to yield a positive consensus. That being said, the model does re.ect the lack of compromise between ideologically opposed legislators frequently criticized in the current .eld of American politics.
Moreover, despite the consistent tendency of this model to move towards a steady state of 0 magnetization regardless of initial conditions, certain lattice sites and graphical features are worth exploring further. Most notably, the particles occupying lattice sites n = 1 and n = N display noteworthy behaviors. As a result of the non-periodic boundary conditions within which the model is constructed, these particles possess one less nearest neighbor interaction than other particles. Moreover, these particles occupy lattice sites maximally removed from those sub-lattices in contact with other heat reservoirs. As a result, the local interactions which de.ne the Ising model, as well as the .ow of thermal energy which drive the kinetic Ising model, are minimally expressed at these sites. Consequently, these sites resist any transition to a non-zero steady state within the sub-lattice population, and as such rapidly contribute to the system’s move towards its steady state of 0 magnetization. This provides what is perhaps this model’s most critical insight on voting behavior. Speci.cally, that ideological extremism limits cooperation.
Beyond these particular sites, the short-term behavior of the system is also noteworthy. Within the short-term, the total magnetization of the system does have a non-zero magnitude. This indicates that early in the simulation, a majority of particles occupying the Ising chain are in a single state. Given that legislation brought before Congress is rarely voted on over as many iterations as we present here, this is certainly worth noting.
There are several avenues by which to improve this model in order to better re.ect the United States Congress and potentially yield more signi.cant results. While the unrealistic time-scale in which these simulations take place has already been noted, this is not a discrepancy within the model itself, but rather a consideration on the signi.cance of certain data. Otherwise, the model could incorporate the already well-de.ned features of the multi-temperature kinetic Ising model. While the in.uence of ideologically similar legislators is a signi.cant factor in determining a legislator’s vote, external in.uences are abundant. The behavior of this multi-temperature kinetic Ising model in an external magnetic .eld may be considered in order to simulate the e.ects of lobbying groups, constituents, or the media. Moreover, as the political agenda and opinions of these groups are varied (and as such the
politicians they appeal to are varied), this magnetic .eld could be treated as being dependent upon
the heat reservoir in contact with each sub-lattice, allowing for a variety of magnetic .elds to impact each ideologically separated sub-lattice in unique ways. The spin correlation functions may also be considered for particles occupying lattice sites at the borders of the sub-lattices in order to analyze the impact of ideologically similar particles in contact with distinct heat reservoirs.
Social Network Model of the United States Legislature
We now present a model which applies network theory in order to simulate the voting behaviors of the United States Legislature. This model was constructed in Python 3.7, and the code is provided in Appendix B. This model is particularly concerned with the e.ect of variances in degree heterogeneity, average degree, and assortativity on agent’s cooperation and capability to resolve to a steady state.
Within this model, each agent is assigned a political ideology value, ai de.ned such that 0 = a = 1. A political ideology value of 0 indicates that the agent is maximally liberally inclined, while a political ideology value of 1 indicates that the agent is maximally conservatively inclined. Each agent is capable of existing in either the ‘yes’ state, (si = 1) or ‘no’ state (si = -1), which represents their current vote.
The name, political party, and political ideology value of each agent is stored in a PANDAS data-frame. An issue value, z, then is selected in order to represent each agent’s a.nity for a legislative issue, and is de.ned such that 0 = z = 1. Following the introduction of the issue value, the initial vote of each agent is also determined and stored within the data-frame. The initial vote is selected by the NUMPY package’s random number routine with the probability of a ‘yes’ vote given by,
Pi =1-| ai - z | (35)
This probability is selected in order to maximize the probability of a ‘yes’ vote in the case that ai = z.
Critically, each agent’s initial vote is formed in a vacuum, without any external in.uence from other agents. At this point, however, edges are randomly placed between agents, with one edge formed per agent. These edges represent the connected agents’ ability to in.uence one another in order to align
their votes. These edges are considered undirected, under the assumption that these social in.uences
are inherently mutual.
These edges are then weighted according to each agent’s ability to in.uence the vote of the other. In order to identify which forms of social in.uence are signi.cant enough to contribute to this process, we turn
to
3
of
the
canonical
mechanisms
of
social
cooperation
[33],
which
have
clear
political
analogues:
1 Kin selection, or an agent’s predisposition to cooperate with others in a shared population, in this case a shared party a.liation.
2 Direct reciprocity, or an agent’s predisposition to cooperate in order to gain some obvious bene.t from those they cooperate with, in this case an agent’s willingness to vote alongside agent’s of a similar political learning with the expectation of ongoing political support.
3 Network reciprocity, or an agent’s predisposition to cooperate with others they are closely a.liated with, in this case frequent interactions as a result of caucuses, committees, etc.
In order to quantify these mechanisms, we de.ne the edge weight between two agents, wij , as,
wij = .(1-| ai - aj |)+ ß (36)
where . represents the frequency of interaction between agent’s, and ß is a boolean value of either 1 in the case that connected agents share a party a.liation or -1 in the case that they do not. The nested function, 1-| ai - aj |, is selected in order to maximize agent’s in.uence in the case that ai = aj. The magnitude of all edge weights connected to an agent are then summed in order to identify the in.uence, ., of the agent’s connections on their voting state, with the .nal value given by,
si
. = - wij (37)
sj
(ij).E
If connected agents’ initial votes are out of alignment, this contributes positively to the sum, as
si si
= -1. If connected agent’s initial votes are aligned, this contributes negatively, as = 1. If . is
sj sj
greater than Pi, the agent’s initial a.nity for the issue, then the in.uenced agent changes their vote;
otherwise, their vote remains unchanged.
The process of assessing this in.uence and consequently changing votes is a single voting step in this model. The critical application of this model is found in carrying out multiple iterations. At each voting step one new edge per agent is formed. As such, the average degree necessarily increases by 1 for each iteration, and the network will be completely connected following N-1 voting step iterations.
2
The heterogeneity of the network, given that edges are formed randomly, conforms closely to the Poisson
distribution
[28].
The probability with which edges are formed between members of the same party or ideologically similar agents can also be adjusted, thereby disrupting the degree heterogeneity and increasing the assortativity of the network. Moreover, throughout each step of the algorithm, a permanent vote can be assigned to agents. This freezes the agent in a particular state in order to simulate the e.ect of maverick voting. Similarly, in order to simulate bloc voting, multiple agents can be assigned the maverick state, as well as a shared and unchanging initial vote.
The introduction of non-cooperative voting and preferential connection in this voting network has unique and interesting results on both the behavior of the model.
In order to apply this model to the United States Congress, we populate this network with 435 agents, representing legislators in the House of Representatives. Within each node the political ideology and party a.liation of a corresponding legislator from the 115th United States Congress is stored, with
values
taken
from
GovTrack’s
2017
‘Report
Cards’
[5].
Within this population, 238 agents belong to the Republican Party while 197 agents belong to the Democratic Party. We note that within this system, a disproportionate amount of agents possess ideologies at or near both the extreme and median values. The spread of political ideologies are provided in Figure 12.
We .rst consider a scenario wherein agents form edges completely randomly, with no bias towards party a.liation or political ideology. We observe that presented with any issue value the total votes will eventually collapse to a complete consensus, with the total number of agent’s in the ‘yes’ state moving to 0 or 435. The sum of agents in the ‘yes’ state over each iterative step under these conditions is provided in Figure 13.
In this case, the system moves towards a consensus aligning with the average initial vote of the political party whose cooperation index is initially greatest, meaning agents within the party formed the most external connections during the initial iterations. Given that these connections are formed randomly, the likelihood of completely aligning in the ‘yes’ or ‘no’ state is largely random and independent of the issue value.
Of particular note here are agents whose ideological values are near the median, a ˜ 0.5, and whose initial vote re.ects the average state of their political party. These agents show an especially strong in.uence on agents belonging to the opposing political party. This follows naturally from the model, as their neutral ideological value maximizes their potential in.uence on agents of other parties.
We then consider the case in which politicians of the same political party prioritize connection
with one another. In this case, the network in the initial iterations can be e.ectively considered two distinct subgraphs, each populated by one of the two political parties. As the maximum number
N(N-1)
of edges is approached for each subgraph, , the subgraphs then begin to interact. Critically,
2
as the Democratic party is occupied by less agents, Democratic agents will tend to .nd connections outside their political party .rst.
The sum of ‘yes’ votes over each iterative step under these conditions is provided in Figure 14. When the agents connect preferentially, we observe that the system still resolves to consensus regardless of the issue value presented. However, the consensus reached is no longer randomly dictated by the most cooperative party. Under these conditions, voting states on conservative issue values,
0.75 = z = 1.0 tend to resolve to the ‘yes’ state, as Republican voters are more likely to initially vote, ‘yes’ on conservative issues. Conversely, voting states on liberal issue values, 0.0 = z = 0.25 tend to resolve to the ‘no’ state. Neutral or middle of the line issue values continue to yield a random consensus to either state, which is determined by the average initial voting state of the system. These results are to be expected, given that Republican conservative voters outnumber Democratic liberal voters. As each party forms connections with like-minded agents over initial iterations, they quickly come to a consensus. As Democrats run out of party members to connect with, the Republicans are still able to connect with like-minded agents. As such, when Democrats eventually begin to connect with Republican agents, their individual in.uences cannot overcome the in.uence of the party. This rapid collapse to consensus within the partisan subsystem also accounts for the notably smaller amount of voting steps required to reach a consensus on the issue.
We further observe that agents whose ideological values are near the median are no longer signi.
cantly in.uential within the system. Rather, agents at the conservative ideological extreme, z = 0.9, tend to determine the .nal consensus.
With this result in mind, we next enforce the condition that all agents whose ideological values are at the political extremes, a = 0.1 or a = 0.9, are unable to change their initial vote. The sum of agents in the ‘yes’ state over each iterative step under these conditions is provided in Figure 15. Under these conditions, the system is incapable of reaching a complete consensus, as a number of agents will not change states regardless of in.uence. That being said, we once again note that given a near neutral issue value, the system will approach a consensus. This consensus is once again randomly determined based on the average initial vote of the system. For conservative and liberal issue values, the system is unable to reach a consensus over any number of iterations. After the network is strongly connected over initial iterations, the total votes tend to oscillate as frozen agents induce changes, which are then reversed by frozen agents on the other end of the political spectrum.
When considered in the context of the United States Congress, this model possesses a noteworthy inaccuracy. Regardless of preferential connection or bloc and maverick voting, this model predicts complete consensus on certain legislation. As has already been noted in this thesis, within the roll call vote which this model emulates, this occurs with a signi.cant statistical infrequency in the House of Representatives.
That being said, the insights into cooperation between political agents this model provides are
not insigni.cant. From initial trials on random connections between agents, we observe a party’s
willingness to cooperate with the opposition leads to consensus in that party’s favor. Moreover, we observe that centrist agents are able to generate bi-partisan support.
When connections are made preferentially along partisan lines, we observe that cooperation between parties is considered secondary to generating a party-wide consensus. As a result, the majority party is able to enforce their consensus on the system. Finally, in the case of bloc and maverick voting, we observe that an unwillingness to cooperate drastically a.ects the system’s ability to resolve to consensus, eventually leading to a political tug of war between unyielding legislators. Taking these insights into account, we note that this model leads to the crucial, if somewhat obvious, conclusion that bi-partisan interaction, centrist politics, and a willingness to yield a position under social in.uence should naturally yield a legislative consensus.
There are several potential avenues through which to improve this model in order to make it not only more re.ective of the United States Congress, but also to potentially yield more signi.cant results. As in the case of the multi-temperature kinetic Ising model, the most obvious consideration to be made is on the model’s iterative nature. Legislation in Congress is typically voted on once or, occasionally, twice. While the same legislation may be presented multiple times following amendments or be placed inside a larger omnibus bill, it would be inaccurate to ascribe those amended or compiled bills an identical issue value. As such, we might consider not only adding connections between agents at each iterative step, but also introducing a separate issue value for each iterative step.
Furthermore, legislation is not introduced directly to the entirety of a Congressional body. Legislation is .rst presented in committees, wherein anywhere from 12 to 63 legislators must vote on the bill before it is presented to Congress. While only those legislators within the committee vote on the bill in question, it would be inaccurate to say that social interactions and in.uences which decide their .nal votes are limited to those committee members. Therefore, we might consider either scaling the size of the network to consider only the votes and interactions of legislators within the committee, or examining a committee as a cluster within the network.
Finally, the factors which in.uence legislators cannot be limited to exclusively their fellow legislators. Constituents, lobbyists, and media attention are signi.cant in.uences as well. Therefore, we might consider incorporating these in.uences into the model. This could be accomplished by connecting each agent to a node which does not contribute to the sum of votes or change its vote, and assigning that node an ideological value representing the average political stance of that agent’s electorate. While this may be di.cult to implement with accuracy in respect to the actual political mindset of a given state or congressional district, a general linear progression from 0 to 1 based on registered voters may prove su.cient to provide interesting results. Finally, GovTrack releases leadership values for each legislator, calculated according to that legislator’s in.uence on other voters. We might consider making the edges of the network directed and scaling in.uence between legislators by that leadership value.
Conclusions and Further Applications
In this thesis we have presented two models of the United States Legislature, alongside the body of statistical physics and network theory which both inform and de.ne them. We then applied those models speci.cally to the United States House of Representatives. These have provided distinct, yet complementary results, as well as interesting insights into the United States political system.
From both the multi-temperature kinetic Ising model and social network model we observe that politicians on the extremes of the ideological spectrum may signi.cantly impact cooperation within a system. Either driving the system towards a lack of consensus, as in the case of the kinetic Ising model, or enforcing their unpopular opinion on otherwise cooperative voters, as in the case of bloc voting. We further note that the kinetic Ising model seems to indicate that polarization between ideologically separated groups seems inevitable, a dire conclusion, though one that resonates with the current perception of American politics. However, we also observe that communication between ideologically divided political parties does yield consensus in the case of the social network model, a reassuring thought following an examination of the kinetic Ising model. In either model, we see that cooperation between ideologically opposed organizations is critical to reaching a consensus. While this is perhaps an obvious result, given the sociological conundrum that is cooperation, expressing this result under such simple two-state parameters is worthwhile.
That being said, the complexity of American politics goes beyond the scope of this thesis, and is undeniably somewhat random given its dependence on human behavior. Traditionally ‘liberal’ issues may appeal to a ‘conservative’ legislator and vice versa for a variety of reasons including personal bias, lobbying in.uences, or the particular bene.t the issue in question provides to that legislator’s constituents. Given the extreme di.culty which would accompany quantifying these factors in a legislator’s decision, it should not be surprising that there is a lack of reputable research on the topic.
As such, the results of these models, while certainly interesting, could not be considered predictive or truly re.ective of political realities as of yet. Regardless, the .eld of socio-physics continues to grow, and
alongside
it
legislative
forecasting
models
grow
more
complex
and
nuanced
[34]
[35]
[36]
[37].
With that in mind, we present this thesis as a contribution to the ongoing e.ort to bridge the divide between physical and social sciences, and the pedagogical and analytical role of statistical physics in that con.uence. Moreover, given the range and versatility of non-equilibrium statistical physics and network theory, this thesis presents these models not only as a potential means of studying American politics, but also to demonstrate the .exibility in applying these models to study a variety of systems.
While the Ising model’s relevance in legislative forecasting e.orts is clearly its most signi.cant contribution to this thesis, it should be noted that the Ising model has been applied in a variety of other non-physical contexts. Among the most conceptually diverse of these applications include studies
of
tree
yield
in
timberland
[38],
rumor
propagation
in
con.ned
populations
[39],
and
cancer
growth
in
isotropically
arranged
cells
[40].
Similarly, social network models enjoy a diverse range of applications. Given their topological and mathematical .exibility, these networks may be adapted to re.ect a variety of complex networks. These
include
ecological
models
which
predict
the
impact
of
invasive
species
[41],
the
evolution
of
game
theory
strategy
in
the
canonical
Prisoner’s
Dilemma
[42],
and,
perhaps
most
signi.cantly
in
recent
times,
the
spread
of
pandemic
infections
under
various
social
parameters
[43].
Each of these models may provide not only valuable data on the dynamics and dependencies of a system, but also a conceptually clear educational tool for translating complex biological, sociological, or ecological information to the public through these models’ readily apparent results and graphical representations. Moreover, these systems provide a valuable pedagogical tool, and in the information age, wherein knowledge has become increasingly democratized, this is a worthwhile and valuable endeavor. These models may provide insight into political discourse, knowledge on how to ‘.atten the curve’ in the face of a pandemic, and crucial information on the potential impact of human interactions with the environment.
Acknowledgements
Special thanks to my thesis advisor and research advisor Dr. Irina Mazilu. Her expertise, insight, and guidance have been immeasurably helpful in the development of this project. Thanks as well to my fellow research students, Sho Gibbs, Will Hanstedt, and Anthony Lorson. Sho Gibbs especially deserves thanks for his contribution of Python code to model the United States Legislature through the multi-temperature kinetic-Ising model. I would also like to thank the O.ce of Senator Roger F.
Wicker, whose correspondence throughout the development of the network theory model was critical to the model’s creation. Given the unfortunate circumstances in which this thesis was completed, I would be remiss not to thank the entirety of Washington and Lee’s Physics and Engineering Department. The education this department has provided me, alongside its commitment to accessibility and academic excellence, has made the completion of this project shockingly painless in a time when even going to the market isn’t without peril.
References
[1] Congressional Approval Polls,
[https://news.gallup.com/poll/1600/congress-public.aspx]
[2] Washington Post on Congress,
[https://www.washingtonpost.com%2Fnews%2 Fthe-fix%2Fwp%2F2014%2F07%2F09%2F the-113th-congress-is-historically-good-at-not-passing-bills%2F&usg=AOvVaw0sCt2B1uD88u5OUPDWlWvr]
[3] Serge Galem, ”Sociophysics: A Review of Galam Models” International Journal of Modern Physics C 19 (3), 409-440 (2008).
[4] Sidney Redner, ”Dynamics of Voter Models on Simple and Complex Networks,” arXiv, (2017).
[5] 2017 Ideological Report Cards,
[https://www.govtrack.us/congress/members/report-cards/2018/house/ideology]
[6] Legislative Forecasting from PredictGov,
[http://www.predictgov.com]
[7] PredictGov in Hu.ngton Post,
[https://www.huffpost.com/entry/vanderbilt-affiliates-predictgov-uses-machine-learning_b_58dfc5f3e4b0d804fbbb7355]
[8] GovTrack in New York Times,
[https://www.nytimes.com/2020/03/04/opinion/biden-2020-election.html]
[9] GovTrack in Last Week Tonight with John Oliver,
[https://www.youtube.com/watch?v=Ylomy1Aw9Hk]
[10] Jose.ne Bohr Brask and Jonatan Bohr Brask, ”Evolution of Cooperation in Networks: Well-Connected Cooperators can Enhance Cooperation but are Counteracted by Trojan Horses,” arXiv, (2019).
[11] Richard A. Holley and Thomas M. Liggett, ”Ergodic Theorems for Weakly Interacting In.nite Systems and the Voter Model,” Ann. Probab. 3 (4), 643-663 (1975).
[12] Pavel L. Krapivsky, Sidney Redner, and Eli Ben-Naim, A Kinetic View of Statistical Physics, (Cambridge University Press, Cambridge, 2010), pp. 231-246.
[13] Vladimir Privman, Nonequilibrium Statistical Mechanics in One Dimension, (Cambridge University Press, Cambridge, 1997).
[14] Dan A. Mazilu, Irina Mazilu, and H. Thomas Williams, ”Multi-temperature Kinetic Ising Models and Special Matrices,” in From Complex to Simple: Interdisciplinary Stochastic Models, (Morgan & Claypool Publishers, Williston, VT, 2018), pp. 9.1-9.4.
[15] Irina Mazilu and Thomas Williams, ”Nonequilibrium Statistical Mechanics: A Solvable Model,” textitAm. J. Phys. 77 (5), 458-467 (2009).
[16] Nora Menyhard and Geza Odor, ”Nonequilibrium Kinetic Ising Models: Phase Transitions and Universality Classes in One Dimension,” Brazilian Journal of Physics, 30 (1), 113-127 (2000).
[17] Harvey Gould and Jan Tobochnik, ”Magnetic Systems,” in Statistical and Thermal Physics: With Computer Applications, (Princeton University Press, Oxford, 2010), pp. 229-290.
[18] Stephen J. Blundell and Katherine M. Blundell, Concepts in Thermal Physics,2nd edition (Oxford University Press, Oxford, 2010).
[19] Silvio R. A. Salinas, ”Ising Model” in Introduction to Statistical Physics, (Springer, New York, NY, 2001), pp. 257-276.
[20] Roy J. Glauber, ”Time-Dependent Statistics of the Ising Model,” J. Math. Phys. 4 (2), 294-307 (1963).
[21] Dan A. Mazilu, Irina Mazilu, and H. Thomas Williams, ”Cooperative Sequential Absorption Models and the Ising Model,” in From Complex to Simple: Interdisciplinary Stochastic Models, (Morgan & Claypool Publishers, Williston, VT, 2018), pp. 5.1-5.5.
[22] Racz Z. and Zia R. K. P., ”Two-Temperature Kinetic Ising Model in One Dimension: Steady-State Correlations in Terms of Energy and Energy Flux,” Phys. Rev. E 49 (1), 139-144 (1994).
[23] S. L. Cotter, G. O. Roberts, A. M. Stuart, and D. White, ”MCMC Methods for Functions: Modifying Old Algorithms to Make Them Faster,” Statistical Science 28 (3), 424-446 (2013).
[24] Juhwan Kim, Sunghae Jun, Dongsik Jang, and Sangsung Park, ”Sustainable Technology Analysis of Arti.cial Intelligence Using Bayesian and Social Network Models,” Sustainability 115 (10), 1-12 (2018).
[25] Persi Diaconis, ”The Markov Chain Monte Carlo Revolution,” Bulletin of the American Mathematical Society 46, 179-205 (2009).
[26] Leonard Euler, ”The Solution of a Problem Relating to the Geometry of Position,” Opera Omnia 7 (1), 1-10 (1766).
[27] Alberto Arcagni, Rosanna Grassi, Silvana Stefani, and Anna Torriero, ”Higher Order Assortativity in Complex Networks,” Eur. Op. Res. 262 (2), 708-719 (2017).
[28] Rinku Jacob, K. P. Harikrishnan, R. Misra, and G. Ambika, ”Measure for Degree Heterogeneity in Complex Networks and its Application to Recurrence Network Analysis,” R. Soc. open sci. 4 (160757), 1-15 (2016).
[29] Bijan Ranjbar-Sahrei, Haitham Bou Ammar, Daan Bloembergen, Karl Tuyls, and Gerhard Weiss, ”Theory of Cooperation in Complex Social Networks,” in Proceedings of the Twenty-Eighth AAAI Conference on Arti.cial Intelligence, (International Foundation for Autonomous Agents and Multiagent Systems, Paris, 2014) 1471-1477.
[30] Liuyi Pei, ”A Network Theory Study of Roll Call Votes in the United States Congress,” (unpublished), (2009).
[31] David Krackhardt and Robert N. Stern, ”Informal Networks and Organizational Crisis: An Experimental Simulation,” Social Psychology Quarterly 51 (2), 123-140 (1988).
[32] Laws Passed by the 114th United States Legislature
https://www.govtrack.us/congress/bills/statistics
[33] Martin A. Nowak, ”Five Rules for the Evolution of Cooperation,” Science 314 (5805), 1560-1563 (2006).
[34] Janice Lan, Mengke Li, and Suril Shah, ”Utilizing Network Analysis to Model Congressional Voting Behavior,”
[35] Andrew Scott Waugh, Liuyi Pei, James H. Fowler, Peter J. Mucha, and Mason A. Porter, ”Party Polarization in Congress: A Network Science Approach,”
[36] Adam Telek, ”Power Networks: A Network Approach to Voting Theory,” European Public Choice Society, 2017, (2017).
[37] D. Stau.er, ”Social Applications of Two-Dimensional Ising Models,” American Journal of Physics 76 (4), 470-473 (2007).
[38] Andrew E. Noble, Todd S. Rosenstock, Patrick H. Brown, Jonathan Machta, and Alan Hastings, ”Spatial Patterns of Tree Yield Explained by Endogenous Forces through a Correspondence Between the Ising Model and Ecology,” PNAS 115 (8), 1825-1830 (2018).
[39] Chengcheng Li, Fengming Liu, and Pu Li, ”Ising Model of User Behavior Decision in Network Rumor Propagation,” Discrete Dynamics in Nature and Society 2018, 1-10 (2018).
[40] Didier Barradas-Bautista, Matias Alvarado-Mentado, Mark Agostino, and Germinal Cocho, ”Cancer Growth and Metastasis as a Metaphor of Go Gaming: An Ising Model Approach,” PLoS (13) (5), 1-18 (2018).
[41] Danielle M. Haak, Brian D. Fath, Valery E. Forbes, Dustin R. Martin, and Kevin L. Pope, ”Coupling Ecological and Social Network Models to Assess ’Transmission’ and ’Contagion’ of an Aquatic Invasive Species,” Journal of Environmental Management 190, 243-251 (2017).
[42] Swami Iyer and Timothy Killingback, ”Evolution of Cooperation in Social Dilemmas on Complex Networks,” PLoS Computational Biology 12 (2), 1-25 (2016).
[43] Pei Jun Zhao, ”A Social Network Model of the Covid-19 Pandemic,” (unpublished) (2020).
A Multi-Temperature Kinetic Ising Model Code
#Author: Sho Gibbs, Washington and Lee Department of Physics and Engineering import numpy as np import matplotlib.pyplot as plt from scipy.integrate import odeint import math from scipy.optimize import curve_fit
def ODO(x, a, b, c,d,e): return a * np.exp(b * x) + c* np.exp(d*x)+e
def ODOPaper(x,i,j,k): Tau = math.sqrt(g0[0] * g0[1]) return i * np.exp(j *(1-Tau)* x) + k* np.exp(j* (1+Tau)*x)
def MatGen(g0,bounds): size= g0.size A=np.zeros((size,size)) for i in range(size):
for j in range(size):
if i==j:
A[i,j]=-1
elif abs(i-j)==1:
A[i,j]= np.sqrt(g0[i]*g0[j])/2
if bounds ==0:
A[0,size-1]=np.sqrt(g0[0]*g0[size-1])/2
A[size-1,0]=np.sqrt(g0[0]*g0[size-1])/2
return A
T = (3.0, 2.5, 5, 3.5, 4.5) #modify for number of sub-lattices N = 435 timestop = 20 ystart = 1 bounds = 1 field = 0 const = 0
#Cutoff values (modify for number of sub-lattices) Cutoff1=N/5 Cutoff2=2*N/5 Cutoff3=3*N/5 Cutoff4=4*N/5
#gamma values based on temprature bath T0=np.zeros(N) g0=np.zeros(N) for i in range(N):
if i P_assort: connected = [to for (fr, to) in G.edges(node)] unconnected = [n for n in G.nodes() if n not in connected and n != node
and df.iat[node,1] == df.iat[n,1]]
if len(unconnected) != 0:
new = random.choice(unconnected)
if new != node:
G.add_edge(node, new, weight=edge_weight(node, new)) new_edges.append( (node, new) ) connected.append(new)
else:
for node in G.nodes(): connected = [to for (fr, to) in G.edges(node)] unconnected = [n for n in G.nodes() if n not in connected and n != node] if len(unconnected) != 0:
new = random.choice(unconnected)
if new != node: G.add_edge(node, new, weight=edge_weight(node, new)) new_edges.append( (node, new) ) connected.append(new)
else:
for node in G.nodes(): connected = [to for (fr, to) in G.edges(node)] unconnected = [n for n in G.nodes() if n not in connected and n != node]
if len(unconnected):
new = random.choice(unconnected)
if new != node:
G.add_edge(node, new, weight=edge_weight(node, new)) new_edges.append( (node, new) ) connected.append(new)
return new_edges
#Defines a Function to Model the First Step of Voting Interactions
def second_vote(G, u, v): #u and v provide the ideological cutoffs for ’Bloc’ voting second_votes = [] for node in G.nodes():
a1 = df.iat[node, 2]
connected = [to for (fr, to) in G.edges(node)]
influence = 0
starting_vote1 = df.iat[node, 3]
if df.iat[node,2] < u or df.iat[node,2] > v:
second_votes.append(starting_vote1)
else:
for connection in connected:
starting_vote2 = df.iat[connection, 3]
if starting_vote1 == starting_vote2:
stay = G.get_edge_data(node, connection, ’weight’)
hold = stay[’weight’]
influence = influence -hold
else: sway = G.get_edge_data(node, connection, ’weight’) change = sway[’weight’] influence = influence + change
if (1-np.abs(a1-k)) < influence:
if starting_vote1 == 1:
second_votes.append(0)
else:
second_votes.append(1)
else:
second_votes.append(starting_vote1)
return second_votes
#Defines a Function to Model Multiple Stages of Interactions
def multiple_vote(G, generations, u, v): second_votes = second_vote(G, u, v) t=0 t_votes = [] G = nx.Graph() H = nx.path_graph(435) G.add_nodes_from(H) influence = 0 while t < generations:
add_random_edges(G)
for node in G.nodes():
a1 = df.iat[node, 2]
connected = [to for (fr, to) in G.edges(node)] starting_vote1 = df.iat[node, 3] if df.iat[node,2] < u or df.iat[node,2] > v:
t_votes.append(starting_vote1)
else:
hold = []
change = []
ift== 0:
previous_vote1 = second_votes[node] else: previous_vote1 = t_votes[node+(434*(t-1))] for connection in connected: ift ==0: previous_vote2 = second_votes[connection] else: previous_vote2 = t_votes[connection+(434*(t-1))]
if previous_vote1 == previous_vote2: stay = G.get_edge_data(node, connection, ’weight’) hold.append(stay[’weight’])
else: sway = G.get_edge_data(node, connection, ’weight’) change.append(sway[’weight’])
influence = sum(change) -sum(hold) if (1-np.abs(a1-k)) < (influence): if starting_vote1 == 1: t_votes.append(0) else: t_votes.append(1) else:
t_votes.append(previous_vote1)
t+=1
yield t_votes
def multiple_vote_selective(G, generations, u, v): second_votes = second_vote(G, u, v) t=0 t_votes = [] G = nx.Graph() H = nx.path_graph(435) G.add_nodes_from(H) influence = 0 while t < generations:
add_selective_edges(G)
for node in G.nodes(): a1 = df.iat[node, 2] connected = [to for (fr, to) in G.edges(node)] starting_vote1 = df.iat[node, 3] if df.iat[node,2] < u or df.iat[node,2] > v:
t_votes.append(starting_vote1)
else:
hold = []
change = [] ift== 0: previous_vote1 = second_votes[node] else: previous_vote1 = t_votes[node+(434*(t-1))] for connection in connected: ift ==0: previous_vote2 = second_votes[connection] else: previous_vote2 = t_votes[connection+(434*(t-1))]
if previous_vote1 == previous_vote2: stay = G.get_edge_data(node, connection, ’weight’) hold.append(stay[’weight’])
else: sway = G.get_edge_data(node, connection, ’weight’) change.append(sway[’weight’])
influence = sum(change) -sum(hold)
if (1-np.abs(a1-k)) < (influence):
if starting_vote1 == 1:
t_votes.append(0)
else:
t_votes.append(1)
else:
t_votes.append(previous_vote1)
t+=1
yield t_votes
#Look at the Initial Conditions, Create Connections, and Change Votes
first_votes = old_vote(G)
new_edges = add_random_edges(G)
second_votes = second_vote(G, ideological_cutoff_low, ideological_cutoff_high)
#Preform a Multi-Generational Voting Scenario, and Organize the Results
generation_voting = list(multiple_vote(G, generations, cutoffl, cutoffh))
generational_votes = [generation_voting[1]]
final_votes = []
for sublist in generational_votes:
for item in sublist:
final_votes.append(item) seg_length = 435 voting_pattern=[final_votes[x:x+seg_length] for x in range(0,len(final_votes),seg_length)] pd.DataFrame(voting_pattern).to_excel(’houseoutput.xlsx’, header=False, index=False)
#Perform a Selective Multi-Generational Voting Scenario
generation_voting = list(multiple_vote_selective(G, generations, cutoffl, cutoffh))
generational_votes = [generation_voting[1]]
final_votes = []
for sublist in generational_votes:
for item in sublist: final_votes.append(item) seg_length = 435
voting_pattern=[final_votes[x:x+seg_length] for x in range(0,len(final_votes),seg_length)] pd.DataFrame(voting_pattern).to_excel(’houseoutput.xlsx’, header=False, index=False)