一种固定极性Reed‑Muller逻辑电路极性搜索方法与流程

文档序号:12887404阅读:360来源:国知局

本发明涉及reed-muller逻辑电路极性优化领域,尤其涉及一种基于新的二进制差分进化算法的固定极性reed-muller逻辑电路极性搜索方法。



背景技术:

逻辑电路既可以用基于and/or/not运算的boolean逻辑表示,也可以用基于and/xor或or/xnor运算的reed-muller(rm)逻辑表示。对于诸如算术电路、奇偶校验电路和通信电路等电路而言,与用boolean逻辑表示相比,rm逻辑表示在功耗、面积和速度等方面具有较大的优势。固定极性rm(fixedpolarityrm,fprm)表达式是一种较为流行的标准rm表达式。对于一个n变量的逻辑函数来说,它具有2n个不同极性的fprm表达式。极性直接决定fprm表达式的繁简,进而影响电路的性能。因此,如何在可接受的时间范围内,从巨大的极性优化空间中搜索出对应某一电路性能最优的最佳极性,已成为fprm逻辑电路优化领域的研究热点。

遗传算法是一种基于生物进化理论和遗传学机理的概率搜索算法,因其具有实现简单、鲁棒性高、扩展性好等特点,使得它在fprm逻辑电路极性优化领域得到了广泛应用。然而,遗传算法存在以下缺陷:

(1)遗传算法自身的选择操作使种群的方差和熵朝着减小的方向进化,从而降低了种群的多样性;

(2)遗传算法本质上是一种随机搜索优化算法,当问题规模较大或问题较为复杂时,造成搜索空间急剧增大。此外,群体分散性和收敛性互相矛盾,造成收敛速度较慢;

(3)当种群中的个体适应度差别不大时,子代种群中的新个体也相差不大,使得搜索过程无法有效进行,基于适应度的选择机制趋向于纯粹的随机选择,从而陷入局部最优。

由于受遗传算法自身缺陷的影响,使得基于遗传算法的fprm逻辑电路极性搜索方法存在种群多样性差、收敛速度慢、易陷入局部最优等问题,难以满足中大规模fprm逻辑电路快速、有效搜索最佳极性的需要。因此,亟需研究一种能快速收敛至全局最优解的极性搜索方法。

差分进化算法是一种新兴的进化计算技术,已成为进化算法的一个重要分支。它利用两个以上父代个体的差分矢量线性组合生成新一代个体,进而将更多的父代信息遗传给下一代。与遗传算法相比,差分进化算法具有受控参数少、简单易用和收敛速度快等优点。然而,传统差分进化算法主要用于求解连续变量的全局优化问题,无法求解像fprm逻辑电路极性搜索这样的离散二进制编码组合优化问题。



技术实现要素:

为解决上述问题,本发明提供了一种fprm逻辑电路极性搜索方法。本方法利用一种新的二进制差分进化算法来搜索fprm逻辑电路的最佳极性,增强了逃脱局部最优和避免早熟的能力,提高了收敛速度和极性搜索的效率。

具体来说,本发明提供了一种fprm逻辑电路极性搜索方法,该方法包括:

步骤1,读取boolean逻辑电路;

步骤2,输入进化参数;

步骤3,随机生成初始种群,其中,极性被编码为二进制个体;

步骤4,执行改进的二进制随机变异操作;

步骤5,执行二项交叉操作;

步骤6,获得目标个体及其试验个体的fprm表达式;

步骤7,计算目标个体及其试验个体的适应度值;

步骤8,执行贪婪选择操作和精英保留策略;

步骤9,若当前进化代数小于最大进化代数,则顺序执行步骤4至步骤8;否则输出最佳极性;

其中,步骤3中个体的初始化操作可表示为:

xi,j表示第i个个体的第j个元素,rand代表0到1之间的随机数。

其中,步骤4中改进的二进制随机变异操作可表示为:

vi,j表示变异矢量vi的第j个元素,r2,r3∈{1,2,...,np}且r2≠r3≠i。xbest代表当前种群中的最优个体,rand表示0到1之间的随机数。

本发明的有益功效在于:

(1)传统差分进化算法主要用于求解连续变量的全局优化问题,无法用于求解离散组合优化问题。通过对个体进行二进制编码,并引入改进的二进制随机变异操作,可使差分进化算法用于求解离散二进制编码组合优化问题,扩大了差分进化算法的适用范围。

(2)利用新的二进制差分进化算法来搜索fprm逻辑电路的最佳极性,与基于遗传算法的fprm逻辑电路极性搜索方法相比,增强了算法逃脱局部最优和避免早熟的能力,提高了收敛速度和极性搜索的效率。

(3)通过将精英保留策略应用于fprm逻辑电路的极性搜索方法,可以有效避免种群中优良个体受到交叉和变异等随机性操作的破坏,从而保证了极性搜索方法的全局收敛性。

附图说明

图1是本发明的一种fprm逻辑电路极性搜索方法的流程图。

具体实施方式

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

图1是本发明的一种fprm逻辑电路极性搜索方法的流程图。如图1所示,该方法包括:

步骤1,读取boolean逻辑电路;

步骤2,输入进化参数;

步骤3,随机生成初始种群,其中,极性被编码为二进制个体;

进一步的,其中,个体的初始化操作可表示为:

xi,j表示第i个个体的第j个元素,rand代表0到1之间的随机数。

步骤4,执行改进的二进制随机变异操作;

进一步的,其中,改进的二进制随机变异操作可表示为:

vi,j表示变异矢量vi的第j个元素,r2,r3∈{1,2,...,np}且r2≠r3≠i。xbest代表当前种群中的最优个体,rand表示0到1之间的随机数。

步骤5,执行二项交叉操作;

步骤6,获得目标个体及其试验个体的fprm表达式;

步骤7,计算目标个体及其试验个体的适应度值;

步骤8,执行贪婪选择操作和精英保留策略;

步骤9,若当前进化代数小于最大进化代数,则顺序执行步骤4至步骤8;否则输出最佳极性;

以下列举本发明的一种fprm逻辑电路极性搜索方法一实施例。以对一个5输入变量boolean电路的面积最小化为例,为得到电路面积最小的fprm逻辑电路,该实施例的一种fprm逻辑电路极性搜索方法包括:

步骤1,读取5变量boolean电路f(x5,x4,x3,x2,x1);

步骤2,将种群大小设置为40,交叉概率设置为0.7,最大进化代数设置为100;

步骤3,随机生成40个二进制编码的个体;

步骤4,执行改进的二进制随机变异操作;

步骤5,执行二项交叉操作;

步骤6,利用固定极性转换算法获得目标个体及其试验个体的fprm表达式;

步骤7,利用电路面积成本函数计算目标个体及其试验个体的适应度值;

步骤8,执行贪婪选择操作和精英保留策略;

步骤9,若当前进化代数小于最大进化代数,则顺序执行步骤4至步骤8;否则输出对应电路面积最小的最佳极性。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1