欢迎来到天天文库
浏览记录
ID:40546694
大小:580.09 KB
页数:5页
时间:2019-08-04
《2013B 碎纸片拼接复原的数学方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第2卷第5-6期数学建模及其应用Vol.2No.5-62013年11月MathematicalModelingandItsApplicationsNov.2013檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺殣殣檺檺全国大学生数学建模竞赛专栏檺檺殣殣檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺檺碎纸片拼接复原的数学方法薛毅(北京工业大学应用数理学院,北京100124)摘要:就2013年“高教社杯”全国大学生数学建模竞赛B题“碎纸片的拼接复原”提出了一种用“纯数学手段”完成拼接复原的方法,可概括为3步:TSP,聚类分析和双面信息的利用。根据题目要求给出了3个
2、步骤中人工干预的方式与时间节点。关键词:旅行商问题;聚类分析;碎纸片拼接中图分类号:O221.7;O212.4;TP391.41文献标志码:A文章编号:2095-3070(2013)5-6-0009-05碎纸复原问题最著名的例子应该是2011-10-29美国国防部高级研究计划局宣布的碎纸复原挑战赛。该[1]项赛事共有9000多支队伍参加,获胜队将得到50000美元的奖金。今年的竞赛题“碎纸片的拼接复原”看似与挑战赛相同,但问题的难度有着本质的不同。首先,需要拼接复原的文件是纯文本的打印文件,并不是挑战赛的手写文件;其次,碎纸片由计算机生成,
3、也就是说,碎纸片没有毛边,并不是真正由碎纸机粉碎而成的,这样就大大降低了问题的难度,使学生有可能在3天的时间内完成。为了确保学生在3天的时间内完成竞赛内容,命题人特意将问题分解成3个子问题:问题1仅考虑只有纵切情形的碎纸片;问题2碎纸片是由纵切与横切两种情形得到的;问题3双面打印文件碎纸片的拼接复原。这3个问题实际上在告诉我们解题的思路,因此,解决问题的方案也分成3步:1)建立仅有纵切情形的数学模型—旅行商问题(travelingsalesmanproblem,TSP);2)先将碎纸片还原到各自所在的行—聚类分析,再使用1)中的方法(TSP
4、)复原成正确的“横条”,最后使用人工干预的方法拼接成原始文件;3)使用碎纸片的双面信息,提高行聚类的准确率。根据题目要求,在这3步中均要考虑人工干预的方式,以及干预的时间节点。1仅有纵切的情形—旅行商问题1.1数据的读取与处理读取数据是求解问题的关键。读取数据的方法是非常简单的,大部分的计算机语言都可完成,例如Matlab软件中的imread函数。读取数据后,可以将数据作二值化处理。直观来讲,二值化处理的目的是使黑的更黑,白的更白,便于后面的聚类与拼接。笔者曾做过经二值化和未经二值化处理的数据的对比实验,结果表明,数据经二值化处理后其复原率
5、有一定程度的提高。1.2建模—旅行商问题建模思想是基于“相邻的两条碎纸片的灰度应该比较接近”这一事实提出的,它同时也给出了完成问题1求解的启发式算法。1)找出整个文件中最左侧的碎纸片(碎片的左侧为空白,数值均为255,设碎纸片编号为k1,置index=收稿日期:2013-11-13通讯作者:薛毅,E-mail:xueyi@bjut.edu.cn·9··竞赛专栏·碎纸片拼接复原的数学方法2013年11月k1,I={1,2,…,19}\{k1},i=1;2)如果i=19,则停止计算,输出拼接复原图序号index,否则计算第j(j∈I)个碎纸片最
6、左侧的列与第ki个碎纸片最右侧的列之间的距离,记距离最小的碎纸片的编号为ki+1;3)置index=index∪ki+1,I=I{ki+1},i=i+1,转2)。由于仅纵切情形的碎纸片两侧的信息量较大,上述启发式算法可以得到附件1和附件2的拼接复原图,而且也不需要人工干预。这种方法看似很好,但也存在两个致命的缺点:第一,它是一种局部寻优方法,而且计算复杂度高;第二,这种方法不便于推广,不利于在问题2和问题3的求解中使用。为克服上述算法的缺点,提出一种全局寻优的方法,即将问题转化成旅行商问题(TSP)。将碎纸片看作城市(共19个),定义城市间
7、的距离,即碎纸片之间的距离,定义方法为:对于碎纸片A和碎纸片B,用碎纸片A最右侧的列与碎纸片B最左侧的列之间的距离定义为两者之间的距离,同理可以定义碎纸片B到碎纸片A的距离。用此方法可以定义两个碎纸片之间的距离,形成一个一个非对称的距离矩阵。注意到,整个文件最左侧碎纸片的左侧与最右侧碎纸片的右侧均为空白,这样就可以形成圈。因此,仅纵切情形的拼接复原问题转化求解最小距离的Hamilton圈,即旅行商问题。1.3距离的定义距离的定义有多种,如果数据没有二值化,可以使用绝对值距离(或称棋盘距离)、Euclid距离、Chebyshev距离等。二值化
8、后的数据可以使用Hamming距离或Jaccard距离。本文使用的是Jaccard距离,定m2义为dij=,其中,m1为两个向量中1-1配对的总数,m0为0-0配对的总数,m2为
此文档下载收益归作者所有