瞧!大树下的那些可爱的小孩~~
望!白云在蓝天中悠悠然然的~~
听!夏天的蝉自由自在地唱歌~
这一切、一切都过去了……
时间在流
记忆在淡
谁还记得小时候和我拉拉勾
谁还记得小时候那害羞的我
谁还记得小时那可笑的承诺
任何的事情都过去了……
我们在走
回忆已忘
如果说期待了太久
如果说等待了以后
那么我、可不可以
可不可以带着回忆一直走到最后
想你们永远停在昨天……
一个人走
专属唯一
羞红的夏天
默默地许愿
微笑着傻傻的样子
想让时间定格在这一天
寂寞的时候
安静的沉沦
低着头呆呆的样子
幼稚的我真的太过愚蠢
多完美
多可怜
的童话世界
多诚恳
多虚伪
的粉色信笺
看!那蓝蓝的天空……
瞧!大树下的一切……
望!悠悠然的白云……
听!蝉美妙的声音……
这一切、一切还会重复……
关键字:floydDijkstra广度优先算法贪心搜索算法围捕策略
1、模型建立
为了进一步探讨,首先要对问题建立模型。这里假设已知某市的交通图,包括该市所有道路,路口,路口间距离及交巡警平台的位置。并假设罪犯逃逸速度与警察围捕速度相同,v警=v匪=60km/h,罪犯在P路口作案,案发3分钟后接到报警并开始实施抓捕。作为决策者应该知道警车从某平台到任一路口的最短时间以及罪犯从案发地到某一路口的最短时间。假设某平台到A路口的最短时间为T1min,罪犯到达A路口的最短时间为T2min,当且仅当T1+3
作为必要准备对路口进行编号,把交通图用路口的邻接矩阵表示并应用floyd算法求出平台m到路口n的最短距离为d(m,n),并用Dijkstra算法求出罪犯到达路口n的最短距离d0(n)。则T1=d(m,n)/v警,T2=d0(n)/v匪。
2、初步策略与分析
首先,最基本的围捕策略是:当接到重大刑事案件报案后,第一时间封锁所有进出本市的交通要道,这样就形成了以市为单位的包围圈。这样做的好处是可以保证歹徒无法流窜到外市,但显然这个包围圈太大了,为以后的搜捕工作带来了不便。运用一定策略,我们完全可以将包围圈缩小到以案发地为中心的某个区域内。假设共封锁k个路口形成包围圈,各路口封锁所需时间分别为T1T2...Tk
3、基本广度优先算法与分析
采用路口分级法将路口分级,从而将路口分布拓扑图化为树状图。某路口的子节点定义为该路口直接相连的路口,事发路口为根节点,与其直接相连的7、31、33号路口定义为第一级节点,这三个路口的直接相连的路口为第二级节点,以此类推。
为了使包围圈严密(即使罪犯无法逃脱),可以自上而下逐层进行封锁决策,采用广度优先的遍历方式,枚举出每层封锁哪些路口,这些路口又由哪些平台封锁,若某路口没有被封锁,则在下一层中加入其子节点,这样,当遍历到某一层使得该层路口全部被封锁时,包围圈就形成了。因为从根节点出发的每一条树枝都被封死,即罪犯所有可能的路线都被封堵住了,所以这个包围圈是严密的。这样,我们完全可以用遍历搜索的方法枚举出所有的包围圈,选出时间最少,范围最小的那个。
但是,由于一个市区的路口数以百计,每个交巡警平台所能管辖的路口也很多,导致广度优先搜索的时间复杂度过大,超出了一般计算的运算能力。于是,本文提出了基于贪心策略的搜索算法。
4、加入贪心的搜索算法
一般来说,最佳围堵方案需满足3个标准:(1)包围圈足够严密以确保将嫌犯围堵在包围圈内(2)形成包围圈的时间尽量少(3)包围圈尽量小。
第一个标准基本广度搜索算法已经可以保证,为了让包围圈尽可能的小,我们采取优先封锁高级路口的贪心策略。即在遍历与案发路口直接相连的第一级路口7、31、33时,封锁所有能够被封锁的路口如7、31,对于33号路口,没有任意平台能够将其封锁,此时再将其子节点加入下一层路口集,对下一层路口采取相同策略。
这样做的合理性在于当高级路口被封住时,其所有子路口都不用再封锁,显然,按此贪心策略可使最终得到的包围圈最小。不仅如此,这样做还剪掉了大量的树枝,大大缩减了搜索量,广度优先搜索算法也因此可行。
最后在搜索出的所有可行解中找出形成时间最短的包围圈作为最终围捕方案实施。
5、算法流程
具体算法流程如下:
Step1:遍历当前层的下一层(从案发路口开始),对该层路口进行封锁。
Step2:对该层某一路口,搜索能将其封锁的所有平台记为此路口的决策集,若决策集中某一平台既没有被其它平台使用也没有在搜索算法回溯到当前层之前被该平台使用过,则用其封锁该路口,同时将此平台标记为已用并从此路口的决策层中删除,将该路口标记为已封所,转step4。
Step3:若搜索完该路口所有临台也没有满足条件的,则在下一层路口集中添加此路口的子节点。
Step4:该层遍历完成后,若该层所有节点均已被封锁,则转step5,否则转step1.
Step5:一次遍历完成,生成调度方案,并计算该方案的封锁时间和包围圈范围进行记录。
Step6:将当前层所有路口所使用的平台恢复标记为未使用,将当前层所有路口恢复标记为未封锁,回溯到上一层的父节点,令封锁它的平台取其决策集中的下一个,转step1。当该父节点决策集中所有平台都已取遍时,对该层其他父节点进行相同操作。
Step7;当回溯到根节点,即第0层时,说明已完成所有情况的求解,在生成的若干个调度方案中综合考虑该方案的封锁时间和包围圈范围,选出最优方案作为最终调度方案。
参考文献:
[1]姜启源,数学模型(三),北京:高等教育出版社,2003.8
这位企业家登的是海拔8848米高的珠穆朗玛峰。由于登山经验不足,加上高原反应很强烈,没有控制好呼吸,氧气消耗得很快。当他爬到8300米左右的高度时,突然发现有些胸闷,原来氧气已经不多了。此时,摆在他面前的选择是两个,一个是一边往下撤,一边向半山腰的营地求救,生命应该没有危险,但登顶的机会就只能留到下一次了;另一种选择是,先登上顶峰再说。不肯轻易认输的他选择了后者。
当他爬到8400米的位置上时,发现路边扔了很多废氧气瓶,他逐个捡起来掂量。在8430米左右的一个路口,他捡到了一个盛有多半瓶氧气的氧气瓶。靠着这半瓶氧气,他登上了顶峰,并安全撤回了营地。
这位企业家的登山经历告诉我们:干事业,就像登山。受挫时,不要轻言失败,更不要轻易放弃。很多时候,只要再坚持一会,成功就在下一个路口等你。
有一位汽车推销员,刚开始卖车时,老板给了他一个月的试用期。29天过去了,他一部车也没有卖出去。最后一天,老板准备收回他的车钥匙,请他明天不要来公司。这位推销员坚持说,“还没有到晚上12时,我还有机会。”于是,这位推销员坐在车里继续等。午夜时分,传来了敲门声。是一位卖锅者,身上挂满了锅,冻得浑身发抖。卖锅者是看见车里有灯,想问问车主要不要买一口锅。推销员看到这个家伙比自己还落魄,就忘掉了烦恼,请他坐到自己的车里来取暖,并递上热咖啡。两人开始聊天,这位推销员问,“如果我买了你的锅,接下来你会怎么做。”卖锅者说,“继续赶路,卖掉下一个。”推销员又问,“全部卖完以后呢?”卖锅者说,“回家再背几十口锅出来卖。”推销员继续问,“如果你想使自己的锅越卖越多,越卖越远,你该怎么办?”卖锅者说,“那就得考虑买部车,不过现在买不起……”两人越聊越起劲,天亮时,这位卖锅者订了一部车,提货时间是5个月以后,订金是一口锅的钱。