遲煥斌,李忠木,王 鋒,3
(1. 昆明理工大學(xué)管理與經(jīng)濟(jì)學(xué)院,云南 昆明 650093;2. 大理大學(xué)天文研究所,云南 大理 671000;3. 廣州大學(xué)天體物理中心,廣東 廣州 510006)
雙星星族是包含一些共同演化的雙星和單星、具有相同初始金屬豐度和演化年齡的恒星組合,是對(duì)單星星族的擴(kuò)展和豐富?;陔p星星族模型得到的星團(tuán)和星系參數(shù)結(jié)果通常更合理[1],因此,基于雙星星族的研究得到越來越多的關(guān)注。
光譜擬合是獲得星系物理信息的重要方法[2]。隨著各種巡天項(xiàng)目的開展和天文信息技術(shù)的發(fā)展,人們獲得了越來越多的高質(zhì)量光譜數(shù)據(jù),為天體光譜擬合創(chuàng)造了條件,有效推動(dòng)了光譜擬合的發(fā)展。光譜擬合近年來取得了一系列成果,如文[2]利用貝葉斯方法對(duì)單星星族光譜進(jìn)行擬合來估計(jì)星系參數(shù)信息;文[3]用貝葉斯模型選擇的方法分析了雙星星族和單星星族模型,發(fā)現(xiàn)雙星星族模型比其它沒有考慮雙星相互作用的模型的光譜擬合效果好很多;文[4-5]對(duì)早期星系紫外到可見波段的光譜進(jìn)行擬合,發(fā)現(xiàn)雙星星族模型可以很好地解釋球狀星團(tuán)藍(lán)離散星的觀測結(jié)果;文[6]首次通過雙星星族光譜擬合解釋早型星系的紫外反轉(zhuǎn)現(xiàn)象。
由于雙星星族演化比傳統(tǒng)的單星星族復(fù)雜,考慮的物理量多,對(duì)應(yīng)的理論光譜庫大,一定擬合精度要求下的光譜采樣率更高,所以雙星星族光譜擬合需要進(jìn)行海量的計(jì)算。能否快速高效地進(jìn)行雙星星族光譜擬合直接影響星族演化合成方法的應(yīng)用。因此,探索基于雙星星族模型的快速有效的光譜擬合方法十分重要。
為了解決雙星星族光譜擬合速度不能滿足星系演化等研究需求的問題,加快星族演化合成方法在天文研究中的推廣和應(yīng)用,本文基于管理策略進(jìn)行了一次嘗試,將光譜擬合轉(zhuǎn)化為一類最優(yōu)化問題,以最小化理論光譜和觀測光譜之間的均方誤差為優(yōu)化目標(biāo),建立最優(yōu)模型,提出策略改進(jìn)的遺傳算法對(duì)模型求解,并與雙星擬合算法[1]和傳統(tǒng)遺傳算法對(duì)比,驗(yàn)證算法的有效性。
雙星星族模型的一個(gè)主要目標(biāo)是構(gòu)建高精度且完備的雙星星族理論光譜庫。雙星星族的理論光譜構(gòu)建包括兩部分:模型輸入?yún)?shù)的假設(shè)和理論光譜的計(jì)算。
如文[1]所述,雙星星族模型采用文[7]的快速恒星演化程序代替恒星演化軌跡,采用BaSeL 3.1恒星光譜庫[8]和Chapbrier初始質(zhì)量函數(shù)[9],并假設(shè)每個(gè)雙星的主星和次星質(zhì)量比服從0~1的均勻分布[9]。恒星形成率假設(shè)為ψ(t)=ψ(0)e-t/τ[8]的形式,t和τ分別表示星系的年齡和恒星形成的持續(xù)時(shí)標(biāo)。
利用演化星族合成方法,在初始質(zhì)量函數(shù)和恒星形成率已知的情況下,可以計(jì)算星系中不同時(shí)刻形成的恒星數(shù)。借助文[7]的快速恒星演化程序進(jìn)行恒星演化計(jì)算,通過BaSeL 3.1恒星樣本庫將恒星的演化參數(shù)轉(zhuǎn)換為光譜能量分布。在完成恒星演化計(jì)算后將所包含的單顆恒星的光譜合成,可以計(jì)算年齡為t的星族在波長λ的光譜流量fλ0。每個(gè)星族光譜流量由3個(gè)參數(shù)決定:金屬豐度z、年老星族年齡t1和年輕星族年齡t2??紤]恒星速度彌散σ*、塵埃消光(采用文[8]的消光理論)、紅移、銀河系消光等因素,雙星星族合成中在波長λ處觀測的光譜流量可表示為
fλ=[fλ0(z,t1,t2)?G(v*,σ*)]p(τλ)r(Aλ) ,
(1)
其中,fλ0為由z,t1,t2決定的星族的光譜流量;G(v*,σ*)為平均值和標(biāo)準(zhǔn)偏差分別是v*和σ*的一個(gè)高斯分布;p(τλ)為通過塵埃消光是τλ的塵埃的能量百分比;r(Aλ)為通過銀河系消光Aλ后的能量比;?為卷積算子。
為了簡化雙星星族的理論光譜庫,本文將v*,σ*,τλ,Aλ的取值均設(shè)為0,僅考慮z,t1,t2。這并不影響實(shí)驗(yàn)?zāi)康?,同樣可以?duì)比分析改進(jìn)遺傳算法在光譜擬合中的表現(xiàn),因?yàn)閷?duì)比實(shí)驗(yàn)也是基于同樣的簡化雙星星族理論光譜庫。
光譜擬合的目的是獲得星系星團(tuán)的物理參數(shù)信息。在雙星星族模型中,光譜是由z,t1,t2,v*,σ*,τλ,Aλ和星族恒星質(zhì)量8個(gè)參數(shù)共同決定的。星系的恒星質(zhì)量可由文[10]的擬合公式
log(M*/M⊙)=0.63+4.52log[σ0/(km·s-1)]
(2)
計(jì)算,其中,M*為星系的恒星質(zhì)量;M⊙為太陽質(zhì)量;σ0為恒星的速度彌散。其它參數(shù)可通過光譜擬合,即將星族的理論光譜與觀測光譜進(jìn)行比對(duì),從而給出星族組成的定量信息。具體任務(wù)是從理論光譜庫中找到最接近觀測光譜的理論光譜。在光譜擬合過程中,通過將觀測光譜與理論光譜進(jìn)行比對(duì),并最小化理論光譜與觀測光譜數(shù)據(jù)之間的差異,以確定擬合最優(yōu)的理論光譜,進(jìn)而推斷恒星組成的主要參數(shù)。
雙星星族理論光譜庫有稠密的參數(shù)網(wǎng)格:恒星金屬豐度取值為0.000 3~0.03,金屬豐度較低時(shí)(z< 0.001)參數(shù)間隔為0.000 1,金屬豐度較高時(shí)(z> 0.001)參數(shù)間隔為0.001;星族群的年老星族年齡(t1)在0~15 gigayear范圍內(nèi),間隔為0.1 gigayear,年輕星族年齡(t2)從t1遞減到0 gigayear,間隔為0.1 gigayear;恒星速度彌散σ*以步長為10 km·s-1從0到350 km·s-1增加;塵埃消光(τλ)取值是時(shí)間隔為0.01的0至0.5區(qū)間。因此,雙星星族理論光譜庫包含巨大的參數(shù)空間,光譜擬合包含海量的計(jì)算,為此建立擬合模型如下。
記觀測光譜為fobλ,雙星星族合成理論光譜為fthλ,則光譜擬合契合度可由
χ2=∑[(fobλ-fthλ)2ωλ]
(3)
(4)
ωλ也可以根據(jù)特殊要求賦予某個(gè)閾值。星族光譜擬合的實(shí)質(zhì)是在理論光譜庫對(duì)應(yīng)的參數(shù)空間進(jìn)行搜索,找到與被擬合的觀測光譜χ2最小值所對(duì)應(yīng)的理論光譜。當(dāng)χ2最小時(shí),雙星星族合成光譜擬合模型滿足物理約束0 <ωi< 1,其本質(zhì)是一個(gè)最優(yōu)化問題,可表示為
(5)
遺傳算法[11](Genetic Algorithm, GA)是模擬自然界生物遺傳進(jìn)化行為,提出選擇、交叉和變異算子,通過對(duì)求解問題空間的多點(diǎn)并行迭代搜索能快速有效地收斂至全局最優(yōu)解的一類仿生啟發(fā)式算法。遺傳算法是一種基于種群的搜索算法,其個(gè)體代表了可能解的一個(gè)樣本。隨著搜索迭代的進(jìn)行,個(gè)體通過分享和交換信息產(chǎn)生更好的后代。傳統(tǒng)遺傳算法(Conventional Genetic Algorithm, CGA)包含選擇、交叉和突變等至關(guān)重要的操作,可以選擇獲勝的個(gè)體,維持種群的多樣性,并在種群內(nèi)的個(gè)體之間交換信息。
然而,傳統(tǒng)策略改進(jìn)遺傳算法在局部搜索能力上表現(xiàn)較差,且對(duì)初值非常敏感。對(duì)遺傳算法運(yùn)行機(jī)制分析后,受粒子群算法慣性自適應(yīng)的啟發(fā),同時(shí)為克服不足,本文在傳統(tǒng)遺傳算法策略改進(jìn)的基礎(chǔ)上,設(shè)計(jì)了一種自適應(yīng)遺傳算法(Self-adaptive Genetic Algorithm, SGA)用來求解雙星星族光譜擬合問題。傳統(tǒng)遺傳算法采用固定交叉概率(Probability of Cross, PC)和固定突變概率(Probability of Mutation, PM),這使得算法按照既定的規(guī)則進(jìn)行,從而導(dǎo)致遺傳變異不夠靈活。基于特定的進(jìn)化遺傳使得算法的性能如收斂速度和全局優(yōu)化能力等對(duì)進(jìn)化參數(shù)的選擇很敏感。如果個(gè)體的適應(yīng)度值大于總體的平均適應(yīng)度值,則分配的交叉概率和變異概率較小。此外,適應(yīng)度值越大的個(gè)體越接近目標(biāo)解,因此,應(yīng)賦予較小的交叉和變異概率,以保護(hù)信息不被遺傳給下一代。與之相反,對(duì)適應(yīng)度值較小的個(gè)體則伺機(jī)引入擾動(dòng)因子(Disruption Operator, DO),增強(qiáng)變異能力,個(gè)體被賦予較大的交叉和突變概率,以增加變異概率,于是,適應(yīng)度值越小的個(gè)體變異的機(jī)會(huì)越大。為了減小進(jìn)化參數(shù)選擇的依賴性,提高算法的收斂速度和全局優(yōu)化能力,自適應(yīng)遺傳算法改進(jìn)如下:
(1)自適應(yīng)交叉概率更新:
(6)
(2)自適應(yīng)突變概率更新:
(7)
其中,i為當(dāng)前迭代次數(shù);favg為種群的平均適應(yīng)值;fc為選擇交叉操作的個(gè)體適應(yīng)值;fm為選擇變異操作的個(gè)體適應(yīng)值;fmax為最大適應(yīng)值;γGA為隨機(jī)參數(shù),根據(jù)經(jīng)驗(yàn)取γGA=0.5。
(3)為了增強(qiáng)算法對(duì)搜索空間的探索能力,引入擾動(dòng)因子:
(8)
其中,δ為(-2, 2)之間的隨機(jī)數(shù);Disi, j為第i個(gè)染色體和鄰域第j個(gè)染色體的漢明距離;Disi,best為當(dāng)前最優(yōu)染色體和第i個(gè)染色體的漢明距離。
自適應(yīng)遺傳算法具體流程如圖1,主要包括:
(1)光譜數(shù)據(jù)預(yù)處理,包括剔除發(fā)射線、歸一化和紅移處理;
(2)問題編碼與種群初始化;
(3)按目標(biāo)函數(shù)計(jì)算適應(yīng)值并保留當(dāng)前最優(yōu)種群,決定種群的大小包括染色體長度和個(gè)數(shù)等,依策略初始化種群,設(shè)定進(jìn)化終止條件;
(4)判斷是否達(dá)到收斂或停止條件,如果滿足則輸出搜索結(jié)果,否則進(jìn)行迭代進(jìn)化;
(5)選擇算子,根據(jù)適應(yīng)度值隨機(jī)選擇一組較好的個(gè)體;
(6)按(5)式更新交叉概率;
(7)交叉算子:從集合中隨機(jī)選擇兩個(gè)染色體交換一個(gè)或多個(gè)位,根據(jù)交叉概率產(chǎn)生兩個(gè)新的個(gè)體,按(8)式添加擾動(dòng)因子;
(8)按(7)式更新變異算子:從集合中隨機(jī)選擇一個(gè)染色體,并根據(jù)突變概率改變一個(gè)或多個(gè)位以產(chǎn)生一個(gè)新的染色體;
(9)返回步驟(4)進(jìn)行終止判斷,循環(huán)以上步驟,直到終止條件。
圖1 自適應(yīng)遺傳算法流程圖Fig.1 SGA flow chart
為了驗(yàn)證自適應(yīng)遺傳算法在雙星星族光譜擬合中的尋優(yōu)效率,本文選取傳統(tǒng)遺傳算法和文[1]的雙星擬合算法作為對(duì)比。實(shí)驗(yàn)代碼采用Python3.6開發(fā),操作系統(tǒng)為ubuntu18.04 64 bit,內(nèi)存容量為8 GB,中央處理器型號(hào)為i7-4790,主頻3.60 GHz。實(shí)驗(yàn)的理論光譜數(shù)據(jù)(詳情參考文[1])使用基于Chapbrier初始函數(shù)的雙星星族理論光譜庫進(jìn)行擬合, 觀測光譜數(shù)據(jù)選自99個(gè)本地星系的紫外-可見波段的光譜數(shù)據(jù),可以從互聯(lián)網(wǎng)上下載,具體可參見文[4]。這些數(shù)據(jù)的特點(diǎn)是覆蓋從紫外到可見光波段的波長,范圍很廣。此外,由于雙星對(duì)紫外光譜有明顯的影響,這些數(shù)據(jù)也是探索雙星演化對(duì)光譜擬合影響的理想數(shù)據(jù)。每條觀測光譜采樣點(diǎn)數(shù)為Nλ=3 871,以550 nm為歸一化因子對(duì)光譜進(jìn)行預(yù)處理。自適應(yīng)遺傳算法參數(shù)設(shè)置為交叉概率上限C2=1,變異概率上限M2=1,隨機(jī)參數(shù)γGA=0.5,個(gè)體編碼長度n=20,種群規(guī)模Pop=100,耗時(shí)指標(biāo)取每個(gè)算法重復(fù)20次的平均值。
首先,從觀測光譜數(shù)據(jù)中隨機(jī)選取一條(NGC 1399星系)作為實(shí)驗(yàn)數(shù)據(jù),參考文[12]進(jìn)行數(shù)據(jù)預(yù)處理;然后,將觀測光譜進(jìn)行壞點(diǎn)、發(fā)射線、天光線等屏蔽,得到編號(hào)為spec-0266-51630-0010的光譜數(shù)據(jù);接著,借鑒文[13]的方法,采用χ2/Nλ作為評(píng)價(jià)標(biāo)準(zhǔn),當(dāng)χ2/Nλ< 1時(shí),認(rèn)為理論光譜與觀測光譜擬合良好, 星族合成參數(shù)估計(jì)準(zhǔn)確,擬合結(jié)果可以接受,擬合迭代過程如圖2(a)。算法在種群迭代20次后收斂,對(duì)應(yīng)的適應(yīng)值χ2=1 308,擬合精確度為χ2/Nλ=0.343 3,理論光譜與觀測光譜擬合良好,如圖2(b),其中灰色曲線代表實(shí)際觀測的光譜,紅色曲線代表擬合得到的最優(yōu)理論光譜。
圖2 自適應(yīng)遺傳算法擬合迭代過程Fig.2 SGA fit
傳統(tǒng)遺傳算法的交叉概率為0.8,變異概率為0.1,染色體長度為20,Pop=100。對(duì)測試光譜用傳統(tǒng)遺傳算法在雙星星族理論光譜庫上進(jìn)行擬合結(jié)果如圖3。傳統(tǒng)遺傳算法中,種群迭代16次后陷入局部最優(yōu),迭代15次后開始收斂,找到擬合度最優(yōu)的理論光譜。實(shí)驗(yàn)迭代20次平均耗時(shí)3 201.3 s,比雙星擬合算法略優(yōu),速度提高了19.2%。與傳統(tǒng)遺傳算法相比,自適應(yīng)遺傳算法在迭代20次后收斂,能有效跳出局部最優(yōu)陷阱,收斂速度顯著改善,實(shí)驗(yàn)20次平均耗時(shí)1 304.4 s,速度提高了19.1%。
用Python實(shí)現(xiàn)文[1]所述的雙星擬合算法,擬合遍歷過程如圖4,橫軸表示遍歷計(jì)算的次數(shù),縱軸表示每次計(jì)算得到的卡方統(tǒng)計(jì)量。由于是全網(wǎng)格搜索,雙星星族模型的理論庫覆蓋波段長,演化參數(shù)網(wǎng)格稠密(模型光譜庫覆蓋金屬豐度從0.000 3到0.03,精度為0.000 1;t1,t2范圍從0到15 gigayear,精度為0.1 gigayear),導(dǎo)致樣本參數(shù)空間巨大。雖然將模型參數(shù)做了簡化處理,但是要完成一條觀測光譜的擬合需要逐一進(jìn)行海量對(duì)比才能找到擬合度最優(yōu)的理論光譜,實(shí)驗(yàn)20次平均耗時(shí)3 954.2 s。與雙星擬合算法相比,自適應(yīng)遺傳算法具有更強(qiáng)的全局搜索能力,對(duì)理論光譜搜索效率更高,收斂速度顯著改善,20次平均耗時(shí)減少了67.2%。
圖3 傳統(tǒng)遺傳算法擬合迭代過程Fig.3 CGA fit
圖4 雙星擬合遍歷過程Fig.4 Binary star to fit
3種算法均能找到最小χ2對(duì)應(yīng)的理論光譜,按照理論光譜的參數(shù)網(wǎng)格設(shè)置,反演得到表1中的擬合參數(shù)。
表1 NGC 1399星系擬合參數(shù)Table 1 Fitted parameters of NGC 1399 galaxies
產(chǎn)生誤差的主要原因是對(duì)實(shí)驗(yàn)?zāi)P瓦M(jìn)行了簡化,(1)理論光譜庫只考慮z,t1,t2而沒有考慮v*,σ*,τλ,Aλ等參數(shù)的影響;(2)沒有考慮觀測光譜的誤差,沒有對(duì)觀測光譜的不確定性進(jìn)行處理,即信噪比取值很大的理想情況。文中得到的金屬豐度比文[4]的擬合值小0.005,這也符合預(yù)期,原因是模型輸入的不確定性通常導(dǎo)致金屬豐度估計(jì)值偏低。星族年齡的擬合值比文[4]低50%的主要原因是簡化的模型沒有考慮速度彌散,從而導(dǎo)致星族年齡被低估。該擬合結(jié)果也體現(xiàn)了 “年齡-金屬豐度簡并效應(yīng)”。
綜上,增加自適應(yīng)策略的改進(jìn)遺傳算法在擬合速度上較傳統(tǒng)遺傳算法和雙星擬合算法平均提高了43.5%,擬合結(jié)果符合預(yù)期。
采用自適應(yīng)策略改進(jìn)的遺傳算法對(duì)雙星星族光譜擬合,結(jié)果表明:(1)采用群智能算法解決雙星光譜擬合問題是可行的;(2)策略改進(jìn)遺傳算法和傳統(tǒng)遺傳算法、雙星擬合算法相比,在雙星星族光譜擬合中能將計(jì)算速度分別提升19.1%和67.2%,對(duì)雙星星族光譜擬合速度平均可提高43.2%,提升效果明顯。策略改進(jìn)的遺傳算法在傳統(tǒng)遺傳算法的基礎(chǔ)上,發(fā)揮了遺傳算法全局搜索能力強(qiáng)、相較于傳統(tǒng)遺傳算法收斂速度快的優(yōu)點(diǎn)。此外,策略改進(jìn)的遺傳算法在搜索時(shí)更智能,能有效跳出局部最優(yōu)陷阱,提高算法的全局搜索能力,避免算法早熟,相對(duì)于雙星擬合算法的全網(wǎng)格搜索,自適應(yīng)遺傳算法對(duì)搜索空間做了取舍,所以效率更高。雖然策略改進(jìn)遺傳算法在雙星星族擬合上提高了速度,但是還有很大的提升空間。一方面,編碼方式對(duì)算法探索能力和收斂性有影響,改進(jìn)算法編碼如利用量子編碼等值得探索,另一方面,群智能算法發(fā)展日新月異,探索更有效的搜索策略,如探索和強(qiáng)化學(xué)習(xí)等融合也很有必要。考慮到遺傳算法易于并行實(shí)現(xiàn),下一步可探索并行策略下的策略改進(jìn)遺傳算法對(duì)光譜擬合速度的改善。