Function-Discovery-System by the Evolutionary Computation Using the Search-Accumulation
Recently, a system using a bug-type artificial life was proposed for discovering the function, and it has been improved further. This system is one of the extended models of the genetic algorithm (GA) and genetic programming (GP). Since this system uses the concept of sexual and asexual reproduction, it is termed the S-System. This concept is important to obtain the function that is in good agreement with the observation data. The advantages of this system over GP are as follows: (1) the length of the obtained function is short, (2) the function obtained by the S-System agrees well with the observation data as compared to that obtained by GP, and (3) the search time is short. However, when the observation data is very complicated, the function is occasionally not obtained. For improving the system, a new strategy termed searchaccumulation has been introduced in this study. By this strategy, the function can be obtained even if complicated data is used. In the proposed search-accumulation strategy, the search by the S-System is repeated several times, and the steps involved in search-accumulation are as follows: (1) To obtain the function that is in agreement with the observation data D0, the S-System is used. As the generation proceeds, the function obtained by the S-System changes and the difference between the function and D0 reduces. This implies that the function agrees with the observation data. However, when the generation proceeds sufficiently, the difference does not reduce. At this time, the search is stopped. Therefore, the function f0 is obtained. (2) The difference between f0 and D0 corresponds to the error E. In this strategy, E is regarded as the new observation data D1. (3) To obtain the function that is in agreement with D1, the S-System is used again. Thus, the function f1 is obtained. (4) The difference between f1 and D1 is regarded as the new observation data D2. (5) The S-System is again used to obtain the function that is in agreement with D2, and the function f2 is obtained. The above steps are repeated. Using the search-accumulation strategy, the functions (f0, f1, . . ., fn) are obtained. The flowchart is shown in Fig. 1. The function f obtained by search-accumulation is defined as the sum of f0, f1, . . ., fn. To confirm the validity of searchaccumulation, the Himmelblau function, valley function, and Fig. 1. The flowchart of function-discovery-system using search-accumulation