0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

距离几何优化问题:从美国计算机教授追回被抢车辆谈起

DPVg_AI_era 来源:lq 2019-01-10 09:58 次阅读

不久前,新智元报道了美国某大学计算机系终身副教授一家人遭两名劫匪抢去汽车,在不到24小时之内,这名教授通过手机发动应用程序和计算机算法成功将车找回。本文首先介绍其算法从优化角度的解释,进一步从优化的角度提出更好的解决方案。

2018年12月中下旬的周末,美国某大学计算机系终身副教授,博士生导师史弋宇教授全家旅行途中在一座加油站遇到了两名持枪劫匪。劫匪抢走了史教授的钱包和马自达汽车,让这次旅行泡汤。

在警察也束手无策的状况下,史教授回忆起马自达车装有手机发动应用程序(Mazda Mobile Start,MMS),该程序能方便使用者利用手机远程发动汽车引擎和给车辆上锁和开锁,也能帮助使用者找到停车地点,但是当时手机app界面仅显示一个红点(代表车的位置)和一个大圈(代表车的范围),右上角有距离显示81.8英里和相对误差+/- 22 英尺。除此之外,没有地图,没有提供GPS坐标。这意味着可用的信息只有手机和车的直线距离。

史教授选择了计算机算法中最直接的贪心算法,也就是沿着一个方向开,直到距离不再明显变小(这说明他们前进的方向已经几乎垂直于他们和目标之间连线),就转到垂直方向的街道再继续搜寻。最终,在被抢不到24小时,史教授成功把车追回。

连现场的警察都感叹:“They shouldn’t have messed up with computer science professors!(他们不该惹上计算机教授!)” (详情可见新智元文章《清华毕业计算机教授遭持枪劫车!靠“贪心算法”追回秒杀美国警察》。)

史教授基于能测距离这一要素,不断极小化当前点到目标点的距离,从计算机角度称为是贪心算法。

从最优化算法的角度来看,优化的问题是,这是一个凸二次函数,沿着一个方向开,直到与目标距离达到最小(实际路况中由于不能调头,这一点通过直到距离不再明显变小来验证),这是最优化中最经典的精确线搜索方法(exact line search), 该方法有一个重要特性,在这个方向上的最优点处,梯度方向和该方向正交(垂直)。

因此,史教授选择在前一方向上最优点处换沿垂直方向搜索,由于问题是2维平面上的优化问题,此时的方向恰恰就是负梯度方向,下一步做的就是最速下降法。该优化问题是一个海色矩阵为单位阵的凸二次优化问题,所以,最速下降法迭代一步就可以终止到唯一的全局最优解。

如图所示。读者也可以通过很简单的平面几何来验证这一性质。由于实际路况的复杂性,比如路线可能不全程是直线,方向上的最优点处不能立刻拐弯,所以是一个非精确线搜索的下降算法,由于迭代中的距离严格单调递减,在道路连通等适当条件下能期待收敛到0,即找到最优解。

史教授这样做法存有一定的风险,因为需要靠近有枪的劫匪。我们事后诸葛亮地问问,在不靠近车辆的前提下,史教授还有其他选择吗?(也就是说,仅由相对距离,是否能够定位?)

如上图所示,我们选择远离目标的不共线的三点A,B,C,记其GPS坐标分别为, 从这三点测一下到目标的距离,记为. 设目标点的GPS坐标为(x,y),那么我们有如下三个方程:

将(1)分别代入(2)和(3),化简得一个二元线性方程组

由于ABC三点不共线,所以上述线性方程组系数矩阵非奇异,从而方程组有唯一解,其解确定未知目标点。使用该方法提供警方被抢车辆坐标,可以避免与劫匪近距离接触,真正做到了运筹帷幄之中,决胜千里之外。

实际中,由于距离的测量存在误差,这直接影响到未知解的精度。为了尽可能控制误差的影响,通常多选一些已知的观测点,设它们的坐标为,测出距离为。这样我们建模得到如下非线性最小二乘问题:

该问题关于x,y是非凸的,但是问题可以等价转化为:

这是一个单个二次约束的二次优化问题,也是广义的信赖域子问题,具有隐凸性质和强对偶性质[1],其全局最优解是能够在多项式时间内快速解得,感兴趣的读者可以参考《等式S-引理的理论与应用》。此外,针对定位问题还有其它一些非凸优化模型,如

该问题实际上称为GPS定位问题[2],GPS系统使用至少4颗卫星的位置以及它们到地球上人的距离可以计算出人的坐标,其计算原理同上。实际上,我们这里提到的两个优化模型正是来自GPS定位问题[2]。

该问题的进一步推广是距离几何问题:给定若干个点,其中某一些点的位置已知,这些点也称为锚点,另外已知一部分点与点间的距离,要求确定所有点的位置坐标。该问题在传感性定位[3]以及蛋白质结构解析[4]中有重要的应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4453

    浏览量

    90746
  • 计算机
    +关注

    关注

    19

    文章

    6644

    浏览量

    84481

原文标题:距离几何优化问题:从美国计算机教授追回被抢车辆谈起

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【量子计算机重构未来 | 阅读体验】 跟我一起漫步量子计算

    领域产生深远影响,使人类在面对疾病时拥有更多的选择和可能性。其次,在优化问题方面,量子计算机同样展现出强大的能力。传统计算机难以解决的组合优化问题,在量子
    发表于 03-13 19:28

    【量子计算机重构未来 | 阅读体验】+量子计算机的原理究竟是什么以及有哪些应用

    本书内容目录可以看出本书主要是两部分内容,一部分介绍量子计算机原理,一部分介绍其应用。 其实个人也是抱着对这两个问题的兴趣来看的。 究竟什么是量子计算机相信很多读者都是抱着这个疑问
    发表于 03-11 12:50

    【量子计算机重构未来 | 阅读体验】第二章关键知识点

    计算机能够减少计算和操作的繁琐程度 作者如何提高计算机的运算速度上,提出了提高计算速度的两个方向: 加快
    发表于 03-06 23:17

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    欣喜收到《量子计算机——重构未来》一书,感谢电子发烧友论坛提供了一个让我了解量子计算机的机会! 自己对电子计算机有点了解,但对量子计算机真是一无所知,只是听说过量子纠缠、超快的运算速
    发表于 03-05 17:37

    量子计算机的未来

    了解量子计算机对于工业生产和产品研发的使用
    发表于 02-01 15:30

    国计算机主板市场规模产业链分析

    过去五年,中国计算机主板行业的市场规模整体处于稳步增长阶段,市场规模在2022年达到了2,763.6亿元。首先,从需求角度来看,随着信息技术的发展和互联网的普及,对于计算机的需求逐渐增加,作为计算机的核心零部件,
    的头像 发表于 01-05 11:47 1399次阅读
    中<b class='flag-5'>国计算机</b>主板市场规模产业链分析

    量子计算机的作用有哪些

    量子计算机是一种基于量子力学原理的新型计算机,它利用量子比特(qubit)进行信息处理,具有传统计算机无法比拟的计算能力和潜力。量子计算机
    的头像 发表于 12-30 14:32 660次阅读

    工业计算机与商用计算机的区别

    工业计算机与商用计算机的区别  工业计算机和商用计算机是两种应用于不同领域的计算机系统。虽然它们在技术方面存在一些共性,但在功能、设计、可靠
    的头像 发表于 12-27 10:50 273次阅读

    工业计算机的应用

    工业计算机在半导体设备上的应用,具体在哪一方面。比如说图像处理使用什么样的计算机,工业控制使用哪一方面的计算机
    发表于 09-12 14:19

    计算机组成与设计

    计算机组成与设计 计算机组成与设计是计算机科学中最基础的课程之一,它主要阐述了计算机的组成原理和设计方法。随着计算机技术的快速发展,
    的头像 发表于 08-17 12:37 928次阅读

    图为科技应邀出席第38届中国计算机应用大会

    第38届中国计算机应用大会(CCF NCCA 2023)暨2023年人工智能+应用学术会议于7月16日-19日在苏州召开。
    的头像 发表于 07-20 16:30 452次阅读

    量子计算机有什么用 量子计算机应用领域

    量子计算机可以加速解决传统计算机无法处理的复杂问题,如化学模拟、大规模优化、机器学习、数据挖掘等领域。
    的头像 发表于 06-14 17:30 5577次阅读

    计算机通信的基本特点

    计算机通信是一种以数据通信形式出现,在计算机计算机之间或计算机与终端设备之间进行信息传递的方式。它是现代计算机技术与通信技术相融合的产物,
    发表于 05-09 17:07 781次阅读

    计算机通信的特点

    计算机网络通信的一个显著特点是“间歇性、突发性”;网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机计算机计算机之间的通信,网络协议就是网络之间沟通、交
    发表于 05-09 16:58 706次阅读

    计算机通信的规则

    计算机通信的规则主要是网络协议,它定义了计算机如何在通信中进行数据交换和通信的规范和格式。现代计算机通信中使用最广泛的协议是TCP/IP协议。
    发表于 05-09 16:51 1443次阅读