Genetic Operators and Sequencing in the GAuGE System

This paper investigates the effects of the mapping process employed by the GAuGE system on standard genetic operators. It is shown that the application of that mapping process transforms these operators into suitable sequencing searching tools. A practical application is analysed, and its results compared with a standard genetic algorithm, using the same operators. Results and analysis highlight the suitability of GAuGE and its operators, for this class of problems. I. I NTRODUCTION The GAuGE system (Genetic Algorithms using Grammatical Evolution) [1] uses a position-independent represent ation, which allows it to specify both the position and the value of each phenotypic variable. It employs a genotype-to phenotype mapping process which ensures all variables are specified once and only once: in other words, no undernor over-specification ever occurs in the system. This elegant mapping process has a cost. In order to keep the association between the position and the value of each variable, it has been shown [2] that representation convergence must occur throughout the population. While not damaging on regular binary problems, this disassociati n can seriously impair the performance of the system on other problems, and to that end, a series of genetic operators have been developed, which respect those associations [3], [4]. Some problems, however, do not require a strict respect of that association. Job-shop scheduling problems, for examp le, require a fixed set of values to be optimally ordered; the objective of the system is to search for the optimal represen tation that solves the problem. In this class of problems, ea ch variable encodes the same type of choice (e.g. a resource), and the values of variables can (and must) be exchanged between them, to find optimal sequences. An interesting problem domain is where the set of values to be ordered is not fixed a-priori, and neither is it an ordina l sequence; the objective of the system in this case is not only to find the correct sequence of variables, but also the correc t set of values for all variables. GAuGE has been applied to a version of the Mastermind game [1], which exhibits these characteristics, and the res ults obtained were encouraging. Recently, it was also applied to Sudoku puzzles [5], and again its success suggests that the system is suitable for this class of problems. In this paper, the effect of standard genetic operators on the GAuGE system is analysed; this analysis shows how their combination is suitable for the mentioned class of problems . A direct comparison with a standard genetic algorithm [6] is Miguel Nicolau and Conor Ryan are with the Biocomputing and De velopmental Systems group, Department of Computer Science and Info rmati n Systems, University of Limerick, Ireland (email: Miguel.Nico lau@ul.ie, Conor.Ryan@ul.ie). performed, for the Sudoku problem, and the results obtained and their analysis highlight the validity of this approach. This paper is structured as follows. Section II introduces the GAuGE system and its mapping process, while Section III analyses the effect of standard genetic operators o n the GAuGE system. Section IV then presents the Sudoku problem, and Section V the experimental setup used. Finally , Section VI analyses the results obtained, and Section VII highlights future work directions. II. THE GAUGE SYSTEM The GAuGE system works as a mapping process applied to binary genotype strings, which are evolved using a standard genetic algorithm [6]. It interprets those strings as a sequence of position and value specifications, and construc t a phenotype string, which is then evaluated. A. Background Many systems have been developed using similar techniques to the ones employed in GAuGE. Bagley [7] used fixed-length strings of(position, value) specifications, and an inversion operator to move those specifications around in the chromosome strings; both Frantz [8] and Holland [9] extended some of that work, and similar operators were later designed, with the same purpose [10], [11], [12]. The messy genetic algorithms [13], [14] also use a separate ncoding of the position and the value of each phenotypic variable. They deal with the problem of over-specification o n a “first come, first served” basis, while under-specification is dealt with the use of an evolved template. More recently, Harik [15] introduced the Linkage Learning Genetic Algorithm, in which a chromosome is expressed as a circular list of genes, with the functionality of a gene bein g dependent on a chosen interpretation point, and the genes between that point and itself. Finally, the Grammatical Evolution system (GE) [16] uses a standard genetic algorithm (or any other search algorithm ) to evolve binary strings, and employs a grammar-based mapping process to create phenotype strings. The design of GAuGE was based on many of the biologically inspired features present in GE, such as a genotype-to-phenotype mapping process, functional dependency between genes, and the use of degeneracy (i.e. a many-to-one correspondance between genotype and phenotype). B. Mapping Process Consider a problem composed of four phenotypic variables (l = 4), ranging between the values 0 and7; the objective of the system is to find the set of values that solves the problem, and their optimal order. The underlying search algorithm maintains a population of genotype strings. The length of each string depends on a chosen position field size ( pfs) and a value field size ( vfs). As there are four variables, a value of p s = 2 has been chosen, as that is the minimum number of bits required to encode four positions; for the value fields, a value of vfs = 4 has been chosen, to introduce degeneracy (the minimum required isvfs = 3). The required length for each binary string is thereforeL = (pfs + vfs)× l = (2 + 4)× 4 = 24. For example, take the following example genotype string: G = 001001101101110100010010 The mapping process will proceed to create a phenotype string P . It consists of four steps: Φ : G Φ1 −−→ X Φ2 −−→ D Φ3 −−→ R Φ4 −−→ P The first step ( Φ1) creates an integer string X, using the chosenpfs andvfs values: