网站大量收购独家精品文档,联系QQ:2885784924

算法合集之被《置换群快速幂运算研究与探讨》.ppt

算法合集之被《置换群快速幂运算研究与探讨》.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法合集之被《置换群快速幂运算研究与探讨》

置换群快速幂运算 研究与探讨;基础知识;基础知识;基础知识;基础知识;置换群基本操作 存储 映射 连接运算 分解循环 整幂运算 开方运算;例题;例题;一个引子;T=(1 3 5 2 4 6);T=(1 3 5 2 4 6) T2=(1 5 4)(2 6 3) T2是两个循环的乘积,这两个循环分别是循环T的奇数项和偶数项;T=(1 3 5 2 4 6) T3=(1 2)(3 4)(5 6) T3是三个循环的乘积,这三个循环分别是循环T中编号 mod 3=0, 1, 2的项 当k|n时,Tk分裂成了 k个循环的乘积,这k个循环分别是循环T中编号 mod k=0, 1…k-1的项,按顺序的连接;Ta*b=(Ta)b a=gcd(n,k) b=k/a Tk=(Ta)b;若 , 假设 则: , 显然, 所以,令 ,;; 置换群整幂运算可以在线性时间复杂度内解决 算法: 分解循环 从每个未扫描元素,按上述方法求得一个循环 将所有求得循环合并成置换;开方运算;;T=(1 6 4)(2 3 5) T1=(1 4 6)(2 5 3) T2=(1 2 6 3 4 5) T3=(1 3 6 5 4 2) T12=T22=T32=T;T=(1 3 4 2) 经过枚举,不存在一个T1满足T12=T T=(1 3 4 2)(5 7 6 8) T1=(1 5 3 7 4 6 2 8),满足T12=T 如果gcd(n,k)1,那么开方时就必须找k’个长度皆为n的循环合并 (k’是gcd(n,k)的倍数,同时是k的因数);否则,不能进行开方运算;可行解生成的算法: 将置换分解成循环 对于每个可以不合并的循环,进行整幂运算的逆运算 对于必须合并的循环,每次选择gcd(n,k)个合并 将所得到的循环化为置换 ; 多解的产生 合并与不合并之间 选择几个循环合并 选择哪几个循环合并 合并时的“圆组合”;T=(1 6 4)(2 3 5) T1=(1 4 6)(2 5 3) T2=(1 2 6 3 4 5) T3=(1 3 6 5 4 2) T12=T22=T32=T; 多解的产生 合并与不合并之间 选择几个循环合并 选择哪几个循环合并 合并时的“圆组合”;例题;总结;谢谢大家;排列矩阵(Permutation Matrix) 每行每列有且仅有一个元素值非零 此值为1 稀疏矩阵可以被表示为少量排列矩阵的和 O(n3logk) = O(n+k) O(nm+km)

文档评论(0)

180****5152 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档