A Virtual Laboratory for the Study of History and Cultural Dynamics

This article presents a Virtual Laboratory that enables the researcher to try hypothesis and confirm data analysis about different historical processes and cultural dynamics. This Virtual Cultural Laboratory (VCL) is developed using agent-based modeling technology. Individuals' tendencies and preferences as well as the behavior of cultural objects in the transformation of cultural information are taken into consideration. In addition, the effect of local interactions at different scales over time and space is visualized through the VCL interface. Information repositories, cultural items, borders, population size, individual' tendencies and other features are determined by the user. Finally, the researcher can also isolate specific factors whose effect on the global system might be of interest to the researcher. All the code can be found at http://projects.cultureplex.ca/


Modeling Cultural Dynamics
1.1 This work derives from the necessity to undertake studies of cultural dynamics that include cultural actions at a local level as well as any successive transformations that any informational unit or cultural product undergoes in a communicative chain.

1.2
We have created a Virtual Cultural Laboratory (VCL) using agent-based computational modeling that helps study how human culture is transformed and transmitted through acts of learning, imitation, and the creation of cultural objects as they might be experienced by any human being from birth to death, independently of the specific community to which the cultural object or individual belongs.Equally as important is the broader context in which the local space is subsumed by processes better explained at a population level, by numerous cultural groups, or that involve the movement of people or cultural objects between different ecosystems [1] .Furthermore, all these processes-as much the initial production as the final use-will repeat time and time again through the years, allowing for, in each repetition, the almost inevitable possibility of a transformation, however minute, of the cultural information being copied and moving.
1.3 A better understanding of the laws that govern these transformations of cultural information at the local level is as crucial as understanding what happens when both elements, the local and the mobile, activate in cases such as migrations, colonisations, or massive displacements of symbolic content from one culture to another.Furthermore, and from a theoretical point of view, a model of cultural dynamics must manage the concepts and tools that enable the researcher to connect what happens culturally when a human being interacts with a book, a sonata, a painting, or a library, but also that what happens at a larger temporal or geographical scale.

1.4
Historians and cultural researchers can apply this Virtual Laboratory to different scenarios, in most of cases without the need to implement changes in the VCL Engine.In our case, the need to create a theoretical model of cultural dynamics in which the individuals' behaviour plays a strong role derives from the many cultural communities involved and the different scales used to study the spread of the baroque culture from Europe to America at the beginning of the Early Modern Period.As we had to describe baroque patterns in order to explain their origins, evolution, transmission, and effectiveness, we required the development of a model that rationalized the cultural and symbolic movements between Europe and Latin America, as well as the transformations and mutations that cultural objects undergo in their successive interactions with the variety of ecosystems and groups through which they pass on their journeys.

1.5
It is important to note that, in general terms, the VCL addresses three different issues that are relevant for the historian and the cultural researcher.First, the VCL offers a platform to check on the effects of historical events and processes about which the researcher has comprehensive sets of data.Having the data lets the researcher to refine the model he is using to explain the given cultural and historic processes, as both data and model have to show a mutually coherent behaviour.Second, when the researcher does not have good data about the phenomena he is studying, the VCL helps test the hypotheses and the assumptions used by the historian, and double-check the results of the simulation with the logic of those hypotheses.Third, the researcher can take advantage of the VCL by rehearsing different what-if scenarios that he knows did not happen, but whose results would be important to shed light into the context in which actual events took place.

1.6
In general terms and for this research, we consider culture as informative, representational, and evolutionary.Therefore, we adopt the approach of Richerson and Boyd, for whom culture is "information capable of affecting individuals' behaviour that they acquire from other members of to their species through teaching, imitation, and other forms of social transmission" (Richerson & Boyd 2006, p. 5), which also allows us to incorporate the transitive character of information as described by Jan Kahre ("information is always information about something" (Kahre 2002, p. 3)), since transitivity engenders the intentional and attentional dimensions exclusive to human culture, as studied by Tomasello [2] .A cultural system is "defined according to its capacity and the forms used to represent the information it needs to process in order to adapt" (Suárez 2007, pp.38-39), that is, it is in its representational abilities and products at the individual level that the main preferences and tendencies are manifest.In addition, the dynamics of communication will require that a cultural system develops adequate behaviours for the control of the informational content flowing in the community so that its very identity as a group is preserved.Behaviours connecting the representation and domination of systemic information take place at the individuals' level, but its effects will articulate both and will emerge at the population level, that is, when we see the system as a community.

1.7
In order to develop this model of cultural analysis, we have opted for agent-based computational modeling, since these types of tools allow us to build abstract models that can adapt to different "real" situations, taking into account issues such as scalability and increasingly complex worlds and behaviours.Agent-based computational modeling has been used within the social sciences starting with the works of Epstein and  Axtell (1996) on "sugarscape" and more recently in what science has denominated "generative social science", such as Epstein's modelling of the Anasazi culture complex (Epstein 2006, pp.7-8).Epstein's work defends the use of agent-based computational models because spatially they are very "powerful in representing distributed systems of heterogeneous autonomous actors with bounded information and computing capacity who interact locally" (Epstein 2006, p. 6).In addition, for Epstein, modeling represents a valid instrument for empirical research as well as for responding to certain interdisciplinary questions, or determining rules of individual behaviour to macroscopic regularities, or to proving the sensitivity of theories (Epstein 2006, pp.38-39).
1.8 Within the humanities, agent-based computational modeling is infrequent at best, given the reticence of a significant portion of the humanistic community to technology, and the doubts [of many] as to whether the complex behaviour of humans is even open to modelling through the reduction of our behaviour to a few fundamental elements, that is to say, those that define us as human [3] .In light of this observation, we hasten to add that models do not supplant reality and that in all modelling, as with all abstractions, a reduction in the level of granularity in benefit of a greater extensibility of postulates and their consequences always takes place.Consequently, the task of the investigator is to evaluate, at great length, the intellectual benefits of a model designed for a specific case, that is, to balance the reduction of complexity to that of real life. 1.9 In our case, the interest resides, indeed, in reaching that balance between modeling individual behaviours within the scope of communication and stored information, and the relations between these individual behaviours and the communities or cultures to which they belong.In this sense, computational modeling of cultural processes is particularly promising for the study of cultural fusions, military conquests by foreign powers, migratory processes, enterprise expansions, and fusions in a global space and, in general, the impact of large scale events on cultural evolution.In the specific case of The Hispanic Baroque Project, the core project deals with the cultural mergers, transmission and adaptation of baroque patterns of culture [4] in the Hispanic world of the Early Modern Age.Modeling with computer-based agents is particularly useful in understanding the major clash in Modern History (Diamond 1997, p. 68), the encounter between America and Europe, because of the amount of information available about the events involved in this process, the extreme diversity of cultures impacted, and the fact that a process of long-durée over several centuries is involved [5] .All these factors make the Hispanic Baroque particularly well-suited to this type of modelling; however, as mentioned above, the VCL aims at serving a wider audience of historians and humanists interested in uncovering the relations between the creative behaviour of cultural agents and the cultural communities and traditions they inhabit and change in their daily interactions.
1.10 Two elements are relevant for this approach.First, the conceptualization of a cultural area [6] in terms of "a dynamic system of culture […] that in cultural terms, develops a series of common representative codes, the so-called baroque style in art, music, and literature, with variations in its content and diachronic appearances around the middle of the 16 th Century and the end of the 18 th Century.The cultural system of the Hispanic Baroque would, therefore, be the result of the encounter between the cultural formations that previously existed in America and Spain, and it would constitute the first complex and transcontinental system of modernity, a system that would also develop the first model of European colonization" (Suárez 2007, p.38).Secondly, the definition of a culture from its dynamic structure will lead us to its characterization as a system, in this case, as a complex system, "those that are formed of a great number of parts that have multiple interactions between them" (Simon 1996, pp.183-184), are systems of adaptation and, as such, have many levels of organization in which there are agents that serve as the foundation for the agents in higher levels (Holland 1988, pp. 117-118).
1.11 Taking the baroque as a cultural system enables us to observe individual works and their interactions with the human beings who create, contemplate and use them, to examine the emergence of "cultural" patterns from these interactions, and to determine the diverse states of the resulting culture.The analysis of these dynamics over time and in a controlled space by means of a computational agent-based model would reveal the adaptive capacity as well as bifurcations of that culture, its reliefs, and, possibly the limits of its elasticity and breakthrough lines (Suárez 2008, pp.61-62).In short, the study of a cultural system at multiple scales is the fundamental benefit of this methodology.Although baroque culture is the main target of the research program we are working on, in this article we do not introduce any specific application of the methodology and engine of the VCL to that scenario.Here, we focus on the methodology and the tool, and in future publications we will show in detailed terms how they can be used in specific cases.
1.12 In the balance of this article we describe the elements and behaviours of the agents in our model.This is followed by an explanation of the steps a researcher must follow in order to create a virtual cultural model (including location of the agents, description of the physical world in which they coexist, level of preferences, existence and place of the borders, etc., the characteristics of the agents, and including the visualization of the information panel that executes the information).Finally, we present three sample cases that highlight the potential of this type of simulation for the understanding of dynamic virtual environments.
Our Model: Agents, Messages, and Behaviours 2.1 Our model attempts to reflect the transformations that information undergoes when exchanged among individuals.For this purpose, we define information by the messages that agents carry in their communicative and learning processes.We are also interested in the effects of these exchanges at the population level.In this section we define what a message is in our model, what types of agents we have incorporated in the model, and how the agents behave.For a more detailed description on the definitions and how they have been modelled, see the appendix at the end of the paper.

Messages 2.2
The model studies the behaviour in the evolution of information as it is transmitted and transformed by diverse types of agents in the communicative process.In our case, information takes the form of messages that can be communicated among agents, where each message is a unit of information that can be stored in the memory of an agent and/or exchanged with other agents.

Agents 2.3
An agent is an autonomous entity which observes and acts upon an environment according to the information it carries and receives.This model includes several sets of agents who interact with each other and have the capacity to store, transform, and communicate messages.Here we define the essential characteristics of each agent set: 1. Individuals: This agent set is designed to represent members of social groups.They are mobile, meaning they may move throughout the world [7] , carry a set of messages that can be transmitted to other agents they interact with, have a specific emission frequency [8] , and use preferences and a variable range of behaviours to modify the messages they transmit and to accept, or not, the messages from other agents.These preferences can adapt dynamically to the messages received (providing a type of learning that will modify his future behaviour).It must be noted that the memory of this type of agents is limited, such that if an individual has a full memory, when it receives a new message, the oldest message is lost or discarded [9] .2. Repositories: This agent set is different from the previous set in that its members are fixed or immobile.Repositories can communicate with, and store messages from, individuals that interact with them.
They are also provided with preferences and a tolerance feature that guide their behaviour with respect to the acceptance of a message, but with no learning process modifying the preferences.
Repositories posses a limited storage capacity.To some extent, they act as libraries: if a message arrives, the repository consults its preferences and either stores or rejects the message accordingly.3. Cultural Items: These are the simplest agent set within the model, but perhaps one of the most influential in the global behaviour of the system.In addition to being another type of immobile agents, cultural items do not have reception capabilities and possess just one message in their memory; therefore cultural items always emit the same information and cannot modify their message throughout the execution of the model.They share with individual agents an emission frequency feature such that in their encounters with other agents, they may or may not communicate a message.To some extent, these agents represent the cultural objects whose informative content, in principle, does not change throughout time, but may be susceptible to different interpretations according to the historical moment or the social group that interacts with them (example of cultural items would include a book, a work of art, a ruin of old civilizations, a mountain, etc.).
Behaviours: reception, memory, learning and emission

2.4
Communication between all agent sets takes place when two of them occupy the same vicinity ( patch, in the terminology of NetLogo, the technology that is behind this tool).Since individuals are the only mobile agents, the model does not allow for the communication of messages between repositories, cultural items, or between members of these agent sets; communication always takes place using an individual as the intermediary (and his interpretation as basic dynamics).Notwithstanding, given their respective characteristics, each type of agent set has a range of possible behaviours that affect how they modify the messages they transmit.
1. Cultural Items: As we note above, cultural items do not receive information and always emit the same message.Thus we do not expect a change in their behaviour beyond that necessary to complete their assigned tasks: to recognize when an individual is in its proximity, and based on its emission frequency, to transmit its message to the individual.2. Repositories: The repositories possess preferences that allow them to decide about messages they receive.Once an individual sends a message to a repository, the latter follows criteria that depend as much on the message as on the preferences and tolerance of the repository to store or reject the message.If the message does not satisfy the criteria imposed by the preferences of the repository, it is rejected.This process ensures that a repository's behaviour simulates specialization in a specific type of information (such as paintings, books, music, etc.); they do not try to retain information from all domains across the culture in which they exist.The memory of the repositories is sorted by time, what means that the position every message occupies on this memory depends on the time at which the message arrives to it, establishing a kind of relative antiquity of the message in the repository.
The storage capacity of the repositories could not exceed a prefixed percentage of the global amount of messages in the world.If this number surpasses the amount allowed then, based on the characteristics of the repository, one of its messages is selected for elimination.By using what we call oblivion curves, the user can define which part of the memory might be more prone to oblivion, depending on the moment in which their messages were stored.In the next section we show how to define this curve and different ways to use it.This technique allows us to construct our model simulating the normal operating procedure in libraries and museums [10] .3. Individuals: This agent set is assumed to exhibit a more complex behaviour with respect to the treatment of information, and therefore they will become the heart of any process of cultural dynamic.In order to enrich their interactions, three possible behaviours have been defined for individuals as both emitters and receivers of information: Creative, Dominant and Passive.Creative agents are attentionally engaged with the information they receive and they do so in a creative way that results in significant changes in the information content and in the individuals.Dominant agents only exercise the minimum attention possible to be able to control the information they receive by adapting it to their own informational preferences.Finally, Passive agents do not sufficiently engage with the information they encounter in their ecosystems.

2.5
These behaviours represent three "frozen" states in the possible range of behaviours that agents can actually have.It is not that agents are exclusively passive or dominant or creative, but that the way they behave for each communication exchange results from a combination of the information being received and the attention the subject is able to devote to that information according to cognitive ability, the type of information and strength of the sender, and other factors difficult to quantify.Works that have analyzed the information society have insisted on the idea that digital media, the technological revolution, and the social and economic implications of these processes have shown how this "economy of attention" [11] results from communication exchanges.What we propose here is that the intentionality of the subject with respect to culture-previously defined as information that affects individual's behaviours-can be described as a result of the confluence of the information received and the attention lent to it by the agent.Thus, our classification of agents' behaviours as passive -who absorb the information they are exposed to-dominant -who reject that information as foreign-and creative -who deal with it according to their own interests and preferences-intends to reflect the ways in which that confluence of information and attention occurs.In this respect, Schmajuk et al. have proposed that the attentional-associative model of conditioning can describe certain aspects of the creative process since it is assumed that "the attention to novel stimuli is increased in creative people" (92) [12] .

2.6
These three behaviours reflect the intentionality of the individual with respect to information according to their own attentional state and, by extension, they also reflect their intentionality with respect to the other agent with which it interacts when receiving or emitting a message.Hence, these behaviours will occur both at the moment of modifying and sending a message to another agent and when deciding to accept or not a message sent by another agent.

Emission:
The emitting behaviour of an individual agent takes one of the following forms: In the case of Dominant behaviours, if the message an individual is going to transmit satisfies its preferences, then the message is emitted without changes; alternatively, if the message does not satisfy its preferences, the agent modifies the message "at the moment of transmission," so that the message adapts, sufficiently, to its own preferences; In the case of Creative behaviours, and independently of the characteristics of the message, the message is modified following the preferences of the individual, in such a way that the individual adds part of its preferences to the content of the message.
In the case of Passive behaviours, the message is emitted without modification, independent of the preferences of the owner.

2.8
In order to ensure that an individual's behaviour does not simply repeat itself, but can express different behaviours, we have incorporated a tendency property for each individual that governs the intensity of each behaviour.This ensures that an individual who exhibits a highly dominante tendency may in some instances behave as a creative or passive individual.

2.9
In Figure 1, we show two examples of individuals' tendency behaviours, where the value of each possible behaviour is proportional to the proximity to the corresponding vertex.2.11 Learning: Our model also introduces a learning factor for individuals such that the information each individual receives in the form of a message affects him and results in some form of adaptation to the informative surroundings.This "learning" is defined as a transformation in the individual's preferences as a result of its interaction with the information encoded in the received message.The individual will have "learned" by the time it must transmit the next message, which will be transformed according to the "new" preference in the agent.This factor implies that an individual who does not accept messages will not be able to learn regardless of its behavioural tendency.Differences in learning rates between individuals are anticipated to be an extremely useful aspect of this model when studying the performance of individuals from different worlds or cultures.They will also be important when determining how a higher learning rate might offer advantages in terms of retaining a specific cultural group's own information in a situation of contact with other groups.
2.12 It is important to underscore that the intentionality of individuals always occurs at the local level, since this is where the human being pronounces itself as cultural; that is to say, this is the space in which the human being imagines the intentionality-the ability of an individual to represent the intentions of other human beings present in its surroundings according to the information it receives and the attention captured by the information-of other human beings.This does not mean that cultural exchanges take place exclusively or necessarily with neighbouring individuals at a local level, rather that the exchange between neighbours as communicative partners becomes symbolic, cultural, and therefore human.The extent of the space necessary to maintain the characteristics of a culture's scope is something that we hope to learn by means of the extensive use of new information technologies in cultural practices.Indeed, technologies of culture-that is, the specifications a cultural groups uses in order to reproduce and transmit its own collective knowledge -play a decisive role in how individuals establish their interaction with symbolic objects distant in space and time.As cultural information is stored both in human brains and "encoded in some material object" (Richerson 2006, pp.61-62).We hope to better understand the evolutionary importance of objects and cultural symbols in the context of human societies by finding put how they shape up the content of the information exchanged through them and, consequently, the behaviours of agents using them.Taking into account these ideas, the behaviours specified in our model can be applied as much to communities in geographic proximity as to the virtual communities created within a technological infrastructure such as social networks.
2.13 Whereas the preferences and degrees of intentionality are fundamental to understanding the interaction between individuals and messages at the local level-they take part directly as much in the modification of the messages as, indirectly, in the modifications that the agents undergo-this feature is mitigated when we consider the behaviour that emerges from the circulation of the information at the population level.This does not mean that preferences and intentionality are not important; rather that they serve to pay attention to the individual's freedom to transform and act on the received information as well as to the effects of intentionality in the distribution of the information on a greater scale, communitarian, or intercultural.Thus, our research questions can be transformed into the following forms: How elastic is a culture?How efficient is a system's cultural communication?Does the symbolic infrastructure of a given community allow for the self-organization of diverse and numerous human groups over a larger space and longer time period?How effective is one's own culture in helping one relate to those different and/or distant from one's self?
2.14 As we have seen, the individual's learning process is described as a function of the agents' tendency and preferences toward the different characteristics of the messages with which it interacts.Notwithstanding, the broadcast of information by the agents always implies a change in the message at the moment of emission.Here, we are assuming that our units of information, the messages, do not behave like memes, but that they behave like mental representations.Therefore, they are non-discrete and contribute to a process of cultural transmission that is "highly inaccurate" (Heinrich 2002), but not less effective in its ability to make communities emerge as a result of constant communicative exchanges.
The Virtual Cultural Laboratory: Editing Worlds 3.1 Our Virtual Cultural Laboratory (VCL) is created in NetLogo ( Wilensky 1999), a simple programming language (based on Logo) well-suited to the modeling and simulation of phenomena in which many individuals interact, as in phenomena that occur in nature, social communities, or many areas of mathematics and physics.NetLogo incorporates the tools necessary to model complex systems as they evolve over time; it is capable of modeling hundreds or thousands of individuals (people, bacteria, insects, organizations, nodes of a graph, etc.) that interact with each other and with their environments.In short, NetLogo lets us to explore local interactions between individuals and also macroscopic patterns that emerge as a result of these microscopic interactions.The program is intuitive and allows programmers to create models with relative ease in order to verify hypotheses on decentralized systems (Gilbert 2008: 49).

3.2
The VCL combines three tools that work in a cooperative manner: a world editor that lets the user define the global features of the environment; an engine that executes and visualizes in real time the cultural dynamics of a defined world; and a tool that allows both to reproduce and to analyze the dynamics stored by the engine.The protocol followed by a user of our virtual laboratory consists of three steps.In the first step, the researcher/user employs an editor to define the world she wishes to simulate (this includes characteristics such as geographic areas and agent sets and their properties).In the second, after these definitions are loaded into the engine, the user runs the simulation, generating diverse visualizations that represent the dynamics of the virtual world as defined by the initial settings; in this step, the system will also allow to store the data from this dynamics.Lastly, the user can analyze and compare the several shots stored in the former step, reproducing the key instants in the evolution of the simulation.In section 3, we will detail the specifics of the editor of worlds, and in section 4 we will explain how to use the engine and the visualization tools.

3.3
Figure 2 shows the primary editor interface where all the controls are located such that they are easily accessible from the same screen.The controls are: Views Selector; Elements Tools; Groups Definitions; Repositories and Cultural Items Tools; Area Definition Tools; File Controls; Summary.There are several controls in this interface to define some statistical properties of the model.This means that these properties are not defined for each individual, but rather as statistical distributions for an agent set.For example, the learning factor of a group of individuals is not a characteristic defined for every individual, but it corresponds to a group function, approximated by a Gaussian distribution of the diverse values of the learning factor for the individuals in the group.The statistical properties of a distribution may be specified using a pair of sliders labelled 'mean' and 'variance'.Once set, the View button displays the specified curves in the Distribution plot.

3.5
Figure 3 illustrates how these parameters affect the distributions generated with pairs of values (mean = 0,1; variance = 0,08) and (mean = 0,66, variance = 0,16).As the elements of the world are defined, they are generated in the Areas View in graphic form: the Groups of Individuals are placed in their selected areas and assigned the user-defined color; all Repositories are represented as brown buildings; and Cultural Items are depicted as towers.
3. Area Definition Tools (Figure 6): These tools allow the user to assign colors to different areas of the physical world.The steps needed to define an area are: (1) select a Pen Size and Area Color and press the Draw Area button; (2) while this button is activated the user can draw directly over a section of the world to mark it with the selected color.
There are two colors-black and grey, respectively-reserved in the model and associated with specific areas and that allow the researcher to insert a Wall or Border.When an area of the world is painted black, symbolizing a Wall, Individuals will be prevented from moving across the area.If an area is designated as a Border, access by individuals to those zones is controlled directly by the engine, meaning the user can open or close those zones at will.To create a new element, the user just needs to click on "Create" and follow the directions provided by the system: in all cases, the user must enter an ID for the element to be created, select its geographic location, and then provide the messages/preferences associated to it.To delete one of the elements, the user just presses on "Remove" and, while this button is still pressed, clicks on the element(s) to be deleted.If the user wants to select an element and load its properties again, s/he will press on "Select" and then click on the chosen element.Once the element has been selected, the user can modify any of its properties and then press on "Update" to store the changes in the element properties.The "Unselect" button allows to deselect the previously selected element.While pressing on "Move" the user can change the location of any of the elements actually in the world.
5. Repositories and Cultural Items Definition Zone (Figure 8): The properties of repositories and cultural Items can be set by using these controls after creating the agent with the Element Tools.The only property for Cultural Items the user can modify is the frequency of emission, a value that indicates the probability to emit a message in every tick of the model (in addition to location and the message that will constantly issue).In the case of a Repository, the user can define its Tolerance and the distribution parameters associated to its "Oblivion Curve" (as we indicate above, this is one of the properties to be defined by a ( mean, variance) pair).In addition, a slider allows the user to decide the maximum percentage of messages that the current Repository will be able to store during the execution of the model.

Figure 8. Repositories and Cultural Items zone
Remember that it is necessary to select the agent before when modifying its properties and after to update these properties in order to store the modification.
6. Groups Definition Zone (Figure 9): The editor labels as a Group any set of individuals that share common characteristics ( memory size, reception tendency, learning factor, behaviour, initial area, initial messages, etc.).These characteristics may serve to define individuals with different behaviours within a single cultural group or to define different cultures in the physical world.The general properties of a group (not individuals) are: population (controlled by means of a slider), ID-Group (as means to identify all the individuals in the group, and provided during the creation process), Color, Max-Memory-Size, Initial Area (to provide an area where individuals from the group are originally distributed, and identified by the color of the area) and Forbidden Area (an area that the individuals from the group may not pass through, it is defined as any other area, but unlike the Walls or Borders, these areas depend exclusively on the group).

Figure 9. Groups definition zone
The Max-memory-size determines the maximum memory capacity of each Individual within a group, but the exact memory value for each individual is derived from the normal distribution provided by the pair ( Mean-memory, variance-memory).The other individuals' properties that are defined by a normal distribution are Reception Tendency (which along with the preferences and tendency of each individual will determine the individual's behaviour-Passive, Dominant or Creative-when receiving a message), the Frequency Activity (this value determines the probability that the individual emits a message to another agent in the same patch at every tick), and Learning Factor.
As previously stipulated, individuals behave according to three predetermined patterns (Passive, Dominant or Creative).The tendency of the individual determines the proportion of times that an individual will behave as one of these three patterns.This tendency is defined probabilistically by means of sliders similar to that used to specify the normal distribution curves, but in this case it is depicted as a triangle with two-dimensional distribution (see Figure 1).The proximity of the point to each of the vertices of the triangle indicates the propensity to exhibit a specific behaviour (the closer to a vertex, the more prone to that behaviour type).Two sliders allow the user to position the center of the distribution (bi-dimensional mean) as a point in the triangle and a third slider sets the variance.Figure 10 shows an example of a distribution of behaviours that indicates a greater individual propensity to behave in a Dominant or Passive way, and a smaller propensity to behave in a Dominant manner.

Figure 10. Example of distribution of behaviours
To add the initial distribution of messages/preferences for one of the groups, the user must first select the goal group in the Area View, then change the view to see Messages/Preferences, and finally press the Add button.While this is active the user may draw in the messages/preferences associated with that group (see Figure 11).
http://jasss.soc.surrey.ac.uk/14/4/19.html5 12/10/2015 Figure 12.CAPTION GOES HERE 8. Summary (Figure 13): This zone shows data about the present state of the world as it is been defined (a summary of the diverse agent groups that have been created to the moment along with some of their basic properties).Each group of Individuals created, each Repository, and each Cultural Item is assigned a consecutive identifying index number (Idx).Once the world has been defined, the second tool, the VCL engine, is used to simulate the resulting dynamics of the interactions among the diverse defined agents.

4.2
Again, the purpose here is to offer the researcher an easy-to-use tool that displays on a single screen all the information related to the evolution of the model.Figure 14 shows a screenshot of the control panel, where we can find six functional zones: http://jasss.soc.surrey.ac.uk/14/4/19.html6 12/10/2015   The World View is the default setting, it shows the geographic zones and sets of existing agents in the world, as well as their movement and interactions while the simulation is running (Figure 18, where we show two different sample worlds, showing borders and paths connecting different areas).
Figure 18.Two different worlds The agent preferences are found by selecting the Preferences View or Preferences (Stat) View on the selector.The preferences are represented as points in a 2D space (see appendix for an explanation) with a color that corresponds to the holder of this preference (Figure 19).In the first option every preference is shown as a separate point in the 2D space, in the second option only a circle expressing the mean and variance of the preferences of the group is shown (also the preferences of the repositories are shown in the space).
Figure 19.Preferences view The Messages View and Messages (Stat) View provide an updated view in real time of the information space (the messages that are actually in the world).They are coloured according to its owner and, as preferences, represented as points in a 2D space.The messages associated with the Repositories are shown in brown (Figure 20).

Figure 20. Messages view
The Culture View provides the most complex visualization of all the views.Because the messages change with each interaction, we found incomplete to only report individual messages in the informative content of individual agents; consequently, we decided that an important informational aspect of the model requires the highlighting of the zones of the informative space that are occupied most frequently by a set of messages.In order to render this visualization we have implemented the following procedure: the informative space is a squared lattice formed by cells of equal size, and at each unit of time the messages deposit in their location a concentration of cultural content (similar to a chemical deposit) that accumulates in this cell.To ensure that the effect of a message on a given cell is not permanent, the accumulation of cultural content decreases over time, which causes the amount of cultural information also to diminish over time.This mechanism permits the researcher to measure the amount of information in each cell, and thereby identifies which zones of the informative space are occupied most frequently by the messages.Hence, frequently occupied zones represent the cultural information that stays in the population while time passes by.
http://jasss.soc.surrey.ac.uk/14/4/19.html8 12/10/2015 Furthermore, through the "Color-messages-in-Culture-View" button from the Actions & Parameters, the engine permits the researcher to group messages according to different criteria: a) "By Group", according to the set of agents the message belongs to; b) "By Original Area", according the original area of its carriers; c) "By owner color", in the case that two or more groups exist with the same ID and they can't be differentiate "By Group", but it can be done by colors (it is a way to create sub-groups inside a main bigger group).It is important to remember that all three groupings are acting on the same set of messages, therefore the set of affected cells is also the same; this means that a change in the grouping criterion will be mainly reflected as a change of cell color distribution on the shape, but not on the form of the shape itself (Figure 21).The slider labelled as Bright, located under the View window, allows the user to regulate the brightness of the cells affected in the Culture View.This change does not affect the accumulated values of cultural content; its sole purpose is to aid in the visualization of the Culture view.Additionally, if the researcher wishes to prevent the messages on the repositories from affecting the cultural representation of the individuals, the model provides a switch control that hides these messages in this visualization in Actions & Parameters (see below).
4. Actions & Parameters (Figure 22): This zone contains some controls that can be used while the simulation is being executed and that affect the world behavior as well as how the information is been presented.With the "Open" and "Close" buttons the user can open/close the global borders (delimited by the grey color).If an agent stands in a border zone during the closing of borders, it will be moved to a near-by, but permitted, area.With the "Movement" control the user will decide what the agents' movement will be like.If the "Follow-paths" option is active, the agents will be randomly moved following those positions in which they do not alter their orientation; by doing this the likelihood of the agents getting straight lines is higher and the system will be able to better work with pathways that connect separated areas (as shown in Fig. 18); otherwise, the movement will be completely random (faster, but more inefficient in the case of narrow passage ways).The "Make Snapshot" button allows getting an instant shot of the world that, along with other shots taken throughout the simulation, can be exported to the analysis tool and be reproduced as the key instants in the evolution of the dynamics of the simulation.The effect of "Show-Repositories-in-Graph?" parameter is explained in the next paragraph.Group" and "Cultural Dynamics by Owner Color") show the dynamics of the total amount of messages in the world grouped by the selected criteria.The options "Preferences Distances" and "Messages Distances" show the evolution of relative distances between pairs of means of groups' preferences/messages and repositories.The options "Preferences Variance" and "Messages Variance" show the evolution of variance values of preferences/messages for the same elements.By changing the parameter "Show-Repositories-in-Graph?" we can decide if the information from repositories is included or not in the graphs.6. Agenda (Figure 25): Formally, an "Agenda" is a set of instructions that the engine can execute in real time in order to carry out repetitive actions throughout the execution.The engine comes with a very basic programming language to generate scripts that will handle the execution of the model in the case of having activated the "Active-Agenda?"control.The "Load" button allows loading a text file with the script to be executed, whereas the "Update" button will update the script in memory in case the user has changed the original one through the "Change" action button.Among other actions, this script language allows taking shots of the evolution of the system at different moments as well as exporting all these shots to the selected file ("Snapshot-to-file') in an automatic way.
Figure 25.Agenda The instructions provided by the system always follow the same format: T. Ac {modifiers} where: T is the value of the tick at which the action has to be executed, Ac is the action to execute, {modifiers} allows to make repetitions of the same actions according to the following criteria: {m times, every n} or {every n, m times}: starting in the rick T, Ac will execute every n ticks, m times.{every n}: starting in tick T, Ac will be executed every n ticks with no time limit.
The actions that can be used in the Agenda are (this list can be easily expanded): open-borders: Opens the global borders (same action as Open button).close-borders: Closes the global borders (same action as Close button).set variable val: Assigns variable to the value val.
http://jasss.soc.surrey.ac.uk/14/4/19.html10 12/10/2015 make-snapshot: Takes a shot of the world and stores it in memory along with all other shots taken during the present execution.export-snapshots "file.snp":Exports all shots in memory to the file " file.snp" in order to be analyzed with the analysis tool.Using the form export-snapshots f-s it will use the name in the box snapshots-tofile.modify C G p: modifies the property C of the group G in a percentage p%.It can be used also with IDs of repositories and cultural items with their properties.The properties for groups that can be modified by using this instruction are: learning_speed, reception_tendency and frequency; the properties for repositories are: tolerancy and%-content-rep; and the property for cultural items is frequency.activate/deactivate switch-var/Repositorio/Cultural-Item: Activates/deactivates the repository or cultural item or switch variable (in this case, it is equivalent to set switch-var true/false).stop: Stops the simulation.view-world / view-preferences / view-messages / view-culture / view-messages-stat / view-preferences-stat: Changes the present view of the system.
The variables subject to modification during the execution using the action set are (we show possible values in parentheses, their meaning are the same as the parameter with the same name): Refresh-cultureview? (true/false), Repositories-in-color-by-area (true/false), Bright ([1,500]), Color-messages-in-Culture-View ("By Original Area" / "By Group" / "By Owner Color"), Follow-paths?(true/false), Show-Repositories-in-Graphs? (true/false).
As  2008) has labelled an "abstract model", whose objective is to reveal certain specific aspects of a social process, in our case also cultural.In this beta version of our VCL we have forgone the use of empirical data [13] in order to prove certain dynamic theoretical aspects related to culture.In the case of individuals, we focused on the role of "intentionality" in the actions of the agents, the formation of cultural areas in the information space, and the role of repositories of information in the survival and imposition of certain detectable cultural preferences at the population level.

5.2
Imagine a world in which two groups of individuals with the same level of population and two initially similar sized spaces.However, the individuals in each group have different tendencies: a red group that occupies a green area and has a very Dominant tendency (the tendency is such that messages and preferences are identical); and a yellow group that occupies a blue area and has a more moderate tendency due to its mixed composition (formed by Dominant, Creative, and Passive agents).Whereas the red group generates a concentrated informative space in a very restricted area, the yellow group causes an oppositional dynamic, so that the cultural area within the information space is extended, and its density is smaller around the zone of preferences of the group.

5.3
After allowing both groups "to evolve" by themselves in non-communicating areas, we opened the borders that separate them (see tick = 500 in Figure 26) and observed the dynamics of exchange from that moment on.

World Preferences Messages
Up to 500 ticks Figure 26.

5.4
In this first case, removal of the border allowed for the movement of individuals from both groups in both directions.

5.5
After approximately about 10,000 ticks (Figure 27), the system stabilizes and, depending on the learning factors of the individuals (those that do not learn, do not move), the preferences of both groups tend to concentrate in an intermediate common area between the originally occupied zones.The messages also experience a similar behaviour, but because of the presence of individuals with a dominant tendency in the yellow group, they occupy a zone of the informative space of greater extent and less density.

5.6
In a second example (Figure 28), we constructed an initial model very similar to the previous scenario, but with an important complication: the red group possess a Repository with a preference similar to one of its group members and a maximum message storage capacity of 10% of the total number of messages.Additionally, the Repository will have a tolerance of 5%, that is, in order to admit a new message this must be very close to the Repository's preferences.The oblivion curve setting for the Repository is set such that once the storage capacity is surpassed, the most recent messages will be deleted.This setting means that the Repository stores only the initial messages of the red group.

World Preferences Messages
Up to 2500 ticks Figure 28.

5.7
We allow the repository to reach its storage capacity (which occurs at approximately tick 2,500 in this case) and, although initially the dynamic evolution of the messages is such that they occupy an intermediate zone between groups (as in the previous case), after a certain number of ticks they occupy a reference zone of the red group because of the reinforcement action that the repository exerts on the information space of the "red culture" (Figure 29).

5.8
Despite this outcome, the process of cultural reinforcement is slow because there is only one Repository serving as the keeper of cultural information, and the probability to exchange messages between the Repository and individuals is very low (recall that a Repository is defined as incapable of receiving new messages once filled, consequently the messages it emits are the original received from the red group).
Additionally, the attraction that the yellow group exerts on the red group slows the homogenizing effects of domination that we have bestowed upon the red group in its definition when we describe as Dominant.
Once the interaction between the groups has stabilized (at tick 160,000), the Repository only serves to reinforce the dominating characteristic of the red group, serving as permanent memory of its original informative content. 5.9 In a final example, as shown in Figure 30 below, we created a world divided into three initial areas, each occupied by a group with specific characteristics.Using the capacity to define selective permanent borders for each group that the editor provides, we have two zones (blue and red) inhabited by two groups that have their movement limited to these zones.An intermediate (green) area has been created and is composed of pink-coloured individuals with a predominantly Passive tendency, that is to say, they receive and transmit the messages without altering them.In addition, since no limits have been placed on this group, these individuals may move across borders in both directions and communicate freely with both the yellow and red groups once the borders are open (represented by grey color).In the blue area, a group of yellowcoloured individuals with a very Dominant tendency has been created.In the red area, a new group has added, cyan, with a mixed composition of Creative and Dominant individuals.The population of individuals of the three groups is similar.A higher learning factor has been assigned to the pink group to accelerate successive adaptive processes.This experiment is interesting because of the role the pink group plays as intermediary in the global dynamics of the system.In other words, this group "will negotiate" the exchange of information between the two other groups, playing the intermediary in the successive reorganizations of the yellow and cyan groups.
5.10 As it is seen in the figure above, as long as the border stays closed the three groups remain stable and restricted to their defined information zones.The moment the border is opened (ticks = 1,000), the pink group moves freely between the three areas, making contact with the other two groups and tending to 'assume' the preferences and messages of the group visited.Because pink individuals move freely throughout the state space, they alternate visits to both groups, forming a bridge between the preferences and messages of these groups, as observed in Figure 31.

Messages
Tick 2500 Tick 6000 Tick 23000 Tick 53000 Tick 65000 5.11 As time passes, this bridge "moves" the information zones of the two extreme groups such that they eventually overlap.However, since the yellow group is more dominant, it occupies the center of the new zone.
The cyan group, with a more varied behaviour, generates a cloud of points around the central zone because of the creative actions of some of its individuals as they engage with the information they encounter.
5.12 This final experiment illustrates or highlights the role played by cultural intermediaries when different cultural groups come into contact with each other.Additionally, these three examples reinforce our belief that our VCL possess the flexibility needed to model complex cultural processes, both real and hypothetical.Conclusions 6.1 Agent-based modeling enables researchers in the social sciences and humanities to undertake studies of cultural and historical dynamics at several scales that range from the local level to macro processes over large periods of time and extended geographic areas.The VCL in particular also allows to test research hypothesis and abstract models in cases we do not have enough information yet or the objective of the historian is precisely to study the viability of the model proposed or the what-ifs of a given historical scenario.

6.2
In those cases in which researchers have been able to collect data about their subjects, a tool such as the Virtual Cultural Laboratory will show how the data play out at different scales so that the same phenomenon can be understood in its several dimensions, and the connections and repercussions of the actions of specific elements manifest themselves throughout the dynamics of the process.In this respect, the more information one has about the study case, the easier will be to model all those different aspects in order to evaluate the original hypotheses.The detection of new areas of data collection or analysis that require special attention according to the results of the simulation is also an important consequence of this kind of research.

6.3
Visualization of the dynamics of cultural or historical processes from several perspectives is also a possibility offered by the Virtual Cultural Laboratory.In our case, it was especially important to simultaneously keep track of the tendencies and preferences of the individual agents, and to store and analyze how changes in theses parameters would affect the global behaviour of their own groups as well as the aspect of the world.However, there are many other benefits associated with these multi-visualizations, among them, the isolation of specific factors whose effect on the global system might be of interest to the researcher.
Appendix: Technical details Some notes about mathematical modeling in our tool

7.1
The messages will be represented as n-dimensional vectors, m =(a 1 ,…a n ), with a i ∈ [-1,1] (we will denote vectors using bold face letters).The dimension of the space, n, represents the number of different characteristics that a message can hold.In the case we present here, and in order to show simple visual representations of the dynamics of the system, we have reduced n=2, but all the logic of the engine is independent of this value (it is not the case of the results you can obtain in higher dimensions).Consequently, preferences of the agents will be vectors in the same space.

7.2
The frequency of emission of the agents (those types having this property) shows the probability that, in every tick of the evolution of the model, the agent emits a message.

7.3
The condition to decide if a message satisfies the preference of a receptor individual depends on his tendency of reception and the distance between the message and his preference.IF this distance is less than the tendency (the message is close enough to his preference), the message is accepted, and rejected if otherwise.We must note that, if the individual is acting under passive behavior, the message is accepted unconditionally.

7.4
If the receptor is a repository, the way to compute the distance between the preference of the repository and the message does not take into account all the characteristics of the message, but only one of them randomly (but proportional to its value) chosen between them.In this way, we reflect the possible "specialization" of the repository in one of the characteristic, providing more freedom to store less concentrated messages but verifying some minimal conditions regarding to one of its components.As in the individuals, the repositories have a tolerance parameter allowing them to modify the minimum distance from its preference and the messages in order to accept them.

Some Algorithms
Main Algorithm: Repeat forever: Run agenda (if any).Move Individuals.Communicate messages (communication, modification and learning).Advance Tick.
Move Individuals: For each group of individuals: Calculate the forbidden areas.
Move individuals taking into account: a) The type of movement: random or following paths.
b) The forbidden areas of the group.

Figure 1 .
Figure 1.Two examples of individuals' tendency behaviours 2.10 Reception and Storage: In the previous section we show how tendencies have a role in the modification of the message emitted by an individual, but they also influence the reception of a message by the receivingindividual.This means that if the receiving individual is in a Passive behaviour, it will admit the message without conditions, but if it acts as Dominant or Creative, the acceptance of this message will depend on whether or not the message is close enough to the preferences of the receiving agent.Additionally, due to the limited storage capacity of an individual's memory, once a receiving agent has received and accepted a new message it must eliminate the oldest message to ensure that the total number of messages in its memory does not exceed capacity.

Figure 2
Figure 2. Editor Interface 3.4There are several controls in this interface to define some statistical properties of the model.This means that these properties are not defined for each individual, but rather as statistical distributions for an agent set.For example, the learning factor of a group of individuals is not a characteristic defined for every individual, but it corresponds to a group function, approximated by a Gaussian distribution of the diverse values of the learning factor for the individuals in the group.The statistical properties of a distribution may be specified using a pair of sliders labelled 'mean' and 'variance'.Once set, the View button displays the specified curves in the Distribution plot.

Figure 3 .
Figure 3. Two examples of Distribution curves

Figure 4 .
Figure 4. File Controls zon 2. Views Selector (Figure 5): This zone is used to visualize the elements of the world under construction: the Areas button helps represent the geographic areas of the simulated world and displays the positions of the agents (and groups of individuals) within the world; the Messages button details the initial setting for the messages associated with Individuals and Cultural Items; and the Preferences button shows the initial preferences of Individuals and Repositories.

Figure 6 .
Figure 6.Area Tools zone 4. Element Tools (Figure 7): Through these controls the user can create, remove, select/unselect, move and update the different agents in the world (Groups of individuals, Repositories and Cultural Items).

Figure 11 .
Figure 11.Messages and Preferences view 7. Distribution Graphics (Figure 12): As we indicated previously, this zone shows a pre-visualization of distribution curves related to those agents' properties associated with Gaussian curves.

Figure
Figure 14.Engine Interface 1. File and Run buttons (Figure15): These buttons allow the user to load the world created in the editor, start/stop the execution of the simulation and reset to the initial conditions of the loaded world.It adds a fourth control that allows to export the shots taken throughout the execution.

Figure 15 .
Figure 15.File and Run buttons 2. World Report (Figure16): This report is an output frame where the basic characteristics of the world are shown (number of cultural groups, repositories, and cultural items).It also shows the status of certain parameters that may be monitored during execution of the model, and the actions from the agenda that have been executed.

Figure
Figure 16.World Report 3. View Zone (Figure 17): This frame surrounds the graphical representation of the model and provides some different views by pressing the buttons in the upper part of the frame.

Figure 21 .
Figure 21.Three views of the same Culture (by different grouping criteria)

Figure 22 .
Figure 22.Actions and Parameters zone 5. Graphs (Figure 23): This zone hosts different graphs showing possible representations of real time aspects from the simulation.The three first options ("Cultural Dynamics by Area", "Cultural Dynamics byGroup" and "Cultural Dynamics by Owner Color") show the dynamics of the total amount of messages in the world grouped by the selected criteria.The options "Preferences Distances" and "Messages Distances" show the evolution of relative distances between pairs of means of groups' preferences/messages and repositories.The options "Preferences Variance" and "Messages Variance" show the evolution of variance values of preferences/messages for the same elements.By changing the parameter "Show-Repositories-in-Graph?" we can decide if the information from repositories is included or not in the graphs.

Figure 23 .Figure 24 .
Figure 23.Graphs zone Next figure shows the result you can obtain from the different options in graphs (amount of messages grouped by original area of the owner, amount of messages grouped by owner, distances between means of messages of elements and variance of messages of groups): an example, an Agenda could look like this: 200.open-borders {every 100, 3 times} 290.set Refresh-culture-view? True 290.close-borders 300.make-snapshot {every 1000} 301.set Refresh-culture-view? False 400.close-borders 490.set Refresh-culture-view? True 500.make-snapshot Three hypothetical examples of the capacity and advantages of a cultural simulator 5.1 Our model corresponds to what Gilbert ( Figure 27.