M Iezid

F Goumeidane

A Abidi

Marcel Poulain

M Legouera

P Syam Prasad

M Środa

P Venkateswara Rao

P Syam Prasad

Judd-Ofelt analysis and luminescence studies of Er 3+ doped halogeno-antimonate glasses

Keywords: Er 3+ doped glass, Judd-Ofelt theory, antimonate glass, radiative properties, gain coefficient

Introduction

Glasses doped with trivalent lanthanides have potential photonics applications, namely optical amplifiers, sensors, colour displays and solid state lasers [START_REF] Mariselvam | Judd-Ofelt analysis and visible luminescence of Sm 3+ : MCZBP glass for reddish-orange laser and multi-colour display applications[END_REF][START_REF] Zanane | Yb 3+ and CaF2 nanocrystallites-containing oxyfluorogermanotellurite glass-ceramics[END_REF][START_REF] Ichoja | Optik Judd -Ofelt calculations for spectroscopic characteristics of Dy 3+ activated strontium magnesium borate glass[END_REF]. Erbium is an effective dopant due to regularly spaced 4f n energy levels [START_REF] Liyana | Erbium doped sodium magnesium borotellurite glass : Stability and Judd-Ofelt analysis BTNME2[END_REF] and it is used in telecommunications for signal amplification around 1530 nm [START_REF] Mandal | Optimization of rare earth ( Er 3+ ) doping level in lead zinc phosphate glass through Judd-Ofelt analysis[END_REF]. Judd-Ofelt analysis is a powerful technique for determining radiative parameters such as spontaneous emission rate, lifetime and branching ratio [START_REF] Ofelt | Intensities of crystal spectra of rare-earth ions[END_REF][START_REF] Judd | Optical absorption intensities of rare-earth ions[END_REF]. Further, certain Judd-Ofelt's spectroscopic parameters are included in the calculation of gain and quantum efficiency [START_REF] Choi | Novel alkaline-free Er 3+ doped fluorophosphate glasses for broadband optical fiber lasers and amplifiers[END_REF][START_REF] Layne | Multiphonon relaxation of rareearth ions in oxide glasses[END_REF][START_REF] Serqueira | Judd Ofelt calculation of quantum efficiencies and branching ratios of Nd 3+ doped glasses[END_REF]. The cross section of stimulating emission is an essential factor for the choice of vitreous matrix and in this aspect the chemical composition of different glasses has been optimized [START_REF] Xue | Er 3+ doped fluorozirconate glass modi fied by PbF2 with high stimulated emission cross-section[END_REF][START_REF] Aydinli | Effect of composition on the spontaneous emission probabilities , stimulated emission cross-sections and local environment of Tm 3+ in TeO2 -WO3 glass[END_REF]. The low phonon energy glasses are the best candidates for photoluminescence; since low phonon energy significantly allows to increase radiative transition probabilities [START_REF] Rodríguez-Mendoza | Judd-Ofelt parameters of RE 3+ doped fl uorotellurite glass ( RE 3+ : Pr 3+ , Nd 3+ , Sm 3+ , Tb 3+ , Dy 3+ , Ho 3+ , Er 3+ , and Tm 3+ )[END_REF], glasses like fluoro-zirconate and heavy metal oxide based glasses (HMOGs) [START_REF] Xue | Er 3+ doped fluorozirconate glass modi fied by PbF2 with high stimulated emission cross-section[END_REF][START_REF] Rodríguez-Mendoza | Judd-Ofelt parameters of RE 3+ doped fl uorotellurite glass ( RE 3+ : Pr 3+ , Nd 3+ , Sm 3+ , Tb 3+ , Dy 3+ , Ho 3+ , Er 3+ , and Tm 3+ )[END_REF][START_REF] Marzouk | Influence of samarium ions on the structural , and optical properties of unconventional bismuth glass analyzed using the Judd -Ofelt ACCEPTED MANUSCRIPT theory[END_REF][START_REF] Denux | Judd-Ofelt analysis and crystal field calculations of Er 3+ ions in new oxyfluorogermanotellurite glasses and glass-ceramics[END_REF].

Antimonate glasses are part of the HMOGs exhibit good optical, photonic and mechanical properties and these glasses have a good chemical durability and low characteristic temperatures [START_REF] Iezid | Glass formation in the Sb2O3-CdCl2-SrCl2 ternary system[END_REF][START_REF] Goumeidane | Synthesis and physical properties of glass in the Sb2O3-PbCl2-MoO3 system[END_REF]. Moreover, antimonate based glasses are free of conventional formers (P2O5; B2O3; SiO2) and exhibit low lanthanide solubility (Ln 3 + ) and at the limit of 0.4 mol % it became completely crystallized. The addition of conventional formers increases the solubility but reduces the phonon energy, infrared transmission and the refractive index.

The present work focuses on the application of Judd-Ofelt formalism for stable antimonate based glasses doped with erbium 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3. There are a few reports in literature relating to Judd-Ofelt calculations for doped antimonate glasses free of conventional formers. According to M. Legouera [START_REF] Legouera | Glass formation in the Sb2O3-ZnBr2 binary system[END_REF] the Sb2O3 -ZnBr2 system generates stable glasses in a wide range where the two components act as glass formers. In the present

ACCEPTED MANUSCRIPT

work, the choice of the glass matrix is based on the insertion of an additional compound (NaCl) in order to obtain a ternary system with a large glass domain, in which we will look for stable glasses. The dopant Er2O3 is intended for Photonics applications and this choice is supported by the low phonon energy of the antimonate and by the beneficial action of halogenated compounds (ZnBr2; NaCl) which decrease the phonon density [START_REF] Iezid | Spectroscopic analysis of up conversion luminescence in doped halogeno-antimonite glass[END_REF]. By the present analysis, we want to determine the radiative parameters of this specific glass doped at low content of trivalent erbium (0.2 mol%) and especially focused on radiative transitions; where possess a high branching ratio for determining the variation of gain coefficient related to the stimulated emission.

Experimental

2.1.Glass synthesis

The glass samples were prepared by melt-quenching method; using high purity chemicals Sb2O3 ≥ 99% (Acros), ZnBr2 > 99% (MERCK-SCHUCHARDT), NaCl > 99% (Acros), Er2O3 ≈ 99.9% (Sigma). We have synthesized the glass matrix according to the composition (90 -x) Sb2O3 -x ZnBr2 -10 NaCl (where x = 10, 20, 30 and 40 mol%), and elaborated the doped glass sample at low (0.2 mol%) erbium trioxide concentration by a glass composition 80 Sb2O3 -10 ZnBr2 -9.8 NaCl -0.2 Er2O3 mentioned as SZNE02. The well mixed chemicals were taken in a silica crucible and brought first to around 200 ° C for 1 hour, and then to 800 ° C temperature for melting. The refining is maintained until a transparent liquid is obtained, then it is poured into brass moulds. The relaxation of the samples was carried out in an electric oven at a temperature of 250 ° C for 8 hours. After annealing, the samples are cut and polished in parallelepiped shapes with the dimensions of 10 mm × 10 mm × 3 mm.

2.2.Characterization

The density of the prepared samples was measured by the Archimedes principle with the distilled water as an immersion liquid. The DSC patterns were studied by a thermal analysis device model Q20 (TA instruments) with a heating rate 10 ° C /min and 0.1 °C sensitivity.

The sample was encapsulated in hermetic aluminium's crucible; and the oven's temperature does not exceed 550 ° C, in an argon atmosphere. Incertitude is ±2 °C for glass transition and onset crystallization temperatures, and ±1 °C for peak crystallization temperature. The expansion coefficient was measured using a TMA 2940 thermo-mechanical analyser (TA instruments) with heating rate of 4 ° C/min was done between room temperature and 250 °C and the error in measuring of expansion coefficient is ± 2 X 10 -7 K -1 .

ACCEPTED MANUSCRIPT

The young's modulus, shear modulus and Poisson's ratio were determined by ultrasonic velocimetry with an electrical pulse generator, provides the starting signal which is connected to a piezoelectric probe (transmitter/receiver) of the Panametrics 5800 model. An acoustic coupling resin must connect to the probe and the sample in order to ensure good transmission of the ultrasonic waves. The longitudinal and transverse echoes are displayed by a Hewlett-Packard digital oscilloscope and are used to determine the time to transit of ultrasonic waves through the sample. The relative error in the values of the elastic moduli and the Poisson's ratio depends directly from the error made in reading the time τ which is estimated at ∆τ =0.04 µs and the error made in measuring the thickness of the sample estimated at ∆e = 0.02 mm. The calculation formulas are reported in our previous work [START_REF] Iezid | Glass formation in the Sb2O3-CdCl2-SrCl2 ternary system[END_REF].

The absorbance of doped sample was measured with a Perkin Elmer model spectrophotometer fitted with a TDS WB InGaAs detector at an interval between 200 nm and 2000 nm with a resolution of ± 1 nm. The emission of trivalent erbium was measured, under 378 nm excitation wavelength at room temperature by a ''Fluorolog FL3 -22 SPEX -Jobin -Yvon'' fluorometer model and it is equipped with a 450 watt xenon arc lamp and emits radiation between 200 nm and 900 nm.

The double monochromator has two gratings of 1200 lines per mm for excitation at 250 nm but the emission one has the same number of lines at 500 nm. This configuration allows the first dual monochromator to have high stray white light rejection, and the second have optimum sensitivity in the range (300 nm -850 nm). The samples are placed in cuvettes tilted 22.5 ° from the incident light to avoid interference between the excitation and emission light with the estimated resolution of ± 0.5 nm. Infrared transmission spectra were measured between 400 cm -1 and 4000 cm -1 using Fourier transform spectrophotometer TENSOR 37 FTIR with the 0.01 cm -1 accuracy and 1 cm -1 resolution.

Results and discussion

This section focused on glass matrix properties, Er 3+ absorption spectra, refractive index determination, and finally Judd-Ofelt and luminescence analysis.

3.1.Glass matrix properties

Figure 1 represents the DSC patterns of the glass system (90 -x) Sb2O3 -x ZnBr2 -10 NaCl, with 10 ≤ x ≤ 40 (mol.%) is used to identify the stable glass sample as a function of molar percentage of ZnBr2, according to the criterion:

ACCEPTED MANUSCRIPT ∆𝑇 = 𝑇 𝑥 -𝑇 𝑔 (1)
Tx and Tg are the crystallization onset and glass transition temperatures [START_REF] Marczewska | Spectroscopic and thermal study of a new glass from TeO2 Ga2 O3 GeO2 system[END_REF], respectively.

Figure 2 shows clearly the monotonic decrease in stability as a function of chemical composition and 80 Sb2O3 -10 ZnBr2 -10 NaCl is the most stable glass. The other physical parameters density, expansion coefficient and elastic moduli have been summarized in Table 1; which are within the limits of antimonate glasses and the corresponding formulas are given by [START_REF] Iezid | Glass formation in the Sb2O3-CdCl2-SrCl2 ternary system[END_REF], [START_REF] Legouera | Glass formation in the Sb2O3-ZnBr2 binary system[END_REF], [START_REF] Goumeidane | Influence of molybdenum oxide on structural, optical and physical properties of oxychloride glasses for nonlinear optical devices[END_REF]:

Density: 𝜌 = 𝑊 𝑎 𝑊 𝑎 -𝑊 𝑏 𝜌 𝑥 ( 2
)
Where wa and wb are the weights of glass sample in air and in immersion liquid respectively; and ρx is the density of immersion liquid, distilled water.

Expansion coefficient:

𝛼 𝐿 = 1 𝐿 ∆𝐿 ∆𝑇 ( 3
)
Where L is sample's length and ∆L/∆T is the rate of change in length per change in temperature.

The Young's and Shear modulus are given by equations ( 4) and ( 5) respectively and the Poisson's ratio is expressed by equation ( 6):

𝐸 = 𝜌𝑉 𝑇 2 (3𝑉 𝐿 2 -4𝑉 𝑇 2 ) 𝑉 𝐿 2 -𝑉 𝑇 2 (4) 𝐺 = 𝜌𝑉 𝑇 2 (5) 𝜂 = 𝐸 2𝐺 -1 ( 6
)
Where ρ is the density of glass sample; and VL and VT are the longitudinal and transverse ultrasonic velocities respectively.

3.2.Absorption spectra and refractive index of doped glass sample

The base glass was doped with the trivalent erbium, in order to determine its radiative properties, the dopant substitutes zinc bromide: 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3.

Figure 3a

and 3b show the absorption spectrum of Er 3+ in the antimonate matrix where the different absorption bands are marked with red arrows. Figure 4 represents the Er 3+ bands as a function of wavenumber (expressed in cm -1 ) and were made from 4 I15/2 ground state, with ACCEPTED MANUSCRIPT corrected baseline. We established the Urbach [START_REF] Tauc | Optical properties and electronic structure of amorphous Ge and SiNo Title[END_REF] plot to determine the optical gap of the doped glass sample. The optical absorption data were shown in Figure 5, which was used for the calculation of optical gap energy (Ep = 2.95 eV). The Ep value allowed to calculate the refractive index of doped glass according to Dimitov and Sakka formula [START_REF] Dimitrov | Electronic oxide polarizability and optical basicity of simple oxides. I[END_REF]:

𝑛 2 -1 𝑛 2 + 2 = √ 𝐸 𝑝 20 ( 7
)
Where the refractive index n = 2.25 is high when compared to the conventional glasses; and it is due to the high polarizability of antimonate [START_REF] Iezid | Glass formation in the Sb2O3-CdCl2-SrCl2 ternary system[END_REF], [START_REF] Legouera | Glass formation in the Sb2O3-ZnBr2 binary system[END_REF] and the addition of dopant erbium oxide.

3.3.Judd-Ofelt and luminescence analysis

The experimental oscillator force is calculated from the absorbance data [START_REF] Carnall | Spectral intensities of the trivalent lanthanides and actinides in solution. II. Pm 3+ , Sm 3+ , Eu 3+ , Gd 3+ , Tb 3+ , Dy 3+ , and Ho 3+[END_REF]:

𝐹 𝑒𝑥𝑝𝑡 = 2330 𝑚𝑐 2 𝜋𝑒 2 𝑁 0 ∫ 𝜀(𝜈) 𝑑𝜈 (8)
Where m and e are the mass and charge of the electron respectively, c is the speed of light, N0

is the Avogadro's number and ε(ν) is the extinction coefficient which is determined with the Beer-Lambert law [START_REF] Swinehart | The beer-lambert law[END_REF]:

𝜀(𝜈) = log ( 𝐼 0 𝐼 ) 𝐶𝑑 ( 9
)
Where log (I0 / I) absorbance measured as a function of wavenumber ν (cm -1 ); C is the concentration of lanthanide in the sample (mol /L) and d is the thickness (cm).

Judd-Ofelt [START_REF] Ofelt | Intensities of crystal spectra of rare-earth ions[END_REF], [START_REF] Judd | Optical absorption intensities of rare-earth ions[END_REF] analysis allows the determination of the radiative parameters of a trivalent lanthanide doping a vitreous matrix. This concerns the determination of the Ωk parameters (k= 2,4 and 6) by fitting the experimental and theoretical oscillator forces of the different absorbing transitions of a given Ln 3+ lanthanide (except Yb 3+ ). If the fitting is validated, the parameters of Judd-Ofelt, Ωk are used to calculate the radiative parameters.

According to Judd-Ofelt theory the oscillator force for a transformation aJ → bJ′ is expressed [START_REF] Ofelt | Intensities of crystal spectra of rare-earth ions[END_REF], [START_REF] Judd | Optical absorption intensities of rare-earth ions[END_REF]:

𝐹 𝑐𝑎𝑙 = 𝐹 𝑒𝑑 + 𝐹 𝑚𝑑 = 8𝜋 2 𝑚𝑐𝜈 3ℎ(2𝐽 + 1)𝑒 2 𝑛 2 (𝜒 𝑒𝑑 𝑆 𝑒𝑑 + 𝜒 𝑚𝑑 𝑆 𝑚𝑑 ) (10)

ACCEPTED MANUSCRIPT

Note that χed and χmd are given by:

𝜒 𝑒𝑑 = 𝑛(𝑛 2 + 2) 2 9 ( 11
)
𝜒 𝑚𝑑 = 𝑛 3 (12)
The electric and magnetic dipole line forces are given by:

𝑆 𝑒𝑑 (𝑎𝐽 → 𝑏𝐽′) = 𝑒 2 ∑ Ω 𝑡 |⟨𝑎𝐽|𝑈 𝑡 |𝑏𝐽′⟩| 2 (13) 𝑡=2,4,6 𝑆 𝑚𝑑 (𝑎𝐽 → 𝑏𝐽′) = 𝑒 2 4𝑚 2 𝑐 2 |⟨𝑎𝐽|𝐿 + 2𝑆|𝑏𝐽′⟩| 2 (14)
The probable magnetic dipole transitions are only which obey the selection rule ∆S = ∆L = 0, ∆J = 0, ± 1 and contributing to the oscillator force. The Judd-Ofelt parameters are obtained by least-squared fitting of the experimental values of the oscillator force using equation 8. According to Carnall et al. [START_REF] Carnall | Electronic energy levels in the trivalent lanthanide aquo ions. I. Pr 3+ , Nd 3+ , Pm 3+ , Sm 3+ , Dy 3+ , Ho 3+ , Er 3+ , and Tm 3+[END_REF] the elements of the reduced matrix are invariable with respect to the change of vitreous matrix. The fitting precision is given by root mean square error:

𝑅𝑀𝑆𝐸 = √ ∑(𝐹 𝑐𝑎𝑙 -𝐹 𝑒𝑥𝑝 ) 2 𝜉 -3 (15)
Such that ξ is the number of considered transitions; and note that: ξ > 3.

The spontaneous emission rate probability is calculated using the equation:

𝐴(𝑎𝐽, 𝑏𝐽′) = 𝐴 𝑒𝑑 + 𝐴 𝑚𝑑 = 64𝜋 4 𝜈 3 3ℎ(2𝐽 + 1) (𝜒 𝑒𝑑 𝑆 𝑒𝑑 + 𝜒 𝑚𝑑 𝑆 𝑚𝑑 ) (16)
Where Aed and Amd are the electric and magnetic parts of spontaneous emission rate probabilities respectively. In this work, Amd values have been calculated from the values of LaF3 (A ' md) and corrected for the refractive index difference using [START_REF] Weber | Probabilities for radiative and nonradiative decay of Er 3+ in La F3[END_REF]:

|⟨𝑎𝐽|𝑈 𝑡 |𝑏𝐽′⟩| 2 ACCEPTED MANUSCRIPT 𝐴 𝑚𝑑 = ( 𝑛 𝑛′ ) 3 𝐴′ 𝑚𝑑 ( 17
)
Where n and n' are the refractive indices of Er 3+ doped antimonate glass and LaF3, respectively. The branching ratio is expressed as follows:

𝛽 = 𝐴(𝑎𝐽, 𝑏𝐽′) ∑ 𝐴(𝑎𝐽, 𝑏𝐽 ′ ) 𝑏𝐽′ ⁄ ( 18
)
The lifetime is the inverse of the total spontaneous emission rate probability:

𝜏 = 1 ∑ 𝐴(𝑎𝐽, 𝑏𝐽 ′ ) ( 19
) 𝑏𝐽′ ⁄
The cross section of stimulated emission is given by [START_REF] Layne | Multiphonon relaxation of rareearth ions in oxide glasses[END_REF]:

𝜎(𝐽 → 𝐽 ′ ) = 𝜆 4 8𝜋𝑐𝑛 2 ∆𝜆 𝑒𝑓𝑓 𝐴(𝐽 → 𝐽 ′ ) ( 20
)
Where ∆λeff is full width at half maximum of emission peak (FWHM); and it is given by [START_REF] Liyana | Erbium doped sodium magnesium borotellurite glass : Stability and Judd-Ofelt analysis BTNME2[END_REF]:

∆𝜆 𝑒𝑓𝑓 = 1 𝐼 𝑝 ∫ 𝐼(𝜆)𝑑𝜆 (21)
The first results of the application of the Judd-Ofelt formalism to the glass sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3 are reported in Table 2, in terms of barycentre wavelengths and oscillator forces; related to the absorption bands of Er 3+ from 4 I15/2 ground state. Judd-Ofelt's method is validated with RMSE = 119.26*10 -8 , and the percentage of relative error [START_REF] Chen | Fluorescence and Judd -Ofelt analysis of Nd 3+ ions in oxyfluoride glass ceramics containing CaF2 nanocrystals[END_REF] is 8.12.

The relative error is obtained by the normalized RMSE [28]:

𝑁𝑅𝑀𝑆 = 𝐸𝑟𝑟𝑜𝑟 % = 𝑅𝑀𝑆𝐸 𝐹 exp 𝑚𝑎𝑥 -𝐹 exp 𝑚𝑖𝑛 ( 22
)
Fexp max and Fexp min are the maximum (hypersensitive transition) and minimum experimental oscillator forces, respectively.

Table 3 presents the Judd-Ofelt's parameters Ω2 = 3.27 X 10 -20 cm 2 ; Ω4 = 1.24 X 10 -20 cm 2 and Ω6 = 1.88 X 10 -20 cm 2 , and the consecutive spectroscopic quality parameter Ω4/Ω6 = 0.66 this value is very close to the mean (Ω4/Ω6 = 0.7); knowing that the series of parameters is in

ACCEPTED MANUSCRIPT

the order Ω2> Ω6> Ω4. In other words, the value of Ω2 is lower than the average (Ω2 ev = 5.17 x 10 -20 cm 2 ) compared to the values reported in table 3; indicating that the erbium -ligand bond inserted into the antimonate matrix has the lowest degree of covalency [START_REF] Ebendor | Tb +3 f -d absorption as indicator of the efect of covalency on the Judd-Ofelt Ω2 parameter in glasses[END_REF] compared to other glasses.

Table 4 gives the radiative parameters of the glass sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3 such as the spontaneous emission rate A, the lifetime τ and the branching ratio β.

The infrared emission 4 I13/2 → 4 I15/2 has the maximum branching ratio β = 1; and the highest lifetime τ = 1.07 ms (for the present work); this transition is essential in optical amplification for telecommunications [START_REF] Mandal | Optimization of rare earth ( Er 3+ ) doping level in lead zinc phosphate glass through Judd-Ofelt analysis[END_REF]. Similarly, there are two other transitions with high branching ratios; and are within the detection limits of the fluorometer used in this study. The emissions are due to 2 H11/2 → 4 I15/2 (β = 0.94) and 4 F9/2 → 4 I15/2 (β = 0.901) and the emission spectrum (Figure 6) was measured at ambient temperature. We have established a Gaussian deconvolution between 500 nm and 600 nm in order to separate the 2 H11/2 → 4 I15/2 and 3 S3/2 → 4 I15/2 emissions. Figure 7 and8; demonstrates the intervals of the overlap between emission and absorption cross section for the considered transitions. There is a partial overlap in the two considered cases, with the stocks type shift of emission peaks compared to the absorbances.

Figure 9 and 10 exhibits the variation of stimulated emission coefficient (gain) as a function of wavelength for different states of population inversion. The best gains correspond to the 4 F9/2 → 4 I15/2 transition; from the point of view for gain level, its flattening and minimum value of the population inversion index is γ. However, this transition presents a positive gain starting from γ = 20 % and takes an average value of 5.5 X 10 -20 cm 2 , for total population inversion (γ = 100%). While the gains of the 2 H11/2 → 4 I15/2 transition are positive starting from γ = 40 % and admit an average value of 4 X 10 -20 cm 2 for a complete population inversion. The curvature is less pronounced as the population inversion index increases and tends towards a flattening for γ = 100 %.

The typical stokes shift between luminescence and absorption bands testifies a notable presence of non-radiative processes, which make the overlap between the two curves relatively reduced. Non-radiative processes are of two types, intrinsic and extrinsic. The first one involves energy transfer, cross relaxation between lanthanides and the second one related to the multiphonon relaxation in the host matrix [START_REF] Som | Efficient green and red fluorescence upconversion in erbium doped new low phonon antimony glasses[END_REF]. Likewise, the excessive concentration of lanthanide and the appearance of clusters influence negatively on the luminescence. In the

ACCEPTED MANUSCRIPT

present case these processes are limited because the studied glass has low phonon energy and a relatively low doping level.

Figure 11 represents the infrared transmission of the matrix shows the existence of an OH group, and the SiO absorption band, mainly due to the silica crucible. The latter are real extrinsic luminescence extinguishers since the OH vibration takes place at the higher order vibration energy 3200 cm -1 and similarly SiO has high energy and it scales towards 1800 cm - 1 . The OH content is estimated at around 190 ppm and is calculated according to: Q = 30 αOH the absorption coefficient αOH extracted from the infrared curve [START_REF] Som | Efficient green and red fluorescence upconversion in erbium doped new low phonon antimony glasses[END_REF].

A multiphonon relaxation comprising many phonons (6 phonons) is prohibited in the antimonate matrix, on the other hand it is allowed by the vibrations of OH or SiO bonds since it requires a limited number of phonons compared to the latter. Some studies show that the presence of hydroxyl groups reduces the lifetime and efficiency of luminescence [START_REF] Di | Effect of OHon the luminescent efficiency and lifetime of Tb 3+ doped yttrium orthophosphate synthesized by solution precipitation[END_REF].The prepared glass sample has attractive qualities, a low phonon energy 602 cm -1 [START_REF] Som | Structure and properties of low-phonon antimony glasses and nano glass-ceramics in K2O-B2O3-Sb2O3 system[END_REF] and endowed with halogenated compounds (ZnBr2 and NaCl) reducing the phonon density.

Further the high value of the refractive index (n = 2.25) increases the probability of radiative processes.

Conclusion

The Judd-Ofelt analysis applied to the trivalent doped erbium antimonate based oxyhalogenated HMOGs 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3. DSC analysis showed that the glass matrix (90 -x) Sb2O3 -x ZnBr2 -10 NaCl is the most stable in the system at 10 ≤ x ≤ 40 (mol.%). In addition to thermal analysis; other physical parameters density; expansion coefficient; elastic moduli and Poisson's ratio were calculated. The validity of Judd-Ofelt's method for the prepared glass sample is confirmed by positive Ω2 value and 8.12 % for normalized root mean square error. Judd -Ofelt's (ΩK, K= 2,4, 6) parameters take the values Ω2 = 3.27 X 10 -20 cm 2 ; Ω4 = 1.24 X 10 -20 cm 2 and Ω6 = 1.88 X 10 -20 cm 2 (Ω2> Ω6> Ω4) are comparable to those reported in the literature.

The transitions admitting high branching ratio is 2 H11/ 2 → 4 I15/2 (β = 0.94) and 4 F9/2 → 4 I15/2 (β = 0.901) and are detected during luminescence measurements at room temperature around 378 nm excitation. Since the branching ratio values are greater than 50 %, the prepared glass sample will be suitable for the photonics applications. The calculated lifetimes are 39.4 µs and ACCEPTED MANUSCRIPT

FIGURE CAPTIONS

ACCEPTED MANUSCRIPT

ACCEPTED MANUSCRIPT

ACCEPTED MANUSCRIPT

Fig. 1 .

 1 Fig.1. DSC patterns of glass system (90 -x) Sb2O3 -x ZnBr2 -10 NaCl (10 ≤ x ≤ 40 mol.%).

Fig. 2 .

 2 Fig.2. Stability of glass matrix (90 -x) Sb2O3 -x ZnBr2 -10 NaCl as a function of molar percentage of ZnBr2.

Fig. 3a .

 3a Fig.3a. Er 3 + absorption bands recorded between 360 nm and 460 nm for a glass sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3.

Fig. 3b .

 3b Fig.3b. Er 3+ absorption bands recorded between 460 nm and 1600 nm for a glass sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3.

Fig. 4 .

 4 Fig.4. Er 3+ absorption bands as a function of wavenumber and correction of the absorbance's baseline for the sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3.

Fig. 5 .

 5 Fig.5. Urbach plot of glass sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3.

Fig. 6 .

 6 Fig.6. Er 3+ emission spectrum (at room temperature) of sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3; at excitation wavelength λex = 378 nm.

Fig. 7 .

 7 Fig.7. Graphs of overlap limits between absorption and emission of 4 F9/2 and 4 I15/2 levels.

Fig. 8 .

 8 Fig.8. Graphs of overlap limits between absorption and emission of 2 H11/2 and 4 I15/2 levels.

Fig. 9 .

 9 Fig.9. Variation of the stimulated emission gain coefficient versus wavelength corresponding to the transition 4 F9/2 → 4 I15/2 for different states of population inversion.

Fig. 10 .

 10 Fig.10. Variation of the stimulated emission gain coefficient versus wavelength corresponding to the transition 2 H11/2 → 4 I15/2 for different states of population inversion.

Fig. 11 .

 11 Fig.11. Infrared transmission curve of 80 Sb2O3 -10 ZnBr2 -10 NaCl glass.

Figure 2 Figure

 2 Figure 2

  Figure 4

  Figure 6

Figure 11

 11 Figure 8

Table 1 .

 1 Physical parameters of the glass sample 80 Sb2O3 -10 ZnBr2 -10 NaCl

	Tables
	Density	Characteristic temperatures (°C) Thermal	Elastic modulus and Poisson
	(g/cm 3 )				expansion	coefficient
					coefficient
		Tg	Tx	Tp	(10 -6 K -1 )	E (GPa) G (GPa) η
	4.515	279	376	413	19.92	26.24	10.64	0.2323

Table 2 :

 2 Barycentre wavelengths and oscillator forces of Er 3+ absorption bands in a glass

	sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3

Table 3 :

 3 Comparison of the Judd-Ofelt parameters ΩK (K = 2; 4; 6) and the spectroscopic

	quality parameter Ω4 /Ω6 of glass sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3
	(SZNE02).
	Glass	Ω2 (x10 -20 cm 2 ) Ω4 (x10 -20 cm 2 ) Ω6 (x10 -20 cm 2 )		Ω4 /Ω6	Trends
	system
	SZNE02	3.27	1.24	1.88	0.66	Ω2 > Ω6 >Ω4
	Present work

Table 4 :

 4 Radiative properties of glass sample 80 Sb2O3 -9.8 ZnBr2 -10 NaCl -0.2 Er2O3

	Transition	Aed (s -1 )	Amd (s -1 )	A (s -1 )	∑A (s -1 )	τ (ms)	β
	4 I13/2 → 4 I15/2	816	120.44	937	937	1.07	1
	4 I11/2 → 4 I13/2	141	28.65	170			0.139

H 9/2 4 F

3/2 4 F 5/2 Ground State 4 I 15/2

partial, with the stokes type shift between them. The stimulated emission gains as a function of wavelength for different states of population inversion have been calculated. The best gain is obtained for the second transition in terms of gain levels, as well as the minimum value of the population inversion coefficient which leading to a positive gain and its flattening. The infrared transmission of the glass matrix marks the presence of SiO and hydroxyl OH bonds, which are extrinsic extinguishers of luminescence.


K Desnos

N Sourbier

P.-Y Raumer

M Pelcat

Gegelati: Lightweight Artificial Intelligence through Generic and Evolvable Tangled Program Graphs

Keywords: CCS Concepts:, Computer systems organization → Embedded systems;, Computing methodologies → Machine learning

Tangled Program Graph (TPG) is a reinforcement learning technique based on genetic programming concepts. On state-of-the-art learning environments, TPGs have been shown to offer comparable competence with Deep Neural Networks (DNNs), for a fraction of their computational and storage cost. This lightness of TPGs, both for training and inference, makes them an interesting model to implement Artificial Intelligences (AIs) on embedded systems with limited computational and storage resources.

In this paper, we introduce the Gegelati library for TPGs. Besides introducing the general concepts and features of the library, two main contributions are detailed in the paper: 1/ The parallelization of the deterministic training process of TPGs, for supporting heterogeneous Multiprocessor Systems-on-Chips (MPSoCs). 2/ The support for customizable instruction sets and data types within the genetically evolved programs of the TPG model. The scalability of the parallel training process is demonstrated through experiments on architectures ranging from a high-end 24-core processor to a low-power heterogeneous MPSoC. The impact of customizable instructions on the outcome of a training process is demonstrated on a state-of-the-art reinforcement learning environment.

INTRODUCTION

In less than a decade, Artificial Intelligences (AIs) powered by Deep Neural Networks (DNNs) have outperformed and replaced man-made algorithms in many applicative domains, from computer vision [START_REF] Canziani | An analysis of deep neural network models for practical applications[END_REF] to Natural Language Processing (NLP) [START_REF] Brown | Language Models are Few-Shot Learners[END_REF]. This sudden breakthrough of DNNs is largely due to the availability of affordable and easily programmable hardware offering important computing power, such as Graphics Processing Units (GPUs) [START_REF] Krizhevsky | ImageNet Classification with Deep Convolutional Neural Networks[END_REF]. Powered by the ever-increasing computing power of commercial chips, the current race for omnipotent AIs leads to the creation of more and more complex DNNs where millions [START_REF] Canziani | An analysis of deep neural network models for practical applications[END_REF] to hundreds of billions [START_REF] Brown | Language Models are Few-Shot Learners[END_REF] parameters are needed.

Conversely to the increasing computational complexity of DNNs, the need for lightweight AIs is also growing. Indeed, the ubiquity of Internet of Things (IoT) devices, and the tremendous amount of data they generate [START_REF]Cisco Global Cloud Index: Forecast and Methodology[END_REF], call for new paradigms where data processing is performed on-site, close to the data producer. The processing of data by AIs on embedded IoT devices is not compatible with the use of compute, memory and power-hungry DNNs. A common way to create lightweight AIs is to exploit the resilience of DNNs to approximation, and to simplify them as much as possible while maintaining their accuracy to acceptable levels. Pruning techniques, customizable data precision, and Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. approximate computing techniques are examples of techniques for reducing DNNs complexity. An alternative way to create lightweight AIs is to develop new machine learning techniques that rely on light-by-construction models, such as the TPG model studied in this paper. TPG, which stands for Tangled Program Graph, is a machine learning model proposed by Kelly and Heywood in [START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF].

Building on state-of-the-art genetic programming techniques, Tangled Program Graphs (TPGs) are grown from scratch for each learning environment in which they are trained. Hence, the topology and the complexity of the TPG adapt themselves to the complexity of the learned task, without requiring an expert to select an appropriate network structure.

In recent works [START_REF] Kelly | Scaling genetic programming to challenging reinforcement tasks through emergent modularity[END_REF][START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF][START_REF] Kelly | A Modular Memory Framework for Time Series Prediction[END_REF], TPGs have proven to be a very promising model for building AIs, being competitive with state-of-the-art DNNs for a fraction of their computation and storage cost, both for training and inference. This paper introduces Gegelati 1 , an open-source library for the learning and inference of AIs modeled with TPGs.

The objective of Gegelati, coded in C++, is to foster the development of efficient, lightweight and portable AIs, supporting both general-purpose and embedded hardware. The modular structure of the library fosters its extensibility and customizability to ease its evolutions and its adaptations for new learning tasks.

The principles of TPG-based AIs and related works are presented in Section 2. Section 3 presents the Gegelati library.

Two distinctive features of Gegelati are detailed in this section. First, the parallel, scalable, and yet deterministic training of TPGs on heterogeneous multicore architectures is introduced in Section 3.1. Second, the support for customizable instruction sets for easing the training of TPGs in diverse learning environments is detailed in Section 3.2.

Experiments on various learning environments are presented in Section 4, demonstrating the scalable performance and the customizability of the library. Finally, Section 5 concludes this paper.

TANGLED PROGRAM GRAPHS

The TPG model studied in this paper, which builds on technique from the genetic programming domain, was introduced by Kelly and Heywood [START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF] as a reinforcement learning technique. Principles of reinforcement learning and genetic programming are presented in Section 2.1, and the TPG model is detailed in Section 2.2.

Background: Reinforcement Learning and Genetic Programming

Reinforcement learning is a branch of machine learning techniques where artificial intelligence learns, through trial and error, how to interact with an environment. In reinforcement learning, artificial intelligence, called the learning agent, observes the current state of its learning environment, and interacts with it trough a finite set of actions. As a result of these actions, or because of external phenomena such as time or physics, the state of the learning environment evolves. By observing the constantly evolving state of the environment, the learning agent has the possibility to react and to build a meaningful sequence of actions. For the agent to learn which sequences of actions are useful, an additional reward mechanism is implemented. By rewarding useful behavior of the learning agent, and penalizing harmful or useless behavior, this reward mechanism helps the learning agent select the most appropriate behavior for each new experience. Although TPGs have originally been developed for reinforcement learning purposes, the possibility to adapt them for other kinds of learning environments has already been demonstrated [START_REF] Kelly | A Modular Memory Framework for Time Series Prediction[END_REF].

Genetic programming is a subset of machine learning techniques that mimics the natural selection evolution process to breed programs for a selected purpose. The iterative learning process of genetic programming can be fitness of these programs against the learning environment. 3/ Discard the 𝑚 < 𝑛, 𝑚 ∈ N * programs of the population with the worse fitnesses. 4/ Recreate 𝑚 new programs from remaining programs by using genetic operations, like mutations or crossovers. As detailed in [START_REF] Kelly | Scaling genetic programming to challenging reinforcement tasks through emergent modularity[END_REF][START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF], TPGs add a compositional mechanism to this genetic learning process, which favors the emergence of stable clusters of useful programs by building a hierarchical decision structure.

TPG: Model and Learning Algorithm

The semantics of the Tangled Program Graph (TPG) model, depicted in Figure 1, consists of three elements composing a direct graph: programs, teams and actions. The teams and the actions are the vertices of the graph, teams being internal vertices, and actions being the leaves of the graph. The programs, associated to the edges of the graph that each connects a source team to a destination team or action vertex. Self-loops, that is an edge connecting a team to itself, are not allowed in TPGs. The execution of a TPG starts from its unique root team, when a new state of the environment becomes available.

e

All programs associated to outgoing edges of the root team are executed with the current state of the environment as their input. Once all programs have completed their execution, the edge associated to the largest bid is identified, and the execution of the TPG continues following this edge. If another team is pointed by this edge, its outgoing programs are executed, still with the same input state, and the execution continues along the edge with the largest bid 2 . Eventually, the edge with the largest bid leads to an action vertex. In this case, the action is executed by the learning agent, a new resulting state of the environment is received, and the TPG execution restarts from its root team.

The genetic evolution process of a TPG relies on a graph with several root teams. The initial TPG created for the first generation only contains root teams whose outgoing edges each lead directly to an action vertex. At a given generation of the learning process, each root team of the TPG represents a different policy whose fitness is evaluated.

Evaluating a root team consists of executing the TPG stemming from it a fixed number of times, or until a terminal state of the learning environment is reached, like a game-over in a video game. The rewards obtained after evaluating each root team of the TPG are used by the genetic evolution process. Worst-fitting root teams, which obtained the lowest rewards, are deleted from the TPG.

To create new root teams for the next generation of the evolution process, randomly selected remaining teams from the TPG are duplicated with all their outgoing edges. Then, these new edges undergo a random mutation process, possibly altering their destination vertex, and modifying their programs by adding, removing, swapping, and changing their instructions and operands. Surviving root teams from previous generations may become the destination of an edge added during the mutation process, thus becoming internal vertices of the TPG. This mutation mechanism favors the emergence of long-living valuable subgraphs of connected teams. Indeed, useful teams contributing to higher rewards have a greater chance of becoming internal vertices of the TPG which can not be discarded unless they become root teams again. Hence, complexity is added to the TPG adaptively, only if this complexity leads to better rewards for the learning agent. A detailed description of this evolution process can be found in [START_REF] Kelly | Scaling genetic programming to challenging reinforcement tasks through emergent modularity[END_REF].

The capabilities of TPGs have been extensively demonstrated [START_REF] Kelly | Scaling genetic programming to challenging reinforcement tasks through emergent modularity[END_REF][START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF] on the 55 video games from the Arcade Learning Environment (ALE) [START_REF] Bellemare | The Arcade Learning Environment: An Evaluation Platform for General Agents[END_REF]. In this learning environment, the adaptive complexity leads to TPG with diverse sizes, depending on the complexity of the strategies developed to play each game. For example, there are two orders of magnitude between the smallest and largest networks built within these learning environments. On the performance side, TPGs have been shown to reach a level of competency comparable with state-of-the-art deep-learning techniques on ALE games, for a fraction of their computational and storage cost. Compared to state-of-the-art techniques, TPGs reach comparable competency with one to three orders of magnitude less computations, and two to ten orders of magnitude less memory needed to store their inference model. Recently, an extension of the TPG model supporting continuous action space was proposed in order to target new learning environments, like time-series predictions [START_REF] Kelly | A Modular Memory Framework for Time Series Prediction[END_REF].

Implementations of learning frameworks for TPG, coded in C++, Java and Python, can be found in opensource repositories. The main motivations behind the creation of the Gegelati library is the desire to have an efficient, embeddable, portable, parallel and deterministic library. Because of the efficiency and embeddability objectives, C++ was a natural choice for the development of Gegelati. Previous open-source C++ implementations, including the reference C++ code from Kelly [START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF], were neither parallel nor deterministic. The creation of a new library from scratch was further motivated by the low code quality of existing C++ implementation, notably due to a lack of code documentation and a monolithic code.

The purpose of this paper is not to advocate the learning efficiency of TPGs against other machine learning techniques, which was already done in [START_REF] Kelly | Scaling genetic programming to challenging reinforcement tasks through emergent modularity[END_REF][START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF]. Instead, this paper intends to present the original contributions for creating a customizable, scalable and deterministic implementation of TPGs.

GEGELATI: PARALLEL, EFFICIENT AND EMBEDDABLE LIBRARY FOR TPGS

Gegelati is an open-source framework, developed as a C++ library, for training and executing TPGs. From its inception, the Gegelati library has been conceived to foster its adaptability to diverse learning environments, and its portability to various architectures, without sacrificing its performance. To this purpose, two original contributions have be integrated to the library: the parallelization of the deterministic learning process, presented in Section 3.1; and the support for customizable instructions, detailed in Section 3.2. An overview of additional features of the library is presented in Section 3.3.

Deterministic Parallelism and Portability

What are the motivations? Portability of the Gegelati library enables using it both on general-purpose and embedded architectures. Indeed, when training a learning agent intended to run on an embedded system, a common design process is to prototype the agent first on a general-purpose processor before embedding it on the embedded target. The portability also makes it possible to train a learning agent offline on a high-performance computing architecture, before deploying it on a less performing architecture for inference.

Parallelism of the learning process is an essential feature to accelerate the training of new learning agents, which fosters the adoption of new machine learning techniques. Indeed, the breakthrough of deep-learning models is largely due to the acceleration of their training process with GPUs [START_REF] Krizhevsky | ImageNet Classification with Deep Convolutional Neural Networks[END_REF]. Support for parallel computations is useful for generalpurpose and high-performance computing architectures, but also for embedded systems which nowadays widely integrate heterogeneous Multiprocessor Systems-on-Chips (MPSoCs).

Determinism of a learning process is the property that ensures that given a set of initial conditions, the learning process will always end with the same result. Determinism can only be obtained under the assumption that the state of the learning environment is itself changing deterministically, solely depending on the sequence of actions applied to it.

Determinism is a key feature, especially for a pseudo-stochastic learning process such as the training of TPGs. Indeed, the result of training may partially depend on luck, which is exactly why being able to deterministically reproduce a result is crucial.

The determinism is antagonistic with the parallelism and portability objectives, and with the stochastic nature of the learning process, which makes all these objectives challenging to implement jointly. Indeed, parallelism is by nature a source of non-determinism as the simultaneity of computations accessing and modifying shared resources, often in an unknown order, tends to produce variable results.

How does the deterministic and scalable parallelism work? During the learning process of TPGs, the most computeintensive parts are the fitness evaluation of the policies, and the mutations of the programs added during the evolution process. The fitness evaluation of individual policies can be deterministically executed in parallel, on the conditions that:

1/ the learning environment can be cloned to evaluate several policies concurrently, and 2/ any stochastic evolution of the learning environment state can be controlled deterministically. Under these conditions, the parallel evaluation of policies is possible, as the topology of the TPG, which is a shared resource for all policies, is fixed during this evaluation process. Similarly, the mutation of programs can be applied deterministically in parallel. Two kinds of mutations are applied to the TPG: mutations affecting the graph topology by inserting new root teams and edges; and mutations affecting instructions of the programs associated with the new edges. While mutating the graph topology cannot be done in parallel, the graph being a shared resource, individual programs are independent from each other and can be mutated in parallel.

To control a stochastic process, a Pseudo-Random Number Generator (PRNG) must be used each time a random number is needed. Given an initial seed, a PRNG produces a deterministic sequence of numbers. To ensure full determinacy of the training of a TPG, a unique PRNG should be called in a fixed order during the whole training.

Letting the parallel parts of the training process call the PRNG directly is not possible, as the absolute order in which 13 end parallel computations occur is itself stochastic. It is also not possible to give a pre-computed list of pseudo-random numbers to each parallel task, as the number of random numbers needed for each task is itself stochastic. For example, when mutating a program, mutations are applied iteratively until the program behavior becomes "original" compared to pre-existing programs in the TPG. Hence, giving a fixed number of pre-computed random numbers for the program mutations is not feasible.

The parallelization strategy adopted in Gegelati is based on the master/worker principle, with a distributed PRNG.

The principle of the distributed PRNG is the use of two distinct PRNG instances: the prng master and the prng worker .

The prng master is exclusively used in the sequential parts of the learning process, which confers a deterministic nature to its usage, given an initial seed. Besides being used for stochastic tasks performed sequentially, like TPG topology mutations for example, the prng master is also used to generate a seed for each parallel worker task. In each worker task, a private prng worker is instantiated, and initialized with the seed provided by the prng master . Since all calls to the PRNG from the worker tasks exclusively use their private prng worker , the random number sequences generated in each parallel task are deterministic.

The pseudo-code of the master and worker tasks for the policy fitness evaluation are presented in Procedures 1 and 2, respectively. Communications between the tasks and load balancing of the computations are supported by a job queuing mechanism based on two queues: JobQ and ResultQ. Each policy evaluation job, prepared by the master procedure, encapsulates a unique job identifier id, a seed provided by the prng master , and a root team from the TPG. All jobs are pushed in the JobQ queue before spawning as many worker threads as the number of secondary Processing Elements (PEs) in the target architecture. For each job it acquires from the jobQ queue, the worker procedure resets its prng worker using the seed contained in the job. Before evaluating the fitness of the root team contained in a job, the worker procedure resets its private copy of the learning environment, using a number given by the prng worker . As a result of the policy fitness evaluation, described in details in [START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF], a result object encapsulating execution traces for the job is pushed in the resultQ. When all jobs have been processed, and all workers terminated, the master procedure is responsible for post-processing the traces stored in the resultQ. To ensure determinism of this post-processing, results stored in the resultQ are first sorted in ascending job.id order.

The master and worker procedures used for parallelizing the mutations of programs are similar to the one used for policy fitness evaluation, with the difference that jobs encapsulate programs instead of root teams. In Section 4, experiments on three different multicore architectures show the scalability and load balancing capability of the proposed deterministic and parallel TPG implementation.

Customizable Instruction Set

What are the motivations? In the seminal work on TPGs [START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF], the instructions used in the programs are chosen exclusively among the following eight instructions: 4 binary operators {+, -, ×, ÷}, 3 mathematical functions {𝑐𝑜𝑠, 𝑙𝑛, 𝑒𝑥𝑝}, and 1 conditional statement 𝑟𝑒𝑠 ← (𝑎 < 𝑏)? -𝑎 : 𝑎. To further simplify the execution and mutation of programs, it was assumed that instructions only handle double operands.

As shown in related genetic programming works [START_REF] Atkins | A domain independent genetic programming approach to automatic feature extraction for image classification[END_REF][START_REF] Real | AutoML-Zero: Evolving Machine Learning Algorithms From Scratch[END_REF], using a broader set of instructions with diverse data types can help improve the performance of learning agents, at the cost of longer training time. The extension of the instruction set used in the programs of the TPGs has already been proposed in [START_REF] Kelly | Temporal Memory Sharing in Visual Reinforcement Learning[END_REF], where a set of instructions for 2D images operands is added, and in [START_REF] Gesny | CBWAR: Classification de Binaires Windows via Apprentissage par Renforcement[END_REF], with instructions accepting thirteen operands tailored for predicting properties of the learning environment. In Gegelati, both the number and types of operands, and the nature of instructions used in programs can be fully customized. Besides making the training more efficient for specific learning environments, this customization feature may also be used to increase the efficiency of the TPG execution on specific hardware. Indeed, using an instruction set mirroring the instruction set of the architecture used for its execution may help increase the speed and the power efficiency of the TPG execution.

How are customizable instructions supported? The support for customizable instructions within Gegelati is based on the three classes presented in Figure 3. When creating a new training environment, a developer may create her own set of instructions, by creating new classes inheriting from the Instruction class. With the operandTypes attribute, each instruction declares the number and type of operands it accepts when calling its execute() method. Currently, to keep the management of registers simple during program execution, only double results can be produced by the execute() method. Each line of a program references an instruction from the set of available instructions, a destination register to store the result of its execution, and the addresses of operands to process, selected among all available data sources.

The data sources accessible to the lines comprise both the registers used for storing instruction results, and the state of the learning environment. Data sources classes must inherit from the DataSource class which acts as a wrapper between the data and the program execution engine. Procedure 3 presents the simplified pseudo-code for executing a program modeled with the classes from Figure 3. The core of the mechanism supporting customizable instructions lies between lines 5 and 14 of Procedure 3. For each operand of each line, the algorithm checks whether the data sources can provide the requested operand type at the requested address. If the data type can be provided by the data sources at the requested address, the data is fetched from the data sources, and later used for executing the instruction of the current line of the program. Otherwise, the program execution is terminated, which does not occur in practice, as the operand data types are taken into consideration when performing program mutations in Gegelati. It is important to note that the getData() method may return data whose type differs from the native data type stored within the data source. For example, a data source storing screen pixels as char values can automatically return an equivalent double value, or even a neighborhood of 3-by-3 pixels when an operand of type char [START_REF] Bellemare | The Arcade Learning Environment: An Evaluation Platform for General Agents[END_REF][3] is requested.

auto myInstruction = LambdaInstruction < int , char [2] >( []( int a , char [2] b ) -> double { return a *( b [0] + b [1]) ;}) ; Listing 1. LambdaInstruction usage example
To ease the creation of new instructions for each training environment, a utility class LambdaInstruction is proposed in Gegelati.

The template class LambdaInstruction supports the creation of instructions for any number of operands, and for operands with primitive and non-primitive types as well as 1D and 2D C-Style arrays. A code snippet illustrating the creation of an instruction with the LambdaInstruction class is given in Listing 1. In this example, an instruction taking an int operand, and a 1D array of char is declared, using a simple C++ lambda function.

Library Features

In addition to the two contributions detailed in previous sections, the Gegelati library showcases several important features for easing its integration in new projects.

Configuration and logging support. Interfacing a machine learning library with third-party tools, notably scripting and data analysis tools, is an indispensable feature. To this purpose, Gegelati supports the import and export of information in several standard file formats. A json importer is available for configuring the meta parameters of the TPG training process. This json importer eases the exploration of many meta parameter configurations from a simple script, without having to re-build the library code. A TPG exporter in the dot format can be used to visualize the topology of the graph along the training process. The exported dot files also embed all the information needed to import a pre-trained TPG.

Instruction As can be seen in the experimental results in Figure 4, Gegelati is on average only 4.4% slower than the reference code. In the best case, for the frostbite game, Gegelati is on average 11% faster than the reference code, while it is on average 13% slower in the worst case, for the asteroids game. In these experiments, the variability of the training times, revealed by the min-max ranges, seems to be more important with Gegelati, which indicates a greater sensibility to variations of the TPG topology induced by the training process. The stochastic nature of the learning environment impacts the fitness of the trained agent, the chances of reaching a game-over, and the topology of the TPG, which are as many variables impacting the training time. Due to these numerous variables, an in-depth analysis of these results is out of the scope of this paper. Nevertheless, a fair conclusion to this experiment is that, despite the overhead of its additional mechanisms for supporting deterministic parallelism and customizable instructions, the sequential performance of Gegelati are only slightly lower than the reference code.

Parallel scalability. To assess the efficiency, the portability, and the scalability of the parallelization strategy implemented in Gegelati, experiments were conducted on 3 distinct architectures: 1/ a high-performance Intel Xeon CPU E5-2690 processor with 24 cores, 2/ an Intel i7-8650U CPU with 4 cores, and 3/ a Samsung Exynos5422, an embedded heterogeneous chip with four Arm A15 cores, and four A7 cores. To assess the scalability of the parallelism on each target, the training time was measured for a number of thread varying between 1 and the number of physical core of the architecture. No affinity constraint was set on the threads, thus letting the Linux operating system handle the scheduling. On the Exynos chip, the taskset command was used to control the number of cores of each type, A15 and A7, available to the threads. For each number of threads, and for each game on the Intel CPUs, the experiment was repeated 5 times with different seeds.

On the Xeon and i7 CPUs, the ALE learning environment was used, with the same 5 games and meta-parameters as in the sequential experiments. On the Exynos CPU, a more lightweight learning environment, the inverted pendulum learning environment was used as a more realistic use case for an embedded processor. For each number of threads, the experiment was conducted 5 times with different seeds. On the pendulum learning environment, full determinism of the training process is observed, in all configurations. For each target architecture, the speedup compared to the sequential training time is plotted for a varying number of threads running the worker process. The thick line represents the average speedup observed for all configurations, and the dotted lines represent the minimum and maximum speedup observed. As can be seen in these results, the parallelization of the learning process is highly scalable, with an average speedup of 18.9 on the 24 cores of the Xeon CPU, and a speedup of 2.61 on the 4 cores of the i7 CPU.

Figure 6 presents the experimental results for the Exynos chip.

On this heterogeneous chip, the average speedup is 4.12 when using all 8 cores of the architecture, compared to a single A15 core. There is a clear benefit in using the four A7 cores, in addition to the four A15 cores, as the average speedup when using only the four A15 cores is only 2.32.

In experiments based on the ALE games, the training time is dominated by the computation time needed to evaluate the fitness of each policy by playing the game, which takes up 99.8% of all training time. On the pendulum learning environment, 40% of the training time is spent performing the graph mutations. In this environment, mutations are sped-up by a factor 3.80 on average, and policy evaluation by a factor 4.41, on the 8 heterogeneous cores of the Exynos chip.

Customizable Instruction Sets

To illustrate the utility of customizable instructions, Gegelati was trained for 400 generations on the frostbite game from the ALE, using two different sets of instructions, namely ISet simple and ISet complex . The ISet complex set contains the eight instructions from Kelly's work: {+, -, ×, ÷, 𝑐𝑜𝑠, 𝑙𝑛, 𝑒𝑥𝑝, <}, and the ISet simple contains only the following five low-complexity instructions {+, -, ×, ÷, <}. For each instruction set, the training was performed with 5 different seeds.

For each instruction set, Figure 7

CONCLUSION

The Gegelati C++ library for the training of AIs based on TPGs was introduced in this paper. Two original features of the library, namely its scalable and deterministic parallelism, and its customizable instructions, confer Gegelati great portability on various types of architectures. The raw performance, the scalability, and the customizable efficiency of the training process of TPGs was assessed experimentally using state-of-the-art reinforcement learning environments.

A direction for future work is the creation of a methodology for selecting appropriate instruction sets to maximize the efficiency of the training process, while jointly optimizing the time and energy efficiency of selected instructions.

summarized in four steps: 1 /Fig. 1 .

 11 Fig. 1. Semantics of the Tangled Program Graphs (TPGs)

Fig. 2 .

 2 Fig. 2. Program from a TPG. On the left, the learning environment state fed to the program. In the middle, the sequence of instructions of the program. On the right, the result produced by the program.

Fig. 3 .Fig. 4 .

 34 Fig. 3. Class diagrams of the data structures for customizable instructions.

Fig. 5 .Fig. 6 .Fig. 7 .

 567 Fig. 5. Training Scalability on Homogeneous Multicore CPUs

Figure 5

 5 Figure 5 presents the results of the scalability evaluation of the training process of Gegelati on the homogeneous multicore CPUs.

  plots statistics of the score of the champion policies observed during training. The thick lines represent the average score of the champion policies during the training process. The surrounding colored zone covers the area between the minimum and maximum scores observed during the five trainings for each instruction set. The trainings based on the ISet complex instruction set outperform the trainings based on the ISet simple set. On average, the score of the champion policies with the ISet simple set plateau at 4626 points, whereas the champion policies built with the ISet complex set reach 8042 points. The gap between the training efficiencies with the two instruction sets is also revealed by the distance between the best score obtained after 400 generations for the ISet simple set: 5470 points, which is far below the worst score obtained with the ISet complex set: 6450 points. This experiment shows that by providing support for customizable instruction sets, Gegelati unlocks the possibility to tailor the training instruction set to maximize the training efficiency.

  Call Worker(G, JobQ, resultQ) 13 Join all threads 14 /* Post-Process Results and Trace */ 15 Sort ResultQ in result.jobId order 16 for each result ∈ resultQ do

	Procedure 1: EvaluateAllPolicies	Procedure 2: Worker
		Input: TPG: 𝐺 = ⟨Teams, Edges⟩		Input: TPG: 𝐺 = ⟨Teams, Edges⟩
		Data: PRNG: prng master		Job queue: JobQ
		Job queue: JobQ		Result queue: ResultQ
		Result Queue: ResultQ		Data: PRNG: prng worker
	1 /* Prepare jobs */		Learning environment twin: 𝐿𝐸
	2 idx = 0	1 /* Poll for job */
	3 for each root ∈ G.Teams do	2 while JobQ.hasJob() do
	4	seed = prng master .getNumber()	3	/* Setup for policy evaluation */
	5	job = { idx++, seed, root }	4	job = jobQ.getNextJob()
	6	jobQ.push(job)	5	root = job.root
	7 endfor	6	prng worker .reset(job.seed)
	8 /* Start parallel threads */	7	LE.reset(prng worker .getNumber())
	9 for i = 1 to Num PE -1 do	8	/* Evaluate policy fitness */
	10	Spawn thread: Worker(G, JobQ, ResultQ)	9	trace = evaluate(G, root, LE, 𝑝𝑟𝑛𝑔 𝑤𝑜𝑟𝑘𝑒𝑟 )
	11 end	10	result.jobId = job.id
	12 17	Post-process result.trace // Archiving	11 12	result.trace = trace resultQ.push(result)
		[10]
	19 endfor

18

...

Generic Evolvable Graphs for Efficient Learning of Artificial Tangled Intelligence (Gegelati)

If a team is visited several times, previously taken edges are ignored to avoid infinite loops.

A logging system exporting training statistics in the csv format is also implemented in Gegelati. Through a simple class specialization mechanism, this logging system may be extended to export information specific to a user's learning environment.

Code quality. Maintaining a high quality of code is imperative to foster the maintainability, the evolutivity, and the trustworthiness in a library. Strict coding rules are enforced in Gegelati, notably by automatically checking that all data structures and functions are properly commented, and causing a build failure otherwise. Publicly hosted continuous integration is used to ensure that code coverage of the unit tests cover 100% of the library code [START_REF]Gegelati repository[END_REF]. This continuous integration also checks the portability of the library on Linux with gcc and clang, on Windows with MSVC19, on and macOS with clang. Public continuous code quality analysis is also used to enforce the reliability, the security, and the maintainability of the code [START_REF]Gegelati repository[END_REF].

Extension-friendly code modularity. Adopting a modular and hierarchical code organization of the code favors its evolution and its extension, either by replacing existing modules, or by adjuncting new ones. In Gegelati, separate modules with as few inter-dependencies as possible have been set up for each concept in the code. For example, classes modeling the topology of a TPG do not depend on the code responsible for mutating it, or the code for executing it. This separation of concern can be exploited to create specialization of a given module for a specific purpose. For example, while the default learning algorithm assumes a classic reinforcement learning setup with one agent interacting with its environment, an alternative algorithm has been implemented to train two or more agents to play competitive games.

Another alternative learning algorithm is also available for learning environments representing a classification problem.

Open source applications. The public availability of projects based on a library is a way to demonstrate in a reproducible way the capabilities of this library. Existing projects can also serve as examples or even as a base, for a developer starting a new project with a library. The public repository of Gegelati [START_REF]Gegelati repository[END_REF] hosts several projects with diverse learning environments, including: a wrapper for the Arcade Learning Environment (ALE) [START_REF] Bellemare | The Arcade Learning Environment: An Evaluation Platform for General Agents[END_REF], simple 2-player tic-tac-toe and Nim games, a physical robotic arm control and an inverted pendulum environments, and a MNIST [START_REF] Lecun | Gradient-based learning applied to document recognition[END_REF] classification environment.

EXPERIMENTS

The Gegelati implementation of the TPG learning process is evaluated in different scenarios to assess its capabilities and performance. Version 0.4.0 of the Gegelati was used in all experiments. In Section 4.1, the rapidity and the scalability of the training process is evaluated on several multicore architectures. In Section 4.2, the potential of customizable instructions is demonstrated on an inverted pendulum environment.

Sequential Performance and Scalability

Sequential. The implementation of the contributions presented in Section 3 incurs an additional complexity in the code of Gegelati compared to the reference TPG implementation by Stephen Kelly [START_REF] Kelly | Scaling genetic programming to challenging reinforcement tasks through emergent modularity[END_REF][START_REF] Kelly | Emergent tangled graph representations for Atari game playing agents[END_REF]. To assess the efficiency of Gegelati compared to this reference implementation, the two codes have been used to train TPGs in the ALE environment. The meta-parameters values defined in [START_REF] Kelly | Scaling genetic programming to challenging reinforcement tasks through emergent modularity[END_REF] have been used in all experiments, except the number of games played per evaluation, which was set to 1 to accelerate the experiments. TPGs were trained for 50 generations on 5 games with diverse complexities: alien, asteroids, centipede, fishing_derby, and frostbite. Due to the non-deterministic stochastic nature of the Atari 2600 emulator powering the ALE [START_REF] Bellemare | The Arcade Learning Environment: An Evaluation Platform for General Agents[END_REF], 5 runs were executed for each game. This experiment was executed on one core of an Intel Xeon CPU E5-2690 processor, running with Linux.


Andrea Francesco Castelletti

Matteo Giuliani

Maria-Helena H Ramos

Manuel Pulido-Velazquez

David Gustafsson

Hector Macian-Sorribes

Manon Cassagnole

Louise Crochemore

Ilias Pechlivanidis

Guillaume Thirel

Six challenges to successfully inform hydropower operation by improved hydrometeorological forecasts

come   L'archive ouverte pluridisciplinaire

Hydropower is facing considerable global change-related challenges from the point of view of both hydrological conditions, e.g., water availability and frequency of extremes events, and of energy market conditions, e.g., partial or total liberalization of the market and increasing share of renewable power sources. In this evolving context, hydropower reservoir operations might benefit from the information coming from hydro-meteorological prediction over a broad range of time scales, from short-term to seasonal and decadal time horizons, to combine strategic planning decisions on the medium-to long-term with daily and sub-daily operational decisions. In this talk, we explore potential advantages and concomitant challenges of informing hydropower operation with improved hydro-meteorological forecasts with a focus on Alpine hydropower systems. Specifically, we identified six fundamental, still unreplied questions: How much is the max potential improvement by streamflow forecast? How to find the most skillful lead time? How much is the seasonal forecast value as revenue for a hydropower company? How does forecast quality relate to forecast value? How does forecast informed operations change downstream hydrological patterns? Will climate change expand or shrink this potential? To address these questions, we developed a machine-learning based procedure to identify the most valuable forecast to an Alpine hydropower company and to quantify the economic benefit (value) of using the seasonal hydrological forecasts generated by the Swedish Meteorological and Hydrological Institute (SMHI) using the E-HYPE model as their contribution to increasing the annual company revenue. Lastly, insights from similar studies conducted across different European case studies will be reported.


Anthony Lemoine
email: anthony.lemoine@irstea.fr

Maria-Helena Ramos

Vazken Andreassian

Guillaume Thirel

USING CLIMATE SERVICES TO EVALUATE PROJECTED CHANGES IN THE OPERATION OF HYDROPOWER RESERVOIRS

The hydropower sector is sensitive to climate variables as these affect energy generation and consumption. Reservoir-based hydropower can better cope with climate variability in space and time and offers possibilities to regulate production. Climate services give key information to optimize reservoir operations and manage water storage. They provide guidelines for climate change adaptation and climate resilience strategies.

 Our aim is to develop indicators for the energy sector based on climate services in order to facilitate decision-making on energy production and planning at the regional and local levels in a context of climate change.  .

• Flow observations from the French HYDRO database.

• They represent how to manage the reservoir levels (figure a) in order to reach the system's objective or constraint (here, the minimum volume/level in the reservoir during summer). • On figure b, each blue line represents the rule curve for a given year, given its inflows and the minimum releases required. Triangular markers (1) show the 80% guide curve. It indicates the minimum water level required at each day so that the constraint is achieved 8 years out of 10. Squares (2) and Diamonds (3) are for 50% and 20% guide curves, respectively. The boxplot represents the range covered by all the rule curves (30 years).

Methods: operating guide curves

Conclusions

• This study uses conceptual reservoirs whose dimensions are defined as a function of the mean monthly riverflow over a reference period .

Results: example of guide curves

• Guide curves for 6 GCM/RCM.

• 3 periods : • Location B: Durance in Southern Alps.

• The use of guide curves is necessary for reservoir management in order to respect different constraints inherent to multi-purpose systems.

• Climate services provide information and variables that allow the construction of guide curves under different scenarios of future climate.

• We showed how an indicator can be obtained based on these guide curves to characterize the maximum volume that can be potentially allocated to hydroelectric production. It highlights the flexibility of water-energy systems under future climate.

• The two catchments studied showed a general downward trend in the maximum volume available for optimization in the future, with the higher impact observed in the catchment with a nival hydrological regime.

• It might be necessary to consider a modification of the reservoir management rules or to adapt constraints in the future in order to guarantee the same volume for production as in the historical (reference) period. • Location A: Ain in Jura.

• Results from projections over the historical period represent well the observations (Obs).

• Most GCM/RCM projections for the future indicate a downward trend in the % of maximum volume that can be potentially used for hydropower optimization.

• Location B: Durance in Southern Alps.

• Similar general conclusions.

• Under this regime, more influenced by snowmelt, all GCM/RCM indicate a more significant decrease of the maximum volume that can be potentially used for hydropower optimization (comparatively to location A).

• The variability among annual guide curves increases in the future (wider boxes).

A B

This work was funded by the project AQUACLEW, which is part of ERA4CS, an ERA-NET initiated by JPI Climate, and funded by FORMAS (SE), DLR (DE), BMWFW (AT), IFD (DK), MINECO (ES), ANR (FR) with cofunding by the European Commission [Grant 690462]. HYCAR Research Unit Catchment Hydrology Group webgr.irstea.fr