一种基于多蚁群遗传算法的分布式数据库查询优化方法技术

技术编号:20944303 阅读:31 留言:0更新日期:2019-04-24 02:19
本发明专利技术公开了一种基于多蚁群遗传算法的分布式数据库查询优化方法,属于互联网数据库技术领域,包括建立分布式数据库构架,对分布式数据库查询代价进行分析后,将蚁群算法升级为多蚁群算法,利用了平滑机制及多蚁群间互相学习机制来避免陷入局部最优和早熟现象,从而提高了整个算法的全局搜索能力,解决了采用多蚁群算法提高分布式数据库查询效率技术问题,本发明专利技术引入多蚁群算法,并在算法中提出了“学习算子”,让子蚁群相互学习,防止陷入局部最优,提高算法性能,让算法能够获得更好的全局最优解。

A query optimization method for distributed database based on multi-ant colony genetic algorithm

The invention discloses a query optimization method of distributed database based on multi-ant colony genetic algorithm, which belongs to the technical field of Internet database. It includes establishing a distributed database framework, analyzing the query cost of distributed database, upgrading ant colony algorithm to multi-ant colony algorithm, using smoothing mechanism and mutual learning mechanism among multi-ant colony to avoid falling into local optimum sum. The premature phenomenon improves the global search ability of the whole algorithm and solves the technical problem of using multi-ant colony algorithm to improve the query efficiency of distributed database. The multi-ant colony algorithm is introduced in the present invention, and a \learning operator\ is proposed in the algorithm, which enables sub-ant colony to learn from each other, prevents falling into local optimum, improves the performance of the algorithm, and enables the algorithm to obtain better global optimum solution.

【技术实现步骤摘要】
一种基于多蚁群遗传算法的分布式数据库查询优化方法
本专利技术属于互联网数据库
,尤其涉及一种基于多蚁群遗传算法的分布式数据库查询优化方法。
技术介绍
分布式数据库的一个重要特点是其所处理的内容大多都不是来自一个地方的,而它的查询操作则又有以下特点:数据在网络间传递,传递完成之后在局部进行处理。但当一个查询关系随着连接的关系数的增加,执行该查询操作的代价就会呈现指数级的增加,这就造成了分布式数据库查询技术的复杂性。目前能有助于优化查询的算法分为以下两类:确定性算法和随机算法。确定性算法的每一步都像为了寻找根源而进行的,直到一步一步连接起来形成完整的查询树,那么这个算法才算完成。常用的确定性算法有贪心算法(GP)和动态规则算法(DP)两种。随机搜索算法是基于特定的点,随机搜索最优化的查询计划。相对于确定性算法而言,随机搜索算法不能保证得到最优解,但是可以提高查询优化的效率并得到一个近似最优解。随机搜索算法首先建立一个起始计划,然后通过随机的方法,转到另一个查询计划。随机搜索算法有遗传算法(GA)、模拟退火算法(SA)、蚁群算法等。目前采用的遗传算法和蚁群算法为单个算法,其查询效率过低,查询速度慢。
技术实现思路
本专利技术的目的是提供一种基于多蚁群遗传算法的分布式数据库查询优化方法,解决了采用多蚁群算法提高分布式数据库查询效率技术问题。为实现上述目的,本专利技术采用如下技术方案:一种基于多蚁群遗传算法的分布式数据库查询优化方法,包括如下步骤:步骤1:建立分布式数据库构架,设定在分布式数据库构架中的每一个数据库均为一个点,发起数据查询的点为初始点;步骤2:从初始点开始,随机向任意一个点A发起查询,点A向另外一个任意点B发起查询;步骤3:重复执行步骤2,最终产生染色体种群;步骤4:对染色体种群进行迭代:对染色体按概率进行变异和交叉操作,在产生数个新染色体;步骤5:解码所有新染色体,将所有新染色体转换成查询路径,计算查询路径的目标函数值,以此来标定新染色体的适应度值;步骤6:根据轮盘赌法和各个新染色体的适应度值进行选择操作,生产迭代后查询路径;步骤7:重复执行步骤4到步骤6,直到结束条件得到满足,将最后产生的迭代后查询路径作为最优查询路径输出;步骤8:用最优查询路径对信息素矩阵进行初始化处理,利用遗传算法来对初始信息素分布进行有效确定;步骤9:根据多蚁群算法进行查询路径优化,其包括如下步骤:步骤S1:设置开始的点,开始的点相当于发出查询请求的点;步骤S2:按照转移概率的公式进行点的转移,同时更新路径;步骤S3:判断蚂蚁是否已完成所有目的点的搜索:如果完成搜索,则执行步骤S4;否,则继续让蚂蚁进行搜索并执行步骤S3;步骤S4:判断是否蚁群内所有的蚂蚁都已经完成:若没有,则返回步骤S1;如果蚁群内所有蚂蚁都进行了搜索,则计算得到每条路径的具体目标函数值;步骤S5:判断当前迭代数是否大于蚁群开始信息素平滑机制的迭代数:若是,则按照信息素平滑机制操作;步骤S6:判断当前迭代数是否大于蚁群间开始学习信息素的迭代数:若是,则按照学习算子规则进行操作;步骤S7:判断当前迭代数是不是符合了结束条件:如果没有符合,返回步骤S1;符合,则输出结果。优选的,所述目标函数值为通信费用。优选的,所述信息素平滑机制包括当各个子蚁群迭代了一定次数后,相比其他的路径,某一条路径上的信息素浓度会比较大,信息素浓度通过正反馈传递给蚂蚁,蚂蚁感知到这个情况,会大概率地选择这条路径来觅食,对于这种情况可以使用信息素平滑机制来改变,计算公式为以下公式:τij=τij-δ;τij-τmin<,;其中,在边ij上当前的信息素浓度值用τij进行表示;δ是平滑系数,控制着信息素平滑机制的影响程度,τmin表示预设的信息素浓度最小值。优选的,所述学习算子规则包括当迭代一定次数后,根据学习算子,更新各个子蚁群的全局信息素,学习算子为以下公式:其中,代表着当前子蚁群m在边ij上的信息素值,为当前子蚁群n在边ij上的信息素值;γ是学习算子,用来控制蚁群之间信息素交流作用的大小。本专利技术所述的一种基于多蚁群遗传算法的分布式数据库查询优化方法,解决了采用多蚁群算法提高分布式数据库查询效率技术问题,本专利技术引入多蚁群算法,并在算法中提出了“学习算子”,让子蚁群相互学习,防止陷入局部最优,提高算法性能,让算法能够获得更好的全局最优解,本专利技术在多蚁群算法里加上遗传算法,逐步优化查询效率。附图说明图1为本专利技术的30个点的多蚁群遗传算法最优解爬行路径;图2为本专利技术的30个点的传统蚁群算法最优解爬行路径。具体实施方式将蚁群算法应用于解决优化问题的基本思路为:用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。路径较短的蚂蚁释放的信息素量较多,随着时间的推进,较短的路径上累积的信息素浓度逐渐增高,选择该路径的蚂蚁个数也愈来愈多。最终,整个蚂蚁会在正反馈的作用下集中到最佳的路径上,此时对应的便是待优化问题的最优解。蚂蚁找到最短路径要归功于信息素和环境,假设有两条路可从蚁窝通向食物,开始时两条路上的蚂蚁数量差不多:当蚂蚁到达终点之后会立即返回,距离短的路上的蚂蚁往返一次时间短,重复频率快,在单位时间里往返蚂蚁的数目就多,留下的信息素也多,会吸引更多蚂蚁过来,会留下更多信息素。而距离长的路正相反,因此越来越多的蚂蚁聚集到最短路径上来。蚂蚁具有的智能行为得益于其简单行为规则,该规则让其具有多样性和正反馈。在觅食时,多样性使蚂蚁不会走进死胡同而无限循环,是一种创新能力;正反馈使优良信息保存下来,是一种学习强化能力。两者的巧妙结合使智能行为涌现,如果多样性过剩,系统过于活跃,会导致过多的随机运动,陷入混沌状态;如果多样性不够,正反馈过强,会导致僵化,当环境变化时蚁群不能相应调整由图1所示的一种基于多蚁群遗传算法的分布式数据库查询优化方法,包括如下步骤:步骤1:建立分布式数据库构架,设定在分布式数据库构架中的每一个数据库均为一个点,发起数据查询的点为初始点;分布式数据库是分散的,不同的计算机网络节点可以在不同的地方和不同的站点,在分散的表相里内部却有着严格的统一。例如一个大公司在全世界有很多个分公司,每个分公司都存有一定的数据,各个公司通过网络连接起来,这样每个分公司都有自己运营所需的数据,它们在理论上有着相同的数据系统,可以用自己的数据系统对公司进行管理操作,当然也可以通过总公司的大型数据管理中心对这些小公司进行监控和管理指导等一系列操作。这样,各个分公司之间的信息既能灵活交流和分享,又能进行统一管理和使用。步骤2:从初始点开始,随机向任意一个点A发起查询,点A向另外一个任意点B发起查询;步骤3:重复执行步骤2,最终产生染色体种群;步骤4:对染色体种群进行迭代:对染色体按概率进行变异和交叉操作,在产生数个新染色体;步骤5:解码所有新染色体,将所有新染色体转换成查询路径,计算查询路径的目标函数值,以此来标定新染色体的适应度值;步骤6:根据轮盘赌法和各个新染色体的适应度值进行选择操作,生产迭代后查询路径;步骤7:重复执行步骤4到步骤6,直到结束条件得到满足,将最后产生的迭代后查询路径作为最优查询路径输出;步骤8:用最优查询路径对信息素矩阵进行初始化处理,利用遗传算法来本文档来自技高网...

【技术保护点】
1.一种基于多蚁群遗传算法的分布式数据库查询优化方法,其特征在于:包括如下步骤:步骤1:建立分布式数据库构架,设定在分布式数据库构架中的每一个数据库均为一个点,发起数据查询的点为初始点;步骤2:从初始点开始,随机向任意一个点A发起查询,点A向另外一个任意点B发起查询;步骤3:重复执行步骤2,最终产生染色体种群;步骤4:对染色体种群进行迭代:对染色体按概率进行变异和交叉操作,在产生数个新染色体;步骤5:解码所有新染色体,将所有新染色体转换成查询路径,计算查询路径的目标函数值,以此来标定新染色体的适应度值;步骤6:根据轮盘赌法和各个新染色体的适应度值进行选择操作,生产迭代后查询路径;步骤7:重复执行步骤4到步骤6,直到结束条件得到满足,将最后产生的迭代后查询路径作为最优查询路径输出;步骤8:用最优查询路径对信息素矩阵进行初始化处理,利用遗传算法来对初始信息素分布进行有效确定;步骤9:根据多蚁群算法进行查询路径优化,其包括如下步骤:步骤S1:设置开始的点,开始的点相当于发出查询请求的点;步骤S2:按照转移概率的公式进行点的转移,同时更新路径;步骤S3:判断蚂蚁是否已完成所有目的点的搜索:如果完成搜索,则执行步骤S4;否,则继续让蚂蚁进行搜索并执行步骤S3;步骤S4:判断是否蚁群内所有的蚂蚁都已经完成:若没有,则返回步骤S1;如果蚁群内所有蚂蚁都进行了搜索,则计算得到每条路径的具体目标函数值;步骤S5:判断当前迭代数是否大于蚁群开始信息素平滑机制的迭代数:若是,则按照信息素平滑机制操作;步骤S6:判断当前迭代数是否大于蚁群间开始学习信息素的迭代数:若是,则按照学习算子规则进行操作;步骤S7:判断当前迭代数是不是符合了结束条件:如果没有符合,返回步骤S1;符合,则输出结果。...

【技术特征摘要】
1.一种基于多蚁群遗传算法的分布式数据库查询优化方法,其特征在于:包括如下步骤:步骤1:建立分布式数据库构架,设定在分布式数据库构架中的每一个数据库均为一个点,发起数据查询的点为初始点;步骤2:从初始点开始,随机向任意一个点A发起查询,点A向另外一个任意点B发起查询;步骤3:重复执行步骤2,最终产生染色体种群;步骤4:对染色体种群进行迭代:对染色体按概率进行变异和交叉操作,在产生数个新染色体;步骤5:解码所有新染色体,将所有新染色体转换成查询路径,计算查询路径的目标函数值,以此来标定新染色体的适应度值;步骤6:根据轮盘赌法和各个新染色体的适应度值进行选择操作,生产迭代后查询路径;步骤7:重复执行步骤4到步骤6,直到结束条件得到满足,将最后产生的迭代后查询路径作为最优查询路径输出;步骤8:用最优查询路径对信息素矩阵进行初始化处理,利用遗传算法来对初始信息素分布进行有效确定;步骤9:根据多蚁群算法进行查询路径优化,其包括如下步骤:步骤S1:设置开始的点,开始的点相当于发出查询请求的点;步骤S2:按照转移概率的公式进行点的转移,同时更新路径;步骤S3:判断蚂蚁是否已完成所有目的点的搜索:如果完成搜索,则执行步骤S4;否,则继续让蚂蚁进行搜索并执行步骤S3;步骤S4:判断是否蚁群内所有的蚂蚁都已经完成:若没有,则返回步骤S1;如果蚁群内所有蚂蚁都进行了搜索,则计算得到每条路径的具体目标函数值;步骤S5...

【专利技术属性】
技术研发人员:马锐王鑫苏静濮斌
申请(专利权)人:常州市武进区半导体照明应用技术研究院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1