基于哈夫曼编码的随机数生成方法.pdf
《基于哈夫曼编码的随机数生成方法.pdf》由会员分享,可在线阅读,更多相关《基于哈夫曼编码的随机数生成方法.pdf(8页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910938634.4 (22)申请日 2019.09.30 (71)申请人 安徽问天量子科技股份有限公司 地址 241000 安徽省芜湖市高新区漳河路 14号 (72)发明人 凌杰刘云尹凯王立霞 陈传亮苗春华李大伟王建斌 尹家卫王剑 (74)专利代理机构 江苏斐多律师事务所 32332 代理人 王长征 (51)Int.Cl. G06F 7/58(2006.01) H03M 7/40(2006.01) (54)发明名称 基于哈夫曼编码的随机数生成方法 (57)摘要 本发明公。
2、开了一种基于哈夫曼编码的高效 随机数生成方法, 包括以下步骤: 整数权重比值 表示、 随机数扩展、 随机数细分、 哈夫曼树构造和 随机数生成; 随机数生成: 使用二元无偏随机数 发生器产生0/1二元随机数序列BB(1)B(2)B(3) B(4), B(i)0, 1, 按照构造的哈夫曼码C进行 解码, 得到唯一的细分随机数序列X S(1)S(2) S(3)S(4), S(i)S ; 随后将子符号替换为细 分前的符号, 得到扩展随机数序列X S(1)S(2) S(3)S(4), S(i)S ; 再舍弃添加的无效符号 z, 得到最终的加权随机数序列XS(1)S(2)S(3) S(4), S(i)S,。
3、 即为满足要求的加权随机数序 列; 定义哈夫曼转化效率为RT1/d(T); 平均每 一位二元无偏随机数可以转化为RT位细分随机 数; 整体由二元无偏随机数转化为加权随机数的 效率为RRT*RW。 本发明产生的加权随机数序列 既完全符合权重要求, 也提高了生成效率。 权利要求书1页 说明书4页 附图2页 CN 110727414 A 2020.01.24 CN 110727414 A 1.一种基于哈夫曼编码的高效随机数生成方法, 其特征包括以下步骤: 1)整数权重比值表示: 假设需要产生的随机数S有t个有效符号, SS1, S2, ., St, t 为整数, t2, 对应的概率分别为Pp1, p。
4、2, ., pt, 将比值p1: p2: .: pt表示为最简整数 权重比值W, Ww1: w2: .: wt, 其中wi(i1, 2, ., t)均为正整数, 且最大公约数gcd(w1, w2, ., wt)1; 如果原始概率比值无法使用整数权重比值表示, 则根据实际需要在适当的 精度下取得近似整数比值或放弃本方法; 2)随机数扩展: 对整数权重比值W求和ws, wsw1+w2+wt, 计算哈夫曼的深度d, d为满 足2d-1ws2d的正整数; 如果ws2d, 添加一个无效符号sz, 对应的整数权重比值为wz2d- ws; 如果ws2d, 无需添加无效符号, 为统一表示也可认为添加一个无效符。
5、号z, 其权重比值 wz为0; 此时随机数扩展为t+1个符号S S1, S2, ., St, SZ, 称为扩展符号, 对应的概率为 整数权重比值为W w1: w2: .: wt: wz, 总权重为2d, 有效权重占 比RWwS/2d; 3)随机数细分: 在哈夫曼树中, 深度为1的节点对应的概率为2-1, 而 往往不具有这样的 形式。 但是, 可以将该符号以及对应的概率进行细分, 每个细分后的符号的概率具有这样的 形式。 具体方法是, 将每个wi(i1, 2, ., t, Z)按照二进制展开为ni个不同的2的方次的和, 即其中对应的将符号Si(i1, 2, ., t, Z)细分为ni个 不 同 。
6、细 分 符 号对 应 的 整 数 权 重 分 别 为概 率 为 在哈夫曼树中的深度为细分符号总个 数为nn1+n2+nt+nZ, 所有细分符号的集合记为S Sij: i1, 2, ., t, Z; j1, 2, ., ni, 对应的概率为 4)哈夫曼树构造: 将细分后的概率空间中的每个细分符号Sij(i1, 2, ., t, Z; j1, 2, ., ni)看作叶子节点, 在二叉树中的深度为d-eij, 构造出的完全二叉树即为哈夫曼树T; 将连接每个父节点与其子节点的两条边标记为0与1, 从根节点到叶子节点的路径的标记序 列cij即为该叶子节点对应细分符号的码字, 称为哈夫曼码; 对所有的细分。
7、符号S Sij: i 1, 2, ., t, Z; j1, 2, ., ni, 确定对应的哈夫曼码CCij: i1, 2, ., t, Z; j1, 2, ., ni; 定义哈夫曼树T的平均深度为其中cl为哈夫曼树T中深 度为l的叶子节点的个数; 实际上, 哈夫曼树T的平均深度为也等于细分后概率空间的香农 熵H(S ), 其中H是香农信息熵函数。 5)随机数生成: 使用二元无偏随机数发生器产生0/1二元随机数序列BB(1)B(2)B(3) B(4)., B(i)0, 1, 按照构造的哈夫曼码C进行解码; 由于哈夫曼编码是一种前缀码, 可 以解码得到唯一的细分随机数序列随后将每 个细分符号S(i。
8、)S 替换为细分前的扩展符号S(i)S , 得到扩展随机数序列X S(1) S(2)S(3)S(4)., S(i)S, 再舍弃添加的无效符号sZ, 得到最终的加权随机数序列xS(1) S(2)S(3)S(4)., S(i)S即为满足要求的加权随机数序列; 定义哈夫曼转化效率为RT1/d (T), 其意义是平均每一位二元无偏随机数可以转化为RT位细分随机数, 整体由二元无偏随 机数转化为加权随机数的效率为RRTRW。 权利要求书 1/1 页 2 CN 110727414 A 2 基于哈夫曼编码的随机数生成方法 技术领域 0001 本发明涉及一种随机生成方法, 尤其涉及一种基于哈夫曼编码的随机数生。
9、成方 法。 背景技术 0002 随机数发生器在信息安全、 电子商务、 通讯、 实验仿真、 博彩业、 游戏设计等众多领 域具有广泛的应用。 而且随着技术的发展, 对随机数的类型、 质量、 效率等都提出了更高的 要求。 0003 目前随机数发生器绝大部分都是用来产生二元无偏随机数序列, 而实际应用中往 往需要产生任意给定权重或任意范围的随机数。 通常的做法是基于整数区间的划分。 将一 个大的区间按照符号的权重或概率划分为小区间, 然后由二元无偏随机数发生器产生2的 方次范围的随机数, 根据该随机数落在的小区间来转化为对应的随机数。 其主要存在以下 两个方面的问题, 第一: 生成每位加权随机数采用了。
10、固定长度的二元无偏随机数, 从信息论 的角度, 不同权重的符号包含不同的信息量, 采用固定长度的二元无偏随机数至少按照其 中最大信息量来消耗, 造成了生成效率上的浪费; 第二: 所有符号的权重之和ws往往并不是 2的方次, 而二元无偏随机数发生器产生的随机数范围为2d, 要么舍弃超过ws的部分而损失 效率, 要么对每个符号的权重进行缩放取整形成近似权重而影响随机数的 质量。 在部分应用场景下, 这些问题会导致传统的随机数发生器无法满足要求。 发明内容 0004 本专利所要解决的问题是针对上述现有技术的不足, 提出一种基于哈夫曼编码的 高效随机数生成方法, 本发明通过添加一个适当权重的无效符号,。
11、 有效保证符号权重的准 确性, 同时结合哈夫曼解码转化, 生成不同权重的符号消耗不同长度的二元无偏随机数。 本 方法产生的加权随机数序列既完全符合权重要求, 也提高了生成效率, 其效率由哈夫曼树 的平均深度及有效权重占比决定, 在各符号的权重均是2的方次时可以达到信息论的理论 极限。 0005 为了实现上述技术目的, 本发明采取的技术方案是: 基于哈夫曼编码的高效随机 数生成方法, 其特征包括以下步骤: 0006 1)整数权重比值表示:假设需要产生的随机数S有t个有效符号, SS1, S2, ., St, t为整数, t2, 对应的概率分别为Pp1, p2, ., pt, 将比值p1: p2:。
12、 .: pt表示为最简 整数权重比值W, Ww1: w2: .: wt, 其中wi(i1, 2, ., t)均为正整数, 且最大公约数gcd (w1, w2, ., wt)1; 如果原始概率比值无法使用整数权重比值表示, 则根据实际需要在适 当的精度下取得近似整数比值或放弃本方法; 0007 2)随机数扩展: 对整数权重比值w求和ws, wsw1+w2+wt, 计算哈夫曼的深度d, d 为满足2d-1ws2d的正整数; 如果ws2d, 添加一个无效符号Sz, 对应的整数权重比值为wZ 2d-wS; 如果ws2d, 无需添加无效符号, 为统一表示也可认为添加一个无效符号z, 其权重 说明书 1/。
13、4 页 3 CN 110727414 A 3 比值wZ为0; 此时随机数扩展为t+1个符号 S S1, S2, ., St, Sz, 称为扩展符号, 对应的概 率为整数权重比值为W w1: w2: .: wt: wz, 总权重为2d, 有效权 重占比 RWwS/2d; 00083)随机数细分: 在哈夫曼树中, 深度为l的节点对应的概率为2-1, 而往往不具有 这样的形式。 但是, 可以将该符号以及对应的概率进行细分, 每个细分后的符号的概率具有 这样的形式。 具体方法是, 将每个wi(i1, 2, ., t, Z)按照二进制展开为ni个不同的2的方 次的和, 即其中对应的将符号Si(i1, 2。
14、, ., t, Z) 细 分为ni个不同细分符号对应的整数权重分别为概率为 在哈夫曼树中的深度为细分符号总个 数为nn1+n2+nt+nZ, , 所有细分符号的集合记为S Sij: i1, 2, ., t, Z; j1, 2, ., ni, 对应的概率为 0009 4)哈夫曼树构造: 将细分后的概率空间中的每个细分符号 Sij(i1, 2, ., t, Z; j 1, 2, ., ni)看作叶子节点, 在二叉树中的深度为 d-eij, 构造出的完全二叉树即为哈夫 曼树T; 将连接每个父节点与其子节点的两条边标记为0与1, 从根节点到叶子节点的路径的 标记序列cij即为该叶子节点对应细分符号的码。
15、字, 称为哈夫曼码; 对所有的细分符号S Sij: i1, 2, ., t, Z; j1, 2, ., ni, 确定对应的哈夫曼码CCij: i1, 2, ., t, Z; j 1, 2, ., ni; 定义哈夫曼树T的平均深度为其中cl为哈夫曼树T中 深度为l的叶子节点的个数; 实际上,哈夫曼树T的平均深度为也等于细分后概率空间的香 农熵H(S ), 其中H是香农信息熵函数。 0010 5)随机数生成: 使用二元无偏随机数发生器产生0/1二元随机数序列BB(1)B(2) B(3)B(4), B(i)0, 1, 按照构造的哈夫曼码c进行解码; 由于哈夫曼编码是一种前缀码, 可 以解码得到唯一的。
16、细分随机数序列X S(1)S(2)S(3)S(4), S(i)S , i1, 2, .; 随后 将每个细分符号 S(i)S 替换为细分前的扩展符号S(i)S , 得到扩展随机数序列 X S(1)S(2)S(3)S(4)., S(i)S , 再舍弃添加的无效符号SZ, 得到最终的加权随机数序列X S(1)S(2)S(3)S(4)., S(i)S即为满足要求的加权随机数序列; 定义哈夫曼转化效率为RT 1/d(T), 其意义是平均每一位二元无偏随机数可以转化为RT位细分随机数, 整体由二元无 偏随机数转化为加权随机数的效率为RRT*RW。 0011 有益效果: 0012 (1)本发明通过建立合适的。
17、哈夫曼编码, 将二元无偏随机数序列解码转化为加权 随机数序列, 满足了特定场合下对加权随机数的需求。 0013 (2)本发明对所有有效符号的整数权重之和非2的方次的情况, 添加适当权重的非 有效字符, 使得最终产生的随机数严格满足其权重比值。 同传统近似比值的方法, 本发明为 工程应用保证了加权随机数的质量。 0014 (3)本发明在保证其权重比值的基础上, 使用了哈夫曼编码对无偏随机数序列进 行解码转化。 其转化效率取决于该哈夫曼树的平均深度, 转化效率高, 在各符号的权重均是 2的方次时可以达到信息论的理论极限, 为加权随机数的应用提供效率上的优势。 说明书 2/4 页 4 CN 1107。
18、27414 A 4 附图说明 0015 图1为本发明的流程示意图。 0016 图2本发明使用哈弗曼解码来转化随机数示意图。 具体实施方式 0017 下面结合附图和具体实施方式, 进一步阐明本发明, 应理解这些实施方式仅用于 说明本发明而不用于限制本发明的范围, 在阅读了本发明之后, 本领域技术人员对本发明 的各种等价形式的修改均落于本申请所附权利要求所限定的范围。 0018 实施例1 0019 如图1所示, 本实施例1目标: 生成符号集s 1, , , , , 的等概率随机数序列; 传统方法: 由于6并非2的方次, 最接近的一个方次为8。 具体的生成方式是使用3比特的二元 无偏随机数确定 1-。
19、8之间的随机数, 如果小于等于6则保留, 否则丢弃。 最终生成目标随机 数效率即平均生成1位目标随机数需要消耗4位二元无偏随机数。 0020 本基于哈夫曼编码的高效随机数生成方法, 包括以下步骤: 0021 步骤1: 将概率比表示为最简整数权重比1 1 1 1 1 1; 0022 步骤2: 确定哈夫曼树的深度为3, 添加无效符号Z, 对应权重为2; 0023 步骤3: 由于每个符号的权重已经是2的方次, 无需细分; 0024 步骤4: 构建的哈夫曼树与编码见图2中的(例1)部分; 0025 步骤5: 根据公式计算得最终生成目标随机数效率 0026优于传统方法的1/4。 例如: 假设有一个二元无。
20、偏随机数发生 器产生的序列B 1001110101011001000, 根据哈夫曼解码可得扩展随机数序列X 5, Z, 6, 3, Z, 2, 1, 再去除无效符号输出目标随机数序列X5, 6, 3, 2, 1.。 此时生成5 位目标随机数消耗了19 位二元无偏随机数。 0027 实施例2: 0028目标: 生成符号集S 1, , 概率为的随机数序列, 传统方法: 由于整数 权重和7并非2的方次, 最接近的一个方次为8。 具体的生成方式是使用3比特的二元无偏随 机数确定1-8之间的随机数, 如果在1-6之间生成符号1, 如果为7生成符号2, 否则丢弃。 最终 生成目标随机数效率即平均生成1位目。
21、标随机数需要消耗24/7位二元无 偏随机数。 0029 本基于哈夫曼编码的高效随机数生成方法, 包括以下步骤: 0030 步骤1: 将概率比表示为最简整数权重比6 1; 0031 步骤2: 确定哈夫曼树的深度为3, 添加无效符号z, 对应权重为1; 0032 步骤3: 由于权重6不是2的方次, 需细分。 符号1细分为符号11、 12, 权重分别为4、 2。 其它符号无需细分; 0033 步骤4: 构建的哈夫曼树与编码见图2中的(例2)部分; 说明书 3/4 页 5 CN 110727414 A 5 0034步骤5: 根据公式计算得最终生成目标随机数效率优于传统方法 的7/24。 此时平均生成1。
22、位加权随机数需要消耗2位二元无偏随机数, 而传统方法需要约3.5 位。 例如: 假设有一个二元无偏随机数发生器产生的序列B1001111100., 根据哈夫曼 解码可得细分随机数序列X 12, 11, Z1, 21, 11.,扩展随机数序列 X 1, 1, Z, 2, 1., 再去除无效符号输出目标随机数序列X1, 1, 2, 1.。 此时生成4位目标随机数消 耗了10位二元无偏随机数。 0035 发明的保护范围包括但不限于以上实施方式, 本发明的保护范围以权利要求书为 准, 任何对本技术做出的本领域的技术人员容易想到的替换、 变形、 改进均落入本发明的保 护范围。 说明书 4/4 页 6 CN 110727414 A 6 图1 说明书附图 1/2 页 7 CN 110727414 A 7 图2 说明书附图 2/2 页 8 CN 110727414 A 8 。
- 内容关键字: 基于 哈夫曼 编码 随机数 生成 方法
农用无人机喷施效率现场检测装置.pdf
双线全自动冷轧管机生产线.pdf
汽车双色透光按钮.pdf
便于残渣分离的活性氧化锌制备装置.pdf
五金件CNC加工车床.pdf
拖拉机翻转连接架.pdf
物流箱投送物流架.pdf
对虾无节幼体流水养殖装置.pdf
烧结网管状过滤元件对接拼焊结构.pdf
车辆顶舱盖机构及车辆.pdf
节能型有机废气高效吸附脱附装置.pdf
新型储能电源.pdf
方便运输的可折叠储物罐.pdf
镜头易拆卸安装的玩具显微镜.pdf
预拌砂浆筛砂机.pdf
用于农药残留检测的样品破碎装置.pdf
方便维修的地坪研磨机齿轮箱.pdf
协作机器人侧装升降机构.pdf
TBM隧道施工注浆装置.pdf
便携式毫米波接力机.pdf
中频炉金属硅粉快速下料装置.pdf
即时传输及显示方法、装置、设备及存储介质.pdf
佩戴牢固的蓝牙耳机.pdf
基于3D激光雷达的移动机器人位姿跟踪方法及装置.pdf
基于模型协作的数据加权学习方法.pdf
蓝牙耳机信号传输测试装置.pdf
异常报价监控方法、系统、计算机及存储介质.pdf
混凝土布料任务动态控制方法及系统.pdf
转载溜槽及包括其的带式输送机系统.pdf
基于大数据的计算手术后目标血红蛋白的方法及系统.pdf
中频炉换炉开关.pdf
患者数据可视化管理系统及方法.pdf
一种准直体和治疗头.pdf
一种新型便携式经颅磁刺激装置.pdf
一种多功能防静电手腕套带.pdf
一种磁场扫描式理疗机.pdf
用于治疗性鼻神经调节的装置及相关的方法和系统.pdf
微波治疗仪的制作方法.pdf
用于经由外科手术工具对患者神经组织进行全方位双极刺激的系统和方法.pdf
450490nm LED蓝光联合三氧化二砷在骨肉瘤治疗中的应用.pdf
一种质子治疗旋转机架及其装配方法.pdf
临时起搏器脉冲发射器体外固定装置.pdf
负离子理疗装置.pdf
理疗烤灯.pdf
一种多功能妇产科镇痛电子治疗仪.pdf
通过射线处理人体皮肤的装置.pdf
用于刺激电疗法的方法和装置.pdf
一种基于氨氖激光治疗系统的治疗仪.pdf
脑卒中患者触觉康复治疗系统.pdf
发光的口腔用具以及使用方法.pdf
放射线治疗信息生成装置以及放射线治疗信息生成方法.pdf