欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 201910483264X
申请人: 西南交通大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种多时钟单状态组织型P系统的FPGA实现方法,其特征在于,tP由多个细胞组成,在FPGA上实现tP,首先完成单个细胞FPGA的实现,然后根据目标tP的具体结构,建立细胞间的通信,完成tP的FPGA实现;

细胞型P系统的FPGA实现具体包括:

在FPGA上实现P系统时,确保各个膜区域中的规则根据P系统的要求并行执行,即可正确实现P系统的功能;多条规则应用后,膜区域中没有对象剩余,或者剩余的对象不足以使任何规则再使用一次,这种进化模式称为max,使P系统的非确定性成为其固有特性,每种可能的规则组合称为规则多重集,具体包括以下步骤:某时刻P系统的膜结构及其包含的对象多重集和规则的全体称为格局,每个膜区域内的对象多重集决定了该膜区域内各条规则的可用次数,所有可用规则按照max进化模式组合成规则多重集,当各个区域中的某个规则多重集被执行后,膜系统进化到下一格局,定义一系列格局的转变过程为P系统的计算过程,当所有区域中再无可用规则多重集时,膜系统达到终止格局,计算终止,或者计算到终止格局之前的某一步时,强制终止计算;

在一个膜区域中,规则多重集有多个,每个规则多重集被选中执行的概率是相等的,等可能地选择一个执行,被选中的规则多重集中的多条规则是并行执行的,所有膜区域中的规则多重集也并行执行;

P系统中的符号对象用字母表示,字母的指数表示该对象的数目,将膜区域中的多个对象写到一起,称为对象多重集,设字母表为V,P系统的全体对象o是V的子集,即 随机选择膜i中的第j条规则rj,若rj可用,其可用次数1≤nj≤nj_max,nj_max是最大可用次数,其计算方法如下:①以规则左边对象多重集中每种符号对象的个数为除数,以区域对象多重集中每种符号对象的总数为被除数,做相应的除法,将每次除法的整数商保留;

②取上步得到的所有整数商的最小值,该最小值就是这条规则的最大可用次数;

若rj使用nj_max次,膜中剩余的对象多重集可能不足以使其他规则可用,也可能使某些规则可用,具体包括:I、当剩余的对象多重集不足以使其他规则可用时:

①固定nj=nj_max,

根据进化模式max,该膜的规则多重集为

②使nj=nj_max‑1,

假设剩余的对象可以使得其他规则可用,根据max,需要使用可用的规则来消耗对象,这时,固定rj的使用次数为nj_max‑1,根据剩余的对象多重集,随机选择规则ri,并计算ri的ni_max,若 满足max要求,则该膜的另一个可用规则集为 然后,若使用 后,剩余的对象使随机选择的规则rk可用,在 的条件下

计算rk的nk_max,若 满足max要求,则该膜的一个可用规则集为然后在 条件下,计算新的可用规则集,直到

最后一条规则;

③使nj=nj_max‑2,

重复步骤②中的操作,随机选择后续规则,得到新的可用规则集,如果 N=1,

2,…nj_max‑1,剩余的对象不足以使其他规则可用,则判断 使用后的对象多重集是否可以使其他规则可以,以步长1递减,直到rj的使用次数为1;

④重复以上操作,直到nj=1

在nj=1的条件下,按照步骤②计算新的可用规则集;

II、当剩余的对象多重集可以使其他规则可用时:

①固定nj=nj_max

在nj=nj_max的条件下,随机选择一条规则ri,按照情况I的②~④步来计算可用规则集;

②重复情况I的②~④步来计算可用规则集。

2.根据权利要求1所述的多时钟单状态组织型P系统的FPGA实现方法,其特征在于,为了确保等概率性,对规则rj进行随机选取,即同一个P系统,第一次选取的rj是不同的。

3.根据权利要求1所述的多时钟单状态组织型P系统的FPGA实现方法,其特征在于,采用IDND算法实现求解可用的多重集,IDND具体的执行方法为正向阶段和反向阶段两部分,记膜内对象种类数为n,进化规则数为m,n≤m:正向阶段:

第一步,以列向量的形式输出规则rj,1≤j≤m,左侧对象多重集A与规则rj所在区域的所有对象C,如式(1)和式(2)所示:第二步,计算已消耗对象多重集矩阵V:

其中,Vlast为上一条规则执行预判次数后消耗的对象多重集矩阵,预判次数是指在求解可用规则集过程中,某条规则假设的使用次数,用Xj表示规则rj的预判执行次数,当j=1时,第三步,计算剩余对象多重集矩阵B:其中,

式中j代表规则rj;

第四步,确定规则rj的最大执行次数Qj,其中:

当Ai,1≤i≤n,中出现Ai=0的情况时,为避免分母为0,此时Ci/Ai或者Bi(j‑1)/Ai不参与计算;

第五步,在[0,Qj]范围内随机选出规则rj的预判执行次数Xj;具体包括:采用LFSR来产生[0,Qj]范围内的伪随机数,在随机数求余模块发出接收命令时,将产生的伪随机数传输到随机数求余模块;随机数求余模块在获得随机数后,对随机数除以Qj+1,然后进行求余,余数为Xj,Xj代表第j条规则的预判执行次数,1≤j≤m‑1;

第六步,j=m时,不需要进行求余,令Xm=Qm;

IDND计算规则R1~Rm的预判执行次数X1~Xm,从j=1开始,依次循环执行上述五步,直到j=m执行完以后结束,转到反向阶段;

反向阶段:

第一步,重置已消耗对象多重集矩阵V,令

V=Xm*A    (6)

其中,Xm为第m条规则的最大执行次数,A为第m条规则的左侧对象多重集矩阵;

第二步,计算剩余对象多重集矩阵B:

其中,

第三步,对于第m‑1条规则~第1条规则,反向验证预判执行次数Xj是否正确,令若Q'j≠Xj,则令Xj=Q’j,转到第四步,当j=1执行完以后,非确定分配算法模块结束,此时输出的X1,X2,…,Xm就是每条规则的实际执行次数;

第四步,重新计算已消耗对象多重矩阵V,

回到第二步执行;

在获得各条规则的执行次数以后,得到确定的规则集,令X={Xj},1≤j≤m,令Y为确定规则集右边的对象多重集,G=X*Y为执行确定规则集后生成的对象,令D为确定规则集左边的对象多重集,D=X*A为执行确定规则集后生成的对象,该膜区域新的对象多重集:C新=C旧‑X*A+X*Y。

4.根据权利要求3所述的多时钟单状态组织型P系统的FPGA实现方法,其特征在于,多时钟单状态组织型P系统的FPGA实现具体包括:组织型P系统由多个细胞构成,每个细胞有多个状态,规则只在细胞的特定状态下可用,以多时钟当状态组织型P系统为研究目标,即考虑每个细胞使用各自的局部时钟,且每个细胞只有一种状态,满足判别规则可用的数量标准所有规则都可用,在FPGA实现时,不同的时钟意味着不同的工作频率,当细胞的工作频率不同时,在低工作频率细胞的两次操作之间,高工作频率细胞已经完成多次操作,当高频细胞向低频细胞传递对象时,低频细胞不能在高频细胞传递一次后立即接收,而是要按照其频率接收,为了保证对象不丢失,将高频细胞多次传递的对象储存,在低频细胞可以动作时接收,这个过程被称为零存整取,即高频细胞多次将对象储存到某个缓存器,低频细胞在高频细胞完成多次储存后,提取储存的所有对象,称该缓存器为零存整取缓存器。

5.根据权利要求4所述的多时钟单状态组织型P系统的FPGA实现方法,其特征在于,所述零存整取缓存器具体的工作过程如下:当高频细胞1向低频率细胞2传输数据时,零存整取缓存器收到高频细胞1的储存信号后,开始储存来自高频细胞1的对象数据,在低频细胞2提取数据之前,零存整取缓存器会接收到多个来自高频细胞1的数据,并对同种对象数量进行累加,低频细胞2发出提取信号后,零存整取缓存器将所有储存的数据传输到低频细胞2中,并将零存整取缓存器中数据清零,零存整取缓存器数据输入与输出时钟不一致且相互独立,是一种异步缓存器;

当低频细胞2向高频细胞1传输对象时,由于时钟不同步,高频细胞1无法立即接收,低频细胞2将数据存入零存整取缓存器,在高频细胞1可以提取数据时再进行提取,因为高频细胞1会多次提取,为防止同一组数据被重复提取,若某一次提取的数据不为0,则提取之后将零存整取缓存器清零,若两个细胞之间存在对象交换,则两个细胞通过两个零存整取缓存器相连,一个零存整取缓存器的数据流向从一个细胞到另一个,第二个零存整取缓存器的数据流向相反,便于缓存交换的对象。