Complex Adaptive Systems —Resilience, Robustness, and Evolvability: Papers from the AAAI Fall Symposium (FS-10-03) Weaving the Social Fabric: The Past, Present and Future of Optimization Problem Solving with Culture Algorithms Xiangdong CHE Computer Science Department, Wayne State University, Detroit, MI 48202 , U.S.A Mostafa ALI Department of Computer Information Systems, Jordan University of Science & Technology, Irbid, Jordan 22110 Robert G. REYNOLDS Computer Science Department, Wayne State University, Detroit, MI 48202, U.S.A ABSTRACT that describes how knowledge is exchanged between the first two components. The population space can support any population-based computational model, such as Genetic Algorithms, Evolutionary Programming, etc. The basic framework is shown in Figure 1. In this paper we investigate the performance of Cultural Algorithms over the complete range of system complexities, from fixed to chaotic. In order to apply the Cultural Algorithm over all complexity classes we generalize on its co-evolutionary nature to keep the variation in the population across all complexities. Based on previous cultural algorithm approaches, we were to extend the existing models to produce a more general one that could be applied across all complexity classes. We produced a new version of the Cultural Algorithms Toolkit, CAT 2.0, which supported a variety of coevolutionary features at both the Knowledge and Population levels. We then applied the system to the solution of a 150 randomly generated problems that ranged from simple to chaotic complexity classes. As a result we were able to produce the following conclusions: No homogeneous Social Fabric tested was dominant over all categories of complexity. As the complexity of problems increased, so did the complexity of the Social Fabric that was need to deal with it efficiently. In other words, there was experimental evidence that social structure can be related to the frequency and complexity type of the problems that presented to a cultural system. Figure 1 Cultural Algorithm Framework Keywords: Cultural Algorithm, Optimization, Social Fabric, Co-evolution A Cultural Algorithm is a dual inheritance system that characterizes evolution in human culture at both the macroevolutionary level, which takes place within the Belief Space, and at the micro-evolutionary level, which occurs in the population space. Knowledge produced in the population space at the micro-evolutionary level is selectively accepted or passed to the Belief Space and used to adjust the knowledge structures there. This knowledge can then be used to influence the changes made by the population in the next generation. The basic pseudo code of Cultural Algorithm is shown in Figure 2 where Pt represents the Population component at time t, and Bt for the Belief Space at time t. The algorithm begins by initializing both the Population and the Belief Space. Then it enters the evolution loop until the termination condition is satisfied. At the end of each generation, individuals in the Population Space are first evaluated with a performance function, obj(). An acceptance function, accept(), is then used to determine which individuals will be allowed to update the Belief Space. Experiences of those chosen elite 1. INTRODUCTION If we are in a system, it is hard for us to see or understand how the system itself works. Since we all live within a culture, how can we see the culture from an unbiased perspective? It would be worthwhile and interesting to look at the culture from an external point of view. Cultural Algorithms (Reynolds 1986; Reynolds 1994) was developed by Reynolds to do just that assess a cultural system in terms of its performance relative to problems presented to it by its physical and social environment. Cultural Algorithms can provide a flexible framework in which to study the emergence of organizational complexity in a multi-agent system (MAS). The Cultural Algorithm (CA) is a class of computational models derived from observing the cultural evolution process in nature. CA has three major components: a population space, a belief space, and a protocol 44 Begin t = 0; initialize Pt initialize Bt repeat evaluate Pt {obj()} update(Bt, accept(Pt)) generate(Pt, influence(Bt)) t = t + 1; select Pt from Pt- 1 until (termination condition achieved) End Figure 2 Basic Pseudo-code for Cultural Algorithm individuals are then added to the contents of the Belief Space via function update(). Next, knowledge from the Belief Space is allowed to influence the selection of individuals for the next generation of the population through the influence() function. The two feedback paths of information, one through the accept() and influence() functions, and the other through individual experience and the obj() function create a system of dual inheritance of both the population and the belief spaces. The Cultural Algorithm repeats this process for each generation until the pre-specified termination condition is met. In this way, the population component and the Belief Space interact with, and support each other, in a manner analogous to the evolution of human culture (Barkow et al. 1992; Johnson and Earle 2000; Richerson and Boyd 2005). Previously Peng (Peng 2005) found that the similarities in social structures that emerge in similar cultures are produced as a result of the integration of different knowledge sources in the solving process. Peng proposed a biologically motivated approach to integrating the application of these knowledge sources based upon the Marginal Value Theorem (Charnov 1976) to drive the problem solving process and showed that certain social structures emerged from the Cultural System as a result of this approach. Peng implemented her system with JAVA and used MATLAB as a tool for visualizing the results of the experiments and graphing issues. In her system, each individual agent in the population was associated with a single knowledge source that influenced it and there was no exchange of information between agents in the population(Peng and Reynolds 2004). Next, Ali(Ali 2008) expanded the ability of a knowledge source to influence a population through the notion of a social fabric. He embedded the Cultural Algorithms framework within the Recursive Porous Agent Simulation Tool (Repast) (North et al. 2005). He produced a toolkit that called Cultural Algorithms Simulation Toolkit (CAT) (Reynolds and Ali, 2008). The social fabric represents the extent to which the influence of a knowledge source can spread through a population. The interconnections between agents in the population were viewed metaphorically as a social fabric, created by the interactions between agents. Knowledge sources in the Belief Space select individual from the population to influence individual agents in the population as illustrated in Figure 3. Figure 3 Embedded Social Fabric component in CAT Each knowledge source in the Belief Space is color-coded and its color is applied to the individual agent in a network that it is to influence at that time step. The network shown in the diagram is a homogeneous square network. Each of those agents has a particular position on the landscape. Ali used three homogeneous networks in his version: lbest (degree of two for each agent), square (degree of 4 for each agent), and gbest (degree of n-1 nodes for each agent). Lbest and gbest are show in Figure 4. In order to demonstrate the power of the social fabric to solve optimization problems, Ali regenerated the graph randomly each time for the configuration being tested. In other words, he wanted to see whether just the presence of a network would improve the optimization process - even if the network is dynamically regenerated in a random fashion each time. Ali was able to show that just having a social fabric to distribute influence in the population was sufficient to improve performance in the Cultural Algorithm over a variety of different engineering design problems. In this paper we extend the social fabric approach by allowing the networks to have a memory. That is, the network organization was established at the beginning of the run and the connections between individual agents remained constant over the course of the problem solving process even though the agents were able to move to different positions on the landscape. In addition, we add a variety of other configurations in order to assess the relationship between graph degree and problem complexity. This will allow us to test variations on the following general hypothesis: Does the organization of the social structure for a culture reflect the nature and number of problems presented to it by its environment? For example, it has been suggested by researchers such as Barabási (Albert and Barabasi 2002) that the prevalence of small world networks in biological systems may reflect an evolutionary advantage of such an architecture. One possibility is that small world networks are more robust to perturbations than other network architectures. If this were the case, it would provide an advantage to biological systems that are subject to damage by mutation or viral infection. 45 generates a dynamic cones-world in two steps: first specify a baseline static landscape of the desired morphological complexity, and then add the desired dynamics. The base landscape is given by: n f (< x 1,x 2 ,...,x n >) = max (H j R j * j=1,k (a) lbest topology. ( x C i j, i ) 2 ) i=1 where: k : the number of cones, n : the dimensionality, Hj: height of cone j, Rj : slope of cone j, and Cj,i: coordinate of cone j in dimension i. The values for each cone (Hj, Rj, and Cj,i) are randomly assigned based on the following user specified ranges: Hj (Hbase, Hbase + Hrange) Rj (Rbase, Rbase + Rrange) Cj,i (-1, 1) (b) gbest topology. Figure 4 Topologies used in the Social Fabric model(Reynolds and Ali 2008) 2. COMPLEX SYSTEMS AND SOCIAL FABRIC A complex system usually has the following characteristics (Holland 1992): -Relationships in complex system are non-linear, i.e., effects are not directly proportional to causes. -Complex systems contain feedback loops. -Complex systems are open, i.e. usually far from equilibriums, but may form pattern stability. -Complex systems have memory, i.e. history matters. -Complex system may produce emergent phenomena. Reynolds (Reynolds, Whallon et al. 2006) defines a complex system as a system made up of an organized group of heterogeneous independent agents who interact with their environment and each other, and adapt based on feedback from the environment. The separate behaviors of the individuals aggregated together can cause higher-level behaviors to emerge from the group as a whole that work to solve problems facing the group at the group level. In this section we briefly introduce the complex systems environment that we will be using to test our hypotheses regarding the basic weaving of the social fabric. Each of these independently specified cones are “blended” together using the max function, i.e., if two cones overlap, the height at a point is the height of the cone with the largest value at that point. We use 2-dimensional landscapes throughout the remainder of this paper for simplicity and for visualization purposes, although the patterns and rules apply to more than two-dimensional scenarios. An example landscape with k = 15, Hbase = 1, Hrange = 9, Rbase = 8, and Rrange = 12 is given in Figure 5 below. 2.1 The Cone’s World Generator The Cones World that will be used in this paper was originally developed by De Jong and his students (Morrison et al. 1999) in order to examine the ability of evolutionary problem solving approaches to solve randomly generated problems of arbitrary complexity. This was proposed as an alternative to the traditional approach of comparing algorithms on a small set of benchmark problems. It was felt that by focusing on a small set of problems, investigators might attempt to sacrifice algorithm generality in order to produce good results on the specific problems. Peng (Peng and Reynolds 2004; Reynolds, Peng and Che, 2005) coined the term Cones World when she employed it to test various Cultural Algorithm configurations. When Ali(Ali 2008) extended Peng’s Cultural Algorithm framework in his CAT system, he employed the Cones World as one of the problems available to system users along with the traditional benchmark problems. The Cones World Generator produces a problem landscape, in which a field of resource cones of different heights and different slopes that are randomly scattered across a multi-dimensional landscape. Basically, the Cones-World algorithm Figure 5 An Example Landscape In two-dimensional space x (-1.0, 1.0), y (-1.0, 1.0) with n = 50, H(1, 10), and R (8, 20) The second step is to specify the dynamics. For each cone j, its every single parameter (every dimension Cj,i, height Hj, and, and slope Rj) can be changed individually and independently. In order to control the complexity of a landscape, we use the logistics function given as: Yi = A * Yi-1 * (1 - Yi-1) where A is a constant and Yi is the value at iteration i. A bifurcation map of this function is provided in Figure 6. This figure shows the values of Y that can be generated by each iteration of the logistic function given values of A between 1.0 and 4.0. The particular value of A specifies whether the 46 Periodic – For problems of this nature the cells need to switch from one set of rules to another depending on the number of bifurcations. Chaotic – Problems for which the number of bifurcations is so large the system is inherently chaotic. Thus, there are no specific rule sets that apply. Langton suggested that there was no sharp demarcation between Periodic and Chaotic. He called this transition “the edge of chaos”. In our situation this suggests that a fixed communication or topology will be "more" effective for problems of low entropy, A near 1 in our model than an A value near 4. As A value increases the entropy increases and the network needs to integrate the information acquired by its agents. When A increases to more than 3, the system becomes periodic. This will mean that the network will need to handle two different types of changes. We can view this as an environment that changes from one state to another in a seasonal fashion. As we approach 4.0 the system becomes increasingly chaotic, containing so many transitions that it is hard to sufficiently gather information about any of them. In order to test how these problem categories are reflected by changes in the corresponding social organization of the cultural systems needed to solve them, we will generate an example set of landscapes from each of the three basic classes – fixed, periodic and chaotic. The corresponding A values will be 1.01, 3.35, and 3.99 respectively. Our task will be to discern how changes in problem complexity affect the structure of the topology needed to solve them. movement will be in small same-sized steps, large same-sized steps, steps of few different sizes, or chaotically changing step sizes. We are particularly interested in characteristic points in terms of the complexity in the cones world as shown in Figure 6. Here we pick A = 1.01, 3.35 and 3.99 for our test environment complexity as marked with vertical mark line in green. From left to right we have A = 1.01, 3.35, 3.99 corresponding to one step change, two steps change and totally chaotic step size change. Each of these represents one of the computational classes proposed by Langton as discussed below. This cone landscape generator function can be specified for any number of dimensions. Each time the generator is called, it produces a randomly generated real-valued surface in which random values for each cone are assigned based on userspecified ranges. By applying the logistic function to the parameter of the cone’s generator, we are able to control the complexity of the generated landscape by changing the A value of the logistics function. Therefore, given that we can generate problem landscapes at different levels of complexity we can study the relationship between the social network and different categories of computational problems. This enables us to evaluate our model in a more flexible and systematic way. It also is a reasonable facsimile of how resources are spread out within natural environments: from information theory point of view, the problem environment carrying certain complexity of information could be represented by entropy; the more complex that an environment is, the higher its entropy is. 2.2 Neighborhood Topology: The concept is illustrated schematically in Figure 7 with 5 different networks given as color-coded vertical lines, one for each of the five knowledge sources. Individuals are given as horizontal lines with a node representing a possible participation in each network. The node is blank if the individual does not participate in that particular network. It is darkened in with the networks color if it participates sometimes, and darkened and circled if it is a frequent participant. The individuals are ordered from highest participation to lowest participation of the five networks. The topologies of the networks are not shown here, just the extent to which the networks are woven together by the participation of the individuals. Figure 6 Logistic Function with characteristic A values Langton (Langton 1992) suggests that as the A value, which relates to entropy of the system, increases, the system becomes more unpredictable. He demonstrated this in terms of rules needed by a Cellular Automata to solve problems at different points along the curve in Figure 6. In particular he stated that the amount of mutual information that cells in the space needed to know about their neighbors increased as the entropy or amount of information in the landscape increased. Based upon that he established several basic computational classes as follows: Fixed - For problems of low entropy a fixed set of rules can be given to each cell in order to allow them to exchange the information needed to solve the problem. In our case this is equivalent to having a fixed topology over which information is exchanged, around 1. Figure 7 Social Fabric 47 Notice that some groups, such as the “red” group, are characterized by a small but active set of participants, while the “turquoise” group is one where everyone participates somewhat. For those individuals who participate in more than one group, activities in one group can constrain activities in another. Thus, a knowledge source can influence an individual and its influence can be spread to the individuals’ neighbors with modification. The networks that comprise the social fabric can emanate from either the Belief Space or the population space or both. In terms of the population, the network can reflect a kinship network or an economic network for example. In terms of the Belief Space, the network can be the Internet, or a local area network, or some other network directly accessible to the knowledge sources. Previously, Ali employed 3 different neighborhood topologies: lbest, square and global. Here, we added more topologies in order to investigate in more detail how topology will impact the optimization performance for different landscapes. We deployed a series of typical topologies including lbest, square, hexagon, Octagon, Hexadecagon (in this paper, it is simplified as “16-gon” in the tables), and global. By introducing more network topologies, we now have a more complete spectrum of topology and more reasonable neighborhood selection. Equation 1 Reynolds (Reynolds 1978) defined the following vector voting model: “In the vector voting model each individual can propose a direction based on the region he has explored. Each vector is treated as a unit vector and then the vectoral sum is taken. The resultant vector is then categorized according to the quadrant in which it lies.” Vector-voting mode specifies a linear threshold directional function as shown in Equation 1: 2.3 Agent Decision Making Figure 8 The Vector Voting Paradigm Each individual in the network now has several choices as to which knowledge source will influence it. In Peng’s original model individuals were independent, so that the individual was influenced directly by the knowledge source selected. When Ali added the Social Fabric topology each individual received a direct influence plus that of its immediate neighbors. There needed to a mechanism by which one of the Knowledge Sources was selected from this set of alternatives. He employed an un-weighted majority win scenario. The KS with the most votes became the KS that was used by an individual. In case of a tie then the direct influence for the individual agent was used as the default. In this paper we modify the decision-making approach to allow for an incentive based scheme. Each of the votes received by an individual is associated with a weight. The selected Knowledge Source is the one with the most total weight. This approach was selected because it supported the co-evolutionary focus here in that a less frequently used knowledge source might produce a new result that exceeds the Knowledge Source that is used most frequently. The modification is based upon a fundamental voting technique used in the earliest Cultural Algorithms (Reynolds 1979) and again reflecting the predatorprey approach to co-evolution used here. The approach is called vector voting and it is discussed below. One of the goals of our research is to assess the impact of Culture on decision making behavior in a complex social system such as Hunter-Gatherer system(Goodhall 2002). A Hunter-Gatherer society using vector voting model is viewed as the context in which early cultural system arise. Specifically we are concerned with the question of whether the emergence of human culture provided humans with an adaptive advantage over their non-human primate counterparts in terms of huntergathering capabilities. Reynolds’ vector voting model serves as our theoretical bases in a series of research work on HunterGatherer/Predator-Prey simulation. Each x is a local directional function mapping Z into QUAD U(0,0). And QUAD maps the region R into quadrants. In other words, each individual in the vector-voting model can vote on a direction based on the information he has collected from the region he has explored. Each vector is treated as a unit vector and then the weighted vector sum is taken. The weight of an individual is reflecting their status. The resultant vector is then the direction of the group takes. This vector-voting model is illustrated in Figure 8. Individuals in a band can have various preferences regarding which direction to go in the next step based on their individual experiences. Those experiences are associated with different icons on the landscape. The resultant direction of the group will be a weighted sum of all the individuals’ desired directions. The vector-voting model has been used to simulate a group of individuals making a group decision concerning their direction to travel, assuming the individuals can communicate their desired direction and their level of determination for that direction without knowing each other’s underlining rationale. This model has been proven to be able to choose the direction which will yield the most resources for the group under certain assumptions including: static environment without interference from other groups; sufficient individuals to provide complete coverage over the whole area; no error in information perception; and all individuals behave rationally. 2.4 Incentive based Majority Win Here we introduce a new decision making schema called Incentive based Majority Win. It is based on a Vector Voting model employed in the earliest version of Cultural Algorithms as discussed above. When each individual calls the influence function, the influence function will have a “direct” knowledge source designated to this individual by spinning the knowledge 48 wheel. At the same time, this individual can also receive information from its neighbors regarding controlling knowledge sources, as shown in Figure 9. In this figure, we have individual A0 whose direct controlling KS is S which stands for Situational KS. A0 has 8 neighbors: they are A1 through A8, each of them has a controlling KS. Here T stands for topographical KS, D stands for Domain KS, N stands for Normative KS. H stands for History KS. In population space, the previous CAT system used majority win based decision making in order to decide which Knowledge Source to select from the current social fabric. Figure 10 shows the majority win process. Figure 10 Majority Win in Belief Space through Social Network. Reynolds introduced vector voting (Reynolds 1986) as a decision-making model for hunter-gatherer society simulation. To introduce more innovation and maintain genetic diversity at the population level we employed the weighted approach here. We use the current average fitness of each Knowledge Sources as weight of each Knowledge Sources count, and then do majority win based on the weighted count as shown in Figure 11. Figure 9 Knowledge Source Interactions at the Population Level At each time step, every individual is influenced by one of the knowledge sources. In this version, Knowledge Sources do not know anything about the network and the selected individuals’ position in it and vice versa. The process is a double blind. The individual then transmits the name of the influencing Knowledge Source to its neighbors through as many hops as specified. Next, each node counts up the number of Knowledge source bids that it collects. It will have the direct influence from the Knowledge Source that selected it, plus the IDs of the Knowledge Sources transmitted to it by its neighbors. The Knowledge Source that has the most votes is the winner and will direct the individual for that time step. In case of a tie, there are several tie breaking rules implemented in CAT. In Figure 10, Individual A0 has following count of votes: • 3 neighbors (including itself) votes for S; • 2 vote for D; • 1 votes for T; • 1 votes for N; • 1 votes for H. So according to Majority Win Schema, S wins the vote. Figure 11 Weighted Majority Win in Belief Space through Social Network As you can see after the count adjustment based on the weight, shown beside the arrow, Domain knowledge becomes the winner. This modified majority-win could be thought as a vector voting variation; each knowledge source is a vector and wants to decide where the individual needs to go. The average fitness of the current generation is the key to win in this bidding game. If a less used knowledge source suddenly finds a good solution its average can rise quickly, and therefore the vector voting approach will tend to magnify its influence in the network. 3. SUMMARY RESULTS AND ANALYSIS 3.1 Introduction In this section we compare the several topologies for the Social Fabric in terms of their performance within each of the three complexity classes. We demonstrate that there is indeed a relationship between the complexity of the problem and the Social Fabric used by the Cultural System. We start by 49 than the others. The mean number of generations needed to find a solution increases markedly for all of the topologies with a smaller in-degree here. Since a square topology was sufficient for one generator, it makes sense that for two generators each might use four links which gives us 8. The mean time to a solution for the configurations with in-degree greater than 8 also increase. The motivation for four relates to the four cardinal directions on the landscape over which cone slope can be computed. Table 2 Performance comparison of the topology A =3.35 50 224 168.7 38 11 339 137 72.6 square 50 213 152.5 42 9 358 158 93.3 Hexagon 50 229 169.5 40 40 491 161 112.3 Octagon 50 243 175.7 37 7 426 152 99.1 16-gon 50 219 160.9 41 44 477 158 100.9 global 50 238 186.4 35 10 361 126 83.0 Std. Deviation Mean Generation_Used Found Maximum Generation_Used Minimum Generation_Used #of Runs w/ Solution Found Std. Deviation Found Mean Generation_Used Runs w/ Solution Found Maximum Generation_Used Minimum Generation_Used #of Runs w/ Solution Found Std. Deviation #ofTotalRuns Overall Mean Generation_Used Topology lBest Std. Deviation Overall Mean Generation_Used While all of the topologies tested were homogeneous they were reasonably robust across the different landscapes. Table 1 though 3 give the statistical comparison of the topologies over the three complexity classes respectively. One thing to note is that even the fixed category was composed of complex landscapes produced by the random combination of 500 cones. In only one instance did a topology fail to get 50% or more of the problems solved. In the best case the topology was associated with an 84% solution ratio. Table 1 Performance comparison of topology for A =1.01 #ofTotalRuns 3.2 Overall Performance Comparison Topology comparing their overall problem solving performances, and then examine the differences in terms of how the knowledge sources make use of the Social Fabric in the problem solving process. The experimental framework that we use is as follows. Each Complexity (1.01, 3,35, 3,99) has five randomly generated example Landscape (#1,#2,#3,#4,,#5) , We have 6 Topologies, Lbest, Square, Hexagon, Octagon, Hexadecagon, and global. For each landscape/topology combination we did 10 runs on each of the 5 landscapes. So each complexity has a total of 50 runs for each topology. The maximum number of generations for each run is 500. lBest 50 337 159.8 29 69 448 219 102.3 square 50 308 171.8 33 60 496 209 125.1 Hexagon 50 286 176.3 33 33 431 177 105.3 Octagon 50 243 168.7 39 22 489 170 110.4 16-gon 50 287 181.0 32 51 459 167 103.7 global 50 371 170.4 20 62 448 178 97.4 For the chaotic landscape class all of the topologies find almost the same number of solutions. The statistical results are given in Table 3. Their number of solutions generated for each varies only between 33 and 35. However, the average number of generations used for all 50 runs by all of the topologies has increased from the periodic class. The clear winning topology here, as might be expected, is the global one. While it achieves about the same success rate as the others, the average time to solution and the standard deviation is less than the others. In summary, as the complexity goes up, so the amount of time needed to solve the associated optimization problems for the topologies in general. Also, the connectivity or in-degree of the best topology increases from 4, to 8, and finally to a global connection as we move from fixed to periodic and finally chaotic. Table 3 Performance comparison of the topology A =3.99 Overall Mean Generation_Used Std. Deviation Std. Deviation Mean Generation_Used Found Maximum Generation_Used Minimum Generation_Used #of Runs w/ Solution Found #ofTotalRuns 50 Topology For the fixed category of problems, Table 1, the square topology solved 84% of the problems and used the fewest mean number of generations overall relative to the 50 runs. On the other hand, a global topology had the fewest % of solved problems, and greatest number of generations used on average for any landscape. Yet the global network used fewer generations in producing a solved problem and the lowest standard deviation for them. That means when it solved a problem it not only solved a problem faster, but more predictably given the reduced variation in solution times. This suggests that perhaps a non-homogeneous network might be useful in solving some problems efficiently, a network that supports both local and global connections such as a small world network. For the periodic case, given in Table 2, where the generator function bifurcates, we notice that the success rate for all topologies except the octagon drop. This reflects the higher entropy associated with the addition of a second generator. Here, the octagon topology finds 6 more solutions out of 50 lBest 50 301 159.0 35 83 487 216 107.9 square 50 302 160.8 35 54 464 217 112.6 Hexagon 50 300 163.7 33 34 481 197 95.1 Octagon 50 296 155.5 35 44 420 209 93.9 16-gon 50 291 172.0 34 10 441 193 113.5 global 50 289 172.4 33 38 400 181 99.5 Morrison, R., De Jong, K., Inc, G., & Vienna, V. (1999). A test problem generator for non-stationary environments. 4. CONCLUSIONS AND FUTURE WORK North, M. J., Howe, T. R., Collier, N. T., & Vos, J. R. (2005, October 13–15). The Repast Simphony Development Environment. Paper presented at the Proceedings of the Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms, Argonne National Laboratory and The University of Chicago. In this paper we investigated the performance of Cultural Algorithms over the complete range of system complexities, from fixed to chaotic. In order to apply the Cultural Algorithm over all complexity classes it was necessary that we generalize on its co-evolutionary nature in order to keep the variation in the population across all complexities. In order to do this we surveyed the history of Cultural Algorithms development. As a result we produced a new version of the Cultural Algorithms Toolkit, CAT 2.0, which supported a variety of co-evolutionary features at both the Knowledge and Population levels. We then applied the system to the solution of a 150 randomly generated problems. As a result we were able to produce the following conclusions. Firstly, no homogeneous Social Fabric tested was dominant over all categories of complexity. Secondly, as the complexity of problems increased so did the complexity of the Social Fabric that was needed to deal with it efficiently. So a fabric that was good for fixed problems would be less adequate for periodic problems, and chaotic ones. Thirdly, a cultural system can, in fact, solve problems over all categories of complexity. But the most efficient topology varies from one category to the next. Therefore, a single system would probably need to support both local connections and more global ones to solve problems over all classes. As the problems facing an organization increases, so must the computational power of the organization. In future work we will investigate the synthesis of heterogeneous network that can be applied to a broad class of problem successfully. Peng, B. (2005). Knowledge Swarms in Cultural Algorithms for Dynamic Environment. University Microfilms International, P. O. Box 1764, Ann Arbor, MI, 48106, USA. Peng, B., & Reynolds, R. (2004). Cultural algorithms: knowledge learning in dynamic environments. Reynolds, R. (1979). An adaptive computer model for the evolution of plant collecting and early agriculture in the eastern valley of Oaxaca. Guila Naquitz: Archaic foraging and early agriculture in Oaxaca, Mexico, 439–500. Reynolds, R., & Ali, M. (2008). Computing with the social fabric: The evolution of social intelligence within a cultural framework. IEEE Computational Intelligence Magazine, 3(1), 18-30. Reynolds, R. G. (1978). On Modeling the Evolution of HunterGatherer decision-Making Systems. Geographical Analysis, 10(1), 31-46. Reynolds, R. G. (1986). An Adaptive Computer Model for the Evolution of Plant Collecting and Early Agriculture in the Eastern Valley of Oaxaca. Unpublished Ph.D. dissertation, University of Michigan, Ann Arbor, MI. 5. REFERENCES Reynolds, R. G. (1994). An introduction to Cultural Algorithms. Proceedings of the Third Annual Conference on Evolutionary Programming, 131-139. Albert, R., & Barabasi, A. (2002). Statistical mechanics of complex networks. Reviews of modern physics, 74(1), 47-97. Reynolds, R. G., Peng, B., & Che, X. (2005). Knowledge Swarms: Generating Emergent Social Structure in Dynamic Environments. Proceedings of the Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms. Ali, M. (2008). Using cultural algorithms to solve optimization problems with a social fabric approach. University Microfilms International, P. O. Box 1764, Ann Arbor, MI, 48106, USA. Barkow, J., Cosmides, L., & Tooby, J. (1992). The adapted mind: Evolutionary psychology and the generation of culture: Oxford University Press, USA. Reynolds, R. G., Whallon, R., Ali, M. Z., & Zadegan, B. M. (2006, July 16-21). Agent-Based Modeling of Early Cultural Evolution. Paper presented at the 2006 IEEE Congress on Evolutionary Computation, Vancouver, BC, Canada. Charnov, E. (1976). Optimal foraging, the marginal value theorem. Theoretical population biology, 9(2), 129. Richerson, P., & Boyd, R. (2005). Not by genes alone: How culture transformed human evolution: University of Chicago Press. Goodhall, S. J. (2002). Multi-agent simulation of huntergatherer behavior. Unpublished MS thesis, Wayne State University, Detroit, MI. Holland, J. (1992). Adaptation in natural and artificial systems: MIT Press Cambridge, MA, USA. Johnson, A., & Earle, T. (2000). The evolution of human societies: from foraging group to agrarian state: Stanford Univ Pr. Kennedy, J., & Eberhart, R. (1995). Particle Swarm Optimization. Paper presented at the Proceedings of the 1995 IEEE International Conference on Neural Networks, Perth, Australia. Langton, C. (1992). Life at the edge of chaos. Artificial life II, 10, 41–91. 51