论文部分内容阅读
随着生命科学研究的不断深入,生物信息学所涉及的研究范畴也在不断地扩展。微阵列(microarray)技术作为生物信息学中极具发展前景的技术之一,得到了学者们的关注和普及,该技术能同时检测成千上万个基因的表达水平,从而产生了大量蕴含基因信息的基因表达数据。如何高效分析海量的基因数据,从中获得对人类有意义的信息是现今生物信息学亟待解决的热点问题,其中聚类分析则是微阵列数据分析中应用最为广泛的方法,具有较高的研究价值。在微阵列数据基因聚类分析上,现代智能仿生算法日益受到关注。粒子群优化算法、遗传算法等都已成功地应用于基因聚类中,并获得了不错的聚类效果。近年来的研究表明,采用单一算法已很难获得较好的聚类结果,于是众多学者开始从各方面入手研究各类算法的改进,并取得了显著的成果。其中,混合算法由于结合了多种算法的优势,因而可能克服单一算法的局限性以及各自的缺点。许多近期发展起来的混合算法在基因表达聚类分析中也取得了较满意的效果。随着微阵列技术的迅猛发展,数据规模越来越大,计算强度和复杂度已经远远超过个人计算机所能处理的范围。一种已经出现且迅速崛起的高性能计算技术CUDA(统一计算架构),打破了传统GPU上仅适应图形语言的局限,使得应用个人PC机执行高性能并行计算成为现实,为推进和普及包括大规模数据处理和密集型计算在内的科学研究与应用开辟了新的途经。基因表达数据聚类算法尚处在不断研究和探索之中,作为比较新颖的基因聚类算法——粒子对算法(PPO),具有群体规模小,便于协调粒子之间的位置关系,能获得较好的聚类效果等优势,是目前较为广泛使用的基因聚类算法。然而,PPO算法中由于粒子的交流较少,也存在容易过早陷入局部最优、全局搜索能力不强等缺点。合理地利用元胞自动机(CA)中的元胞规则,可以让邻域元胞间具有较强的交流传播能力,如果通过科学、合理地设计,使PPO和CA算法相互融合,并协同完成进化过程,则可充分地利用CA的优势来改进PPO过早陷入局部最优而导致精度不高的缺点。此外,萤火虫算法(FA)在位置更新的过程中使用了扰动因子,在避免过早陷入局部最优上有其自身的优势,同时其在解决复杂优化问题的效率上也是目前比较好的算法之一。鉴于此,本文建议了一种新的基于元胞粒子对(PPO(CA))和萤火虫算法(FA)的混合算法(PPO(CA)-FA)。该算法在PPO算法的第一阶段迭代过程中引入元胞自动机,利用相应元胞规则来更新粒子的个体历史最优适应值和历史最优位置,同时元胞自动机强大的邻域交流能力克服了PPO算法易于陷入局部最优的缺点。元胞自动机的加入,需要适当的增加算法中粒子的数量,这样既提高了粒子全局最优值在种群中的传播速度,也使得新混合算法能对邻域进行充分搜索的同时获得较好的精度。在PPO(CA)的基础上,为更好地避免陷入局部最优,若在第二阶段的迭代过程中连续多次解的最小误差在指定范围时,则引入FA算法,充分利用萤火虫算法可以高效的搜索解空间的优点,获得更有效的基因聚类结果。为了验证混合算法的有效性,将PPO(CA)、PPO(CA)-FA与PPO算法进行比较。将该四种算法运行在四组常用标准数据集CellCycle384、 histone.pcl、6400和i2282.pc1上,实验结果显示,PPO(CA)-FA能获得更好的聚类精准度和聚类效果,在均方差、类内紧致度和类间分离度方面都有改进。为了验证CA融入的效应,将PPO(CA)与只扩大了种群没有加入CA的混合算法(PPO(noCA))进行比较,实验结果说明CA的加入增加了混合算法在均方差上稳定性,改善了聚类效果以及PPO算法易于陷入局部最优的缺点。而PPO(CA)与FA的融合,使得混合算法PPO(CA)的全局搜索能力增强,让算法结果更加靠近最优聚类结果。PPO(CA)-FA算法在处理高通量、大密度数据的等问题时,存在计算时间过长、效率低的缺点。为了将算法更好的应用于实际,本文在CUDA架构下设计并实现了一种并行的PPO(CA)-FA算法,且对并行算法进行了优化,提高了混合算法的运行效率,同时保证了算法的准确率。根据并行层次的不同,本文提出了两种优化方案。在5种数据集上的实验结果表明,并行优化后的混合算法在实验数据集中取得比较可观的性能加速,优化方案二在标准数据集histone.pcl上获得的加速比最高达16.9。与近几年出现的并行算法比较结果显示,除去算法在不同硬件环境下的影响,在相近的数据规模下,使用方案二并行优化后的PPO(CA)-FA的加速效果最优。