CN111178529A - 数据处理方法、装置、电子设备及可读存储介质 - Google Patents
数据处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111178529A CN111178529A CN201911425293.7A CN201911425293A CN111178529A CN 111178529 A CN111178529 A CN 111178529A CN 201911425293 A CN201911425293 A CN 201911425293A CN 111178529 A CN111178529 A CN 111178529A
- Authority
- CN
- China
- Prior art keywords
- fitness
- population
- generation
- individuals
- ith
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种数据处理方法、装置、电子设备及可读存储介质,涉及计算机技术领域。该方法包括:确定第i代种群的最优适应度以及第i‑1代种群的最优适应度;基于第i代种群的最优适应度与第i‑1代种群的最优适应度确定适应度变化趋势;确定第i代种群进行下一次遗传算法迭代时第i代种群中淘汰的个体;基于适应度变化趋势生成新的个体,使用新的个体替换淘汰的个体;将所述第i代种群中保留的个体以及新的个体进行下一次遗传算法迭代,直至获得最优解。该方案通过基于适应度变化率生成新的个体,使得生成的新的个体的适应度不会太低,并且参与迭代的个体数量增多,从而可避免了遗传算法过早陷入局部收敛的问题,更有利于算法寻找全局最优解。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据处理方法、装置、电子设备及可读存储介质。
背景技术
一般的遗传算法是一个迭代搜索的过程,通过多次迭代将初始的种群进化成一个达到要求的优化的种群。在遗传算法的迭代过程中,会对新的种群进行优劣评估,评估后将该遗传算法的个体选择、交叉、变异的操作淘汰掉劣质的个体产生新的个体,新的个体会再次进行优劣评估。
但是,在选择过程中,会筛选掉一些劣质的个体,这些劣质的个体不能继续参与下一次迭代,只能靠变异产生新的个体,这样就可能导致遗传算法过早陷入局部收敛,例如,若设定了遗传算法的迭代数为500,当迭代到200代以后,其个体的适应度就会保持不变,也就是后面的300代的进化实际上都是基于局部最优解完成的,从而使得遗传算法过早陷入局部收敛。
发明内容
本申请实施例的目的在于提供一种数据处理方法、装置、电子设备及可读存储介质,用以改善现有技术中遗传算法容易陷入局部收敛的问题。
第一方面,本申请实施例提供了一种数据处理方法,所述方法包括:确定第i代种群的最优适应度以及第i-1代种群的最优适应度,其中,i为大于或等于2的整数;基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势;确定所述第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体;基于所述适应度变化趋势生成新的个体,使用所述新的个体替换所述淘汰的个体;将所述第i代种群中保留的个体以及所述新的个体进行下一次遗传算法迭代,直至获得最优解。
在上述实现过程中,通过基于适应度变化率生成新的个体,使得生成的新的个体的适应度不会太低,并且参与迭代的个体数量增多,从而可避免了遗传算法过早陷入局部收敛的问题,更有利于算法寻找全局最优解。
可选地,所述基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势,包括:
将所述第i代种群的最优适应度映射为多维空间中的第i空间点,以及将所述第i-1代种群的最优适应度映射为所述多维空间中的第i-1空间点;
确定所述第i空间点以及所述第i-1空间点之间的方向向量的斜率,所述方向向量的斜率为所述适应度变化趋势。
在上述实现过程中,通过将最优适应度映射到多维空间,从而可便于计算两个最优适应度的适应度变化趋势。
可选地,所述确定第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体,包括:
获取所述第i代种群中每个个体的适应度;
确定所述第i代种群中个体的适应度低于所述第i-1代种群的最优适应度的目标个体;
将所述目标个体确定为所述第i代种群中淘汰的个体。
在上述实现过程中,通过将低于前一代种群的最优适应度的个体确定为淘汰的个体,使得每次迭代过程中参与迭代的个体均为优质个体,从而可获得全局最优解。
可选地,所述确定第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体,包括:
获取所述第i代种群中每个个体的适应度;
确定所述适应度低于目标值的目标个体;
将所述目标个体确定为所述第i代种群中淘汰的个体。
可选地,所述目标值为所述第i代种群中个体的平均适应度。
可选地,所述第i代种群的最优适应度为所述第i代种群中各个个体的适应度中的最大适应度,所述第i-1代种群的最优适应度为所述第i-1代种群中各个个体的适应度中的最大适应度。
可选地,所述确定第i代种群的最优适应度,包括:
将所述第i代种群中的多个个体均分到MapReduce分布式计算框架中的多个Map计算平台中;
利用每个Map计算平台分别计算各个个体的适应度;
利用每个Map计算平台基于各个个体的适应度确定所述第i代种群的多个最优适应度;
利用所述MapReduce分布式计算框架中的Reduce计算平台基于所述多个最优适应度确定所述第i代种群的最优适应度。
在上述实现过程中,利用MapReduce分布式计算框架来计算适应度,在个体数量较多时,可有效提高计算效率。
第二方面,本申请实施例提供了一种数据处理装置,所述装置包括:
最优适应度获取模块,用于确定第i代种群的最优适应度以及第i-1代种群的最优适应度,其中,i为大于或等于2的整数;
适应度变化趋势获取模块,用于基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势;
淘汰个体确定模块,用于确定所述第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体;
个体替换模块,用于基于所述适应度变化趋势生成新的个体,使用所述新的个体替换所述淘汰的个体;
迭代模块,用于将所述第i代种群中保留的个体以及所述新的个体进行下一次遗传算法迭代,直至获得最优解。
可选地,所述适应度变化趋势获取模块,用于将所述第i代种群的最优适应度映射为多维空间中的第i空间点,以及将所述第i-1代种群的最优适应度映射为所述多维空间中的第i-1空间点;确定所述第i空间点以及所述第i-1空间点之间的方向向量的斜率,所述方向向量的斜率为所述适应度变化趋势。
可选地,所述淘汰个体确定模块,用于获取所述第i代种群中每个个体的适应度;确定所述第i代种群中个体的适应度低于所述第i-1代种群的最优适应度的目标个体;将所述目标个体确定为所述第i代种群中淘汰的个体。
可选地,所述淘汰个体确定模块,用于获取所述第i代种群中每个个体的适应度;确定所述适应度低于目标值的目标个体;将所述目标个体确定为所述第i代种群中淘汰的个体。
可选地,所述目标值为所述第i代种群中个体的平均适应度。
可选地,所述第i代种群的最优适应度为所述第i代种群中各个个体的适应度中的最大适应度,所述第i-1代种群的最优适应度为所述第i-1代种群中各个个体的适应度中的最大适应度。
可选地,最优适应度获取模块,用于:
将所述第i代种群中的多个个体均分到MapReduce分布式计算框架中的多个Map计算平台中;
利用每个Map计算平台分别计算各个个体的适应度;
利用每个Map计算平台基于各个个体的适应度确定所述第i代种群的多个最优适应度;
利用所述MapReduce分布式计算框架中的Reduce计算平台基于所述多个最优适应度确定所述第i代种群的最优适应度。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种数据处理方法的流程图;
图3为本申请实施例提供的一种最优适应度在二维空间的映射示意图;
图4为本申请实施例提供的一种数据处理装置的结构框图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供一种数据处理方法,该方法中通过计算两次迭代过程中的最优适应度之间的适应度变化趋势,根据适应度变化趋势来生成新的个体,从而使得生成的新的个体的适应度不会太低,且新增了新的个体继续迭代,使得参与迭代的个体数量增多,从而可避免了遗传算法过早陷入局部收敛的问题,更有利于算法寻找全局最优解。
请参照图1,图1为本申请实施例提供的一种电子设备的结构示意图,所述电子设备可以包括:至少一个处理器110,例如CPU,至少一个通信接口120,至少一个存储器130和至少一个通信总线140。其中,通信总线140用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口120用于与其他节点设备进行信令或数据的通信。存储器130可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器130可选的还可以是至少一个位于远离前述处理器的存储装置。存储器130中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器110执行时,电子设备执行下述图2所示方法过程,例如,存储器130可用于存储各个个体的适应度,处理器110在执行遗传算法时,可以从存储器130中获取各个个体的适应度进行分析获得应适度变化率,进而根据适应度变化趋势生成新的个体来继续下一次迭代。
可以理解,图1所示的结构仅为示意,所述电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
在介绍具体的实施例之前,为了便于对本申请实施例的理解,先对遗传算法的过程进行简单介绍。
在算法初始阶段,可随机生成一组可行解,也就是第一代染色体,然后采用适应度函数分别计算每一条染色体的适应度,并根据适应度确定每一条染色体在下一次进化中被选中的概率,然后通过交叉,生成新的染色体,对新的染色体进行变异操作,获得新的种群,新的种群中包括原来种群中适应度高的染色体和变异产生的新的染色体,接着分别计算这些染色体的适应度和下次进化被选中的概率。
其中,适应度函数用于计算每条染色体的适应度,遗传算法在运行的过程中会进行多次迭代,每次迭代都会产生若干条染色体,适应度函数会给本次迭代中生成的所有染色体打个分,来评判这些染色体的适应度,然后将适应度较低的染色体淘汰掉,只保留适应度较高的染色体,从而经过若干次迭代后染色体的质量越来越优良。
交叉是指在上一代染色体中寻找两条染色体,一条称为父体,另一条称为母体,然后将这两条染色体的某一个位置切断,并拼接在一起,从而生成一条新的染色体,这条新的染色体上即包含了一定数量的父体的基因,也包含了一定数量的母体的基因。
在每次完成一次进化后,都要计算每一条染色体的适应度,然后采用如下公式计算每一条染色体的适应度,在进行交叉过程中时,就需要根据这个概率来选择父母染色体,适应度比较大的染色体被选中的概率就越高。
交叉能保证每次进化留下优良的基因,但仅仅是对原有的结果集进行选择,基因还是那么几个,只不过交换了他们的组合顺序,这只能保证经过多次进化后,计算结果更接近于局部最优解,而永远没办法达到全局最优解。当通过交叉生成了一条新的染色体后,需要再新的染色体上随机选择若干个基因,然后随机修改基因的值,从而给现有的染色体引入了新的基因,突破了当前搜索的限制,更有利于算法寻找全局最优解。
每次进化过程中,为了保留上一代优良的染色体,需要将上一代中适应度最高的几条染色体直接原封不动复制给下一代,假设每次进化都需要生成N条染色体,那么每次进化中,通过交叉方式需要生成N-M条染色体,剩余的M条染色体通过复制上一代适应度最高的M条染色体而来。
多个染色体即构成种群,每条染色体称为个体,种群是指各个可行解,遗传算法的目的是找到全局最优解,其在不同的应用场景下所代表的含义不同。例如,一台主机上运行了3个虚拟机{VM0,VM1,VM2},3个虚拟机的计算能力(即单位时间内能够执行的指令数量)分别是{3000,1000,500}。若某用户有5个计算任务{t0,t1,t2,t3,t4},任务大小(指要执行的指令数量)分别是{4000,2000,2500,10000,500},提交到系统中进行模拟运算,根据默认的调度策略,产生的调度结果是VM0={t0,t3},VM1={t1,t4},VM2={t2}。
由于VM0、VM1、VM2并行执行,互不影响,因此,VM0上的执行时间为:(t0+t3)/VM0mips=(4000+10000)/3000=4.667,VM1上的执行时间为:(t1+t4)/VM1 mips=(2000+500)/1000=2.5,VM2上的执行时间为:t2/VM2mips=2500/500,这种调度方案的总的运行时间为max{4.667,2.5,5}=5。
其中,适应度其实就是每种调度方案对应的任务完成时间,如上述方案对应的适应度为5。而遗传算法的编码过程可以理解为将每个计算任务分配到哪个虚拟机上,如果分配则置为1,未分配资源的置为0,最终形成编码集,如10100010001,每一种编码代表一种解,多个编码则构成种群,种群内部会根据编码的不同计算对应的适应度。
在发生交叉、变异操作时,实际上也是编码与编码进行的,比如有两个个体,编码如下:
0100011001
10101010101
交叉后,编码如下:
10100010101
10101011001
可以发现,个体的后四位编码发生了交叉操作。
而变异操作中,会将个体中的某个或某几个基因进行突变,比如变异前:
10101011001
变异后:
10101001001
此过程就完成了变异操作。
待一次交叉变异完成后,会进行选择操作,选择操作的核心是淘汰适应度不高的个体。
本申请实施例中涉及的遗传算法也是按照上述遗传算法中的主要思路来执行的,而本申请实施例中为了避免遗传算法过早进入局部收敛,在每一次迭代前,也就是选择操作过程中,是通过基于适应度变化趋势来生成新的个体参与下一次迭代,这样使得新的个体的适应度不会太低,并且每次迭代前都新增了个体,进而确保能产生更优良的后代,避免遗传算法陷入局部收敛,更有利于算法寻找全局最优解,下面详细介绍本申请实施例提供的数据处理方法。
请参照图2,图2为本申请实施例提供的一种数据处理方法的流程图,该方法包括如下步骤:
步骤S110:确定第i代种群的最优适应度以及第i-1代种群的最优适应度。
其中,i为大于或等于2的整数,在i等于2时,第i-1代种群为第1代种群,第1代种群称为初始种群,初始种群可以由用户提供,也可以是随机产生的,此处不做限制。如果i为大于2的整数,则第i代种群即为第i-1代种群通过遗传算法进行迭代后产生的新的种群。
在每次迭代完之后,可以采用适应度函数计算获得每个个体的适应度,适应度用于评价每个个体的优劣。其中,根据不同的应用场景可选择合适的适应度函数来计算适应度,如按照上述应用场景设置的适应度函数可以为(a+b)/x,其中,a和b表示对应任务的任务大小,x表示对应虚拟机的计算能力。
由此,可在每次迭代后,均按照设定的适应度函数计算每个个体的适应度。其中,最优适应度可以是指大于一适应度阈值的多个适应度的平均值,如若大于适应度阈值的适应度只有一个时,则该适应度即可作为最优适应度,若大于适应度阈值的适应度有多个时,则可获取这多个适应度的平均值作为最优适应度;或者最优适应度可以是指每代种群中的最大适应度,如第i代种群的最优适应度为第i代种群中各个个体的适应度中的最大适应度,第i-1代种群的最优适应度为第i-1代种群中各个个体的适应度中的最大适应度。
步骤S120:基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势。
适应度变化趋势是指相邻两代种群的最优适应度的变化程度以及变化趋势,例如,第i代种群的最优适应度为5,第i-1代种群的最优适应度为7,其变化程度为2,变化趋势为增大,则适应度变化趋势可以简单表示为7/5=1.4。
作为一种实施方式,由于适应度均为编码的值,为了便于获得适应度变化趋势,则可以将第i代种群的最优适应度映射为多维空间中的第i空间点,以及将第i-1代种群的最优适应度映射为多维空间中的第i-1空间点,再确定第i空间点以及第i-1空间点之间的方向向量的斜率,该方向向量的斜率即为适应度变化趋势。
以二维空间为例,如第i代种群的最优适应度映射到二维空间的第i空间点为(x1,y1),第i-1代种群的最优适应度映射到二维空间的第i-1空间点为(x2,y2),则两个空间点的方向向量为(x1-x2,y1-y2),该方向向量的斜率为k=(y1-y2)/(x1-x2)。
所以,在确定其斜率后,基于该斜率生成新的个体时,随机生成适应度在两个空间点的连线之上的点,如图3所示,即选择其连线之上且大于第i-1代种群的最优适应度对应的区域内的点对应的个体作为新的个体。
步骤S130:确定所述第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体。
在遗传算法中,为了便于尽快获得全局最优解,可以将不适合遗传到下一代的个体则会进行淘汰,在进行淘汰时,可以将适应度小于适应度阈值的个体淘汰,表示这些个体的适应度不满足要求,不适合遗传到下一代,因此,可以基于各个个体的适应度来确定需淘汰的个体。
需要说明的是,步骤S130与步骤S110的执行顺序可不做限定,如步骤S130可以是在步骤S110之前执行的,步骤S130也可以是在步骤S120之后执行的,或者步骤S130与步骤S110并行执行。
步骤S140:基于所述适应度变化趋势生成新的个体,使用所述新的个体替换所述淘汰的个体。
为了避免遗传算法过早收敛,在每次迭代完成后获得变异的个体后,还可增加新的个体,使得每代个体可以保持一定的数量。其中,本申请实施例中新的个体是基于适应度变化趋势生成的,然后使用新的个体替换淘汰的个体。其中基于适应度变化趋势生成的新的个体是指新的个体的适应度一般到满足适应度变化趋势,如新的个体的适应度与第i代染色体的最优适应度的比值要大于或等于1.4,使得生成的新的个体的适应度不会太低,然后与其他的个体一起进化,从而避免遗传算法陷入局部收敛的问题。
其中,可以随机生成满足上述适应度变化趋势的与淘汰的个体的数量相等的新的个体。
步骤S150:将所述第i代种群中保留的个体以及所述新的个体进行下一次遗传算法迭代,直至获得最优解。
在确定第i代种群中需淘汰的个体后,剩余的个体即为保留的个体,保留的个体和生成的新的个体进入下一次遗传算法迭代,产生新的种群。为了保留优良的个体,还可以将第i代中种群中保留的个体继续复制到新的种群中,并且新的种群中又增加了生成的新的个体,使得参与下一次迭代的个体的数量不会太少,然后新的种群又再通过上述步骤进行个体的选择和生成操作,再不断进行遗传算法迭代,直至获得最优解,如在迭代到一定代数后,每个个体的适应度基本保持不变,即表征遗传算法收敛,可获得全局最优解。
在上述实现过程中,通过基于适应度变化率生成新的个体,使得生成的新的个体的适应度不会太低,并且参与迭代的个体数量增多,从而可避免了遗传算法过早陷入局部收敛的问题,更有利于算法寻找全局最优解。
作为一种实施方式,在上述步骤S130中确定第i代种群中淘汰的个体时,可以先获取第i代种群中每个个体的适应度,然后确定第i代种群中个体的适应度低于第i-1种群的最优适应度的目标个体,再将目标个体确定为第i代种群中淘汰的个体。
可以理解地,可以利用适应度函数计算出每个个体的适应度,然后这些个体的适应度与第i-1代种群的最优适应度进行比较,选择低于最优适应度的个体作为需淘汰的个体,这样使得保留下来的个体均为优良个体。
例如,第i代种群包括个体1、个体2和个体3,个体1的适应度为3,个体2的适应度为6,个体3的适应度为6,第i-1代种群的最优适应度为5,个体1的适应度低于最优适应度,则确定个体1为目标个体,即需要淘汰的个体,此时将个体2和个体3作为保留的个体进入下一次遗传算法的迭代过程。
或者,作为另一种实施方式,还可以获取第i代种群中每个个体的适应度,然后确定适应度低于目标值的目标个体,将目标个体确定为第i代种群中淘汰的个体。
其中,目标值可以为第i代种群中个体的平均适应度,如上述示例中,第i代种群的平均适应度为5,此时只有个体1的适应度低于平均适应度,则将个体1确定为目标个体,作为淘汰的个体。
当然,目标值可以是根据实际需求设置的一个阈值,表示低于该阈值的个体均为劣质个体,无法参与到下一次迭代,将保留的个体进行下一次迭代,进而可淘汰大量的适应度差的个体,可有效提高遗传算法获得全局最优解的速率。
在上述实现过程中,通过将适应度低的个体确定为淘汰的个体,使得每次迭代过程中参与迭代的个体均为优质个体,从而可获得全局最优解。
作为一种实施方式,为了进一步提高遗传算法的执行效率,该遗传算法还可以采用MapReduce分布计算框架来运行,MapReduce分布计算框架的优点是在于可以将海量的数据进行离线处理,MapReduce分布计算框架分为Map计算平台和Reduce计算平台,这两个计算平台可以理解为是两个函数,即Map函数和Reduce函数,Map函数用来把一组键值对映射成一组新的键值对,指定Reduce函数来保证所有映射的键值对中的每一个共享相同的键组。
也就是说,通过Map计算平台对数据进行处理后输出至Reduce计算平台,由Reduce计算平台整合后将结果输出。
在本申请实施例中,计算第i代种群的最优适应度的过程中,可以将第i代种群中的多个个体均分到MapReduce分布计算框架中的多个Map计算平台中,利用每个Map计算评估分别计算各个个体的适应度,利用每个Map计算平台基于各个个体的适应度确定第i代种群的多个最优适应度,然后利用MapReduce分布式计算框架中的Reduce计算平台基于多个最优适应度确定第i代种群的最优适应度。
可以理解地,若第i代种群有1000个个体,Map计算平台为100个,则可为每个Map计算平台均分100个个体,每个Map计算平台利用适应度函数计算各自平台上的每个个体的适应度,然后每个Map计算平台基于各自获得的个体的适应度确定各自的最优适应度。例如,若最优适应度为最大适应度,则每个Map计算平台均获得一个最大适应度,也即一共可获得100个最大适应度,每个Map计算平台将各自获得的最大适应度发送给Reduce计算平台,Reduce计算平台再从这100个最大适应度中找出适应度值最大的一个最大适应度作为最优适应度。如此,可利用多个Map计算平台并行计算,可有效提高其计算效率。
当然,对于每次迭代获得的新的种群的最优适应度也可以按照上述方式利用MapReduce分布式计算框架进行计算获得,并且,遗传算法中的交叉、变异过程也可以采用MapReduce分布式计算框架来执行,例如,由Map计算平台来对各自的个体进行交叉、变异操作,然后将产生变异后产生的新的个体发送给Reduce计算平台进行汇总即可。
对于本申请实施例中的整个遗传算法运行在MapReduce分布式计算框架上可以理解为将多个个体先均分给多个Map计算平台,相当于每个Map计算平台对这Map计算平台上的个体按照本申请实施例提供的数据处理方法对其进行处理,产生的新的下一代个体发送给Reduce计算平台,Reduce计算平台将所有的个体作为新的种群又重新均分给Map计算平台重复上述过程,直至获得最优解,然后将最优解发送给Reduce计算平台,Reduce计算平台再对这些最优解进行整合,从中找出最合适的最优解,比如,从这些最优解中找出适应度最大的最优解作为全局最优解。
在上述实现过程中,利用MapReduce分布式计算框架来执行遗传算法,在个体数量较多时,可有效提高计算效率。
请参照图4,图4为本申请实施例提供的一种数据处理装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置200与上述图2方法实施例对应,能够执行图2方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置200包括:
最优适应度获取模块210,用于确定第i代种群的最优适应度以及第i-1代种群的最优适应度,其中,i为大于或等于2的整数;
适应度变化趋势获取模块220,用于基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势;
淘汰个体确定模块230,用于确定所述第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体;
个体替换模块240,用于基于所述适应度变化趋势生成新的个体,使用所述新的个体替换所述淘汰的个体;
迭代模块250,用于将所述第i代种群中保留的个体以及所述新的个体进行下一次遗传算法迭代,直至获得最优解。
可选地,所述适应度变化趋势获取模块220,用于将所述第i代种群的最优适应度映射为多维空间中的第i空间点,以及将所述第i-1代种群的最优适应度映射为所述多维空间中的第i-1空间点;确定所述第i空间点以及所述第i-1空间点之间的方向向量的斜率,所述方向向量的斜率为所述适应度变化趋势。
可选地,所述淘汰个体确定模块230,用于获取所述第i代种群中每个个体的适应度;确定所述第i代种群中个体的适应度低于所述第i-1代种群的最优适应度的目标个体;将所述目标个体确定为所述第i代种群中淘汰的个体。
可选地,所述淘汰个体确定模块230,用于获取所述第i代种群中每个个体的适应度;确定所述适应度低于目标值的目标个体;将所述目标个体确定为所述第i代种群中淘汰的个体。
可选地,所述目标值为所述第i代种群中个体的平均适应度。
可选地,所述第i代种群的最优适应度为所述第i代种群中各个个体的适应度中的最大适应度,所述第i-1代种群的最优适应度为所述第i-1代种群中各个个体的适应度中的最大适应度。
可选地,最优适应度获取模块210,用于:
将所述第i代种群中的多个个体均分到MapReduce分布式计算框架中的多个Map计算平台中;
利用每个Map计算平台分别计算各个个体的适应度;
利用每个Map计算平台基于各个个体的适应度确定所述第i代种群的多个最优适应度;
利用所述MapReduce分布式计算框架中的Reduce计算平台基于所述多个最优适应度确定所述第i代种群的最优适应度。
本申请实施例提供一种可读存储介质,所述计算机程序被处理器执行时,执行如图2所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:确定第i代种群的最优适应度以及第i-1代种群的最优适应度,其中,i为大于或等于2的整数;基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势;确定所述第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体;基于所述适应度变化趋势生成新的个体,使用所述新的个体替换所述淘汰的个体;将所述第i代种群中保留的个体以及所述新的个体进行下一次遗传算法迭代,直至获得最优解。
综上所述,本申请实施例提供一种数据处理方法、装置、电子设备及可读存储介质,通过基于适应度变化率生成新的个体,使得生成的新的个体的适应度不会太低,并且参与迭代的个体数量增多,从而可避免了遗传算法过早陷入局部收敛的问题,更有利于算法寻找全局最优解。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
确定第i代种群的最优适应度以及第i-1代种群的最优适应度,其中,i为大于或等于2的整数;
基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势;
确定所述第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体;
基于所述适应度变化趋势生成新的个体,使用所述新的个体替换所述淘汰的个体;
将所述第i代种群中保留的个体以及所述新的个体进行下一次遗传算法迭代,直至获得最优解。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势,包括:
将所述第i代种群的最优适应度映射为多维空间中的第i空间点,以及将所述第i-1代种群的最优适应度映射为所述多维空间中的第i-1空间点;
确定所述第i空间点以及所述第i-1空间点之间的方向向量的斜率,所述方向向量的斜率为所述适应度变化趋势。
3.根据权利要求1所述的方法,其特征在于,所述确定第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体,包括:
获取所述第i代种群中每个个体的适应度;
确定所述第i代种群中个体的适应度低于所述第i-1代种群的最优适应度的目标个体;
将所述目标个体确定为所述第i代种群中淘汰的个体。
4.根据权利要求1所述的方法,其特征在于,所述确定第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体,包括:
获取所述第i代种群中每个个体的适应度;
确定所述适应度低于目标值的目标个体;
将所述目标个体确定为所述第i代种群中淘汰的个体。
5.根据权利要求4所述的方法,其特征在于,所述目标值为所述第i代种群中个体的平均适应度。
6.根据权利要求1所述的方法,其特征在于,所述第i代种群的最优适应度为所述第i代种群中各个个体的适应度中的最大适应度,所述第i-1代种群的最优适应度为所述第i-1代种群中各个个体的适应度中的最大适应度。
7.根据权利要求1-6任一所述的方法,其特征在于,所述确定第i代种群的最优适应度,包括:
将所述第i代种群中的多个个体均分到MapReduce分布式计算框架中的多个Map计算平台中;
利用每个Map计算平台分别计算各个个体的适应度;
利用每个Map计算平台基于各个个体的适应度确定所述第i代种群的多个最优适应度;
利用所述MapReduce分布式计算框架中的Reduce计算平台基于所述多个最优适应度确定所述第i代种群的最优适应度。
8.一种数据处理装置,其特征在于,所述装置包括:
最优适应度获取模块,用于确定第i代种群的最优适应度以及第i-1代种群的最优适应度,其中,i为大于或等于2的整数;
适应度变化趋势获取模块,用于基于所述第i代种群的最优适应度与所述第i-1代种群的最优适应度确定适应度变化趋势;
淘汰个体确定模块,用于确定所述第i代种群进行下一次遗传算法迭代时所述第i代种群中淘汰的个体;
个体替换模块,用于基于所述适应度变化趋势生成新的个体,使用所述新的个体替换所述淘汰的个体;
迭代模块,用于将所述第i代种群中保留的个体以及所述新的个体进行下一次遗传算法迭代,直至获得最优解。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-7任一所述的方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911425293.7A CN111178529B (zh) | 2019-12-31 | 2019-12-31 | 数据处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911425293.7A CN111178529B (zh) | 2019-12-31 | 2019-12-31 | 数据处理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111178529A true CN111178529A (zh) | 2020-05-19 |
CN111178529B CN111178529B (zh) | 2023-01-20 |
Family
ID=70652453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911425293.7A Active CN111178529B (zh) | 2019-12-31 | 2019-12-31 | 数据处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111178529B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111985648A (zh) * | 2020-08-13 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种硬盘性能测试方案生成方法、系统、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902375A (zh) * | 2014-04-11 | 2014-07-02 | 北京工业大学 | 一种基于改进遗传算法的云任务调度方法 |
CN104184170A (zh) * | 2014-07-18 | 2014-12-03 | 国网上海市电力公司 | 基于改进的自适应遗传算法的独立微网配置优化方法 |
CN108460463A (zh) * | 2018-03-20 | 2018-08-28 | 合肥工业大学 | 基于改进遗传算法的高端装备流水线生产调度方法 |
CN108776461A (zh) * | 2018-05-21 | 2018-11-09 | 北京石油化工学院 | 一种柔性作业车间调度方法及系统 |
CN108829501A (zh) * | 2018-05-18 | 2018-11-16 | 天津科技大学 | 一种基于改进遗传算法的批处理科学工作流任务调度算法 |
-
2019
- 2019-12-31 CN CN201911425293.7A patent/CN111178529B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902375A (zh) * | 2014-04-11 | 2014-07-02 | 北京工业大学 | 一种基于改进遗传算法的云任务调度方法 |
CN104184170A (zh) * | 2014-07-18 | 2014-12-03 | 国网上海市电力公司 | 基于改进的自适应遗传算法的独立微网配置优化方法 |
CN108460463A (zh) * | 2018-03-20 | 2018-08-28 | 合肥工业大学 | 基于改进遗传算法的高端装备流水线生产调度方法 |
CN108829501A (zh) * | 2018-05-18 | 2018-11-16 | 天津科技大学 | 一种基于改进遗传算法的批处理科学工作流任务调度算法 |
CN108776461A (zh) * | 2018-05-21 | 2018-11-09 | 北京石油化工学院 | 一种柔性作业车间调度方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111985648A (zh) * | 2020-08-13 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种硬盘性能测试方案生成方法、系统、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111178529B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908667B (zh) | 神经网络联合编译的方法、装置和电子设备 | |
US20220351019A1 (en) | Adaptive Search Method and Apparatus for Neural Network | |
WO2022134581A1 (zh) | 测试用例排序方法及相关设备 | |
KR101844297B1 (ko) | 3차원 메쉬 부호화 방법 및 장치 | |
CN112308204A (zh) | 使用适应度估计的自动化神经网络生成 | |
CN104461728A (zh) | 迁移事件调度管理 | |
CN112381231B (zh) | 一种量子拓扑图优化方法、装置、终端及存储介质 | |
CN111898750A (zh) | 基于进化算法的神经网络模型压缩方法及装置 | |
CN114585006B (zh) | 基于深度学习的边缘计算任务卸载和资源分配方法 | |
WO2022227217A1 (zh) | 文本分类模型的训练方法、装置、设备及可读存储介质 | |
JP2022136234A (ja) | 連合学習方法及び装置、電子機器、記憶媒体ならびにコンピュータプログラム | |
CN110851247B (zh) | 一种带约束云工作流的成本优化调度方法 | |
CN111178529B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN114968531A (zh) | 基于多适应度遗传优化的量子云混合任务调度方法及装置 | |
KR20210061119A (ko) | 큰 규모 분산 행렬 곱 처리 방법 및 그 장치 | |
CN114297934A (zh) | 一种基于代理模型的模型参数并行仿真优化方法及装置 | |
CN108289115B (zh) | 一种信息处理方法及系统 | |
CN116151384B (zh) | 量子电路处理方法、装置及电子设备 | |
CN115879544A (zh) | 一种针对分布式类脑仿真的神经元编码方法及系统 | |
WO2021078256A1 (zh) | 一种虚拟机迁移方法及相关设备 | |
CN114691370A (zh) | 一种基于遗传算法的任务分配方法和装置 | |
CN116339932A (zh) | 资源调度方法、装置和服务器 | |
CN111290932A (zh) | 一种存储设备的性能估算方法和装置 | |
CN111291893A (zh) | 调度方法、调度系统、存储介质和电子装置 | |
JP2017501483A (ja) | 記憶デバイスに対する書き込み方法および書き込み装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |