B-13249001-王占兵,甘煦,向超
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键词:碎纸片拼接
AGTSP
蚁群算法
1
一、 问题重述
破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域有着重要 的应用。目前,大多数拼接复原工作需由人工完成,虽然准确率较高,但效率很低。特 别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人 们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。现有以下问题需要讨论: 1.对于碎纸机仅纵切的情形,即对给定的来自同一页印刷文字文件的碎纸机破碎纸 片,建立碎纸片拼接复原模型和算法,并针对附件一、二给出的中、英文各一页文件的 碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节 点。复原结果按要求以图片形式及表格形式表达。 2.对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附 件三、四给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工 干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。 3.上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件 的碎纸片拼接复原问题需要解决。附件五给出的是一页英文印刷文字双面打印文件的碎 片数据。请尝试设计相应的碎纸片拼接复原模型与算法,并就附件五的碎片数据给出拼 接复原结果,结果表达要求同上。
赛区评阅记录(可供赛区评阅时使用): 评 阅 人 评 分 备 注
全国统一编号(由赛区组委会送交全国前编号):
全国评阅编号(由全国组委会评阅前进行编号):
基于改进的蚁群算法求解 AGTSP 碎纸片拼接复原
摘要
本文针对三种情况下的碎纸片拼接复原问题,建立了统一的非对称广义旅行商问题 ( AGTSP) 模型,并均采用改进的蚁群算法进行求解。 问题一,考虑了纵切碎纸片拼接复原。首先,对碎纸片特征提取:考虑碎纸片边缘 任意一点的正方形邻域内的四个像素点,并计算其灰度值,从而由相邻两个碎纸片对应 边缘点的四个像素灰度值定义纵切匹配度。其次,建立 19 个城市的 AGTSP 纵切碎纸片 拼接复原模型:目标函数为选取的所有边缘点的匹配度之和达到最小;最后,采用改进 的蚁群算法进行求解:其中蚂蚁数为 5 只,迭代 500 次,中英文两个文档拼接均得到局 部最优解,并进行一次人工干预,最终得到碎纸片拼接序列。 问题二,考虑了既有纵切也有横切的碎纸片拼接复原。首先,在问题一碎纸片纵向 边缘点特征提取的基础上,加入横向边缘点的特征提取,从而得到相邻两个碎纸片对应 边缘点的纵切和横切匹配度;其次,建立 209 个城市的 AGTSP 模型:在问题一目标函 数的基础上加入横切匹配度,并使之达到最小;最后,依然采用改进的蚁群算法求解: 其中蚂蚁数为 10 只,迭代 500 次,并进行简单人工干预,最终得到中英文两个文档的 碎纸片拼接序列。 问题三在问题二的基础上考虑碎纸片正反面都有文字信息的拼接复原。首先,在问 题二的特征提取方法基础上,对碎纸片反面纵切和横切两个方向上的边缘点进行特征提 取,从而得到相邻碎纸片反面的匹配度;其次,建立 209 个城市的 AGTSP 模型:此时, 在问题二目标函数的基础上加入了反面的匹配度并使之达到最小;最后,依然采用改进 的蚁群算法求解:其中蚂蚁数为 10 只,迭代 500 次,并进行简单人工干预,最终得到 英文文档的碎纸片拼接序列。 为了提高计算速度,本文所有蚁群算法均用 C 语言编程,而且对三个模型的蚁群算 法求解均给出了收敛分析,经验证,所有结果完全正确。 本文的优点在于用相同的模型和求解算法解决了不同的碎纸片拼接复原问题。不同 问题的求解不同之处仅仅在于匹配度的定义不同,而且匹配度的定义依据问题的难易程 度具有渐进性。
i
V
旅行商可能走过的线路段集合 A 旅行商问题中的距离矩阵 C 其他局部符号在引用时给出了具体说明。
五、 模型的建立和求解
5.1 模型一的建立和求解 根据题意,以碎片上的文字特征为依据,对 19 条形状、大小完全一样的碎片进行拼 接复原。考虑到该问题属于组合优化问题,基于 AGTSP 的核心思想,建立优化模型对 问题一进行求解。 5.1.1 碎纸片拼接预处理 (1)特征提取 由于每条碎片的形状、大小完全一样,故要对其进行拼接复原,需借助碎片上的文 字信息[1],因此,在建立模型之前,首先需要对相邻碎纸片的文字特征进行提取。具 体操作步骤如下: 1)选取纸片边缘的任意一点,以像素为单位向外扩展 2 2 的正方形邻域,得到四 个像素。考虑到附件中文字的宽高比为 1:1 ,故选取上述 2 2 正方形邻域用于选取像素。 2)四个像素的灰度值分别为 g1 , g 2 , g3 , g 4 ,如下图所示。将左侧两个像素的灰度值 和右侧两个像素的灰度值分别相加,得到两侧灰度值之和 g1 g 2 , g3 g 4 。
n 1
min Z C ( i , i 1 )
i 1
i S j s.t. i k (i k )
5.1.3 模型一的求解
( 5)
本问题是非对称广义旅行商问题,属于 NP 完全问题,结合 5.1.2 中的精确模型, 设计启发式算法求近似解,若最后未能用程序实现碎纸片的完全拼接复原,加以适当的 人工干预得到最终复原结果。 蚁群算法是一种基于种群寻优的启发式搜索算法,它充分利用了生物蚁群能通过个 体间简单的信息传递,搜索从蚁巢至食物间最短路径的集体寻优特征,该过程与 TSP 问 题的求解具有相似性,故在求解该问题上有很大的优越性[6][7]。 基于以上分析, 结合本问题的特点, 设计出一种改进的蚁群算法对问题一进行求解。 (1)改进的蚁群算法简介[8] 根据传统的 TSP 的蚁群求解算法进行扩展,可以得到适用于我们这道题目的有效算 法。 在传统的 TSP 算法中,我们采用路径的最短作为目标函数,但是在本题中,没有出 现任何可见的路径,所以我们采用广义的距离概念来解决算法上的统一问题,而总体给 出的搜索路径就是我们的想要的最佳的排列组合。这里的广义距离指的是两个纸条相邻 的边的匹配度,匹配度公式利用了以下网格模型进行确定: 1)随机产生适合数目的横切纸条的虚线,他们都位于相邻的两排像素点之间。然后 在产生的虚线和所有纸条边界上产生的交叉点上利用上述提出的匹配度函数进行计算, 然后对各点匹配度求和,最后得到该排列组合的匹配度。 2)通过蚁群算法搜索得到匹配度相对较高的排列组合。 3)通过对该排列组合的可视化图像,发现该解只需要一次人工干预即可得到最优解。 (2)改进的蚁群算法求解 AGTSP 实现步骤
三、 基本假设
1.假设题中所有所纸片均竖直摆放,不考虑旋转角度。 2.假设题中横切与纵切方向均垂直于碎纸片边缘。 3.假设每一张碎纸片中像素灰度值清晰,便于提取。 4.假设切割过程中文字信息没有损失。
2
四、 符号说明
符号Biblioteka Baidugi i
Sj
符号说明 像素灰度值 碎片边缘点的匹配度 碎片对应的标号 排列中第 i 个位置放置的碎片 旅行商所经过地点构成的点集
A (i, j ) ,其中 i, j 1, , n 且 i j 。 A 表示旅行商可能走过的线路段集合。
C cij , (i, j ) A ,此距离矩阵表示旅行商经过对应弧段 (i, j ) 的距离。
而本题恰好可以利用 AGTSP 的思想,对碎纸片的拼接复原问题建立数学模型[3]。 (2)纵切碎片拼接复原的 AGTSP 模型建立 针对问题一,将题中所给的 19 条碎片看作 TSP 中的全部城市,将它们按文字特征排 成一行即为对所有碎片进行一次遍历, 并且仅有一次。 考虑到每条碎片都具有文字特征, 对碎片进行拼接复原即为找到匹配度最高的排序方式。其中,由于复原结果应是一篇连 贯的文章,故最优的排序只有一种,这一点符合非对称广义 TSP 问题的特点。因此,根 据以上分析,基于 AGTSP 问题的核心思想,建立优化模型[4][5]。 G V , A, C 中的距离矩阵 C cij , (i, j ) A 在本问题中即为碎片边缘各点匹配度 组成的匹配度矩阵, 而 AGTSP 中, 需要求最小路径的目标函数在本题中即转化为求 i 最 小的最大匹配度问题。 将碎片复原后的结果看作成一个 1 19 的排列,设 i 为此排列中第 i 个位置放置的碎 片,其中 i 1, ,19 ;设附件中的每个碎片对应的标号为 S j , j 1, ,19 ; C ( i , i 1 ) 为 此横向排列中第 i 个位置与第 i 1 个位置上放置碎片的匹配度函数。因此,可得到以下 目标函数,根据 5.1.1 中的分析,目标函数即为求 i 最小的相邻碎片最大匹配度:
(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容 请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。) 日期: 2013 年 9 月 16 日
赛区评阅编号(由赛区组委会评阅前进行编号):
2013 高教社杯全国大学生数学建模竞赛
编 号 专 用 页
赛区评阅编号(由赛区组委会评阅前进行编号):
2013 高教社杯全国大学生数学建模竞赛
承
诺
书
我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参 赛规则》 (以下简称为 “竞赛章程和参赛规则” , 可从全国大学生数学建模竞赛网站下载) 。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网 上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或 其他公开的资料(包括网上查到的资料) ,必须按照规定的参考文献的表述方式在正文 引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有 违反竞赛章程和参赛规则的行为,我们将受到严肃处理。 我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展 示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等) 。
我们参赛选择的题号是(从 A/B/C/D 中选择一项填写) : 我们的参赛报名号为(如果赛区设置报名号的话) : 所属学校(请填写完整的全名) : 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 武汉理工大学 王占兵 甘煦 向超 (打印并签名): 陈建业
B 13249001
n 1
min Z C ( i , i 1 )
i 1
(2)
4
结合题意,得到以下两个约束条件: 1)对排列中碎片位置的约束:
i S j
表示在正确排列中第 i 个位置对应的附件中编号为 j 的碎纸片。 2)对碎片排列的约束:
( 3)
i k (i k )
( 4)
表示每个碎片只能对应排列中的一个位置,即不存在一个碎片有两个摆放位置的情形。 基于以上分析,以(2)为目标函数, (3) 、 (4)为约束条件建立优化模型如下:
二、 问题分析
本题要求通过建立模型和设计算法,对被碎纸机切碎的纸片拼接复原。通过分析, 结合 AGTSP (非对称广义旅行商问题)的核心思想,首先将每张碎纸片近似看作旅行商 问题中的每个城市;其次,结合碎纸片上文字的匹配度,建立优化模型、设计启发式算 法对所有碎纸片遍历,若未得到最优的复原结果,需要进行适当的人工干预,最终得到 碎纸片拼接复原结果。 问题一中,要求在仅考虑纵切的情况下,对附件一、二中的 19 条碎片进行拼接复原。 根据以上分析,对 19 条碎片横向排开,计算碎片边缘所含文字特征的匹配度,匹配度最 高的一组即为所得复原结果。 问题二中,要求在既考虑纵切又考虑横切的情况下,对附件三、四中的 209 个碎片 进行拼接复原。在问题一的基础上,还需考虑上下相邻碎纸片间的匹配度。因此,需要 在问题一中建立的模型上进行改进,得到问题二的模型。 问题三中, 要求在问题二的基础上考虑双面打印文件的碎纸片, 对附件五中的 209 个 碎片进行拼接复原。在问题二模型的基础上,还需考虑到正反两面的匹配度,因此需要 对模型二进行改进,从而可以得到问题三的模型。
g1 g2
g3 g4
图 1 像素灰度示意图 3)对两侧像素灰度值先作差,再求绝对值,得到该点两侧碎片的匹配度 。
3
(2)匹配度的定义 对匹配度作如下定义:
i ( g1 g 2 ) ( g3 g 4 )
( 1)
其中 i 1, , n 。 i 越小,表示第 i 点的匹配度越好,依据上述匹配度函数可得其他点的 匹配度。 基于以上步骤,通过定义匹配度函数,对碎片边缘文字特征完成了特征提取。 5.1.2 模型一的建立 (1) AGTSP 简介 旅行商问题是组合优化中的经典问题,在许多领域都有广泛应用,凡是可以抽象为 遍历全部城市一次且仅一次,求代价最小的路径问题,都可以利用 TSP 问题的思想来进 行建模求解[2]。 通过分析题意, 本题并非传统意义上的旅行商问题, 而是非对称广义的旅行商问题, 即 AGTSP 。在非对称广义旅行商问题中,设一个旅行商要访问 n 个地点,点 i 与点 j 间 的距离记为 cij , 且 cij 与 c ji 不一定相等, 这是与传统旅行商问题的不同之处。 在 AGTSP 中, 抓住问题的本质特征,通过构造网络 G V , A, C ,可对非对称广义旅行商进行求解, 其中: V 1, 2, , n ,表示由旅行商所经过地点构成的点集。