Application of genetic algorithms for characterization of thin layered ...

16 downloads 52918 Views 206KB Size Report
Fax: #31-24-365-2653; e-mail: ... proposed. For both simulated and measured data good fits are obtained within a single run. .... a silicon bulk sample. As can be ...
Physica B 253 (1998) 254—268

Application of genetic algorithms for characterization of thin layered materials by glancing incidence X-ray reflectometry A.D. Dane!, A. Veldhuis!, D.K.G. de Boer", A.J.G. Leenaers", L.M.C. Buydens!,* ! Katholieke Universiteit Nijmegen, Toernooiveld 1, 6525 ED Nijmegen, The Netherlands " Philips Research Laboratories, Professor Holstlaan 4, 5656 AA Eindhoven, The Netherlands Received 26 February 1998

Abstract A genetic algorithm for characterization of thin-layered materials by glancing incidence X-ray reflectometry is proposed. For both simulated and measured data good fits are obtained within a single run. This reduces the amount of human effort and expertise necessary for analyzing reflectivity measurements which makes genetic algorithms an attractive alternative to methods currently used. ( 1998 Elsevier Science B.V. All rights reserved. PACS: 07.05.Mh; 07.85.!m Keywords: GIXR; Genetic algorithms; Layered materials

1. Introduction In today’s technology an increasing use is made of materials consisting of thin layers with thicknesses in the range of a few nanometers. Applications of these types of materials can be found in integrated circuits, magnetic heads and tapes, solid-state lasers, X-ray mirrors and coated window glass, etc. They are used for their mechanical, magnetic, optical and/or electrical properties. These properties are related to the structural parameters of these materials, such as the elemental composition, thickness, roughness and curvature of the

* Corresponding author. Fax: #31-24-365-2653; e-mail: [email protected].

layers in the material. It is therefore essential for the research and development of new thin film applications, as well as for the production of such materials, to be able to determine these structural parameters. For the analysis of thin-layered materials, a powerful probe is formed by X-rays impinging on the material at glancing incidence [1]. The incidence angle with respect to the sample surface is typically below 3° (52 mrad). The Glancing Incidence X-ray Reflectometry (GIXR) method is one of the techniques to analyze thin-layered materials at glancing incidence. GIXR measures the specular reflectivity as a function of the incidence angle (h) [2]. From these measurements, several physical parameters can be extracted: layer densities, thicknesses and roughnesses. One way of extracting these parameters is via a model fit [1,3]. One starts with

0921-4526/98/$ — see front matter ( 1998 Elsevier Science B.V. All rights reserved. PII: S 0 9 2 1 - 4 5 2 6 ( 9 7 ) 0 0 3 9 8 - 6

A.D. Dane et al. / Physica B 253 (1998) 254—268

a model of the sample, which includes the order of the layers and their approximate parameters, such as composition, thickness, roughness, etc. Then, in an iterative process, the reflectivity is calculated and compared with the measurement, after which the parameters of the sample model are updated. This is repeated until the calculated and measured reflectivity values are in close enough agreement. For most reflectivity measurements, there are different solutions for which the reflectivity curves are more or less the same. For these solutions the quality of fit alone is insufficient to decide which is the most likely, i.e. represents the true solution. Methods currently used for fitting reflectivity curves include simplex optimization and simulated annealing methods. Normally multiple runs are carried out until a good fit, with a corresponding feasible sample composition is obtained. It is also possible that no good fit is obtained using this procedure, one has to start again with another sample model. For instance, in practice it is often necessary to expand the model by including extra inter-facial layers [1—3]. The presence of multiple optima, the dependency on the initial parameter values, and the resulting trial and error strategy could easily result in overlooking the true solution. Genetic algorithms are so-called global optimization techniques, that can overcome the previously described problems. We implemented a genetic algorithm for fitting reflectivity curves. So far we optimized layer thicknesses and layer roughnesses. Computer experiments were performed on both simulated and measured data. In all experiments (single runs), we obtained fits that were comparable to those obtained with the methods currently used.

2. Problem description There are several factors which complicate GIXR. The model used to calculate the reflectivity curves is only an approximation of the true situation. For instance the sample model, i.e. the order of the layers and their approximate parameters may be incorrect. Another difficulty is that for most reflectivity measurements there are different sample compositions for which the reflectivity curves

255

are more or less the same. These sample compositions cannot alway be distinguished based on the used criterion for the quality of fit. The user has to decide whether or not a solution obtained is feasible. To increase the probability that this is the case, the user can more or less guide the optimization method used by supplying an initial estimate for which it will most certainly converge to a feasible sample composition. Normally, multiple runs are carried out until both a feasible composition and a good fit are obtained. The need for multiple runs before a good fit is obtained, can be explained by the fact that most optimization methods rely on local steps from the current solution. Most algorithms adapt the candidate solution in the direction of the largest error decrease. This direction can be determined either by calculating the derivative at the current position (gradient methods) or by making trial steps (simplex optimization). The algorithms stop when no more improvement is observed. They likely find the closest error minimum. For complex problems most probably this is a local minimum and the corresponding solution is wrong. This is called premature convergence. Simulated annealing [4] has a mechanism for avoiding this premature convergence. A small (random) adaption is made to the candidate solution. If the error of the new candidate solution is smaller than that of the previous candidate solution the new solution is accepted, otherwise the solution is accepted with a certain probability. However, since the adaptions made are local, the algorithm can certainly for very complex problems get stuck on a local solution. The need for multiple runs until a good fit is obtained requires a trial and error strategy for which a lot of human effort and expertise may be needed. The whole procedure could result in overlooking feasible solutions for a given sample model. Genetic algorithms [5] (see Section 3.2) are the so-called global optimization methods, which means that they are able to find a global solution in the presence of local optima. For this reason it is expected that a good fit can be obtained in a single run. This could reduce the amount of human effort and expertise, it also decreases the possibility of overlooking feasible solutions.

256

A.D. Dane et al. / Physica B 253 (1998) 254—268

As pointed out above, in most cases there are various sample compositions which cannot be distinguished by the quality of fit alone. In contrast to most other methods, genetic algorithms do not require a specific parameter estimate. Instead, they require a higher and a lower bound for each unknown parameter. These bounds define the possible value range for each parameter. When there is some knowledge about the sample this can be used to narrow these ranges. In this manner the probability that feasible solutions are obtained can be increased. Even though the probability of obtaining feasible solutions can be increased in this manner, it is best to compare multiple solutions before final conclusions are drawn. These solutions can be obtained from replicate experiments. However, genetic algorithms have an attractive property which might overcome the need for replicate experiments. Since genetic algorithms process a pool of trial solutions (see further), and not a single one, it is possible to present more than one different solution as a result of a single run. From these solutions the user can select the most probable solution. This aspect of genetic algorithms is, however, still under investigation (e.g. Ref. [6]).

3. Materials and methods 3.1. Glancing incidence X-ray reflectivity analysis Good introductions and reviews on Glancing Incidence X-ray Reflectivity Analysis (GIXR) can

be found in Refs. [1,7]. Here we only summarize the information that can be obtained from reflectivity measurements. Fig. 1A depicts the reflectivity for a silicon bulk sample. As can be seen, below the critical angle, h , the reflectivity is close to unity. # When the incident angle gets much larger than the critical angle, the reflectivity R, decays as R&h~4. The density of the material is related to the value of the critical angle (o1@2&h ). In layered materials # [1] X-rays are reflected and transmitted at each interface. Because of interference between the Xrays reflected at the various interfaces, so-called (Kiessig) fringes are seen in the reflectivity. This is illustrated by the calculated reflectivity curve of a 300 A_ CoO layer in Fig. 1B. The thickness of the layer can be estimated from the distance *h (in rad) between two successive fringe minima j d+ . 2*h

(1)

The fringe amplitude depends on the density contrast between the layers. Interface roughness will, besides reducing the overall reflectivity, also affect the fringe amplitude. The fringe spacings and amplitudes in spectra from more complex multilayer samples in most cases cannot be linked directly to layer thicknesses and interface roughnesses. In these cases the structural parameters must be obtained via a model fit which involves the calculation of theoretical reflectivity curves. A detailed description of these calculations is beyond the scope of this paper. The equations can be found in Refs. [1,8] and the references given therein.

Fig. 1. A. Calculated reflectivity for silicon. h shows the position of the critical angle. B. Calculated reflectivity for a 300 A_ CoO layer. #

A.D. Dane et al. / Physica B 253 (1998) 254—268

3.2. Genetic algorithms An important difference between genetic algorithms and other optimization methods is that the former work with a population of, in most cases, binary encoded candidate solutions, which are called strings or bitstrings. Population-to-population steps are made instead of point-to-point steps. Convergence of the best strings in the population to optimal solutions is established by a computer simulated evolution process. Even though there is a great variety of genetic algorithms, almost all of them, in some way or another, rely on the same general algorithm, shown in Fig. 2. A number of conceptual steps can be distinguished in this flow chart. These will be described in short.

3.

4.

1. Initialization of the internal genetic algorithm settings and creation of the initial population by assigning random bit sequences to the strings. 2. Evaluation of the strings, by calling the objective function. This results in a fitness measure for each string that expresses its quality.

5.

6.

Fig. 2. General flowchart of a genetic algorithm.

257

(2.1) Next, a stop criterion is applied, which can be based on some convergence measure, or on the maximum number of iterations (or generations in the GA jargon). If the criterion evaluates to true, the execution is stopped, otherwise another iteration will be performed. Fitness proportional selection of the strings, to yield a new temporary population which is smaller than or equally sized to the original population. The strings in this temporary population are fitter on average than those in the original population. Recombination of the strings in the temporary population. This consists of random or selective pairing of the strings and applying crossover. In crossover pairs are selected according to some probability, they exchange bits to produce two new strings. Recombination can only yield new (improved) solutions, when the two strings it operates on, differ. Selection in which the fittest strings have the highest survival probability can lead to a population with no more strings containing high-quality regions at different positions. For this reason genetic algorithm performance is aided by maintaining a large population diversity. Mutation, in which small changes throughout the temporary population are made at randomly selected locations. Replacement of normally the worst strings from the original population by strings from the temporary population.

An important difference between genetic algorithms and other optimization methods is that they do not locally explore the neighborhood of generated trial solutions. i.e. they do not calculate derivatives or make small trial steps to reach an optimum. Convergence of the best strings in the population to better solutions is established by recombination of above average solutions [5]. This makes them less sensitive for local optima but on the other hand it makes their search precision very poor. Genetic algorithms are good in finding the neighborhood of the global optimum, however, the exact location is rarely obtained. For this reason, genetic search is often followed by a local optimization step. This is called post-hybridization [9].

258

A.D. Dane et al. / Physica B 253 (1998) 254—268

4. Application of the method 4.1. Optimization criterion Generally, the quality or fitness of a trial solution is assessed by calculating some error value expressing the distance between the candidate solution and the measurement. This error can then be converted to a fitness measure according to Eq. (2), 1 Fitness(x)" , 1#Error(x)

(2)

resulting in a fitness value between 0 (worst possible solution) and 1 (best possible solution). For reflectivity measurements, it is very important to consider the data representation for determining the error measure. This is illustrated by Fig. 3. When a linear representation is used (Fig. 3a), the error measure will be dominated by differences in the section of the curve just before the critical angle, and the very small section just after it. In general, an error criterion based upon this (linear) representation will not be of much use, since the parts of the curve where most information is located

contribute relatively little to the error calculated using this scale. In Fig. 3b where a natural logarithm (ln) representation is used, a much clearer picture is obtained of the Kiessig fringes located in the section after the critical angle, here approximately 0.25°. Since the structural information is in the periodicity and amplitude of those fringes, it is obvious to calculate the error on a logarithmic scale. A disadvantage of logarithmic representation is the contribution of noise in the latter part of the reflectivity curve which is much larger than in the unscaled curve. The last part of the curve, however, which is dominated by noise can be removed without losing relevant information. To achieve further noise reduction and a reduction of the number of data points, a filter is applied. This filter sequentially replaces 5 intensity points by their average value. Filtered curves on logarithmic scales can be found in the Results section. A number of error functions can be considered, but in the case where a measured curve and a calculated curve are compared, an error criterion consisting of the combination of a Root Mean Squared Error (RMSE) measure and the correlation

Fig. 3. (a) Measured reflectivity curve plotted on a linear scale; (b) measured reflectivity curve plotted on a natural logarithm scale.

A.D. Dane et al. / Physica B 253 (1998) 254—268

coefficient (r) has been observed to work well in practice [9]: RMSE(x , x ) #!-# .%!4 , Error(x)" [1#r(x , x )]a #!-# .%!4

(3)

where a is a scaling factor (a*0) that determines how much the correlation coefficient contributes to the error measure. If a is taken to be 0, there is no contribution at all. In all the experiments described here a is 3. As mentioned in Section 3.2, genetic algorithms are good in finding the neighborhood of the global optimum, however, the exact location is rarely obtained. To refine the best genetic algorithm solution we post-hybridized our genetic algorithm with the Marquardt—Levenberg algorithm [10]. The Marquardt—Levenberg algorithm minimizes s2, here we use

A

B

2 n x !x i,.%!4 i,#!-# , s2" + x i,.%!4 i/1

(4)

in which n is the number of data points in the reflectivity curve. Since the Marquardt—Levenberg algorithm is the second and last optimization step s2 is given as an error measure in the Results section.

5. Experimental In order to assess the applicability of genetic algorithms in GIXR, we conducted several computer experiments both on simulated and measured data. The measured data were first analyzed with the WinGixa [11,3] software. WinGixa is a commercial software package for the interactive analysis of reflectivity (and glancing X-ray fluorescence) measurements, based on simplex optimization and simulated annealing. Three samples (for a description see Section 5.2) are analyzed. On these samples two types of replicate experiments are carried out. In the first experiments (denoted 1a, 1b and 1c) the purpose is to find correct values for the layer thicknesses. In these experiments the assumption is made that the com-

259

position and the order of the layers, i.e. the qualitative sample model, and the layer roughnesses are known. Both the qualitative composition and the layer roughnesses are set to the values obtained with WinGixa. The second experiments (denoted 2a, 2b and 2c) are the same as the first experiments except that not only the correct layer thicknesses must be found but also the correct values for the roughnesses. In the experiments on the measured data, exact thickness and roughness values are not known. Furthermore, it is not certain that the sample model used is correct and experimental noise is present. An optimization algorithm looks for the solution with the lowest error. However, as mentioned earlier, it cannot always be determined, from the quality of the fit alone, whether or not this solution is the most likely. The main goal of the experiments described here is to see if good fits can be obtained in a single run without very accurate initial estimates. The feasibility of the solutions is of secondary interest at this stage. In the experiments where both thicknesses and roughnesses are optimized, there are more degrees of freedom compared to experiments where only the thicknesses are optimized. For this reason, it is expected that there will be more variation in the end solutions. Since it is not certain that the WinGixa roughness values are the most optimal for the measured data, lower error values can be expected in the experiments where both thicknesses and roughnesses must be found. Because it is not certain whether or not solutions obtained for measured data correspond with the global optimum, it is difficult to draw quantitative conclusions about the performance of the genetic algorithm. For this reason we performed experiments on simulated data. These simulated data are obtained by calculating reflectivity curves with the WinGixa results for the measured data as input parameters. The calculations are exactly the same as those used by our genetic algorithm and no noise was added. Therefore, the global solution is known. The sample parameters are the WinGixa results for the measured data and the error (s2) for the corresponding fit is 0. The ability to find this global optimum is an indication of how well the genetic algorithm is configured.

260

A.D. Dane et al. / Physica B 253 (1998) 254—268

5.1. Reflectivity measurements The measured reflectivity curves used in this paper were obtained using a Philips diffractometer adapted for GIXR measurements [3,1].

5.2. Data The three sample structures gix1, gix2 and gix3 that are used in the experiments are given in

Tables 1—3. The thickness and roughness values given are the WinGixa results for the measured data. They are also the input values for the simulated data (see above). Pre-treatment of the measured data as described in Section 4.1 yields the uniformly sampled spectral regions given in Table 4. After this pre-treatment, the distance between adjacent points is 0.05°. The simulated curves are calculated on the same spectral regions with the same distance between adjacent spectral points.

Table 1 Sample model for gix1 data Layer d

Material

Thickness (A_ )

Roughness (A_ )

Density

Z

M

Mass Abs. Coeff.

1 2 Substrate

Fe O 3 4 CoO SrTiO 3

128.6 441.1 1.0e68

3.0 3.0 3.0

5.18 6.45 5.00

15.184 16.290 16.740

33.0769 37.4663 36.7000

227.45 277.81 109.50

Table 2 Sample model for gix2 data Layer d

Material

Thickness (A_ )

Roughness (A_ )

Density

Z

M

Mass Abs. Coeff.

1 2 3 4 Substrate

SiO 2 Si Si Ge 80 20 Ge Si

29.2 186.8 265.9 1.0 1.0e68

5.0 3.0 2.0 2.0 2.0

2.64 2.33 3.20 5.35 2.33

10.00 14.00 17.57 31.00 14.00

20.0281 28.0855 36.9864 72.5900 28.0855

34.400 61.210 64.180 69.320 61.210

Table 3 Sample model for gix3 data Layer d

Material

Thickness (A_ )

Roughness (A_ )

Density

Z

M

Mass Abs. Coeff.

1 2 3 4 5 6 7 8 9 Substrate

Ta O 2 5 Ta FeMn Co CoCu Cu CoCu Co Ta Si

33.0 4.0 82.0 31.0 15.0 25.0 15.5 56.0 35.0 1.0e68

10.0 7.0 6.5 6.0 6.0 6.0 6.0 5.5 5.5 4.0

8.20 16.6 7.60 8.90 8.90 8.92 8.90 8.90 16.6 2.33

24.7904 66.6490 24.6265 24.5360 25.7585 26.9810 25.7585 24.5360 66.6490 14.2400

63.1276 180.948 55.3925 58.9332 61.2396 63.5460 61.2396 58.9332 180.948 28.0855

135.9568 163.5985 293.9427 350.2729 195.6827 52.31419 195.6827 350.2729 163.5985 61.96370

A.D. Dane et al. / Physica B 253 (1998) 254—268

261

Table 4 Configuration Control parameter Population size Max. d GA evaluations Selection

Crossover

Description

Parameter values

elitist threshold [12,13] using shared fitness [5,14] bit-complement [5,15,16] multipoint [5] uniform [17]

Mutation

uniform variable probability [5] value step mutation

Replacement Post-hybridization Thickness parameters

crowding [18,19] refinement of end solution range

Roughness parameters

resolution range

Correlation scale factor (a) Spectral region used to fit

resolution Eq. (3)

Using Eq. (1), the spectral regions of Table 4 and the fact that the data are obtained using a j" 1.542 A_ source, it can be calculated that the minimum layer thicknesses for which a complete fringe can be recorded is approximately 42 A_ for the gix1 data, 38 A_ for the gix2 data and 22 A_ for the gix3 data. For thinner layers, here SiO and Ge for the gix2 2 data and Ta and both CoCu layers for the gix3 data, only a part of a fringe can be recorded which makes it more difficult to obtain the correct thickness. For the gix3 data, an additional problem is that there is almost no density contrast between layers 4—8 which makes it very difficult to calculate the corresponding parameters from reflectivity measurements. It is expected that for this data set there is a large number of local optima.

200 50000 0.01 0.5 from 0.3 fraction 0.08 best and worst 0.40 probability, 2 breakpnts, pair most similar [5] 0.40 probability, swap 50 %, pair random 0.01 start probability linearly changing to 0.03 end probability 0.015 probability, 4.0 stepsize decay factor 0.06 crowding factor (12 strings) Marquardt Levenberg [10] gix1: 1.0—450.0 A_ gix2: 1.0—300.0 A_ gix3: 1.0—100.0 A_ 0.10 A_ gix1: 1.0—10.0 A_ gix2: 1.0—10.0 A_ gix3: 1.0—10.0 A_ 0.01 A_ 3.0 gix1: 0.25°—1.30° gix2: 0.15°—1.30° gix3: 0.30°—2.30°

5.3. Computer program The computer program was written in C## and compiled using the GNU C##compiler version 2.7.2. The code for the reflectivity calculations was taken from the WinGixa [11,3] software and translated from Fortran into C##. For the genetic algorithm part we developed the GA3 library. The program was run under Linux on a PC with a 133 MHz Pentium processor. Using this hardware, the running times were roughly 45 min for the gix1 data, 80 min for the gix2 data and 270 min for the gix3 data. These running times can be reduced since in most cases the genetic algorithm converged to its final solution in less than 50% of the total number of evaluations.

262

A.D. Dane et al. / Physica B 253 (1998) 254—268

5.4. Genetic algorithm configuration For all experiments we used a genetic algorithm configured as in Table 4.

5.5. Results 5.5.1. Simulated spectra Table 5 summarizes the number of exact solutions (s2"0 and correct parameter values) in 3 Table 5 Number of exact solutions found in 3 replicate experiments on simulated reflectivity data Data

Thickness (exps. 1)

Thickness/ roughness (exps. 2)

gix1 gix2 gix3

3 3 1

3 1 0

replicate experiments on the simulated reflectivity data. For all experiments on the gix1 data and all the thickness optimizations on the gix2 data, the exact solutions are obtained. Exact solutions are also obtained in one thickness/roughness experiment on the gix2 data and one thickness experiment on the gix3 data. This implies that the genetic algorithm was able to find the exact solution in 61% of the experiments on simulated data. In the experiments where no exact solution is found, the fits are also very good which will be further discussed below. Fig. 4 depicts the fitted curves for the two thickness/roughness experiments (2a and 2c) on the simulated gix2 data in which no exact solutions are obtained. For both experiments the fits are almost perfect although for exp. 2c the deviations are somewhat larger in the latter part of the curve. The corresponding sample models are given in Table 6. Although the spectral errors are small, there are differences between the simulated sample model and the sample models obtained in optimization.

Fig. 4. Fitted curves simulated gix2 data thickness/roughness optimization. (—) Simulated curve, (2) fitted results. The upper curve is shifted for clarity.

A.D. Dane et al. / Physica B 253 (1998) 254—268

Fig. 5 depicts the fitted curves for the simulated gix3 data. The corresponding sample models are given in Table 7. The s2 values for the 5 experiments in which no exact solution is obtained are comparable. There are large differences in composition especially for the third (FeMn) to the eighth layer (Co). This can be explained by the fact that

Table 6 Obtained sample models for simulated gix2 data thickness/ roughness optimization

Thickness SiO 2 Thickness Si Thickness Si Ge 80 20 Thickness Ge Roughness SiO 2 Roughness Si Roughness Si Ge 80 20 Roughness Ge s2

Simul.

exp. 2a

exp. 2b

exp. 2c

29.2 186.8 265.9 1.0 5.0 3.0 2.0 2.0

27.0 29.2 27.6 188.7 186.6 188.0 263.7 265.9 262.4 1.6 1.0 2.3 5.29 5.00 4.97 3.31 3.00 2.74 2.26 2.00 2.07 0.00 2.00 0.00 0.0154 0.0000 0.1190

263

there is almost no density contrast between those layers. For this reason it is difficult to distinguish between these layers and to calculate individual thicknesses. However, if the curves are inspected by eye, some differences can be seen which seem to be characteristic for particular layers. For instance, the thickness of the FeMn (layer 3) mainly affects the position of the critical angle. The thickness of the Co (layer 4) mainly affects the pronounced third dip, whereas the thickness of the Co (layer 8) affects the second dip. The Cu thickness (layer 6) affects the contrast of the double fringe just before 1°. The CoCu thicknesses (layers 5 and 7) affect the fringe amplitudes at higher angles. Remarkably, all these features have approximately the same effect on s2. It will be challenging to find another fitness criterion which takes into account the mentioned characteristics. 5.5.2. Measured spectra For the measured gix1 data (Table 8 and Fig. 6) adequate fits are obtained in all cases. In all

Fig. 5. Fitted curves simulated gix3 data. (—) Simulated curve, (2), (! ) !) and (——) fitted results. (a) Thickness optimization, (b) thickness/roughness optimization. Curve (a) is shifted for clarity.

264

A.D. Dane et al. / Physica B 253 (1998) 254—268

Table 7 Results simulated gix3 data d 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

Thickness Ta O 2 5 Thickness Ta Thickness FeMn Thickness Co Thickness CoCu Thickness Cu Thickness CoCu Thickness Co Thickness Ta Roughness Ta O 2 5 Roughness Ta Roughness FeMn Roughness Co Roughness CoCu Roughness Cu Roughness CoCu Roughness Co Roughness Ta s2

Simul.

exp. 1a

exp. 1b

exp. 1c

exp. 2a

exp. 2b

exp. 2c

33.0 4.0 82.0 31.0 15.0 25.0 15.5 56.0 35.0 10.0 7.0 6.5 6.0 6.0 6.0 6.0 5.5 5.5

33.0 4.0 82.0 31.0 15.0 25.0 15.5 56.0 35.0

35.1 3.3 86.3 46.3 72.8 0.0 0.0 19.2 35.1

33.3 3.8 50.2 65.8 19.3 11.0 50.6 27.7 34.8

34.0 3.4 82.5 36.2 68.9 1.1 17.6 19.2 34.8 9.90 6.51 6.41 5.70 9.59 6.23 5.94 10.00 5.57 0.1337

35.7 4.8 22.6 7.8 32.1 4.6 86.7 68.2 34.7 9.41 10.00 6.64 10.00 7.45 10.00 10.00 8.55 5.60 0.3471

0.0000

0.3065

0.2254

34.7 3.4 82.9 31.3 29.1 4.5 48.0 28.7 34.9 10.00 6.80 6.06 6.79 7.92 10.00 6.56 10.00 5.43 0.1071

Table 8 Results measured gix1 data

Thickness Fe O 3 4 Thickness CoO Roughness Fe O 3 4 Roughness CoO s2

WinGixa

exp. 1a

exp. 1b

exp. 1c

exp. 2a

exp. 2b

exp. 2c

125.3 444.4 3.0 3.0 0.7766

125.77 440.65

125.77 440.65

125.77 440.65

125.52 440.94 3.44 0.00 0.5807

125.54 440.84 3.44 0.00 0.5807

125.53 440.86 3.45 0.00 0.5804

0.6542

experiments the s2 values are smaller than those found by WinGixa. Furthermore, in replicate experiments a single sample structure is found. This indicates that the reflectivity curve contains enough information for an unambiguous analysis. For the measured gix2 data (Table 9 and Fig. 7) adequate fits are obtained in all experiments. When only the thickness is optimized the compositions between the replicates for each layer differ maximally 2.1 A_ . In the experiments where both thicknesses and roughnesses are optimized, the errors are comparable but there are differences between the compositions obtained (Table 9). This confirms the presence of different equivalent solutions for which the error alone is insufficient to decide

0.6542

0.6542

which of the sample structures obtained is the most likely. The differences between the structures obtained would be smaller if we had narrowed the possible value ranges for the unknown parameters by inclusion of physical pre-knowledge. In this case, the upper (SiO ) layer is a result of oxidation of 2 the silicon substrate and the second (Si) layer. In practice, such an SiO layer is never thicker than 2 approximately 50 A_ . Also smaller ranges for the roughnesses can be used. Furthermore, when it is certain that the fourth (Ge) layer is present, a lower limit larger than 0 A_ could be used. Fig. 8 depicts reflectivity curves obtained for the measured gix3 data. Although not all periodicities

A.D. Dane et al. / Physica B 253 (1998) 254—268

265

Fig. 6. Results measured gix1 data. (—) Measured curve, ( ) ! ) ) thickness optimization, ( ) ) ) ) ) ) thickness/roughness optimization.

Table 9 Results measured gix2 data

Thickness SiO 2 Thickness Si Thickness Si Ge 80 20 Thickness Ge Roughness SiO 2 Roughness Si Roughness Si Ge 80 20 Roughness Ge s2

WinGixa

exp. 1a

exp. 1b

exp. 1c

exp. 2a

exp. 2b

exp. 2c

29.2 186.8 265.9 1.0 5.0 3.0 2.0 2.0 1.5761

37.08 178.09 264.10 0.44

37.57 177.51 262.05 0.51

36.11 179.19 264.03 0.37

45.4 170.2 263.7 0.0 3.43 12.00 4.84 2.86 0.4995

186.8 29.3 263.7 0.0 3.41 12.00 5.01 2.87 0.5105

78.6 137.2 258.7 1.6 3.39 12.00 4.88 0.00 0.4795

0.6670

in the measured curve are present in the solutions, reasonable fits are obtained in all cases. The corresponding sample structures and s2 values are given in Table 10. Although there are no large differences between the s2 values of the replicate experiments, there are large differences between the parameter

0.6668

0.6668

values obtained. Especially for the thicknesses of layers 3—8 (FeMn—Co) which is explained by the fact that there is almost no density contrast between these layers (see also Table 3). The differences are larger in the thickness/roughness experiments, in which there are also large differences

266

A.D. Dane et al. / Physica B 253 (1998) 254—268

Fig. 7. Results measured gix2 data. (—) Measured curve, ( ) ) ) ) ), (! ) !) and ( — — ) fitted results. (a) Thickness optimization; (b) thickness/roughness optimization. Curve (a) is shifted for clarity.

Fig. 8. Results measured gix3 data. (—) Measured curve, ( ) ) ) ) ), (! ) !) and ( — — ) fitted results. (a) Thickness optimization; (b) thickness/roughness optimization. Curve (a) is shifted for clarity.

A.D. Dane et al. / Physica B 253 (1998) 254—268

267

Table 10 Results measured gix3 data d 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

Thickness Ta O 2 5 Thickness Ta Thickness FeMn Thickness Co Thickness CoCu Thickness Cu Thickness CoCu Thickness Co Thickness Ta Roughness Ta O 2 5 Roughness Ta Roughness FeMn Roughness Co Roughness CoCu Roughness Cu Roughness CoCu Roughness Co Roughness Ta s2

WinGixa

exp. 1a

exp. 1b

exp. 1c

exp. 2a

exp. 2b

exp. 2c

33.0 4.0 82.0 31.0 15.0 25.0 15.5 56.0 35.0 10.0 7.0 6.5 6.0 6.0 6.0 6.0 5.5 5.5 11.4227

39.9 2.7 10.2 97.6 43.8 4.0 0.5 62.9 36.1

39.8 2.7 11.3 96.7 19.9 5.2 24.2 61.7 36.2

39.9 2.6 11.4 94.9 23.1 0.0 4.9 84.5 36.5

27.5 1.3 9.0 100.0 3.6 1.1 57.1 64.5 35.1 8.40 9.68 10.00 1.78 10.00 4.63 0.39 0.00 5.65 4.1182

34.7 3.0 37.5 73.6 78.1 4.8 11.3 18.6 36.5 8.96 9.35 10.00 9.89 4.00 2.56 7.32 0.00 6.00 4.3875

36.3 2.6 19.0 95.2 7.3 0.3 15.3 85.7 36.1 8.86 8.85 10.00 2.87 10.00 10.00 0.00 0.18 5.41 3.8966

4.6616

4.6033

between the roughness values. The observations confirm the presence of multiple solutions with more or less the same s2 values. As was mentioned in Section 5.5.1, inspection by eye does reveal essential differences. For that reason other values were found with the user-assisted WinGixa method. Interestingly, as discussed in Section 2, genetic algorithms in principle are able to give a pool of solutions with comparable fitness. The user may use this to find the best solution among them. Of course, a narrower parameter range will limit the number of possible solutions.

6. Conclusions A genetic algorithm for GIXR has been described. The program was used to obtain layer thicknesses and layer roughnesses for several thinlayered materials. On simulated data, the algorithm was able to find exact solutions in 61% of the experiments. In the other experiments on simulated data the errors (s2 values) were small which indi-

4.5376

cates that the genetic algorithm configuration chosen is adequate. For the experiments on measured data, the genetic algorithm was also able to find small s2 values within a single run. The s2 values are smaller than those obtained with a currently used method, which indicates a good performance. However, we observed large differences between the sample structures obtained. In many cases this is not an unsolvable problem, because it is partly caused by the fact that we use very wide parameter ranges as initial estimates. Generally there is more knowledge about the sample than that included in our experiments. This knowledge must then be used to narrow the possible value ranges for the unknown parameters. This should lead to less variation in the end solutions. A fundamental problem, however, is what is the reason for the existence of equivalent solutions. In some cases the reflectivity measurements do not contain enough information to find unambiguous solutions. (This seems to be the case for the gix2 data.) In other cases inspection by eye reveals differences which are not expressed in the fitness

268

A.D. Dane et al. / Physica B 253 (1998) 254—268

criterion (This is the case for the gix3 data.) It will be interesting to investigate this further. A main conclusion is that our genetic algorithm is able to find good fits within a single run. This reduces the amount of human effort and expertise required for analyzing reflectivity measurements. Furthermore, it reduces the probability of overlooking feasible solutions. These properties make genetic algorithms a promising and valuable alternative method.

Acknowledgements We wish to acknowledge the following contributions to the work presented: Philips Research for the financial support and Ron Wehrens from the Catholic University of Nijmegen for fruitful discussions.

References [1] D.K.G. de Boer, A.J.G. Leenaers, W.W. van den Hoogenhof, X-Ray Spectrometry 24 (1995) 91—102. [2] W.W. van den Hoogenhof, D.K.G. de Boer, Spectrochimica Acta 48B (2) (1993) 184—277. [3] A.J.G. Leenaers, D.K.G. de Boer, X-Ray Spectrometry 26 (1997) 115. [4] E. Aarts, J. Korst, Simulated Annealing and Boltzman Machines. A Stochastic Approach to Combinatorial Optimization and Neural Computing, Wiley, New York, 1990. [5] D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, Reading, MA, 1989. [6] R. Wehrens, E. Pretsch, L.M.C. Buydens, J. Chem. Inform. Comput. Sci. 1998, in press.

[7] M. Wormington, D.K. Bowen, Adv. X-Ray Anal. 36 (1993) 171—184. [8] D.K.G. de Boer, X-ray scattering and X-ray fluorescence from materials with rough interfaces, Phys. Rev. B 53 (1996) 6048. [9] C.B. Lucasius, Jr. Ph.D. Thesis, Laboratory for Analytical Chemistry, Catholic University, Nijmegen, The Netherlands, 1993. [10] W.H. Press, B.P. Flannery, S.A. Teukolski, W.T. Vetterling, Numerical Recipes in C, The Art of Scientific Computing, Cambridge University Press, Cambridge, 1988. [11] Philips Analytical X-Ray, Almelo, The Netherlands. WinGixa software and User Manual, 1997. [12] J.E. Baker, Reducing bias and inefficiency in the selection algorithm, in: J.J. Grefenstette (Ed.), Proc. 2nd Int. Conf. on Genetic Algorithms, Lawrence Erlbaum, Hillsdale, NJ, 1987. pp. 14—21. [13] D. Whitley, The genitor algorithm and selection pressure: why rank-based allocation and reproductive trials is best, in: J.D. Schaffer (Ed.), Proc. 3rd Int. Conf. on Genetic Algorithms, San Mateo, California, 1989, pp. 116—121. [14] J. Richardson, D.E. Goldberg, Genetic algorithms with sharing for multimodal function optimization, in genetic algorithms and their applications, in: Genetic algorithms and their applications: Proc. 2nd Int. Conf. on genetic algorithms, 1987, p. 41. [15] J.J. Grefenstette, Deception considered harmful, in: L.D. Whitley (Ed.), Foundations of Genetic Algorithms 2, Morgan Kaufmann, San Mateo, California, 1993. [16] G.J.E. Rawlins, S.J. Louis, Syntactic analysis of convergence in genetic algorithms, in: L.D. Whitley (Ed.), Foundations of Genetic Algorithms 2, Morgan Kaufmann, San Mateo, California, 1993. [17] G. Syswerda, Uniform crossover, in: Proc. 3rd Int. Conf. on Genetic Algorithms, Morgan Kaufmann, San Mateo, 1989, pp. 2—9. [18] K.A. De Jong, Artificial genetic adaptive systems. Technical Report 76-7, Department of Computer Science, University of Pittsburgh, Pittsburgh, 1976. [19] J. Sarma, K.A. De Jong, Generation gaps revisited, in: L.D. Whitley (Ed.), Foundations of Genetic Algorithms 2, Morgan Kaufmann, San Mateo, California, 1993.

Suggest Documents