Computational History and Simulations
By Mark Ciotola
First published on February 27, 2019
Students will learn about the various types of historical simulations and how they can develop them.
There are two schools of thought regarding the nature of history as a discipline. Some consider history to be among the humanities. Others consider it to be a social science. Of course, the two are not mutually exclusive. This work does not propose a quantitative approach as a replacement for narrative, scholarly approaches, but rather to provide useful additional tools.
Entering into quantitative methods begs several questions, such as “What can be quantified?”, “How accurate and meaningful is historical quantitative data?” “What can be modeled?” and “How accurate are such models?
Nearly anything can be quantitatively modeled, either directly or by proxy. Even love can be quantified, through proxies, such as in terms of hours a day thinking about someone or the cost an an engagement ring versus income or assets. Or perhaps even directly, via electrodes wired to the brain.
A more penetrating matter regards the accuracy of such models. Proxies can always be found, and some data can always be found, yet it may not be abundant or precise enough to produce models of sufficient accuracy for the purposes desired. This question must be answered on a case-by-case basis, although it can be possible to make generalizations about accuracy. For example, the further one goes back into history, there is generally less abundant and accurate data. Also, was casualties, especially further back in history, are often suspect, and tend to be exaggerated either up or down, depending on the perspective of the source.
Finally, is the cost worth it? Much data can be obtained, but it can often be costly to gather and process it. Can one afford that and is it worth the cost for the benefit obtained?
Types of Quantities
Many different things can be quantified, although some are more obvious than others. Battles are often quantified by the numbers of soldiers fighting on each side, as well as by casualties and reparations. There is often commercial and trade data, such as how much wheat was produced in a kingdom, or taxes on trade. There is geographic data, such as how many square kilometers a kingdom ruled, how much rainfall that area received, and how long were trade routes. Finally, there is time data, such as how long certain historical persons lived, or how long their dynasties endured.
Types of Models
Examples of simple models that can be easily visualized are introduced: linear, quadratic, exponential growth, logistic, and efficiency-discounted exponential growth (EDEG). Simulation tools are briefly introduced, such as pen-on-paper, MS Excel, Ruby, Python, R, Wolfram Alpha, Processing, SVG, and graphical information systems (GIS).
Computational history is related to quantitative methods. Computational history is a subset of the digital humanities. Computational tools can be extremely useful for simulating, illustrating and visualizing certain aspects of history. That said, there should be a lot of thinking before computational techniques are brought into play. One can generate considerable data and even impressive graphics that don’t really mean anything, or are just plain incorrect or misleading. Remember the lessons of Merlin’s Apprentice!
Simulation tools are briefly introduced, such as pen-on-paper, MS Excel, Ruby, Python, R, Wolfram Alpha, Processing, SVG, and graphical information systems (GIS).
Creating And Using Models
Front exterior of Notre Dame cathedralA model is a hypothesis about how something exists or works. A model could be a small version of something large, such as a table top copy of the Notre Dame cathedral in Paris. Such a model would represent the large, most important features of the cathedral such as the towers and flying buttresses, and possibly representations of some of the more distinctive smaller features such as the stained glass windows.
A model can also be one or a set of mathematical equations that relate one quantity to another. For example, an equation could relate dynasty power to time. Such a model could be refines, such as to represent central versus regional power. We will primarily be concerned with creating quantitative models.
Creating a quantitative model is reallyeasy. Just relate two quantities to one other. For example, write the following equation:
\(quantity~of~Roman~empire~soldiers = year~in~CE\).
According that his model, the number of soldiers in the Roman empire is equal to the year in current era years. So in 100 CE (AD), the number of Roman imperial soldiers would be 100. This certainly isa model, because it produces results that can be compared with actual data. Historians evaluate the validity of such data, which may come from literary or archeological sources, and then can compare it with the model. A range of uncertainly is estimated. If the model produces a result that notwithin the range of uncertainty for the data, the model is rejected or revised. If the model fits within the range, then it is valid, although not necessarily absolutely correct (no model ever gets proved) or representative of ultimate truth. Generally, models that fit the data the best and are consistent with other valid models tend to be more accepted.
It often requires several attempts to get a valid model, and many attempts to obtain better ones. The above example concerning Roman soldiers can be quickly rejected using commonly available data.
Models can be improved by including additional terms. and changing parameters. For example, adding a baseline number of soldiers, and then a term that might take into account the growth of mercenaries might improve the accuracy of the model.
In history, often the available or accepted data is limited, and uncertainties may be high. So initially, a more pragmatic approach may be to propose models and explore to what extent they might be valid.
1) Students will “storyboard” their concert for a simulation.
2) Students will use a digital tool to create a historical simulation.
You can write a computer program to create a quantitative simulation. Ruby is a good language for this because it is easy to use and mathematically robust.