Keywords

1 Introduction

Our world is becoming increasingly complex, but how?. According to Moore’s law [1] the power of modern computers increases with an exponential rate. As with any exponential growth curve, when a certain tipping point is reached, growth becomes fast so quickly that it seems unbounded. This tipping has been reached for computing power. Thanks to the inventions like mobile Internet, cloud storage, cloud computing [2], and with the rise of AI technologies such as deep learning [3], much of this newly available power can finally be used by algorithms that utilize Big Data using GPUs to find solutions to previously seemingly intractable problems (e.g., image recognition, face detection, speech recognition, etc.).

However, it seems that many problems still remain unfeasible to be solved by algorithms alone. When it comes to questions of ethics, responsibility, or intimacy [4] humans and their elaborated and cognizant decision making are required. Similarly, for many other problems the combination of skills of humans and computers is considered to be the optimal strategy—the human-in-the-loop helps the computer to overcome its limitations, or vice versa [5]. The challenge for such settings is designing the human-computer interface to reduce “friction-loss” at the seam. For many problems efficient interfaces exist. The interaction of algorithm and human is already so pervasive that many users are even unaware of the algorithmic procedure and complexity running behind the scenes. A user that uses Google to find search results does not need to know about the Page-Rank algorithm or the personalization of search results based on complex tensor decomposition techniques.

The interaction of humans and algorithms thus brings visible and invisible complexity to the table that has deep consequences for almost all areas of human life. For example, it affects work by drastically changing requirements in jobs. Will future jobs be only available to workers with an understanding of data that can focus on monitoring complex data? It affects the private life by changing what is made available by social media to the users and by creeping into all economic decisions. If a financial scoring algorithm detects patterns of established social injustice and recommends not giving a poor family credit, does it perpetrate prejudice [6]? It affects political life by introducing algorithmic decisions into the political discourse on social media, in search, and in political ad targeting. They who have the data, have the voters? Some of these questions oversimplify the underlying problems of biased data, biased learning, and biased decision-making.

But what exactly is this new complexity? What are its reasons? And how can human factors research address these?

2 Complex Systems and Agent-Based Modeling

To understand where complexity comes from it is necessary to look at the underlying systemic structure of phenomena. In this article we investigate different levels of complexity, how they bring rise to emergent phenomena and look into models of understanding such phenomena. For this purpose we investigate two fields of application, that are heavily influences by algorithms. The first aspect is opinion forming in social media and the second aspect is the interaction of humans and algorithms in working environments.

2.1 Complexity and Chaotic Systems

It is necessary to understand where complexity arises, what causes it, and how it can be addressed. But first, we must differentiate complex from complicated. Both concepts relate to a system of components, but the terms address different aspects of the systems. The term complicated is inherently linked to human understanding. It refers to being hard to understand. A long differential equation is a good example for something that is complicated. However, it is not necessarily complex, as it may have only few little parts. Complexity, in contrast, refers to the number of sub-components and their interactions that lead to system behavior that is hard to predict. A complex system does not need to be complicated, and a complicated system does not need to be complex.

Complexity is often associated with both the number of the constituent parts of a system and the intricate interactions of those parts [7, 8]. The latter component yields another requirement for complexity—complex systems are dynamic. A static system with many parts is never truly complex, as it can be extensively studied. But, what makes complex problems so hard to solve?

Emergent Phenomena. When we study complex systems, it is not necessarily true that we will be able to derive the system behavior from an understanding of the parts of the system. The whole is more than the sum of its parts. By merely observing the behavior of its parts, we remain ignorant to the behavior of the system.

One complex system that can easily be observed in the real world is the strategy of a colony of ants finding food. Each ant shows only a very simple behavior. Each ant has no model of the world, yet it explores the world search for food, dropping pheromones while walking. When returning to the ant hill with food, it follows the pheromones dropped earlier, but this time increasing the amount of pheromone dropped. Every ant follows pheromone traces and thus reinforces the trail, when it carries food back to the hill, dropping pheromones along the way. The wind carries away all those pheromones that are not continuously reinforced. This process optimizes the ants’ path to food sources without any individual knowledge of the world and without the need for communication or control between ants. The relatively efficient food finding that results from this behavior, emerges from the interaction of ants, pheromones, food, and wind. This systemic behavior is utilized in ant colony algorithms [9] to solve complex problems with only local knowledge.

But, when looking at the inside of the “internal program” of the ant, only someone who is familiar with ant colony algorithms, would guess this emergent behavior; although it occurs consistently, robustly, and relatively error-free. While we can observe and understand the individual behavior quite well, it is this non-observability of emergence from the individual that makes understanding of such system hard.

Non-Linear Behavior. A linear system is a system that can be described using linear equations. The input into such a system linearly influences the output of the system. Typical descriptive sentences about linear systems are sentences such as “X is proportional to Y”. The more you add of “X” the more you get of “Y”.

The methods to study such systems typically are also linear models, such as multiple-linear regression models and correlation models. Such models are relatively easy to grasp, as they follow “the more of this, the more of that” logic. But, many systems are not as easily described. Some show non-linear behavior as for example interest rates in a bank account. An account with an interest rate of 10% is easily predicted over the course of 1 year—it increases about 10%. However, most humans fail in predicting and mentally comparing different interest rates (i.e. exponential growth) over longer periods of time [10]. How large is the difference of an account with 10% interest rate to an account with 12% interest rate? If you put 1,000$ into an account and let it sit over the course of 50 years, the first will yield approx. 100,000$ the latter almost 300,000$.

Systems as these can be described using non-linear equations (e.g. polynomials, exponential-functions). In non-linear systems small changes can have large effects, and vice versa, large changes can result in small effects. And while such systems are harder to understand, it gets even worse when feedback loops are part of the system.

Systems that include feedback loops, exhibit behavior that affects the behavior of the system itself. To adequately describe such systems it is necessary to utilize differential equations. Differential equations are equations that include the derivative of a function. For example, when calculating how long it would take for an object to fall: One must consider the acceleration due to gravity, the longer it falls, the faster it becomes. But, air-friction depends on the speed of the object. The faster it is, the stronger the counter-acting force of air resistance. So how long does it take for a sky-diver to fall from 500 meters? In this case this equation can be solved explicitly. But, when one increases the distance to 5,000 meters, the differences in air-density makes this problem intractable to analytical processes. In such cases numeric simulation procedures are required to estimate adequate solutions.

Chaotic Behavior. A system is said to behave chaotically when even only a slight difference in the initial conditions leads to completely different behavior [11], often described as the butterfly effect [12].Footnote 1 This does not mean that the system behaves randomly, it can be very deterministic, but still the outcome is hard to predict from similar inputs. Some of these systems show very different behavior for similar initial conditions, but predicting the outcome of two such states in the future is intractable. If the state remains in some close boundaries but is hard to predict, we call these systems strange attractors—most famously the Lorenz-Attractor.

A famous example for a chaotic system is a double-pendulum, where it is very hard to predict the position of the 2nd weight from its origin position (see Fig. 1). Not all complex systems behave chaotically and not all chaotic systems are complex—as the double-pendulum. Some complex systems have parameter configurations that behave chaotically, as system that seems to behave relatively stable can be destabilized by small changes if it an underlying chaotic system is assumed [13].

Fig. 1.
figure 1

Trajectory of the 2nd weight of a simulated double pendulum

Self Similarity and Levels of Observation. Complex systems often form from self-regulating processes [14]. The system produces new parts to compensate for changes in the environment, and all other parts react by adapting functions and interactions with other parts. This process leads to structures of self-similarity, where the whole reflects on the structure of its parts. Depending on the level of observation (micro-, meso-, macro-scale) other features are prominent, even though they are governed by the same few rules on the micro level. A consequence of this fractal nature are power-law distributions. Often such systems can not be described using normally distributed patterns, but require power-law distributions, as very few components play very important roles, and very many components play smaller roles in such systems. This makes understanding of such systems harder, as typical measures of describing data are meaningless in this context. A mean and a standard deviation have little meaning in a power-law distributions. Such effects are observed in species differentiation [15], network topologies [16], language construction [17] and many others.

2.2 Agent-Based Modeling

Since such systems are not easily described or understood analytically due to the aforementioned factors, one approach to understanding complex systems is simulation. When the rules of behavior of the individual parts are relatively simple, and the amount of parts and their interactions is still tractable, simulating the parts can provide means to understanding system behavior.

One approach for such simulations is agent-based modeling. In agent-based modeling, the individuals and the environment are modeled, their behavior is predicted from model parameters and output is visualized to facilitate understanding. The idea is that each individual agent autonomously decides what to do next and no centralized control unit influences macro-behavior. Such models provide a space between empirical methods, that derive knowledge from observation (induction), and theoretical models, that derive predictions from theory (deduction). Agent-based modeling is situated on middle ground as it utilizes theory and transforms it into a model, then executes the model to generate new empirical data, which can then be studied. The model is generative in nature. Furthermore, an agent-based model may allow for learning agents. In such cases each agent tries to create a model of the environment to improve its decisions. This adds another layer of complexity that can be modeled [18].

Because the data is generated “ab-initio” it is crucial that agent-based models are validated—either using verification of the model-code or using real-world data [19]. The challenge for agent-based models is to ensure that the model actually has relevance for real world settings and is not a meaningless abstraction of theory, with little value for real-world applications.

A large variety of tools exist supporting the development of agent-based models. The Wikipedia-page on agent-based modeling compares about 20 different frameworks. Most famous, due to its approachability is Netlogo [20]. Netlogo is a tool that allows creating agent-based models using a dialect of the Logo programming language, which was itself designed to teach kids the basics of programming. It adds both user interface components, visualization components, and analytical tools to the modeling process, allowing reproducible research that is easy to understand inside Netlogo (see Fig. 2). It further allows batch-running experiments to investigate not just how a single model behaves—which could be unstable—but also how a model behaves when changing parameters. One benefit of Netlogo is that it comes with a model library pre-installed, so that interested users can immediately start their own experiments.

Fig. 2.
figure 2

Preferential attachment model in Netlogo

3 Fields of Application and Model Types

Agent-based models come in as many varieties as one might imagine, depending on their level of sophistication, field of application, and their disciplinary background. When we want to understand the interaction of algorithms and human users, it is necessary to consider these options carefully. For this purpose we look at two different fields of application, where complexity arises in them and how agent-based modeling can be used to gain a deeper understanding of these fields.

3.1 Social Phenomena and Social Simulation

The first field of application is the field of social simulation. Social simulations try to increase the understanding of theories and data from sociology covering a broad range from questions such as friendship relations, inequality, cooperation behavior as well as questions from opinion forming in the political sphere. Here, we will focus on the latter.

Research on opinions and how they are spread has been conducted since the 1960 s investigating questions of opinion leadership [21]. In this context, theory differentiates between “leaders” and “followers”. Opinion leaders are the people in society that others seek out for the validation of their own opinions. Opinion leadership is topic dependent [22] and can be identified using standardized questionnaires [23]. The opinions of others are often changed in the process of deliberation [24], where the interaction with opinion heterogeneity affects opinion forming [25] and increases political awareness. When such deliberation processes are conducted online, as in social media, only little evidence points towards similar changes [26]. How is the communication in digital media different?

One theory from mass media communication by Noelle-Neumann [27], the theory of the spiral of silence, proposes that people who do not see their opinion on mass media, stop voicing their opinion, leading to further decline in the presence of their opinion in mass media. In social media, similar processes can be witnessed [28]. However, this is no simple analogy. Digital media such as facebook has algorithmic components that affect the structure of communication. For example, recommender systems [29] are used to recommend suitable content for users and keep them on the website. Users see and interact with content they like, and the recommender adjusts the content to what they like. A positive feedback loop that Pariser [30] called the filter bubble. First results indicate that the filter bubble impacts political opinion forming [31]. Both human behavior and algorithmic behavior lead to a reduction in diversity of exposure to opinions [32]. Although modern recommender systems try to overcome the filter bubble problematic [33], it is unclear how users compensate for this effect. In this context, many questions arise: Do all users compensate? Do only some compensate? How does this affect recommendation algorithms? How should a recommendation engine behave? Should it maximize profit? Should it maximize diversity?

Such questions become increasingly important with the rise of social bots [34] and fake news [35, 36]. When a certain group of people actively utilizes the biases in both recommendation systems and humans, influence on opinion forming can drastically be centralized to a few powerful few. More importantly, these settings pose threats to democratic order, by increasing the perception of polarization between different opinion groups.

Similar phenomena have been studied using agent-based modeling. In particular, phenomena such as homophily, network effects [37], polarization [38] forming and social differentiation [39] have all their counterpart agent-based models that help understand these phenomena. However, an integration of the algorithmic part is still missing and further no model exists that covers both micro and macro scales.

To fully understand the complexity of the interaction of human and algorithmic participants in digital communication, a model that unifies both social and information theoretic aspects is needed. Such a model would include both human participants, the underlying network structure, and a model of the algorithms governing digital communication (i.e. recommender system agents). The underlying network structure can also be generated from the agents using preferential attachment (as seen in Fig. 2 and demonstrated in [40]).

Modeling the User. For the user model, different model types can be considered, depending on what part of interaction is to be modeled. If the aim is to understand the spread of rational discourse in networks, a BDI-Model (Belief, Desire, Intent) of agents may be sufficient to model behavior of users [41, 42] and their personality. However, when the topic becomes irrational as in hate-speech, affect-based models of communication must be integrated into the agents. For this purpose different existing theories must be empirically evaluated and an approach to convert these to agent-based descriptions is needed. A typical theoretical description of such systems are structural equation models, where latent constructs can be depicted as internal state variables and paths can be modeled as probabilistic state transformations. However, in this aspect only very little previous work exists, and model transformation techniques are needed.

Modeling the Algorithm. The algorithm model is seemingly simpler. The most direct approach would be to use the actual underlying algorithm to simulate the algorithmic participant. However this is, for most cases, not very practical. Real world data would be needed. It is more fruitful to analyze the behavior of such algorithms and replicate behavior on a larger scale. A collaborative filtering algorithm could for example be replicated by generating artificial documents with a limited set of artificial tags, and then randomly assign tag preferences to user agents. To cosine-similarity could be used to model preferences for users and documents, and users are then repeatedly exposed to top-ten recommendations. The abstraction of the model comes from the limitation of articles and the artificial assignment of topics as tags. For such a model, the algorithm can rely on ground truth and deviations from optimal recommendations can be observed. Similar models could be generated for other algorithms such as content-based models, hybrid models and matrix or tensor-based approaches.

3.2 Cognitive Modeling for Human Factors Research

Another field of complex interaction of humans and algorithms is at work [43]. For example, when users interact with computers the underlying algorithms of computer programs are used implicitly and rarely with big complications. However, with the rise of artificial intelligence, Big Data and machine learning, an increasing amount of opaque algorithms are used in software and hardware solutions. Opaque in this case means that the algorithm adapts to the user and the environment, without the user necessarily noticing this adaptation. It is particularly opaque, if the systems adjusts to the behavior of other users as well and utilizes this knowledge for all users.

Decision Support Systems and Human Factors. One such setting is e.g. a decision support system that is used to analyze large amounts of data and guide the user to choose optimal solutions. Such systems are in use in the medical field, in logistics, in production, and even in programming environments. However, what if the decision that is suggested is not optimal? How do users cope with such situations [44]? Such settings arise, when uncommon data is present. Typically, rare events may lead to situations that the decision support system might be completely unaware of and thus false suggestions are made. The human user, who is not limited to data form previous settings, could extrapolate (or ask a colleague) what could cause such a situation, if s/he notices the deflective solution. The risk of blindly following suggested solutions is increased when the suggestion process becomes increasingly opaque. Further, the better the algorithms become the less trained human operators will become in solving these increasingly rare situations [45].

The interaction of such systems and human factors in this regard is often investigated using serious gaming environments [46]. Here, factors such as the decision correctness, the impact of UI interfaces, or environmental behavior can be experimentally modified to test the influence of these factors on human decision making [47]. Problematic for such experiments is that each experiment takes relatively long time, needs to be trained adequately by participants, and only few factors can be modified at a time. If a large amount of factors should be modified, no human sample could ever run multiple trials in all settings.

For such cases agent-based modeling can be used to simulate human operators—the human-in-the-loop. So-called cognitive agents derive their internal model from models of the cognitive sciences [48]. The models try to replicate mental organs and their interactions to produce output that is similar in nature as human cognition, learning, and behavior. The different cognitive architectures that are used in cognitive agent modeling are based on different models from cognitive neuroscience.

Cognitive Architectures. The most famous models in this regard are the ACT-R, SOAR and Clarion models, which differ in their approach. They are considered so-called cognitive architectures, which are both a model for human intelligence and the simulation of this intelligence.

The ACT-R architecture is based on declarative memory and procedural memory. Procedural rules are derived from declarative memory and perceptual input and encoded as symbolic representations [49]. The core architecture uses different buffers for goals, memory retrieval, visual perception, motor-procedures, and a central executive unit. A plethora of articles exist that utilize ACT-R to simulate perception, attention, memory, and learning [50]. These simulations match the behavior of human subjects to a large extent, so that even the evaluation of user interfaces using ACT-R has been successfully implemented.

The SOAR architecture [51] was developed to model general intelligence. SOAR-Agents try to behave as “rational” as possible, all knowledge that is applicable to a given situation is evaluated and utilized. For this purpose the SOAR architecture contains models of procedural memory and of working memory. Knowledge is procedurally defined as simple rules. For prediction SOAR uses a problem-space computational model. This means that it tries to model actions as transformations of problem-state. A problem state is the representation of the world and the evaluation of this state towards a certain goal. By applying actions (or rules) to this state, the agent can evaluate whether the action brings the agent closer to the goal or not. With each transformation deeper levels of “thinking-ahead” can be realized for each agent. Soar agents can be defined as having mutual knowledge and individual knowledge aspects, to simulate team behavior and cooperation. This aspect has helped SOAR to be used in many game-based AI scenarios. Opponents in computer games or military simulations can cooperate as teams using team strategies but nevertheless require an individual perception and action [52].

The Clarion architecture was designed to reflect on two modes of cognition [53]. It has both explicit cognition, such as planning how to solve a problem, and implicit cognition, such as assessing the danger in a situation holistically. Behavior is then generated from four subsystems. The action centered subsystem stores knowledge about internal and external actions. The Non-action centered subsystem stores knowledge about the world in general. Both systems have explicit and implicit representations. The motivational subsystem derives actions from basic and higher needs (similar to Maslow), which can be formulated as rules. From these needs the evaluation of actions (internal and external) is conducted and selected in the meta-cognitive subsystem. The latter is used to adapt goals in accordance with basic and derived higher needs with knowledge of the world. Clarion is unique, as it allows agents to modify their own goals with respect to their needs. Clarion has successfully been used to model the acquisition of cognitive skills and complex sequential decision making [54].

4 Discussion

We have seen that complexity arises from the interaction of human and algorithmic participants in various fields of application. In social interactions complexity arises from the underlying social network structure and increases when algorithmic participants are included in the picture. In working environments complexity arises from the application of “smart technologies” such as AI, machine learning, etc., in working processes. Here, the complexity of the interaction of humans and algorithms stems from the opacity of the inner-workings of the algorithms—a lack of understandable AI. Although one could argue, that it rather stems from the opacity of the inner-workings of human decision making as well. In working scenarios, AI is typically used to simplify hard problems. While this is successful most of the time, this approach becomes more complex, when the AI fails or produces non-optimal output. The interaction of humans and algorithms have in both cases not been studied extensively to ensure a deep understanding of the interaction.

For both settings, the utilization of agent-based modeling seems to provide access to a simulative validation of theories of interaction between humans and algorithms. The selection of the right modeling approach and validation with empirical data is critical for an effective use of agent-based models. Depending on the level of study, different tools and modeling techniques are required. Future work will have to focus on connecting micro-, meso- and macro-levels, while at the same time keeping computational performance at a reasonable level.

Finally, one must keep in mind that modeling a system with chaotic behavior can be modeled using agent-based modeling. However, the insights from these models are hard to translate to real-world applications. It could be the case that a models’ only insight is that the underlying system is chaotic in nature. Every slight change in configuration would lead to drastically different outcomes. The benefit of such insight would rather be in evaluating traditional approaches of understanding such a system. Modeling such a system using traditional static linear models can be considered futile, if inherent chaotic properties are discovered.

The core benefit of simulation and agent-based modeling in human factors research is to identify configurations that are probabilistic in nature, that have stable states, and that have stabilizing environmental influences. Knowing such influences can be informative for policy making, political decision making and the design of “smart technologies”. This knowledge should ensure that the intended goals are at least probabilistically in line with the expected outcomes of the system design.