离散数学大报告.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE \* MERGEFORMAT11  MACROBUTTON MTEditEquationSection2 Equation Chapter 1 Section 1 SEQ MTEqn \r \h \* MERGEFORMAT  SEQ MTSec \r 1 \h \* MERGEFORMAT  SEQ MTChap \r 1 \h \* MERGEFORMAT 离散数学大报告 信计12 徐文豪 2110902039 1.交大最短路径 1.1 内容简介 图论中最短路径算法在现实中的应用很广泛,包括道路建设、线路搭建、最优公交路线等等,因此亲自实践一下它是很有意思的。同时,漫步在美丽宁静的校园中,有时会想到是笔直的康庄大道更快还是曲径通幽的小路更快,于是交大最短路径的想法油然而生。 在报告的这一部分,我选了自己在校园里常到的38个地点作为图中的顶点构造无向带权图,用Florid算法和matlab解决编程问题,最后得到了比较理想的结果。 1.2 构造无向带权图 (1)确定要测量的边 顶点的选择是很容易的一件事,但选择要测量的边就不是那么简???了,最简单的想法莫过于每两个顶点测一个边,但这存在一个很严重的问题,总共38个顶点,如果这样测的话总共需要测条边,这明显会累死测量的人,同时,相距较远的两个顶点的边中往往会包含其余的顶点,因此这703条边有大量的重复,考虑到要做的是最短路径,我定的两条添边原则如下: 原则1:将初始节点从第一个节点循环到最后一个节点,添边只能从初始节点到初始节点后面的节点。 原则2:只有当两点间有一条不包含任何其它节点的可能最短边时才添加该边。 实践原则2时,需参考总体地图,我参考的交大电子地图如下: (2)确定测量边的方法 经过(1)我确定了69条需要测量的边,对于怎么测量这些边,最开始想到 的是用步长测,东18寝室的地板砖都是0.5m一块的,经过测量我发现我走一步 基本稳定在0.75m左右。但在用步长做实际测量的时候却出现两个问题:一是 实际要测的步数往往都是几百的,因此中间很容易数错;二是这对测量者的忍耐 力是个很大的挑战,很恶心人。 测了两条边后我放弃了这种方法,想到了用行走的时间测量边长,同样是用 东18的瓷砖做实验,我发现我的平均步行速度稳定在1.645m/s左右,因此若用 手机上的计时器计时我走过两点花的时间,乘以步长即得边长。 不过即便如此,测量完所有的边还是花了差不多四个多小时左右。中间有 同学提议说可以用百度地图测距离或者用交大地图的比例尺测距离,但由于这样 只能测直线距离,忽略了中间的障碍物和坡度,因此准确度很难保证,而且对有 小地点如梦婷阿姨店等甚至都没有标记。最终测量出的边数据见附录1。 (3)最短路径算法简介 目前常用的最短路径算法主要为Dijkstra算法和Florid算法,两者的区 别是Dijkstra一次算一个起点到其它起点的最短路径,而Florid算法一次性算 出所有顶点到其它顶点的最短路径。虽然用N次Dijkstra算法同样可以算出所 有顶点到其它顶点的最短路径,且复杂度同样为,但因为Florid算法的 循环更加紧凑,所以实际速度更快。 另外,值得一提的是,对固定图的最短路径,当把最短距离矩阵和前驱矩阵算出来并保存之后,就不必再进行之前的运算了,以后查询时只需用常数时间。Florid算法见附录2,从前驱矩阵得到路径的函数间附录3。 (4)程序运行结果 主程序见附录4,程序运行结果如下: 2.谓词逻辑与反定义 2.1 背景介绍 对于给出的数学定义,比如数列极限,函数连续,函数一致连续等等,我们可以比较容易地记住它们。但对这些定义的反定义,我们凭直觉去给出它们的条件时,通常会比较麻烦,而且容易犯错误,比如,对于给定实数列和实数,的定义如下:  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 1) 如果仅凭直觉给出反定义,则不小心会给出的如下定义:  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 2) 而这种定义是不正确的,因为它要求当且仅当的某个有界邻域内 只有的有限项,比如数列,它是发散的,却明显不满足之上(2)给出的定义。 (2)的问题在于实际上“当”字是有的意思的,构造反定义时要把其改为(不是说看英文文献就能避免这个问题了

文档评论(0)

j43h9nh7 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档