首页 > 其他分享 >一个蒟蒻对简单距离的简单理解

一个蒟蒻对简单距离的简单理解

时间:2024-08-06 22:27:43浏览次数:4  
标签:right 曼哈顿 比雪夫 距离 理解 简单 aligned left

一个蒟蒻对简单距离的简单理解:

呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃,写的简单粗暴,如有不对的,欢迎纠正

神马是距离?

在数学中,距离是泛函分析中最基本的概念之一。它所定义的距离空间连接了拓扑空间与赋范线性空间等其他空间,是学习泛函分析首先接触的概念。距离,是指任意二点之间的直线长短。

其实就是一个数学概念

正文

1.简单方面

1-1.欧式距离

1-1-1.介绍

欧式距离是我们在直角坐标系中最常用的距离量算方法

欧氏距离,一般也称作欧几里得距离。在平面直角坐标系中,设点 $A,\ B$ 的坐标分别为 $A(x_1,y_1),B(x_2,y_2)$ ,则两点间的欧氏距离为:

$$
\left | AB \right | = \sqrt{\left ( x_2 - x_1 \right )^2 + \left ( y_2 - y_1 \right )^2}
$$

1-1-2.解释

举个例子,若在平面直角坐标系中,有两点 $A(6,5),B(2,2)$,通过公式,我们很容易得到 $A,B$ 两点间的欧氏距离:

$$
\left | AB \right | = \sqrt{\left ( 2 - 6 \right )^2 + \left ( 2 - 5 \right )^2} = \sqrt{42+32} = 5
$$

除此之外,P(x,y) 到原点的欧氏距离可以用公式表示为:
$$
|P| = \sqrt{x2+y2}
$$

1-1-3.例题:

例题有很多,我找了几个:

B - Farthest Point

【深基7.例1】距离函数

最短距离

ZBWC002B 距离

【NOIP2017】奶酪

1-2.曼哈顿距离

1-2-1.公式

观察下图:

manhattan-dis-diff

A,B 间,黄线、橙线都表示曼哈顿距离,而红线、蓝线表示等价的曼哈顿距离,绿线表示欧氏距离。

同样的例子,在下图中 A,B 的坐标分别为 A(25,20),B(10,10)

manhattan-dis

通过公式,我们很容易得到 A,B 两点间的曼哈顿距离:
$$
d(A,B) = |20 - 10| + |25 - 10| = 10 + 15 = 25
$$

经过推导,我们得到 n 维空间的曼哈顿距离公式为:
$$
\begin{aligned} d(A,B) &= |x_1 - y_1| + |x_2 - y_2| + \cdot \cdot \cdot + |x_n - y_n|\ &= \sum_{i = 1}^{n}|x_i - y_i| \end{aligned}
$$

除了公式之外,曼哈顿距离还具有以下数学性质:

  • 非负性

    曼哈顿距离是一个非负数。
    $$
    d(i,j)\geq 0
    $$

  • 统一性

    点到自身的曼哈顿距离为 $0$。
    $$
    d(i,i) = 0
    $$

  • 对称性

    $A$ 到 $B$ 与 $B$ 到 $A$ 的曼哈顿距离相等,且是对称函数。
    $$
    d(i,j) = d(j,i)
    $$

  • 三角不等式

    从点 $i$ 到 $j$ 的直接距离不会大于途经的任何其它点 $k$ 的距离。
    $$
    d(i,j)\leq d(i,k)+d(k,j)
    $$

1-2-3例题:

P5098「USACO04OPEN」Cave Cows 3

2.中等

2-1.欧式距离(但是是三维)

那么,三维空间中两点的欧氏距离公式呢?我们来观察下图。

dis-3-dimensional

我们很容易发现,在 $\triangle ADC$ 中,$\angle ADC = 90^\circ$;在 $\triangle ACB$ 中,$\angle ACB = 90^\circ$ 。
$$
\begin{aligned} \therefore ~ |AB| &= \sqrt{|AC|2+|BC|2} \ &= \sqrt{|AD|2+|CD|2+|BC|^2} \end{aligned}
$$

2-1-1.定义

由此可得,三维空间中欧氏距离的距离公式为:

$$
\begin{gathered} \left | AB \right | = \sqrt{\left ( x_2 - x_1 \right )^2 + \left ( y_2 - y_1 \right )^2 + \left ( z_2 - z_1 \right )^2} \ |P| = \sqrt{x2+y2+z^2} \end{gathered}
$$

2-1-2.例题:

NOIP2017 提高组 奶酪

2-2.切比雪夫距离

2-2-1.定义

切比雪夫距离(Chebyshev distance)是向量空间中的一种度量,二个点之间的距离定义为其各坐标数值差的最大值。

在二维空间内,两个点之间的切比雪夫距离为它们横坐标之差的绝对值与纵坐标之差的绝对值的最大值。设点 $A(x_1,y_1),B(x_2,y_2)$,则 $A,B$ 之间的切比雪夫距离用公式可以表示为:

$$
d(A,B) = \max(|x_1 - x_2|, |y_1 - y_2|)
$$

$n$ 维空间中切比雪夫距离的距离公式可以表示为:

$$
\begin{aligned} d(x,y) &= \max\begin{Bmatrix} |x_1 - y_1|,|x_2 - y_2|,\cdot \cdot \cdot,|x_n - y_n|\end{Bmatrix} \ &= \max\begin{Bmatrix} |x_i - y_i|\end{Bmatrix}(i \in [1, n])\end{aligned}
$$

2-2-2.解释

仍然是这个例子,下图中 $A,B$ 的坐标分别为 $A(25,20),B(10,10)$

Chebyshev-dis

$$
d(A,B) = \max(|20 - 10|, |25 - 10|) = \max(10, 15) = 15
$$

3.难(nan!)

3-1曼哈顿距离与切比雪夫距离的相互转化

3-1-1过程

首先,我们考虑画出平面直角坐标系上所有到原点的曼哈顿距离为 $1$ 的点。

通过公式,我们很容易得到方程 $|x| + |y| = 1$。

将绝对值展开,得到 $4$ 个 一次函数,分别是:
$$
\begin{aligned} &y = -x + 1 &(x \geq 0, y \geq 0) \ &y = x + 1 &(x \leq 0, y \geq 0) \ &y = x - 1 &(x \geq 0, y \leq 0) \ &y = -x - 1 &(x \leq 0, y \leq 0) \ \end{aligned}
$$

将这 $4$ 个函数画到平面直角坐标系上,得到一个边长为 \sqrt{2} 的正方形,如下图所示:

dis-diff-square-1

正方形边界上所有的点到原点的 曼哈顿距离 都是 $1$。

同理,我们再考虑画出平面直角坐标系上所有到原点的 切比雪夫距离 为 $1$ 的点。

通过公式,我们知道 $\max(|x|,|y|)=1$。

我们将式子展开,也同样可以得到可以得到 $4$ 条 线段,分别是:
$$
\begin{aligned} &y = 1&(-1\leq x \leq 1) \ &y = -1&(-1\leq x \leq 1) \ &x = 1,&(-1\leq y \leq 1) \ &x = -1,&(-1\leq y \leq 1) \ \end{aligned}
$$

画到平面直角坐标系上,可以得到一个边长为 $2$ 的正方形,如下图所示:

dis-diff-square-2

正方形边界上所有的点到原点的切比雪夫距离都是 $1$。

将这两幅图对比,我们会神奇地发现:

这 $2$ 个正方形是相似图形。

3-1-2证明

所以,曼哈顿距离与切比雪夫距离之间会不会有联系呢?

接下来我们简略证明一下:

假设 $A(x_1,y_1),B(x_2,y_2)$,

我们把曼哈顿距离中的绝对值拆开,能够得到四个值,这四个值中的最大值是两个非负数之和,即曼哈顿距离。则 $A,B$ 两点的曼哈顿距离为:
$$
\begin{aligned} d(A,B)&=|x_1 - x_2| + |y_1 - y_2|\ &=\max\begin{Bmatrix} x_1 - x_2 + y_1 - y_2, x_1 - x_2 + y_2 - y_1,x_2 - x_1 + y_1 - y_2, x_2 - x_1 + y_2 - y_1\end{Bmatrix}\ &= \max(|(x_1 + y_1) - (x_2 + y_2)|, |(x_1 - y_1) - (x_2 - y_2)|) \end{aligned}
$$

我们很容易发现,这就是 $(x_1 + y_1,x_1 - y_1), (x_2 + y_2,x_2 - y_2)$ 两点之间的切比雪夫距离。

所以将每一个点 $(x,y)$ 转化为 $(x + y, x - y)$,新坐标系下的切比雪夫距离即为原坐标系下的曼哈顿距离。

同理,$A,B$ 两点的切比雪夫距离为:
$$
\begin{aligned} d(A,B)&=\max\begin{Bmatrix} |x_1 - x_2|,|y_1 - y_2|\end{Bmatrix}\ &=\max\begin{Bmatrix} \left|\dfrac{x_1 + y_1}{2}-\dfrac{x_2 + y_2}{2}\right|+\left|\dfrac{x_1 - y_1}{2}-\dfrac{x_2 - y_2}{2}\right|\end{Bmatrix} \end{aligned}
$$

而这就是 $(\dfrac{x_1 + y_1}{2},\dfrac{x_1 - y_1}{2}), (\dfrac{x_2 + y_2}{2},\dfrac{x_2 - y_2}{2})$ 两点之间的曼哈顿距离。

所以将每一个点 $(x,y)$ 转化为 $(\dfrac{x + y}{2},\dfrac{x - y}{2})$,新坐标系下的曼哈顿距离即为原坐标系下的切比雪夫距离。

3-1-3结论
  • 曼哈顿坐标系是通过切比雪夫坐标系旋转 $45^\circ$ 后,再缩小到原来的一半得到的。
  • 将一个点 $(x,y)$ 的坐标变为 $(x + y, x - y)$ 后,原坐标系中的曼哈顿距离等于新坐标系中的切比雪夫距离。
  • 将一个点 $(x,y)$ 的坐标变为 $(\dfrac{x + y}{2},\dfrac{x - y}{2})$ 后,原坐标系中的切比雪夫距离等于新坐标系中的曼哈顿距离。

碰到求切比雪夫距离或曼哈顿距离的题目时,我们往往可以相互转化来求解。两种距离在不同的题目中有不同的优缺点,应该灵活运用。

3-1-4例题

P4648「IOI2007」pairs 动物对数(曼哈顿距离转切比雪夫距离)

P3964「TJOI2013」松鼠聚会(切比雪夫距离转曼哈顿距离)

4.暂未评定

4-1闵可夫斯基距离

我们定义 $n$ 维空间中两点 $X(x_1, x_2, \dots, x_n)$,$Y(y_1, y_2, \dots, y_n)$ 之间的闵可夫斯基距离为:
$$
D(X, Y) = \left(\sum_{i=1}^n \left\vert x_i - y_i \right\vert p\right){p}}.
$$

特别的:

  1. 当 $p=1$ 时,$D(X, Y) = \sum_{i=1}^n \left\vert x_i - y_i \right\vert$ 即为曼哈顿距离;
  2. 当 $p=2$ 时,$D(X, Y) = \left(\sum_{i=1}^n (x_i - y_i)2\right)$ 即为欧几里得距离;
  3. 当 $p \to \infty$ 时,$D(X, Y) = \lim_{p \to \infty}\left(\sum_{i=1}^n \left\vert x_i - y_i \right\vert ^p\right) ^{1/p} = \max\limits_{i=1}^n \left\vert x_i - y_i \right\vert$ 即为切比雪夫距离。

注意:当 $p \ge 1$ 时,闵可夫斯基距离才是度量,具体证明参见 Minkowski distance - Wikipedia

4-2汉明距离

汉明距离是两个字符串之间的距离,它表示两个长度相同的字符串对应位字符不同的数量

我们可以简单的认为对两个串进行异或运算,结果为 $1$ 的数量就是两个串的汉明距离。

The End

鸣谢:

  • OI Wiki

  • 百度

距离大全

标签:right,曼哈顿,比雪夫,距离,理解,简单,aligned,left
From: https://www.cnblogs.com/zzy-hhh/p/18346103

相关文章

  • 英语简单句
    五种基本简单句: 陈述句疑问句祈使句感叹句简单句1疑问句1.1一般疑问句 概念: 用“yes”或“no”来回答的句子. 结构: [系动词be/助动词/情态动词主语谓语?]1.2特殊疑问句 概念: 以疑问词开头,对句中某一成分提问的句子叫特殊疑问句。常用的疑问词有:whatwhowhosewhi......
  • 关于简单的部分数学函数用python求导的示例
    1.求常数的导数题目代码1.求常数的导数:$f(x)=c$ 运行代码fromsympyimport*x,c=symbols('xc')c.diff(x)结果 2.求幂函数导数:题目代码2.求幂函数导数:$$f(x)=x^\mu$$运行代码fromsympyimport*x,mu=symbols('xmu')(x**mu).diff(x)结果  3.求三角......
  • 有效的括号(简单)
    有效的括号给定一个只包括‘(’,‘)’,‘{’,‘}’,‘[’,‘]’的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例1:输入:s=“()”输出:true示例2:输入......
  • WordPress 简单吗?
     是的,WordPress对于初学者来说非常简单易用。WordPress是一个开源的网站构建平台,专为简单性和用户友好性而设计,使其非常适合初学者和技术水平较低的用户。以下是几个使WordPress易于使用的原因:1.直观的用户界面:WordPress拥有一个干净且直观的界面,菜单和选项清晰易懂。......
  • 汇川EC总线伺服简单使用只要关注这几个参数就够了
    目录H02基本控制参数H03端子输入参数H04端子输出参数H09自调整参数这些参数都可以通过汇川的伺服调试软件,或者是伺服驱动器面板上的按键来进行设置H02基本控制参数H02-01绝对值系统选择根据当前系统选择是增量模式还是绝对值模式H02-02旋转方向选择选择......
  • 自注意力机制最简单的示例
    自注意力机制示例自注意力机制示例1.输入序列假设我们有一个简单的输入序列,包含三个词(向量表示),每个词的维度是4: x1x2x3x4词11010词20101词311112.查询(Q)、键(K)和值(V)矩阵我们定义查询、键和值的权重矩阵如下: QKV权重矩阵......
  • 读书系列-群体决策的理解与解释
    群体决策(GroupDecision-Making)是指多个个体通过讨论、协商、投票等方式共同做出决策的过程。群体决策在企业管理、政治决策、家庭事务等多种情境中广泛存在。虽然群体决策可以带来多样化的观点和知识,但同时也可能产生一些独特的偏差和问题。一、核心概念与理论群体思维(G......
  • 5G-Advanced R18 中 RedCap放宽 Msg2-Msg3 时间线理解
    在5G网络中,随机接入过程(RandomAccessProcedure)是用户设备(UE)首次接入或重连到网络的关键过程。这一过程包括多个步骤,其中Msg2和Msg3是其中的两个重要信令消息。在5G-AdvancedR18中,为了适应低复杂度设备(如RedCap设备)的需求,Msg2-Msg3时间线被适当放宽,以提供更灵活的资源调度......
  • C#:深入理解接口及低耦合等周边知识
    接口是完全未实现逻辑的类,纯虚类,只有函数成员,且都为public.换句话说:接口是函数成员全都是abstractpublic类型的抽象类.文章目录接口==契约声明接口接口是引用类型实践价值接口与as运算符显示接口成员实现紧耦合及解决方法解决方法:接口隔离接口==契约定义......
  • 理解这八大优势,才算精通单元测试
    在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元以确定它们是否适合使用。单元是最小的可测试软件组件,它通常执行单个内聚功能。单元测试就是是指对这个最小可测试组件——即单元进行检查和验证。单元体量小,因此比大块代码更容易设计、执行、记录......