# A Stigmergy-Based Differential Evolution
## 2 Stigmergy and Some Stigmergic Applications  
Some authors consider insect colonies as complex adaptive systems, with properties of: (1) spatial distribution; (2) decentralized control; (3) hierarchical organization of individuals; (4) adaptation to environmental changes, among others [17; 34]. For the second property, this means that there is no global control [34], and therefore the interactions among individuals are distributed. To explain the behavior of insect colonies, researchers proposed the term stigmergy. Such a concept comes from entomology, and [PERSON] proposed it to explain the coordination and collaboration by the indirect communication [35; 36] of social insects (particularly remites and ants) to complete complicated projects [37]. In the original paper, [PERSON] considers that every individual in a colony that acts (ergon) on the medium leaves a trace (stigma), which at the same time stimulates another action from the same or another individual (Figure 1). Actions and marks occur on the medium, and as mentioned, the latter only stimulate (but not force) the action of either the same or other individuals. The concept of stigmergy has served as an inspiration to propose algorithms utilized to solve some problems in engineering [38; 39; 40], and it also was used as an inspiration to propose one of the most known metaheuristic algorithms: Ant System (AS) [41], the predecessor of Ant Colony Optimization (ACO) and its variants. In these approaches, it is the pheromone-based construction of trails that represents the stigmergic mechanism [36; 42; 43]. ACO considers a population of artificial agents that keep some memory in the form of the pheromone of the best solutions visited so-far; those solutions are paths of a completely connected graph, constructed by selecting every vertex in the path in a probabilistic manner, being that vertices in the graph with the most artificial pheromones are the more likely to be selected. As the algorithm works in the graphs' space to construct the solutions, it is natural that the first applications of this technique are in combinatorial optimization, such as the Traveling Salesman Problem or job-shop scheduling. The application of ACO to solve numerical optimization problems is not straightforward. Often, the proposals include hybridizations with other techniques, as the continuous ACO (CACO) [44], continuous interacting ant colony (CIAC) [45], or continuous ant colony system (CACS) [42]; however, there are some research efforts using direct modifications to the original ACO. For instance, in his doctoral thesis, [PERSON] proposed two stigmergy-based modifications of the original ACO to solve numerical problems, including the Differential Ant-Stigmergy Algorithm [36]. In the proposal, the authors present a fine-grained discretization of the continuous search space to construct a directed graph, to which they apply the operators Gaussian pheromone  
Figure 1: A simple graphic of stigmergy as a closed loop. aggregation, pheromone evaporation and parameter precision to build a solution for the continuous optimization problem at hand. [PERSON] and colleagues later improved the original algorithm to tackle high-complexity problems or even dynamic problems [43; 46] by using a pheromone operator based on the Cauchy distribution. A recently proposed stigmergic algorithm to solve numeric problems is the teaching-learning-based optimization [47]. In the paper, students' cooperation (ergon/action) through a board (sigma/mark) simulates the stigmergic process. Algorithmically, the authors create a ranking matrix (of the same size as the original population) for every individual, and they use a roulette wheel to select a guide student. Such guiding students serve as the mean to generate new solutions, which utilize as a standard deviation the weighted average of the remaining individuals. Therefore, the guiding student directs the complete exploration-exploitation process, diluting the stigmergic process as it happens in other metaheuristics.