清华大学再出神人,汽车被盗,用“贪心算法”瞬间找到偷车贼

全世界只有3.14 % 的人关注了

爆炸吧知识

惹谁

都不要惹会算法的人

今天要讲的故事的主人公,是来自圣母大学计算机系的副教授史戈宇。就在之前,他还经历了一场惊心动魄的劫车事件。

度假旅游遇劫匪

在某一个周末,史教授计划着开车带一家人去百慕大度假旅行。一家人从印第安纳的South Bend出发,中午12点左右到达了芝加哥中国城。

当时史教授发现Mazda CX-9提示胎压异常,于是决定开车前往附件的加油站给轮胎充气。

但由于加油站的设备简陋,没有胎压读数,史教授想着要不换个加油站试试。

跟我们平常出去关门一样,上车后史教授觉得右前轮的气门帽好像没拧紧,于是决定下车看看。

刚下车,就有两个20来岁的黑人从后面的一辆车下来并靠近史教授,其中一个人直接用一把枪指着他:“See the gun? Give me your wallet. Give me your key.”另一个劫匪则钻进了驾驶室并且让所有人下车。

因为车里还有小孩和孕妇,安全起见,史教授很配合劫匪,把钱包给了他们。劫匪要史教授赶紧把车钥匙给他。与此同时,车里的另一个劫匪也在催车里的人下车。

史教授发现他们并没有关上驾驶座的门,于是趁机把手机扔到了门上的夹袋里,希望对后续追踪能有所帮助。

报警911 警察无作为

大家都下车后,劫匪也一溜烟开车跑了。而史教授一家的行李,包括护照绿卡还留在尾箱。

由于劫匪并没有抢走史教授太太的手机,她的手机就成了史教授一家人的唯一通讯工具。

被抢之后史教授立马拨打了911,第一次大约等了十几秒并没有被接通,直到第三次电话才打通。

但是911接线员却告知:“I cannot find your license plate number sir”。(无法查询到史教授的车牌信息)

于是他继续拨打911,这一次接线员在听了案情描述后,帮他转接到了芝加哥中央警察局,但中央警察局的接线员又表示:”This is a true emergency and you should call 911 directly.“(你应该打给911啊)

打个电话却跟踢皮球一样,史教授非常生气,说到:我打了,但是是他们把我转过来的!

于是,接线员又帮转回了911,最后的接线员终于说派警察过来,此时离抢劫发生已经过去了大约十分钟。

过了大约十分钟,与美国大片里的大量警车闪着警灯蜂拥而至的场景不同,只来了一辆警车,下来了两个警察,仔细的询问了案发的经过,包括有没有看清劫匪的长相、年龄等。

史教授:“我说你们能不能先帮我去追一下车子,这些信息我慢慢给你提供。“

警察:”别担心,一旦获得了所需的所有信息,就会将史教授的车牌信息输入系统并发布给执行的警察。“

最后,等警察处理完所有的事情时,距车子被劫走已经过去了整整半小时。

警察发现加油站有监控,于是进到店里准备看监控。但没过一会,他们就放弃了,因为他们俩不知道怎么上传视频……还告诉史教授会有侦探来处理这件事,他们只能帮到这里了。

两警察刚准备上车离去时,又跑过来问史教授:“你的Mazda CX-9 是台两门的对吧?”

史教授听了表示已经完全无语了,敢情你就没把我之前的话听进去?

“长官,是个四门的SUV。”

“OMG. It’s an SUV? F*ck!”

然后警察立刻冲回车里拿起对讲机说:“It is not a small car. It’s a four-door SUV.“

图片来源于马*达官网

这时候离史教授的车被抢已经过去了四十多分钟,史教授忽然想起了他把手机留车里了!

警察听了也一脸兴奋:”是iPhone手机吗?有没有开追踪功能?“

“不,是台华为手机”

“什么手机?”

“华为,H-U-A-W-E-I”

“没听说过华为,它能追踪吗?”

“能,但是得花点时间。你们不能直接追踪手机信号吗?”

“不能,那都是电影里的情节,通过手机信号根本不能追踪手机。”

史教授脏话都快飙出来了,如果不能追踪,那Sprint’s Family Locator 和 AT&T s FamilyMap的功能都是骗人的吗?明明三角追踪是很容易的!

由于史教授等登入手机账户,需要使用学校的email,但是学校的email系统开启了基于Duo的two step verification。

所以在新的手机上登录需要首先通过自己的手机或者办公室电话验证,但这两条途径都没有办法使用。但由于周末学校也没人,史教授也放弃了。

梦引起的找车思路

最后,史教授一家人打了个Uber之后,就回家了。

回到家后,史教授找朋友借了台电脑,立刻赶回学校,利用办公室的电话通过了two step verification,,登录了find my phone的网页。

虽然last seen的日期是当天,但已经无法显示实时位置了,看来劫匪对电子产品的追踪功能还是非常了解,找车是无望了。

回到家后,身心疲惫的史教授很快就睡着了。史教授做了个梦。

他梦到留在家里的那把车钥匙上有个远程遥控,摁一下车子就自己开回来了,而且所有行李都还在车上。

这个梦也让他想起了一件事:当时在买车的时候,他们讨价还价了很久,到最后价格实在压不下来时,就让对方给免费装了一个Mazda Mobile Start (MMS),可以利用手机远程发动汽车引擎,给车辆上锁和开锁。”

“我的判断是既然能用手机远程控制车子,那在安装这个MMS的时候也一定启动了 GPS定位的功能。”

史教授马上打开电脑搜了一下,发现果然MMS还有一个附带功能,就是帮你找到停车地点。

于是他立刻在手机上登录这个app,但发现密码始终不正确。最后他去网上找了MMS的说明,阅读后发现了可能没续租……

于是史教授尝在网上续租了一年的服务,果然,他顺利的登录进了app。

“不得不说,马自达的IT实在是太烂了。从软件工程角度来说,没有续租导致的无法登录居然显示密码错误,这是UI设计的反面典型。

只是这样也就算了,当我在app里找到CarFinder的界面,他的显示就是一个红点和一个大圈,红点代表车的位置,大圈代表车的范围,然后右上角有距离显示81.8英里和相对误差+/- 22 英尺。没有地图,没有提供GPS坐标。”

所以,史教授除了能知道他和车的直接距离和相对位置,别的什么都不知道(后来发现其实那个相对位置也只有距离车很近的时候才会比较准,距离远的时候完全可能是错的)。

他还顺便看了一下引擎的状态,是OFF的,说明车子被停在了某个地方。

也算是有车的线索了,史教授立马打电话给911,结果接线员说这事儿不紧急,要他直接联系芝加哥中央警察局。

史教授又打给芝加哥警局,接电话的警员表示这个事情你得告诉负责你的案子的侦探啊,但今天周末他不在办公室里,我帮你转到他语音信箱吧,这样他上班就能第一时间知道。

史教授听了,虽然愤怒,但还是耐着性子说:“这事难道不是越早解决越好嘛?”

“那行吧,你把GPS坐标给我,我们派人去看看。”

史教授随后表示汽车没有坐标,只能看到车子和用户的距离以及相对的方向。

听到这话,对方又表示那警力有限,不能帮着你满大街找车。并且还给了一个非常有建设性的意见:不如你自己去找找?找到了以后可以给我们打电话呀,我们一定来解决剩下的事情。

史教授心想,看来警察是靠不住了。

求人不如求己系列

早上六点,于是史教授不好意思的打了个电话给他的一个平时还挺机灵的学生小王,请他陪同一起去趟芝加哥找车。

小王听了,二话不说就赶了过来,史教授把驾驶任务交给了小王,自己开始在车上进行一些信息搜集和准备工作。

大概搜索了一下,史教授发现按照MMS提示的直线距离,大概目标位置会是在芝加哥的南郊,一个以暴乱和枪击闻名的地区,看来得考虑好安全问题。

史教授当时目测劫匪手里的枪的口径应该不超过9mm,有效射程是100米左右。这样的话,只要保持车辆始终在移动状态下,没有经过专业射击训练的枪手是很难击中车里的人的,同时只要始终警惕100米范围内是否有人靠近就可以了。

史教授同时也发现MMS相对位置提示有问题,因为他们出发的时候MMS提示车子位于正北方,而芝加哥位于正西方,他判断劫匪肯定还把车留在芝加哥。

因此他决定忽略方位提示直接去芝加哥。上高速后就他发现直线距离很明显的在快速减小,说明方向是正确的。

在快到芝加哥南郊I-94 130th st的出口时,距离减小到了2英里 。

于是史教授从该出口下去以后转了一圈,发现周围都是公园,而且距离也没有继续减小,于是又开回I-94, 继续前行,距离又开始减小,到了Roseland区域时,降到了1英里以下,但偏偏I-94在这里分叉了另一支高速 I-57 West,于是又只好转到了I-57并在下一个出口 Halsted St下了高速。此时距离提示又增加到了2英里。

最终,史教授把车辆位置确定在了图中红色的区域里。

以下是该区域的放大地图:

下高速后,他们进入了这片小区,同时发现有一辆白色的小车一直跟在后面。直到过了好几个街区以后,那辆车才消失不见。

史教授嗅到了危险的气息,再次和学生约定:不管发生什么情况,尽量不要停车,如果一定要停车,一定要让车辆保持在D档随时准备开动。

接着,史教授开始了一件最有技术含量的事:因为相对方位并不靠谱,他选择了计算机算法中最直接的greedy approach,也就是沿着一个方向开,直到距离不再明显变小(这是说明我们前进的方向已经几乎垂直于我们和目标之间连线),就转到垂直方向的街道再继续搜寻。

在小区中兜了一段时间以后,终于在S Eberhart Ave在101st St和102nd St之间某个位置直接距离显示为200英尺,说明离目标已经很近了。

但奇怪的是,他们并没有看到Mazda,周围其他街道上时提示距离也大于200英尺,史教授完全没有办法让距离进一步减小了。

转来转去,他们最后发现,原来在S Vernon Ave和S Eberhart Ave之间还有一条小路,这条路并没有名字,在谷歌地图上甚至没有显示,但在上面这张卫星图里面可以看到这条路的存在(红色标记左侧的第一条路)。

于是他们从101st St上转入了这条小路,入口是这样的。

史教授他们保持缓慢的速度进入了小路。进入就发现MMS里提示的距离又开始明显下降,直到开过倒数第三间车库的时候,车库门是关着的,但距离显示小于5英尺,MMS发出提示音,看来车子就在里面!

没有过多的停留,在转到102nd St上后,史教授拨打了911,告诉接线员找到了被劫车辆。接线员问清了位置和所在的车辆信息后,让他们在原地等待警察。

就在他们紧张的等待时,史教授发现自己与被劫车辆的距离已经变成了1.5英里,而且引擎已经启动,说明车辆正在行驶中!

懊悔之余,史教授拨打了911,并且决定跟上马自达!但不幸的是,MMS并不是设计用来追踪行驶状态下的车辆的,因此车的位置和距离更新不是实时的。

两人人漫无目的的在路上行驶,希望有机会能看到这辆马自达。十多分钟后,警察来了,史教授简单描述了如何寻找到被劫车辆的位置,并且告诉他们劫匪又跑了。

警察从史教授手里借走了手机,让他们在路边等待,他们去追踪。史教授告诉了警察如何使用MMS定位,并再三强调只能相信距离,不要去看相对位置。

警察留了手机之后,很快就开走了。但史教授决定还是继续在附近寻找,而不是在路边等待,一方面是碰碰运气,另一方面则是出于安全考虑,不想要停留在一个地方。

在接下来的一个多小时里,史教授和警察一共通了三次电话:第一次,警察问我那个追踪软件在哪里,是不是谷歌地图? 第二次,警察说距离很近了,0.4英里, 但是没有看到车。史教授告诉他MMS还有个panic功能,手机上点击后可以让车发出很大的警报声;第三次,警察说没找到车,决定回来把手机还给史教授。

警察回来见到史教授后,还和他抱怨了一通MMS是多么的垃圾和难用,并询问他是否打算继续找?

史教授说当然啊,于是警察就说那你找到了再打电话给我们吧,然后就开车走了。

史教授拿回手机,更新一下状态,发现引擎已经处于了停止状态,说明车子又被停在了某个地方,距离显示是4.3英里。于是史教授和小王又开始重复早上那套简单但行之有效的greedy search方案。

皇天不负有心人,他们在位于2801 W 87th St的Citgo加油站里看到了被劫车辆(车子就停在下图中左边那辆白色汽车左边的位置)。

因为打着双闪,无法看清车内是否有人。

汲取之前的教训,他们把车也开进了加油站,为了确保能看到被劫车辆,他们停到了图里黑色汽车所在的位置,随后再次拨打了911。

这次史教授直接告诉接线员:我看到了被劫车辆。为了让警方重视,史教授故意说车里好像有人,他们还有枪。

果然,不到五分钟,第一辆警车就到了。在随后的几分钟里,来了七八辆警车,来的警察还都穿着防弹背心,手放在腰间的枪上。

一群警察小心翼翼的靠近那辆马自达,很快就确定了车里并没有人。

史教授也走了过去,打开后尾箱,发现里面有自己的书包,装着单反和几个镜头的相机包,史教授太太的包,以及不知道是谁的一双崭新的Nike boots。

丢失的东西包括多个证件,并且车里还弥漫着一股大麻的味道,后座上还留了一些吃剩的食物的袋子和可乐罐。

全部重要证件和大部分财物都在,甚至还多了一双Nike……

由于劫匪没有来的及清理车里的大量证物,警方提取了劫匪的DNA和指纹。

同时警察们也都被史教授能够自己如此迅速解决此事而惊叹:“They shouldn’t have messed up with computer science professors!” 

那当然,我们史教授可是个牛人!说出来吓死你们!

史弋宇

现任圣母大学计算机系终身副教授,博士生导师,并兼任电子系终身副教授, 该校美国国家科学基金委新型可持续人工智能产学研究中心主任。之前任密苏里大学罗拉分校助理教授,博士生导师,美国国家科学基金委基于网络的软件系统产学研究中心副主任。

史教授于2005年在清华大学电子工程系获得学士学位,2009年在美国加州大学洛杉矶分校(UCLA)电子工程系获得博士学位,2009-2010在卡内基梅隆大学进行博士后研究工作。

史教授目前的研究方向主要是人工智能的硬件实现和在医疗等领域的应用。他曾获得美国国家自然基金委CAREER奖,IEEE Region 5 个人成就奖,卡尔圣路易科学院发明奖等;多次在领域内顶级国际会议上获得最佳论文提名。

他获得美国发明专利5项(其中一项于2009年获得IBM专利奖,一项获得台北国际博览会金奖);在国际重要研究期刊和会议上发表学术论文100余篇。

他现任IEEE VLSI Circuits and System Letter的deputy Editor-in-Chief,IEEE Trans. on CAD, ACM JETC, VLSI Integration等期刊的Associate Editor, 以及ACM SIGDA的Education Chair。

关于文章中提到的,定位车辆的关键技术“计算机算法中最直接的greedy approach”,史教授说,其实就是一个螺旋搜索,确保他们始终在沿着距离下降的方向单调搜索一定可以收敛的。

同时这个算法也称贪心算法。是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。

“设想平面内有个点x0,你的目标函数是f(x,x0)f 是euclidian distance between x and x0,欧式距离是个凸函数,全局最优解存在切唯一,x0。”

百度北京大数据实验室主任浣军教授认为,史教授用greedy approach是个凸优化问题,他始终能测距离。

学霸不可怕,会算法的学霸最可怕!惹谁都不能惹会算法的人!(还有,我们真不是给马自达打广告啊)

写在最后

看完史教授的故事,再来看看超模君的创意之作!数学史上传奇的数学家们,只要数学能力够强,在当时看起来天马行空的东西,都能给你造出来。

毕竟,学数学永远都不会落伍。还在等什么?快来开启你的数学之旅吧!

所有购买《数学之旅·闪耀人类的54个数学家》的朋友,只需再加1元,就可换购价值69元精美数学文创产品公式之美帆布袋1件!


名额有限,先到先得哦。

作者简介:超模君,数学教育与生活自媒体博主,新晋理工科奶爸。出版过《芥子须弥 · 大科学家的小故事》;《数学之旅·闪耀人类的54个数学家》。后续数学文化创意多多,欢迎关注认识!

文系网易新闻·网易号“各有态度”特色内容

部分资料来源于网络

转载请在公众号中,回复“转载”


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之RecyclerView 实现真正的Gallery效果

简介: RecyclerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,但是直接把viewholder的实现封装起来,用户只要实现自己的viewholder就可以了&#x…

手把手教你学Dapr - 2. 必须知道的概念

Sidecar 边车Dapr API提供Http和gRPC两种通讯方式。运行方式则可以是容器也可以是进程(Windows开发推荐使用Self Hosted,后续会解释)。这样的好处是与运行环境无关,且独立运行不需要应用包含Dapr运行时的代码。只需要通过SDK集成即…

office打开服务器文件提示内存不足,打开Excel2016提示内存或磁盘空间不足的解决方法...

摘要在Excel2016或者2013中打开新建的空白文档提示:内存或磁盘空间不足,Microsoft Excel无法再次打开或保存任何文档。问题描述在Excel2016或者2013中打开新建的空白文档提示:内存或磁盘空间不足,Microsoft Excel无法再次打开或保…

模块化 JS Ajax 请求

为什么80%的码农都做不了架构师?>>> 现在有一个需求,点击 Button需要调用一个函数获取 JSON 数据传给 artTemplate 模板渲染生成页面,所以需要在这个函数中封装原生的 JS Ajax,同时重新渲染页面。 Arttemplate 模板 &…

女孩子胸前的秘密,研究三天后我出不来了……

全世界只有3.14 % 的人关注了爆炸吧知识前两天,知识君写了一篇关于胸大女生烦恼的科普文。忍“乳”负重,身材好的女孩子究竟有多不容易?我从科学的角度算出来了……你们居然觉得我有写广告的嫌疑?那就真的是让知识君觉得太委屈了&…

为什么ps图片打开是色块_PS教程 我的PS我做主之山村调色

执行【文件】|【打开】命令,打开原稿图像打开“图层”面板,按两次键盘上的快捷键“CtrlJ”复制背景层,得到图层1、图层1副本3. 打开“通道”面板,选取蓝通道,如图执行【图像】|【应用图像】命令,打开“应用…

EVGA Precision—— 显卡超频神器 可用于调节风扇转速 降温

EVGA Corporation,总部在美国,美国最大板卡公司之一,是Nvidia的核心合作伙伴。 EVGA Precision X是一个可以满足用户对显卡所有需求的软件。它可以让我们调节显卡的风扇转速、时钟速度以及电压等。 系统要求 微软Windows 8/7/Vista/XPGeForce…

ftp服务器新建虚拟目录,ftp服务器 虚拟目录

ftp服务器 虚拟目录 内容精选换一换下载地址:https://github.com/gmarcais/Jellyfish/releases/download/v2.2.10/jellyfish-2.2.10.tar.gz下载地址:http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/human_g1k_vftp服务器 虚拟目录 相关…

精彩回顾 | Dapr闪电说系列

点击蓝字关注我们微软 Reactor 为帮助广开发者,技术爱好者,更好的学习 .NET Core, C#, Python,数据科学,机器学习,AI,区块链, IoT 等技术,将每周三到周六,组织 3~5 场线上分享活动。…

地球不是圆的,别让教科书限制了孩子的想象力!

全世界只有3.14 % 的人关注了爆炸吧知识我们在科学课上应该学过宇宙很大地球只是宇宙中微不足道的一个小星球虽然诺达的宇宙我们还没怎么探索但你对地球又了解多少呢?我们眼睛所见的我们所知的其实也都只是非常微不足道的一部分今天炸炸就带你来深入了解关于地球鲜为…

三维重建 几何方法 深度学习_基于深度学习的视觉三维重建研究总结

三维重建意义三维重建作为环境感知的关键技术之一,可用于自动驾驶、虚拟现实、运动目标监测、行为分析、安防监控和重点人群监护等。现在每个人都在研究识别,但识别只是计算机视觉的一部分。真正意义上的计算机视觉要超越识别,感知三维环境。…

Codeforces Round #174 (Div. 2) Cows and Primitive Roots(数论)

Cows and Primitive Roots time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe cows have just learned what a primitive root is! Given a prime p, a primitive root is an integer x (1 ≤ x < p) such …

Android之SlidingMenu使用和总结

SlidingMenu使用和总结 我们经常看到手机QQ和酷狗主界面里面都有侧滑菜单的使用,今天我们在这里介绍怎么使用SlidingMenu的使用和总结,SlingMenu是开源的,不说了多了,先爆照 第一步:下源码 // 下载 ZXing 项目源码 https://github.com/jfeinstein10/SlidingMenu …

如何让你的碎片化时间更有价值?

全世界只有3.14 % 的人关注了爆炸吧知识不知道大家有没有发现&#xff0c;我们开始变得浮躁起来了&#xff0c;我们不再愿意花大量时间去做成一件事情&#xff0c;也无法下定决心&#xff0c;改变自己糟糕的现状。却羡慕着手机屏幕里各种各样的成功人士&#xff0c;活出了自己最…

窥探Swift编程之强大的Switch

之前初识Swift中的Switch语句时&#xff0c;真的是让人眼前一亮&#xff0c;Swift中Switch语句有好多特有而且特好用的功能。说到Switch, 只要是写过程序的小伙伴对Switch并不陌生。其在程序中的出镜率还是比较高档。Switch属于程序的分支语句&#xff0c;Switch的功能便于处理…

安富莱v6开发板网口通讯_安富莱嵌入式周报第170期:2020.07.202020.07.26

说明&#xff1a;谢谢大家的关注&#xff0c;继续为大家盘点上周精彩内容。1、沁恒推出带USB3.0&#xff0c;千兆以太网&#xff0c;光纤接口的RISC内核单片机CH569 CH569/565 微控制器使用 RISC-V3A 内核&#xff0c; 支持 RISC-V 指令的 IMAC 子集。片上集成超高速USB3.0主…

连续子数组的最大和

有一个整数数组&#xff0c;求出连续子数组的和的最大值。有一个首尾相连的整数数组&#xff0c;求出连续子数组的和的最大值。在数组中&#xff0c;数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。1、思路&#xff1a; 动态规划思路&#xff1a;用函数f(i)表…

WPF中设置了WindowStyle=None后,窗口仍然有边框的解决方法

1. 设置了窗体的WindowStyle"None",窗口还是右边框&#xff0c;如下图&#xff1a; 2. 这是因为窗体默认是可以改变大小的&#xff0c;所以需要修改ResizeMode的值 ResizeMode"NoResize", 这样设置后&#xff0c;上图中的边框就没有了

两度破译“白宫密码”,让美国政府部门崩溃,却称自己是抱娃敲代码的普通妈妈

全世界只有3.14 % 的人关注了爆炸吧知识抱娃敲代码称成功是幸运而已今天我们来点正经的&#xff0c;来跟大家分享一位乘风破浪的姐姐--王小云教授。自踏入2020年以来&#xff0c;山东大学网络空间安全学院&#xff08;研究院&#xff09;院长&#xff0c;双聘院士、讲席教授王小…

github java开源项目经验_10月份Github上最热门的Java开源项目

10 月份 GitHub 上最热门的Java开源项目排行已经出炉啦&#xff0c;在本月的名单中&#xff0c;实战项目类居多&#xff0c;当然也有像JavaGuide这样学习指南类项目&#xff0c;下面就是本月上榜的10个开源项目&#xff1a;1、Java&#xff08;Star 18468&#xff09;https://g…