[发明专利]一种基于遗传算法的区块链交易输入选择方法有效
| 申请号: | 201910635156.X | 申请日: | 2019-07-15 |
| 公开(公告)号: | CN110335153B | 公开(公告)日: | 2021-09-14 |
| 发明(设计)人: | 武畅;杨洋;杨洋;张康;魏学麟;李杰 | 申请(专利权)人: | 电子科技大学 |
| 主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06N3/12 |
| 代理公司: | 成都正华专利代理事务所(普通合伙) 51229 | 代理人: | 陈选中 |
| 地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 遗传 算法 区块 交易 输入 选择 方法 | ||
1.一种基于遗传算法的区块链交易输入选择方法,其特征在于,包括以下步骤:
S1、输入一个账户的UTXO的金额的集合UTXOs,以及目标值target;
S2、遍历UTXOs,计算当前余额total;
S3、当totaltarget,则提示余额不足,跳转至步骤S9,否则继续执行步骤S4;
S4、当total=target,或者totaltarget且total-target<min(UTXOs),则把所有的UTXO作为交易输入,交易输入选择结果result=UTXOs,跳转至步骤S9,否则继续执行步骤S5;
S5、当totaltarget并且在UTXOs中存在比target大的UTXO,则把比target大且最接近target的UTXO作为交易输入选择结果result,跳转至步骤S9,否则继续执行步骤S6;
S6、当totaltarget并且在UTXOs中不存在比target大的UTXO,则继续执行步骤S7,否则跳转至步骤S9;
S7、使用贪心算法思想,将UTXOs中的数从大到小依次相加,直到总和sum=target,停止相加,记录相加因子的个数num,把相加因子的组合作为初始种群的一个个体以及best的初始值,再随机生成另外M-1个个体,形成初始种群,M为种群大小;
S8、利用遗传算法,从初始种群开始,对种群不断的逐代进行遗传、交叉、变异,生成新一代种群,并使用best记录历代种群中表现最好的个体,直到种群代数等于终止代数T或者是best已经是最优结果,然后将best作为交易输入选择结果result;
S9、交易输入选择程序结束。
2.根据权利要求1所述基于遗传算法的区块链交易输入选择方法,其特征在于,UTXOs中的各UTXO按照从小到大或者从大到小顺序排列。
3.根据权利要求1所述基于遗传算法的区块链交易输入选择方法,其特征在于,步骤S8的具体操作方法包括:
S80、对UTXOs中各个UTXO进行编码,每个UTXO的编码用该UTXO在UTXOs中所在位置的二进制表示,编码从0开始;
S81、把由贪心算法得到的UTXO的集合作为best的初始值,并把best作为初始种群中的一个个体,并随机产生其它M-1个个体,把种群代数置为0;
S82、判断种群代数是否小于终止代数T,如果小于T,则继续执行步骤S83,否则将best作为交易输入选择结果result,并跳转至步骤S9;
S83、根据适应度函数
f(x)=x1+x2+…+xnum,其中x1,x2,…,xnum∈UTXOs
计算当前种群中各个体的适应度;
S84、更新best,如果某个体x的适应度f(x)≥target并且f(x)f(best),那么就把best替换为x;
S85、如果f(best)=target,则认为找到了最合适的UTXO的组合,终止算法,将best作为交易输入选择结果result,跳转至步骤S9,否则继续执行步骤S86;
S86、使用轮盘赌法则选择个体遗传到下一代,首先计算出当前全体的适应度总和f_total,i表示当代种群中的第i个个体,i≤M,ratio_i表示种群中第i个个体的适应度与f_total的比值,sum_ratio(i)=sum_ratio(i-1)+ratio_i,其中,sum_ratio(0)=0,然后进行M次选择,每进行一次选择生成一个新的个体,一次选择的具体过程为:
(1)生成一个[0,1)之间的随机数rand;
(2)i=0;
(3)计算sum_ratio(i),如果sum_ratio(i)≥rand,转入步骤(5),否则转至步骤(4);
(4)把i的值加1,转入步骤(3);
(5)把i选入下一代种群;
S87、交叉,在步骤S86中得到的新的M个个体中,每两个个体作为父母,确定交叉位置,然后将对应位置上的父母的染色体进行交叉,得到两个新的个体;
S88、对由步骤S87中得到的每个个体,随机产生一个[0,1)之间的随机数,如果该随机数小于变异概率,那么就认为该个体会产生变异,再通过随机选择变异位置,后将变异位置上的[0,1]序列进行取反,即在种群中产生了新个体;
S89、种群代数加一,跳转至步骤S82。
4.根据权利要求3所述基于遗传算法的区块链交易输入选择方法,其特征在于,步骤S83的具体做法为:在遗传算法中,x1,x2,…,xnum是使用二进制编码表示的,获得其对应的十进制表示作为位置索引,使用位置索引找到在UTXOs中对应的UTXO,然后将其对应数值进行相加,得到的结果作为适应度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910635156.X/1.html,转载请声明来源钻瓜专利网。





