Contents
ToggleCultural algorithm
The cultural algorithm is inspired by the principle of cultural evolution. Culture includes the habits, knowledge, beliefs, customs and morals of a member of society. Culture does not exist independently of the environment and can interact with the environment through positive or negative feedback cycles. The study of the interaction of culture in the environment is called cultural ecology.
The cultural algorithm can be explained in the context of inspiration. As the evolutionary process unfolds, individuals accumulate information about the world which is communicated to other individuals in the population. Collectively, this body of information is a knowledge base that members of the population can draw from and exploit. Positive feedback mechanisms can occur when cultural knowledge points to useful areas of the environment, information passed down from generation to generation, harnessed, refined, and adapted as situations change. In addition, potentially dangerous areas can also be communicated through the cultural knowledge base.
The information processing goal of the cultural algorithm is to improve the learning or convergence of an integrated search technique (usually a algorithm evolutionary) using higher-order cultural evolution.
The cultural algorithm operates at two levels: a population level and a cultural level. The population level is like evolutionary research, where individuals represent candidate solutions, they are mostly distinct, and their characteristics are translated into an objective or cost function in the problem domain.
The second level is the space of knowledge or belief where the information acquired by the generations and accessible to the current generation is stored. A communication protocol is used to allow the two spaces to interact and define the types of information that can be exchanged.
The algorithm focuses on the knowledge base data structure which stores different types of knowledge depending on the nature of the problem. For example, the structure can be used to record the best candidate solution found along with generalized information about areas of the search space that should be profitable (result in good candidate solutions). This cultural knowledge is discovered through population-based evolutionary research, and is in turn used to influence subsequent generations. The acceptance function limits the communication of knowledge from the population to the knowledge base.
The algorithm is abstract, providing flexibility in interpreting processes such as information acceptance, knowledge base structure, and the specific onboard evolutionary algorithm.
The cultural algorithm was initially used as a simulation tool to study cultural ecology. It has been adapted for use as an optimization algorithm for a wide variety of fields not limited to constraint optimization, combinatorial optimization, and continuous function optimization.
The knowledge base structure provides a mechanism for incorporating problem-specific information into the execution of a scalable search. Acceptance functions that control the flow of information into the knowledge base are typically greedy, including only the best information from the current generation, and only overriding existing knowledge if it is an improvement . Acceptance functions are traditionally deterministic, although probabilistic and fuzzy acceptance functions have been studied.
