距离度量 —— 曼哈顿距离(Manhattan Distance)-繁依Fanyi

Python学习系列文章👉 目录 👈

在这里插入图片描述

一、概述

曼哈顿街区熙熙攘攘,在高处向下望去,曼哈顿的建筑方方正正地排列在一条条街道上,仿佛一个个棋子排列在键盘上。
在这里插入图片描述
想要计算两个建筑之间的距离,我们不能横穿某个建筑,需要拐弯抹角,经过一个个十字路口,才能到达我们想要去的地方。
在这里插入图片描述

曼哈顿距离,也正是这个原理,不能像 绿线/) 一样,横穿建筑,而是需要和其它三条线一样, 穿过大街小巷

请添加图片描述

二、计算公式

① 二维平面上的曼哈顿距离

假设 二维平面 内有两点:

a

(

x

1

,

y

1

)

a(x_{1},y_{1})

a(x1,y1)

b

(

x

2

,

y

2

)

b(x_{2},y_{2})

b(x2,y2)

则二维平面的曼哈顿距离公式为:

d

12

=

x

1

x

2

+

y

1

y

2

d_{12}=|x_{1}-x_{2}|+|y_{1}-y_{2}|

d12=x1x2+y1y2

在这里插入图片描述

例如上图的

A

(

1

,

1

)

A(1,1)

A(1,1)

B

(

5

,

4

)

B(5,4)

B(5,4),则

A

B

AB

AB 两点的距离为:

d

A

B

=

5

1

+

4

1

=

4

+

3

=

7

begin{aligned} d_{AB} &=|5-1|+|4-1| \ &=4+3\ &=7 end{aligned}

dAB=51+41=4+3=7

② 三维空间上的曼哈顿距离

假设 三维空间 内有两点:

a

(

x

1

,

y

1

,

z

1

)

a(x_{1},y_{1},z_{1})

a(x1,y1,z1)

b

(

x

2

,

y

2

,

z

2

)

b(x_{2},y_{2},z_{2})

b(x2,y2,z2)

则三维空间的距离公式为:

d

12

=

x

1

x

2

+

y

1

y

2

+

z

1

z

2

d_{12}=|x_{1}-x_{2}|+|y_{1}-y_{2}|+|z_{1}-z_{2}|

d12=x1x2+y1y2+z1z2
在这里插入图片描述
举个例子,比如上图的

A

(

1

,

2

,

3

)

A(1,2,3)

A(1,2,3)

B

(

6

,

3

,

5

)

B(6,3,5)

B(6,3,5) 两点,计算

A

B

AB

AB 两点的曼哈顿距离为:

d

A

B

=

6

1

+

3

2

+

5

3

=

5

+

1

+

2

=

8

begin{aligned} d_{AB} &=|6-1|+|3-2|+|5-3| \ &=5+1+2\ &=8 end{aligned}

dAB=61+32+53=5+1+2=8

③ n维空间上的曼哈顿距离

假设 n维空间 内有两点:

a

(

x

11

,

x

12

,

.

.

.

,

x

1

n

)

a(x_{11},x_{12},…,x_{1n})

a(x11,x12,...,x1n)

b

(

x

21

,

y

22

,

.

.

.

,

z

2

n

)

b(x_{21},y_{22},…,z_{2n})

b(x21,y22,...,z2n)

则n维空间的距离公式为:

d

12

=

k

=

1

n

x

1

k

x

2

k

d_{12}=sum_{k=1}^n|x_{1k}-x_{2k}|

d12=k=1nx1kx2k

在这里插入图片描述

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容