next previous
Up: Spectral decomposition by genetic


5 Discussion

We have presented a heuristic search algorithm for the detection and analysis of spectral lines, which is free of operator bias and robust against poor or noisy data. Data are fitted simultaneously, and not sequentially, therefore limiting the propagation of systematic errors through the procedure. Coding is simple to write and easy to use, needing minimal operator input. However, the simplicity of the GA used here places limitations on the amount of information that can be extracted from spectra. Although there is no practical limit to the number of parameters used in the genetic decomposition, the efficiency with which the one point cross-over operator "explores" the solution space decreases as the number of parameters increases. However, such a problem can be countered simply by using a multiple point cross-over operator (see discussion in Goldberg 1989). Such adaptations are simple to make in any GA code.

In cases where data is more poorly sampled or noisier than those examined here, convergence times may become longer than the few minutes or so typical of the examples shown. It is clear from the CPU times ($T_{\rm CPU}$) given in Tables 1 and 2 that although Ga-GA is not as "fast" as CURVEFIT we can see that the user must compromise between run time and the degree of accuracy required since Ga-GA has clearly demonstrated its usefulness in the presence of quite severe noise. Presumably there is also a trade-off between poorer sampling (i.e. fewer points) saving on floating point operations, and noisier data leading to many more fitting attempts. Monitoring the convergence of the GA in the cases examined here indicates that it is adept at rapidly fitting the large scale spectral features, and progressively slower at smaller scales. This cascading nature is central to the operation of a GA, and underpins its stability in the face of noisy data (the noise being on the smallest scale is fitted last). Increasing the scale of the computation is straightforward since the generation of each child is an independent calculation (strictly, the generation of each pair of derived strings), and so the algorithm lends itself naturally to parallelisation. It is also clear that a GA routine like Ga-GA could form part of a suite of line analysis codes, with the GA offering a best initial estimate of the profile for more conventional processing methods which require a "good" initial guess.

Acknowledgements

We acknowledge the support of finance from the UK PPARC (Research grants to JCB, DAD and JI, Studentship - SMc, Visitor Grant - PGJ) and software/hardware supplied by the STARLINK project. JCB and SMc also acknowledge the support of the HAO Visitor program. SMc would like to thank PC for introducing him to the freely available PIKAIA Genetic Algorithm[*]. We would also like to thank Dr. B. Plez for helpful comments and suggestions made about this text during the refereeing process.


next previous
Up: Spectral decomposition by genetic

Copyright The European Southern Observatory (ESO)