The common denominator linking all of the profile fitting algorithms studied by Brynildsen (CURVEFIT - from the Interactive Data Language (IDL) userlib, and AMOEBA - A "downhill" SIMPLEX algorithm from Press et al. 1992, and others) is the need for user input regarding starting points for each parameter in the search. This potential source of user bias, and the reduced quality (in terms of fit to the data) of the parameterisation form the principal motivation for this paper, and indeed we show that they are not present using a GA technique beyond the absolute minimum requirement of supplying a "line list" of lines to be identified.
Using a GA for this profile fitting problem can have many advantages not available to the user of predictive line fitting algorithms. Considering one of the many advantages noted in Charbonneau (1995), a GA is not de-stabilised by noise in the data; it will merely attempt to achieve its goal, locating the "best" profile. The GA will attain this goal, the introduction of data noise will merely affect the convergence time of the algorithm.
We present a "simple" GA, called Ga-GA, which we show to be stable against reasonable noise levels and to have no source of possible user bias. The following sections discuss its performance in detail.
GAs carry out a form of forward modelling, by performing a heuristic search of the problem's parameter space. What distinguishes a GA from other forward modelling methods (such as Monte Carlo simulation) is primarily the way in which new trial solutions are constructed from the current population of trial solutions (cf. step 2 above).
At the most basic level a GA can be viewed as a processor of a set of strings, each encoding a particular version of the model being optimised. A subset of the fitter individuals of the current population are selected and paired, and the defining strings of each such pair are subjected to the action of two genetic operators: cross-over and mutation. The cross-over operation involves dissection of the two parent strings at a randomly chosen point along the string, followed by the interchange of the dissected components. In this way two new strings are produced from two parent strings (see Fig. 1). The second operator, mutation, involves the replacement of a few randomly selected digit in the two strings produced by the cross-over operation with randomly generated digit values. Its primary purpose is to maintain a suitable level of variation in the population, which is essential for selection to operate. The combination of stochastic genetic operators with fitness-based selection yields a powerful search algorithm that can move away from secondary extrema and locate the global extremum in parameter space (see, e.g., Goldberg 1989; Davis 1991; Charbonneau 1995)
In this paper we are using a GA version which implements a scheme involving a variable mutation rate, i.e. as the population becomes more degenerate (little variation) the probability of a mutation taking place is correspondingly increased, and makes use of elitism, the best individual in the old generation is not replaced unless there is a fitter one in the new generation. The selection of individuals in the breeding operator is carried out using a roulette-wheel algorithm (see Davis 1991, Ch. 1), meaning that individuals with higher fitness are associated with sectors of correspondingly large angle on the roulette wheel. This roulette wheel, when "spun", ensures that although all individuals are capable of breeding, the fitter individuals have a slightly higher probability of being selected.
In many ways our GA resembles that of Charbonneau (1995), but it also contains some features of the GA presented in Diver & Ireland (1997). Indeed, in the cases presented in Sect. 4 we have employed a variation on the algorithm PIKAIA presented in Charbonneau (1995) to maximise speed and accuracy.
When Ga-GA "recognises" spectral features, i.e. one of the Gaussian describing parameters or an entire profile, the corresponding final solution will be a better representation of the target and will result in that string of parameters being given a higher fitness. Since Ga-GA uses the mechanics of natural selection, a genotype with a higher fitness value will be prevalent in the current and future generations until replaced by a "fitter" individual.
Ga-GA uses parameter strings of length , where N is the
estimated number of Gaussian profiles in the line spectrum to be
analysed, and three because it requires three parameters to
describe a general Gaussian profile. These parameters are absolute
position in wavelength, at channel (X), amplitude (A), and the Gaussian's
value (W) and are encoded as a string in the following order:
![]() |
(1) |
![]() |
(2) |
![]() |
(3) |
This measure is used to evaluate the fitness of each genotype. It is the fitness value that is used to rank all the genotypes in a particular population into ascending order and to "weight" the roulette wheel of Sect. 2.1.
Copyright The European Southern Observatory (ESO)