量子纠错码Word格式文档下载.docx
- 文档编号:21731662
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:29
- 大小:1.07MB
量子纠错码Word格式文档下载.docx
《量子纠错码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《量子纠错码Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。
1997年,省人民政府高校优秀教学成果三等奖;
2000年,武汉理工大学教学改革成果优秀奖;
2000年,武汉理工大学优秀教学二等奖;
2000年,湖北省统计局科研优秀成果二等奖;
2003年,武汉理工大学师德先进个人;
2004年,
武汉理工大学理学院学科建设二等奖;
2005年,
武汉理工大学理学院教学工作三等奖;
2006年,
武汉理工大学理学院先进个人。
学术著作
发表论文主要有:
1.一类abundant半群的构造,数学学报1996,3;
2.Aclassofnaturallyorderedabundantsemigroupswithgreatestidempotent数学物理学学报(英)1997,2;
3.具有正规中间幂等元和富足半群的特征与结构,自然科学进展1996,2;
4.Thecharacterizationofabundantsemigroups.自然科学进展(英)1997,4;
5.亚纯正半群上的同余,数学研究与评论1993,1;
6.双单严格纯正半群上同余的刻划,数学杂志1996,1;
7.一类严格纯正半群的特征,数学杂志1996,3;
8.Existenceandstabilityofpositiveperiodicsolutionofdelaylogisticecosystemwithfeedbackcontrolanddiffusion.Differentialequationsandcontroltheory.NewYork1995;
9.加法范畴的koethe问题和Herstein问题,辽宁师范大学学报(自)1993,2;
10.含有一个主幂等元的双单严格纯正半群的同余,华中师范大学学报(自)1993,2;
11.BCK—代数范畴上张量含子的正合性,曲阜师范大学学报(自)1990,3;
12.随机Duffie模型中偏差系数的估计,江汉油学院(自)1997,2;
13.关于正序半群的分解,荆州师院学报(自)1994;
14.亚纯正半群上同余间的关系,荆州师院学报(自)1993;
15.正则半群上的极大幂等分离同余,荆州师院学报(自)1995;
16.带有一个最大幂等元的自然序Quasi-adequate半群,荆州师院学报(自)1996;
17.亚纯正半群上的极大幂等分离同余,荆州师院学报(自)1990;
18.BCK-代数AF(B),荆州师院学报(自)1991;
19.亚纯正半群的结构,国际半群会议1993;
20.高等代数方法导论,参编华中师大出版社1990;
21.工科院校应用数学教学改革探讨,科学与人文
湖北人民出版社
2000.9
22.“教学方案”引导教学的研究与实践,高校科技论坛
内蒙古科学技术出版社
2000
23.Applyingthetechnologyofcomputerandexploringthenewpatternofteaching.Proceedingsoftheinternationalsymposiumonteachingandapplicationsofengineeringmathematics.HongKong.2001.1
24.加入WTO后民营企业的危机及应对分析,理论月刊.2001.9
25.战略联盟的冲突分析,武汉理工大学学报(社)2001.10
26.新世纪湖北经济发展研究报告,经济日报出版社,2002,10
27.柔性管理——网络时代企业管理的新模式,理论月刊,2003,4
28.人口流动与就业关联性分析,2004,6
29.住房贷款提前还贷的博弈分析,理论月刊,2004,11。
30.AnalysisofManagersRent-seekingState-ownedEnterprisesunderDoubleGame;
Proceedingsof2004internationalconferenceoninnovating&
management,2004,10
31.柔性管理与人才激励,数理统计与管理,2003,4
32.生活环境对大学新生心理因素影响分析,理工高教研究,2003,2
33.营销战略中若干问题的博弈分析,武汉大学学报,2003,5。
34.“猎鹿”博弈与战略联盟,统计与决策,2004,2
35.一种基于椭圆曲线的Optimal型盲签名方案,2004,2
36.滥用权威下的国企经理寻租博弈分析,2005,1
37.关于商家选择连锁网点的博弈分析,长江大学学报,2005,3
38.股票期权激励及其在武汉国有化企业中的应用,中国水运,2005,6
39.MINSKY金融不确定假说的数理分析,科技和产业,2005,9
40.有限理性Bertrand模型的动力学分析,管理科学与统计决策,2005,6
41.沪深股市个股的非线性动力学模型的构建,统计与决策,2005,10
42.基于时间序列参数估计的潜周期模型研究,科技创业,2006,1
43.一个新的前向安全的群签名方案,武汉理工大学学报,2006,4
44.三级价格歧视的研究,统计与决策,2006,6
45.《矩阵分析及其应用》,研究生教材,武汉大学出版社,2007,8[1]
.
三、论文格式修改
摘要
背包问题是著名的NP难题,但有许多经典的方法求解此问题,依此设计的背包密码问题也都被破译.本文使用动态规划、贪婪算法和遗传算法这三种算法的求解思想,解决了传统的0-1背包问题,分别得到了三种算法在解决0-1背包问题上的时间复杂度.
关键词
0-1背包问题;
动态规划;
贪心算法;
遗传算法;
计算复杂度
Abstract
KnapsackproblemisafamousNPproblem,buttherearealotofclassicmethodtosolvethisproblem,accordingtothedesignofthebackpackpasswordissuehavebeendeciphered.Thisarticleusesthedynamicprogramming,greedyalgorithmandgeneticalgorithm,thethreekindsofalgorithmofideas,tosolvethetraditional0-1knapsackproblem,threealgorithmshavebeenobtainedrespectivelyintimecomplexitytosolve0-1knapsackproblems.
Keywords
0-1KnapsackProblem;
DynamicProgramming;
GreedyAlgorithm;
GeneticAlgorithm;
ComputationComplexity
第一章绪论
背包问题又被称作子集合的问题,是计算机学科和数学学科当中一个经典的NP问题.由于该问题在现实生活中有着广泛的应用,很多密码算法都是基于背包问题而设计的,本文对背包问题进行研究.
1.1背包问题简介
背包问题是计算机算法问题中一个经典的NP问题,在1978年,Merkel和Hellman两个人提出的了背包问题
.背包问题的主要思想是假设某人拥有很多的物品,而且各个物品重量不一样.此人秘密地选择其中的一部分物品并将它们放到背包中来加密消息.背包中的物品总重量是公开的,所有可能的物品的重量也是公开的,但放入背包中的物品是保密的.设定一定的限制条件,要列出背包内可能的物品.背包问题是不可计算问题,背包密码的体制以其加、解密速度快而引人注目.
背包问题主要有四类
:
0-1背包问题,每个物品只有一件,即每个物品只能选择一次;
有界背包问题,每个物品可以选中一次或多次,但是物品选择的次数在一定的范围之内;
多选择背包问题,部分物品必须要被选中一次或者多次,并且物品选择的次数在一定的范围之内;
多背包问题,有多个背包,其中某些背包必须被塞满.
在以上四类背包问题中,本文主要研究的背包问题是0-1背包问题
.它的描述为:
已知一个容量为c背包和n个互不相同的物体,并且第i个物品的重量和价值分别为
,
(i=1,2,……,n),要求从这n个物品中选出部分物品放入背包中,使得放入背包中物品的总重量不超过c,并且放入背包中物品价值之和最大,找出一种放入物品的方案.其数学模型表示如下:
目标函数:
约束条件:
到目前为止,有很多种方法来求解0-1背包问题.其中分为精确算法和近似算法
.精确算法有分支限界法、动态规划等;
近似算法有贪婪算法、蚁群算法等.就一般而言,精确算法在求解大规模的0-1背包问题所消耗时间相对比较长,这让它的实用性受到一定的限制.虽然近似算法相对精确算法而言消耗的时间比较短,效率比较快,但是不一定能得到最优解,有时候只能得到近似解,准确性比较低.
1.2背包问题的应用
背包问题最先应用于加密技术,自从Merkle和Hellman提出第一个背包型公钥密码以来,许多陷门背包被提了出来.背包型公钥密码的设计极大地丰富了公钥密码,在陷门背包的发展过程中,人们使用了各种各样的技术来设计陷门背包.比如,使用加法背包的公钥加密,使用紧凑背包的公钥加密,使用二次背包即矩阵覆盖的公钥加密,使用模背包的公钥加密,使用丢翻图方程的公钥密码等.背包型公钥加密由于其加解速度快而备受关注,然而,现有的背包型公钥密码几乎都被证明是不安全的.
同时,背包问题在我们现实生活中具有广泛的应用,比如物流公司货物的发配方案、集装箱的装运方案和工厂的加入原料的方案等等都可以用背包问题的算法来进行求解.在解决大量的复杂组合优化问题时,背包问题经常是作为整个问题的子问题.所以研究背包问题算法,对改良复杂组合优化问题算法的十分有益的.随着网络技术的不断发展,背包公钥密码
在电子商务中的公钥设计中也起着重要的作用.
第二章利用动态规划求解0-1背包问题
动态规划是是运筹学
的一个分支,动态规划把多阶段问题转化成为一系列的单独问题,利用各个阶段的关系来逐个求解.本章将详细介绍动态规划的基本思想并如何用动态规划解决背包问题.
2.1基本思想
动态规划通常用于求解具有最优性质
,以自底向上的方式从子问题的最优解逐步构造出整个问题的最优解.这类的问题.在这类问题中,可能会有许多种解,并且每一个解都会对应一个值,我们需要找到其中的最优解.动态规划适用于子问题不是独立的情况,也就是各个子问题包含公共的子子问题.通过组合子问题达到求解的目的.我们可以用一个表来记录所有已解的子问题的答案,这样我们使用动态规划用算法求解每个子子问题只需要求解一次,避免重复计算子问题增加计算复杂度.
2.2算法设计
动态规划一般分为以下四个步骤:
步骤1:
描述最优解的结构
我们用
表示已经放入从i到n物品时背包的重量最大值j.现在决策第n-1个物品是否放入背包中,问题处于两个状态之一:
当
>
j,第n-1个物品不能放入,所以当前背包总价值于
=
<
j,物品可以选择放入或者不放入,选择的标准依据总价值,总价值高的为最优解,即比较
和
的最大值.
步骤2:
递归求解最优值
即是利用子问题的值来递归定义一个最优解的值.当我们放入第n-i个物品的时候,放入第n-i-1个物品的问题作为子问题.我们可以依据0-1背包问题的最优子结构性质,建立计算
的递归方程式
:
步骤3:
按自底向上的方法求解最优值
根据递归方程和背包问题的约束条件,以不同顺序来计算出最优值并从左至右填入表中.
步骤4:
用已经计算出的结果构造一个最优解
最优解的值我们可以通过表格的数据来推算出,.我们从i=1,j=c(第一行最后一个数字,即最优值)开始,如果
==
则背包中没有改物品,记
=0,否则背包中有此物品,记
=1。
此时,为了确立后面的值即k=i+1的
的值,应该在第k行寻找新的值作为参照.对于第n行,直接由
的值是0或1表示是否放入背包中
2.3举例
物品数n=5,背包的最大容量C=10.每个物品只有一个,如何装物品使背包中物品的总价值最大?
物品编号i
1
2
3
4
5
重量W
6
价值V
解:
按照以上求解背包问题的步骤,分别计算每个数据并把数据填入表中
i\j
7
8
9
10
12
15
11
装入的物品有第1,2,5三个物品.此时容量为8,价值为15
2.4算法实现
在IDLE编译器下使用python实现如下代码
#-*-coding:
cp936-*-
defPackage_Dynamic(weight,value,c):
n=len(value)
table=[]
#初始化表格
foriinxrange(n):
row=[]
forjinxrange(c):
row.append(0)
table.append(row)
#放置第n行物品
ifj+1>
=weight[n-1]:
table[n-1][j]=value[n-1]
#依次放置剩下n-1行物品
foriinrange(n-2,-1,-1):
ifj<
weight[i]ortable[i+1][j]>
table[i+1][j-weight[i]]+value[i]:
table[i][j]=table[i+1][j]
else:
table[i][j]=table[i+1][j-weight[i]]+value[i]
returnOptimalAnswer(table,w,v)
defOptimalAnswer(table,weight,value):
c=len(table[0])
n=len(table)
j=c-1
answer=[]
#构造最优解
foriinxrange(n-1):
iftable[i][j]==table[i+1][j]:
answer.append(0)
answer.append
(1)
j-=weight[i]
iftable[i][j]:
returnanswer
2.5计算复杂度
从
的递归式可以看出,动态规划解决背包问题需要执行n*c次循环,又因为每次循环的时间复杂度为
,为所以算法时间复杂度
为,c为背包容量.当背包容量c很大的时候,算法需要的时间比较多.
当时间复杂度越高,程序的运行所花时间也就越多,效率也就越低.
反之,时间复杂度越低,程序运行所花时间也就越低,效率就越高.
第三章利用贪婪算法求解0-1背包问题
适用于背包问题这类最优化问题都包含一系列的步骤,每一步都有一组选择,对于结果要求精确度不是特别高的时候,采用动态规划来获取最优解就有点大材小用了,这时候我们可以采取另一种简单有效的方法——贪婪算法.贪婪算法是使所做的选择都是当前最佳的,期望通过所做的局部最佳选择来产生出一个全局的最佳选择,得出最优解.
3.1贪婪算法介绍
贪婪算法在解决最优子结构问题上十分有效.即是全局的最优解由局部的最优解决定
.简单地说,问题能够将一整个问题分成若干子问题,每个子问题的最优解能决定到整个问题的最优解.贪婪算法与动态规划的不同在于它每对每个子问题的解决方案都做出选择,不能返回.动态规划则会保存以前的运算结果,并根据以前的结果对当前进行选择,有返回功能.
贪婪算法是通过一系列的选择得到问题的解,每一步总是做出在当前状态下看来是最好的选择.贪婪算法并不是从整体上加以考虑,它所做出的选择只是在当前条件下的局部最优解,而许多问题运用贪婪算法可以很快的得到最优解或较优解.
贪婪算法可以解决一些最优性的问题,如:
哈夫曼编码问题、最小生成树问题
等等问题.对于其它问题,贪婪算法一般得不到我们所要求的最精确答案.但是如果这个问题可以通过贪婪算法来解决,那么贪婪算法一般是解决这个问题的最好办法.因为贪婪算法的高效性以及其所求得的答案接近精确结果,贪婪算法直接求解对结果要求不特别精确的问题.
3.2贪婪算法步骤
分析需求解问题
假设最大重量为C的一背包东西,如果我们从中去掉某个物品i,剩下的物品必须是除去i以外的n-1件物品中,可以带走的重量至多为
的最值钱的东西.
制定贪婪准则
制定贪婪准则是采用贪婪算法去解决最优化问题,贪婪算法是决定到问题能否解决和解决质量的高低,对于背包问题我们可以选择从剩下的物品中单位价值(
/
)最大的物品装入背包中.
设计一个递归解
每次尽量拿对具有每单位最大价值的的物品,如果拿完了还可以取其他物品时,再拿具每单位次大价值的物品,一直继续下去,直到不能拿为止.
3.3举例
例题1.对于上个2.4的例题
物品数
背包容量
.如何装物品使背包中物品的总价值最大?
先求每单位价值:
=3、
=1.5、
=5/6、
=0.8、
=1.5
得出结果:
按照顺序放入背包得出结果[1,1,0,0,1],总价值为15,总重量为8
此时结果和最优解结果一样
例题2.物品个数n=3,背包最大容量C=50,如何选择物品使得装入背包中物品的总价值最大?
20
30
80
90
100
=8、
=4.5、
=10/3
按照单位价值顺序放入背包得出结果:
[1,1,0],总价值为170,总重量为30
实际的放入背包最优解的结果:
[0,1,1],总价值为190,总重量为50
可以得出贪婪算法不一定能获得最优解,可能会获得的是近似解
3.4算法实现
在IDLE编译器下实现如下代码
defGreedy_Dynamic(weight,value,c):
data=[]
n=len(weight)
#初始化数据
info={'
id'
i,'
value'
value[i],'
weight'
weight[i]}
data.append({value[i]/float(weight[i]):
info})
#快排
newRatioVtoW=QuickSort(data)
#整理出结果
answerRatio=[]
foriteminnewRatioVtoW:
ifc>
item.values()[0]['
]:
c-=item.values()[0]['
]
answerId=item.values()[0]['
answer[answerId]=1
answerRatio.append(item)
returnanswer
defQuickSort(ls):
ifls==[]:
return[]
else:
returnQuickSort([yforyinls[1:
]ify>
ls[0]])+[ls[0]]+\QuickSort([yforyinls[1:
]ify<
=ls[0]])
3.5贪婪算法计算复杂度
快速排序的时间复杂度是
,从排序结果得出最佳解的所花费的时间复杂度为
,因此贪婪算法的时间复杂度为
.
第四章利用遗传算法求解0-1背包问题
遗传算法是一种模仿生物遗传进化的全局优化算法
,一般用于解决最佳化问题.属于进化算法.进化算法开始是借鉴了进化生物学中的一些现象而发展起来的一种算法.本章主要介绍了遗传算法并如何用遗传算法去解决0-1背包问题.
4.1遗传算法介绍
遗传算法是一种计算机算法,它模拟生物的进化的系统.密歇根大学的Holland教授及其他的学生通过研究生物模拟技术
,创造了一种基于生物遗传和进化机制的适合复杂系统优化的自适应概率优化技术——遗传算法.1967年“遗传算法"
一词首次在Holland的学生Bagley的博士论文中提及,他概述的讲解了选择、交叉、变异等遗传算法,在个体编码上使用无符号二进制数的编码方法.
经过多年发展,在非线性优化和系统辨识
上遗传算法已经成为一个有效工具,广泛应用于神经网络学习过程
、模式识别、图像处理、机器人系统、工业控制
、自适应控制
等方面.从遗传算法的来源于物种优胜劣汰的自然现象,生物进化的目的是为了使生物本身更加适应环境,而不是为了取得在某些环境和条件下的最优.各个物种有各个物种进化的方法,没有哪一种是最优的,但是,成功繁衍下来的物种一定是能够适应其环境和环境内的其它物种的,它能够适应环境的变化和其他生物的进化,从而获得生存并繁衍.从这一方面来看,虽然目前用于实践上遗传算法主要是应用于优化方面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 量子 纠错码