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 in isolation from 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 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 hazardous areas can also be communicated through the cultural knowledge base.
The information processing objective of the cultural algorithm is to improve the learning or convergence of an integrated search technique (usually an evolutionary algorithm) using higher order cultural evolution.
The cultural algorithm works 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 domain of the problem.
The second level is the space of knowledge or belief where the information acquired by 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 records 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 as well as generalized information about areas of the search space that should be profitable (resulting 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 the interpretation of processes such as acceptance of information, structure of the knowledge base and the specific on-board evolutionary algorithm.
The cultural algorithm was initially used as a simulation tool to study cultural ecology. It has been adapted to be used as an optimization algorithm for a wide variety of fields not limited to constraint optimization, combinatorial optimization and continuous optimization of functions.
The knowledge base structure provides a mechanism for incorporating problem-specific information into the performance of scalable research. Acceptance functions that control the flow of information in the knowledge base are generally greedy, including only the best information of the current generation, and only replacing existing knowledge if it is an improvement. . Acceptance functions are traditionally deterministic, although probabilistic and fuzzy acceptance functions have been studied.