[发明专利]一种基于贪心策略的群智感知参与者选择方法有效
申请号: | 201611189560.1 | 申请日: | 2016-12-21 |
公开(公告)号: | CN106599254B | 公开(公告)日: | 2019-11-12 |
发明(设计)人: | 於志勇;郭文忠;郭龙坤;周杰 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F16/29 | 分类号: | G06F16/29;G07C1/10 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 贪心 策略 感知 参与者 选择 方法 | ||
1.一种基于贪心策略的群智感知参与者选择方法,其特征在于:包括以下步骤:
步骤S1:通过原始数据库,获取每个用户在各个周期所覆盖的目标点的集合;步骤S2:利用贪心策略选取一个用户集,保证目标点在第一个覆盖周期满足覆盖要求;步骤S3:用步骤S2中得到的用户集来对下一个覆盖周期进行覆盖,记录各点的覆盖次数情况;步骤S4:对步骤S3中未满足覆盖次数要求的点,继续用贪心策略选取用户,加入到原来的用户集,直到所有点都满足覆盖次数要求;步骤S5:返回步骤S3,重复步骤S3和S4中的步骤,直到最后一个覆盖周期也满足覆盖要求。
2.根据权利要求1所述的一种基于贪心策略的群智感知参与者选择方法,其特征在于:所述步骤S1中构建用户与目标点的覆盖关系集合的操作过程为:
步骤S101:以每个周期所限定的时间与目标地点作为查询条件,连接并读取原始数据库,获取原始用户和地点信息
步骤S102:根据步骤S101中得到的查询结果信息,构建用户与目标地点覆盖关系矩阵,具体操作为:
先将读取的原始数据进行格式转换,即cur1 = cell2mat(cur1),以便后续操作,cur1为获取cell型原始数据;然后对给定的目标地点编号为1,2,...,h,对用户编号为1,2,...,n,逐行读取上述数据,并构建矩阵:
M{i}(ipp,u) = 1,
即某用户覆盖过某个点,则将相应位置为1;其中,i表示第i个周期,ipp为目标地点编号(1,2,...,h),u为用户编号(1,2,...,n);
步骤S103:根据步骤S102中建立的用户与目标地点覆盖关系矩阵,得到用户与目标地点覆盖关系集合,具体操作为:
遍历步骤S102中得到的矩阵,对于某个指定用户,他若覆盖过某个地点,则将该地点的编号加入相应的集合中,每个用户所覆盖的目标点集合用元胞数组cell的结构来存储,即:
ce(i){t2}(count)=s2,
其中i为周期,t2、s2为循环变量,表示用户和地点编号,count为累加变量。
3.根据权利要求1所述的一种基于贪心策略的群智感知参与者选择方法,其特征在于:所述步骤S2中选取第一个用户集来满足覆盖要求的操作过程为:
步骤S201:对步骤S1中得到的所有集合按照集合大小递减的顺序将相应的用户编号,即集合编号,存入数组中,即s{i}(t)=i2,s为元胞数组,i为周期变量,i2为集合编号变量,t为累加变量;
步骤S202:依次选取数组s中的用户加入到目标用户集U和记录被选用户的数组b中,同时遍历步骤S1中的覆盖关系集合,对覆盖次数矩阵B进行更新,即:
B(ce{h(f)}(i2)) = B(ce{h(f)}(i2)) + 1;
遍历数组B,查看每个地点的覆盖次数,若有地点的覆盖次数达到要求,即B(i)=K,则将该地点编号存入数组a中,同时更新目标地点数,cn=cn-1;
步骤S203:若cn=0,则进入步骤S3,覆盖下一周期;否则,遍历覆盖关系集合,利用数组b和数组a,求出暂时未被选中的用户覆盖剩余那些不满足覆盖要求的点的情况,并记录这些用户所覆盖地点的数量,存入数组inc中,即每覆盖一个点,便进行inc(f) = inc(f) + 1操作,其中inc(f)记录编号为f的用户覆盖剩余地点的个数;
步骤S204:遍历inc数组,取出其中的最大值对应的用户编号f,加入到目标集合U中,同时更新数组b、数组a和数组B;
当所有地点均满足覆盖条件B(i)>=k时,所得到的用户集即为所求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611189560.1/1.html,转载请声明来源钻瓜专利网。