news 2026/4/18 10:12:50

曼哈顿距离相似算法:从城市街道到数据空间

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
曼哈顿距离相似算法:从城市街道到数据空间
曼哈顿相似性算法,也称为曼哈顿距离或L1距离,是一种衡量两个点在网格状空间中差异的度量方法。它模拟了在曼哈顿这样的城市中,只能沿着街道网格移动而无法直线穿越的路径长度2,因此得名。与欧几里得距离不同,曼哈顿距离不考虑对角线移动的可能性,而是将移动限制在垂直和水平方向上,这使得它在特定场景下具有独特优势。

一、什么是曼哈顿距离?

曼哈顿距离,也称作城市街区距离L1距离,是两点在标准坐标系上的绝对轴距之和

简单来说,想象你在一个规划整齐的棋盘式城市(比如曼哈顿)里,你不能斜着穿过建筑街区,只能沿着街道行走。那么,从一点到另一点的最短路径,就是沿着垂直的街道走,其行走的总距离就是曼哈顿距离。

三、一个简单的例子

假设我们在一个二维网格上有两个点:

  • 点 A 的坐标是 (1, 1)
  • 点 B 的坐标是 (4, 5)

那么,A 和 B 之间的曼哈顿距离计算如下:

d = |1 - 4| + |1 - 5| = | -3 | + | -4 | = 3 + 4 = 7

这意味着,如果你从A点出发,只能水平或垂直移动,到达B点最少需要走7个单位长度。

四、与欧几里得距离的对比

为了更好地理解曼哈顿距离,我们经常将它和我们最熟悉的欧几里得距离(即直线距离)进行比较。

特征

曼哈顿距离

欧几里得距离

定义

绝对轴距之和

两点间的直线距离

公式

几何意义

只能沿坐标轴方向移动的路径长度

“最短路径”或“乌鸦飞行的距离”

别称

L1距离、城市街区距离

L2距离

值的大小

在同一组点中,曼哈顿距离通常大于或等于欧氏距离

在同一组点中,欧氏距离通常小于或等于曼哈顿距离

继续上面的例子:

  • A(1,1), B(4,5)
  • 曼哈顿距离= 7

可以看到,曼哈顿距离(7)确实大于欧氏距离(5)。

五、应用场景

曼哈顿距离因其独特的性质,在许多领域有广泛应用:

  1. 城市规划与交通导航
  2. 在棋盘式道路布局的城市中,计算两点间的实际驾驶或步行距离非常有用。计算机科学
    1. 数据结构与算法:在棋盘类游戏(如八数码、国际象棋)中,常用曼哈顿距离作为启发式搜索(如A*算法)的评估函数。
    2. 图像处理:在数字图像中,像素点位于网格上,曼哈顿距离常用于计算两个像素之间的差异,或进行形态学操作。
  3. 数据挖掘与机器学习
    1. 在聚类算法(如K-Means)和分类算法(如K-近邻算法K-NN)中,曼哈顿距离可以作为一种距离度量。当数据特征在高维空间中具有高度相关性时,使用曼哈顿距离有时能比欧氏距离获得更好的效果,因为它对异常值不那么敏感。
  4. 其他领域
    1. 在电路设计(如VLSI布局布线)中,连接元件的导线通常只能水平和垂直走线,此时线长就是曼哈顿距离。

六、可视化:等距离线

一个有趣的方式来理解不同距离度量是观察它们的“等距离线”——即到中心点距离相等的所有点构成的图形。

  • 曼哈顿距离的等距离线:是一个旋转了45度的正方形(菱形)。
  • 欧几里得距离的等距离线:是一个标准的圆形

总结

曼哈顿距离是一个直观且计算简便的距离度量方式,它描绘了一个在网格状约束下的世界。虽然它不是空间中最短的物理路径,但在许多现实世界和计算问题中,它比欧几里得距离更能准确地反映实际的“成本”或“距离”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/5 10:58:58

数码租赁新思路:轻资产玩转专业摄影,用信用开启灵活生活

01 当代人的消费困局:欲望与现实的博弈“这次旅行一定要拍出大片级美照!” “最近收入缩水,可看到新出的相机还是心痒痒……” “花大价钱买的专业设备,一年用不了几次,在家落灰心疼”这些矛盾心理是不是很熟悉&#x…

作者头像 李华
网站建设 2026/4/18 7:57:30

日志排查技巧:快速定位问题的方法

日志排查技巧:快速定位问题的方法 线上出问题了,第一反应是什么?看日志! 但日志文件动辄几个G,怎么快速找到想要的信息?今天分享几个实用技巧。 实时查看日志 tail -f 实时跟踪: tail -f /var/l…

作者头像 李华
网站建设 2026/4/18 7:43:37

前端获取IP地址方法总结,零基础入门到精通,收藏这篇就够了

前端获取IP地址有多种方法,可以通过第三方API、WebRTC、服务器代理等方式实现。以下是几种常见的方法及其代码实例。 使用第三方API获取IP地址 第三方API是最简单的方式,通常免费且无需复杂配置。常用的API包括ipify、ipapi等。 fetch(https://api.ip…

作者头像 李华
网站建设 2026/4/18 6:29:05

桌面一直显示“正在启动”!

一次典型的 Data 分区未真正清空导致的启动死锁案例 一、问题概述(Problem) 设备刷入新固件后: 开机一直停留在「手机正在启动」界面 无法进入桌面 adb 可正常连接 系统无明显崩溃(无 FATAL EXCEPTION) Recovery 可进入,但: 无音量键 无法选择 Wipe data/factory …

作者头像 李华
网站建设 2026/4/18 6:27:15

38、Windows 8高级诊断工具全解析

Windows 8高级诊断工具全解析 1. 索引选项 Windows 8索引是一个包含所有文件及其内容的数据库。若该数据库损坏,会导致Windows 8的搜索功能无法正常运行。 - 操作步骤 :在开始屏幕上搜索“indexing”,然后点击“Settings”搜索结果,打开“Indexing Options”对话框。在…

作者头像 李华
网站建设 2026/4/18 5:44:28

‌智慧校园平台性价比评估指南:实用思路与落地方法‌

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

作者头像 李华