CAT Overview
The Cultural Algorithm Toolkit (CAT) System is a test bed toolset environment designed to exhibit the implementation of the Cultural Algorithm across a wide variety of mathematical problems. These problems can vary from multivariable equations, to optimal dimensions of a machined component, to a three‐dimensional landscape comprising simple conical shapes.
A major component of the system's use in analyzing the implementation of the Cultural Algorithm has to do with its visualization capabilities. For problems that yield up a landscape, such as the ConesWorld example, a full three‐dimensional model can be produced that shows the position of agents in this virtual world. For those problems that deal with abstract mathematical problems, the scored results of a knowledge source's progress during each generation of the run can be stored (Figure 2.1).
In addition to visualizing the Cultural Algorithm as it works to find an optimal solution to a given problem, the CAT system also serves to make a number of aspects of the Cultural Algorithm modular and readily redefined by the user. The interface offers a panel that can display a number of variables, such as generations, landscape, and social network topology, and allows the user to alter them to suit a given experimental framework.
In Figure 2.2, a number of variables can be seen on the left panel. These variables control the operational parameters of the Cultural Algorithm. The Year Limit represents how many subsequent generations the system will run for, each year being a singular “tick” in the simulation. The Population Size is the number of agents that will take part in the simulation, those agents being divided up among the five Knowledge Sources that will either gain or lose influence on them as the simulation proceeds.
Figure 2.1 A sample of the CAT System displaying a visualization of the ConesWorld problem.
Figure 2.2 The CAT system's user interface panel.
The Landscape Limit allows some of the possible mathematical problems in the CAT System to update their topography. While some problems have a static form which is unchanging, some problems, such as ConesWorld, allow for a dynamic landscape which can, during the course of the simulation, change its shape, resulting in alternate optimal points created later in the simulation. The simulation will run its user‐defined number of generations (the Year Limit) repeatedly for each of these updating Landscapes with continuous agents and knowledge spaces retaining their data across the updates. An example of this setup of a Year Limit of 500 and a Landscape Limit of 5 would run for a total of 2500 generations, the topography of the problem changing 5 times during this simulation.
The Fitness option dictates which problem will be the focus of a given simulation. It is here that the user can switch between the mathematical problems available in the CAT System. Each Fitness Function has its own unique aspects and will be more closely detailed in the section “Fitness Functions”. Visualization options will change based on which Fitness option is selected, as visualizations such as the 2D Display and 3D Display are restricted to ConesWorld problems only, while Fitness displays are available to all Fitness Functions.
As the Cultural Algorithm is a replication of the social networks that exist among human beings and other social creatures, it too has a social network that links together its agents and allows them to exert influence on one another. The topology of this network can be altered to allow for different numbers of connections between agents, and this can be adjusted with the Topology setting. In Figure 2.2, the social network topology is being visualized and can be seen as a series of lines connecting agents to one another.
While ConesWorld itself spawns a randomly generated landscape comprising conical shapes with each new simulation, it is possible to choose for it to use a presupplied landscape for repetition across a given sample. This can be chosen in the ConesWorld File option.
One major aspect of the CAT System's ability to update the topography of some problems has to do with a logistics function that generates a fluctuation rate that can be controlled by the user. It is possible to deal in minor fluctuations, which produce steady, smooth transitions from one topography to another, and it is also possible to induce erratic fluctuations, which create seemingly disjointed topographies.
The scale on which it goes from smooth to erratic can be controlled by the user with the input of a variable ranging from 0 to 4. This variable controls the fluctuation rate and will be looked at in greater detail in later in the logistic Function section. It is enough for now to point out that in the ConesWorld problem, the height, slope, and position of the cones can be separately set so that one aspect is smooth while another is erratic, and if the user sets the input variable at 0, it will result in no change to a given aspect with each update of the system's landscape.
The Influence Method affects how each Knowledge Source gains or loses influence with each subsequent generation of the simulation. This can vary across methods, such as winning a majority vote, taking up varying percentages of a roulette wheel, or winning an auction. These can be selected from the Influence Method section of the user interface.
Finally, the number of cones utilized in the ConesWorld simulation can be altered to create greater numbers of possible optimal outcomes or more local maximals to attempt to sway the system's exploration and exploitation.
With this combination of user variable input and visualization, the CAT system allows for rapid testing of multiple configurations of the Cultural Algorithm across a wide variety of problems and environments. The numerous visualization options also allow for greater discussion of results than could previously be produced by endless lists of numbers without visual aid or reference.
Downloading and Running CAT
The CAT System can be downloaded from the following location: https://drive.google.com/open?id=161wpeNQIkEcR9gAWRDazPUaKX3wHCA7B
On downloading the CAT Kit zip file and extracting its contents, please install the included Repast Simphony v1.2.0 for Windows. This is the required version of Repast Simphony that the included code is optimized to run with. Once installation of Simphony is complete, run Repast Simphony IDE. It will ask for a workspace to utilize. Please navigate to where you have extracted the CAT files, and select the folder labeled CAT3. Once Repast's version of Eclipse Ganymede finishes opening, you can immediately run the software in one of two ways. To see the visual interface detailed in this chapter, select the circular green “Run” icon from the toolbar. This will immediately run the visual interface version of the CAT. If you click the small arrow immediately next to the green icon, you will be given the option to choose either “ConesWorld,” which is the visual interface or “CATnG,” which runs an interface‐free version of CAT. Open‐source coders who are unfamiliar with the Repast Simphony visual interface may wish to utilize this latter option.
Once the visual interface has begun, the “User Panel” tab can be accessed to allow the alteration of various attributes of the run, including population size, the number of different landscapes used, and how many years/generations the system should run over. These attributes are discussed in greater detail in later sections. On pressing