12月中下旬的周末,史教授原来操持开车带一家人由芝加哥O’Hare经纽约前往百慕大的度假旅行,在途中一座加油站停车检讨车胎时,碰着了两名持枪劫匪。
劫匪抢走了史教授的钱包和Mazda CX-9汽车,让这次旅行泡汤。
迁移转变的地方在于,史教授利用马自达的手灵活员运用程序(Mazda Mobile Start,MMS),成功定位到车辆的相对位置,并用打算机算法中最直接的greedy approach(贪心算法),将车辆位置征采了出来。

清华卒业计算机教授遭持枪劫车!靠“贪心算法”追回秒杀美国警察_传授_距离 云服务

连现场的警察都感叹:“They shouldn’t have messed up with computer science professors!”(千万别惹打算机教授。

被抢:两个劫匪持枪,抢走所有行李!

按原操持,史教授一家人开车从印第安纳的South Bend出发,大约中部韶光12:00 到达芝加哥中国城,当时创造Mazda CX-9提示胎压非常,因此史教授决定午饭后开车前往中国城附近的一家Shell加油站给轮胎充气。

当时加油站里的车并不少,而且也有些人在店里买东西,没有任何危险的征兆。

由于加油站的气泵非常简陋,须要投币4个quarter才能利用,而且并没有供应胎压读数,于是史教授决定换个加油站试试,但上车后他想起来彷佛右前轮的气门帽并没有拧紧,打算下车拧紧。

刚下车,有两个身材不高大约20来岁的黑人从后面的一辆车高下来并靠近史教授,个中一个直接用一把枪指着他低声说“See the gun? Give me your wallet. Give me your key.” 并且反复重复说,神色紧张。
另一个劫匪则钻进了驾驶室让所有人下车。

史教授考虑到车里还有孕妇和小孩,为了安全起见,就很合营的把钱包递给了劫匪,劫匪打开后从里面拿出了所有的现金。

劫匪随后把钱包还给史教授,又让他赶紧把车钥匙交给劫匪。
与此同时,车里的另一个劫匪连续敦促所有人下车。

“我创造他并没有关上驾驶座的门,就趁此机会把我的手机扔到了门上的夹袋里,希望对后续追踪有所帮助。

在大家都下车后,劫匪一溜烟的就把车开跑了,而史教授一家所有的行李,包括护照、绿卡等等,都还在车尾箱里。

报警:三次才打通911,警察把车型都搞错了

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

被抢之后史教授首先拨打911,第一次大约等了十几秒并没有被接通。
于是第二次再打,还是没有成功(以是关键时候911也不一定靠谱) 第三次再打,终于通了。

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

“我被劫匪持枪抢了车,打911报警,居然还得自己去警察局做笔录,估计等我搞完,车都已经被chop shop大卸八块了。

于是他连续拨打911。
这一次接线员好了一些,在史教授又一次描述了案情后,接线员帮转到了芝加哥中心警察局,对方的接线员又问了一遍情形,说这个你该当打给911啊(This is a true emergency and you should call 911 directly.)

“我都想骂人了,忍住气连续说我打了,但是是他们把我转过来的。
”于是,接线员又帮转回了911,末了的接线员终于说派警察过来,此时离抢劫发生已经由去了大约十分钟。

又等了大约十分钟,和史教授想象中大量警车闪着警灯蜂拥而至的场景不同,只来了一辆警车。
车高下来了两个警察,仔细的讯问了案发的经由,包括有没有看清劫匪的长相、年事等。

“我说你们能不能先帮我去追一下车子,这些信息我逐步给你供应。
但警察说,别担心,一旦得到了所需的所有信息,就会将史教授的车牌信息输入系统并发布给实行的警察。

末了,当警察处理完时,离史教授的车被劫走已经由了整整半个小时。

接着,警察创造加油站里布满了监控摄像头,于是进到店里要看监控。
但不一会儿那个警察就出来了,问另一个警察:我不知道怎么上传这些视频,你会吗?另一个警察回答:我也不会啊。
他们于是见告史教授:没紧要,会有侦查会来收拾这个视频, 我们的事情就办到这里啦!

于是他们打算开车拜别。

但刚上车又下来问史教授:

“你的Mazda CX-9 是台两门的对吧?”

这时史教授已经完备无语了:

“主座,是个四门的SUV。

“OMG. It’s an SUV? Fck”

Mazda CX-9

然后警察急速冲回车里拿起对讲机说:

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, 因此在新的手机上登录时须要首先通过自己的手机或者办公室电话验证,但这两条路子都没有办法利用。
如果打电话给学校IT,想想周末也没有人,于是放弃。

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

迁移转变:手灵活员运用程序成为关键,史教授决定靠自己寻车

到了家里已经傍晚,来不及吃晚饭,史教授找朋友借了台电脑,又急速赶回学校,利用办公室的电话通过了two step verification,,登录了find my phone的网页。
不出所料,虽然last seen的日期是当天,但已经无法显示实时位置了,后来史教授创造实在这几个劫匪对电子产品的追踪功能非常清楚。

折腾了一天,回到家里很快史教授就睡觉了。
故事本来也该当到此结束,但是他做了个梦,于是凌晨五点醒来时事情有了。

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

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

实在装完后史教授就没怎么用过这个功能,但没想到它终极成了能找回车子的关键。

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

史教授立时打开电脑搜了一下,创造果真MMS还有一个附带功能,便是帮助你找到停车地点。
于是他急速在手机上登录这个app,但创造密码始终禁绝确。
重设了密码,依然提示密码缺点。
末了实在弗成,去网上找了MMS的解释,仔细阅读后创造了另一种可能性:没有续租MMS做事,因此它被停用了。

史教授考试测验着在网上续租了一年的做事,然后就很顺利的登录进了app。
“不得不说,马自达的IT实在是太烂了。
从软件工程角度来说,没有续租导致的无法登录居然显示密码缺点,这是UI设计的反面范例。
只是这样也就算了,当我在app里找到CarFinder的界面,他的显示便是一个红点和一个大圈,红点代表车的位置,大圈代表车的位置,然后右上角有间隔显示81.8英里和相对偏差+/- 22 英尺。
没有舆图,没有供应GPS坐标。

以是,史教授除了能知道他和车的直接间隔和相对位置,别的什么都不知道(后来创造实在那个相对位置也只有间隔车很近的时候才会比较准,间隔远的时候完备可能是错的)。
他还顺便看了一下引擎的状态,是OFF的,解释车子被停在了某个地方。

不管怎么样,总算有车的线索了。
史教授急速打911,结果接线员说这事儿不紧急啊,你直接联系芝加哥中心警察局吧,我们不管。

史教授又打给芝加哥警局,接电话的警员说太好啦,这个事情你得见告卖力你的案子的侦查啊,不过本日周末他不在办公室里,我帮你转到他语音信箱吧,这样他上班就能第一韶光知道。

史教授耐着性子和他说:这个事情不太好拖吧,是不是越早越好?对方说:那行吧,你把GPS坐标给我,我们派人去看看。

但是汽车没有坐标,只能看到车子和用户的间隔以及相对的方向。
听到这话,对方说警力有限,不能帮着你满大街找车。

末了,对方给了一个非常有培植性的见地:不如你自己去找找?找到了往后可以给我们打电话呀,我们一定来办理剩下的事情。

警察靠不住就只能靠自己了。

波折:路上疑似被跟踪,离马自达只有不到5英尺

当时是早上六点,于是史教授满怀歉疚的打了个电话给他的一个平时还挺机灵的学生小王,请他陪同一起去趟芝加哥找车。
小王二话不说就赶了过来,两人在百口人充满忧虑的目送中开车驶入了黎明前的阴郁里。

史教授把驾驶任务交给了小王,而他则开始在车上进行一些信息搜集和准备事情。

首先大概搜索了一下,创造按照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英里,而且引擎已经启动,解释车辆正在行驶中!

打草惊蛇了。

于是史教授一边懊悔该当把车停到一个能看得到那个车库的位置,一边急速决定要跟上马自达。
但不幸的是,MMS并不是设计用来追踪行驶状态下的车辆的,因此车的位置和间隔更新不是实时的。

于是二人漫无目的的在路上行驶,希望有机会能看到这辆马自达。
就这样找了十多分钟后,两个警察来了,史教授向他们大略描述了如何探求到被劫车辆的位置,并且见告他们劫匪又跑了。

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

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

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

警察回来见到史教授后,和他抱怨了一通MMS是多么的垃圾和难用,问他是否还打算连续找?史教授说当然啊,于是警察就说那你找到了再打电话给我们吧,然后就开车走了。

史教授拿反击机,更新一下状态,创造引擎已经处于了停滞状态,解释车子又被停在了某个地方,间隔显示是4.3英里。

于是史教授和小王又开始重复早上那套大略但行之有效的greedy search方案。
很快,他们就在位于2801 W 87th St的Citgo加油站里看到了被劫车辆。
车子就停在图中左边那辆白色汽车左边的位置,打着双闪,无法看清车内是否有人。

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

这次史教授直接见告接线员:我看到了被劫车辆,就在我不远处,车里彷佛有人,他们还有枪。

“我知道不把情形说的严重一些,他们是不会负责严明对待的”。

果真,这次过了不到五分钟,第一辆警车就到了。
在随后的几分钟里,呼啦啦来了七八辆警车把加油站围了个水泄不通,下来的警察都穿着防弹背心,手放在腰间的枪上。
一群警察小心翼翼的靠近那辆马自达,很快就确定了车里并没有人。

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

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

好在,全部主要证件和大部分财物都在,乃至还追回了一部分并不是史教授的“赃物”。
劫匪完备没有来的及清理车里的大量证物,这让警方可以提取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”,史教授说,实在便是一个螺旋搜索,确保他们始终在沿着间隔低落的方向单调搜索一定可以收敛的。

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

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

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

史教授的算法简而言之是每一步都减少间隔,所以是贪心算法。

以是啊,在信息时期,不要惹会算法的人!