Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

28. Pojęcie metryki.

Treści kształcenia. Pojęcie metryki. Przegląd metryk Minkowskiego, uwagi o nazwach metryk w materiałach anglojęzycznych (np. Czebyszewa czy Manhattan). Do wyboru omówienie: metryka Hamminga na łańcuchach znaków (kodowanie, kody z wykrywaniem błędów), metryka Levenshteina (przetwarzanie informacji, analiza plagiatów itp.), odległości cosinusowe i miary podobieństwa w informatyce - np. w rozpoznawaniu wzorców (grafika) czy porównywaniu łańcuchów znaków. Konstrukcja i zastosowania metryk wagowych (też w informatyce) - kule w takich metrykach. Metryki w analizie obrazów.

Efekty kształcenia. Potrafi rozpoznać i wykorzystać metryki i różne miary odległości w informatyce. Rozpoznaje różnice w ich zastosowaniu.

Wstęp

W zagadnieniach naukowych, ale również w codzienności badamy różnego rodzaju “odległości” między różnymi obiektami. Może to być odległość od szkoły czy sklepu, ale również odległość (czas) między programami telewizyjnymi. Jeszcze innym rodzajem odległości może posługiwać się student, gdy oblicza średnią ocen i weryfikuje (porównując ją do ustalonego progu), czy otrzyma stypendium naukowe.

Widzimy, że rozpatrywane powyżej zbiory są rozmaitej natury, więc i “odległości” także będą się różniły. Co więcej nawet, odległości między obiektami tej samej natury mogą być w różnych sytuacjach różnie rozumiane. Jeśli np. chcemy pokonać odległość z miasta A do miasta B, to czym innym jest odległość na mapie (jest ona najbliższa tzw. odległości euklidesowej), a odległość wynikająca z realnego układu dróg czy sieci kolejowej.

W matematyce przyjmuje się pewne założenia minimalne, aby zdefiniować pojęcie metryki odpowiadające pojęciu odległości. Daje to możliwość definiowania tego pojęcia na dowolnym niepustym zbiorze.

Def. Niech XX będzie niepustym zbiorem, zaś d ⁣:X×X→[0,+∞)d \colon X\times X \to [0,+\infty) funkcją spełniającą dla dowolnych x,y,z∈Xx,y,z \in X następujące warunki:

  1. d(x,y)=0  ⟺  x=yd(x,y)=0 \iff x=y,

  2. d(x,y)=d(y,x)d(x,y) = d(y,x),

  3. d(x,z)≤d(x,y)+d(y,z)d(x,z) \leq d(x,y) + d(y, z).

Funkcję dd nazywamy metryką, zaś parę (X,d)(X, d) przestrzenią metryczną.

Ostatni warunek w definicji nazywany jest nierównością trójkąta, drugi z warunków bywa nazywany warunkiem symetrii, a pierwszy warunkiem identyczności
Zauważmy, że w każdym niepustym zbiorze możemy wprowadzić metrykę, istotnie, wystarczy przyjąć, że dla x≠yx\neq y mamy d(x,y)=1d(x,y)=1. Tak zdefiniowaną metrykę nazywamy metryką dyskretną.

Przykłady przestrzeni metrycznych

Przykład 1 - metryka euklidesowa

Najbardziej naturalnym przykładem metryki jest metryka euklidesowa. Najogólniejszy wariant tej metryki definiuje się w następujący sposób: niech X=RnX = \mathbb{R}^n, gdzie n∈Nn \in \mathbb{N}. Dla x(x1,…,xn),y(y1,…,yn)∈Xx(x_1,\dots,x_n), y(y_1,\dots,y_n) \in X

d2(x,y)=∑i=1n(xi−yi)2.(∗)d_2(x,y) = \sqrt{\sum_{i=1}^n (x_i-y_i)^2}. \qquad (*)

W szczególności dla n=1n=1 X=RX=\mathbb{R}, wektory redukują się do liczb rzeczywistych (dla uproszczenia oznaczmy je również przez x,yx,y), zaś formuła (∗)(*), jako że u2=∣u∣\sqrt {u^2} = |u|, redukuje się do

d2(x,y)=∣x−y∣.d_2(x,y) = |x-y|.

Dla n=2n=2 mamy:

d(x,y)=∑i=12(xi−yi)2=(x1−y1)2+(x2−y2)2.d(x,y) = \sqrt{\sum_{i=1}^2 (x_i-y_i)^2} = \sqrt{(x_1 - y_1)^2 + (x_2-y_2)^2}.

Powyższa formuła jest identyczna ze znanym z geometrii analitycznej wzorem na odległość punktów na płaszczyźnie.

Poniżej zilustrujemy działanie metryki euklidesowej w X=R3X=\mathbb{R}^3 dla czterech wybranych punktów tworzących czworościan. Obliczymy odległości między nimi. Powtarzające się wartości ilustrować będą własność symetrii (własność 2 w definicji metryki). Porównując długości odpowiednich krawędzi tworzących trójkąty, łatwo można zauważyć, że spełniona jest nierówność trójkąta.

(1, 0, 0) (1, 0, 0) 0.00
(1, 0, 0) (2, 0, 0) 1.00
(1, 0, 0) (3, 4, 0) 4.47
(1, 0, 0) (3, 6, 3) 7.00
(2, 0, 0) (1, 0, 0) 1.00
(2, 0, 0) (2, 0, 0) 0.00
(2, 0, 0) (3, 4, 0) 4.12
(2, 0, 0) (3, 6, 3) 6.78
(3, 4, 0) (1, 0, 0) 4.47
(3, 4, 0) (2, 0, 0) 4.12
(3, 4, 0) (3, 4, 0) 0.00
(3, 4, 0) (3, 6, 3) 3.61
(3, 6, 3) (1, 0, 0) 7.00
(3, 6, 3) (2, 0, 0) 6.78
(3, 6, 3) (3, 4, 0) 3.61
(3, 6, 3) (3, 6, 3) 0.00
<Figure size 640x480 with 1 Axes>

Przykład 2 - metryki Minkowskiego

Metryka euklidesowa jest szczególnym przypadkiem pewnej rodziny metryk. Jeśli we wzorze (∗)(*) zamiast wykładnika 2 wstawimy p≥1p\geq 1, a otrzymaną sumę podniesiemy do potęgi 1p\tfrac{1}{p}, otrzymamy tzw. metrykę Minkowskiego:

dp(x,y)=(∑i=1n∣xi−yi∣p)1/p.(M)d_p(x,y) = \bigg(\sum_{i=1}^n |x_i-y_i|^p\bigg)^{1/p}. \qquad (M)

Przypadek p=1p=1 nazywany jest w literaturze metryką Manhattan.

Zilustrujmy działanie metryki Minkowskiego. Dla X=R10X = \mathbb{R}^{10} oraz p∈{1,…,100}p \in \{1,\dots,100\} wygenerujemy dwa (losowe) wektory, każda składowa będzie liczbą rzeczywistą z przedziału (−50,50)(-50,50). Dla tak wygenerowanych wektorów wyznaczymy ich odległości w metrykach Minkowskiego (wg rosnącego pp):

a = [21.5348, 43.109, 36.5494, 48.505, -15.6275, 13.7209, 30.4978, 15.8788, 30.4912, 36.2639]
b = [20.0621, -6.4751, 13.47, -18.9435, -18.0501, -1.4824, -43.8739, 38.2926, -41.9914, 9.3093]
max of |a-b| = 74.3717
[355.4333, 140.6895, 108.2245, 96.3146, 90.2845, 86.6723, 84.2782, 82.5819, 81.3216, 80.3512, 79.5832, 78.9617, 78.4496, 78.0213, 77.6585, 77.3479, 77.0795, 76.8457, 76.6406, 76.4596, 76.2988, 76.1555, 76.027, 75.9113, 75.8068, 75.7121, 75.6259, 75.5474, 75.4755, 75.4095, 75.3488, 75.293, 75.2413, 75.1935, 75.1492, 75.108, 75.0697, 75.034, 75.0006, 74.9694, 74.9402, 74.9128, 74.8871, 74.8629, 74.8401, 74.8187, 74.7984, 74.7794, 74.7613, 74.7442, 74.7281, 74.7128, 74.6982, 74.6845, 74.6714, 74.6589, 74.6471, 74.6359, 74.6251, 74.6149, 74.6052, 74.5959, 74.5871, 74.5786, 74.5706, 74.5628, 74.5555, 74.5484, 74.5417, 74.5352, 74.5291, 74.5231, 74.5175, 74.512, 74.5068, 74.5018, 74.4971, 74.4925, 74.488, 74.4838, 74.4798, 74.4759, 74.4721, 74.4685, 74.465, 74.4617, 74.4585, 74.4554, 74.4525, 74.4496, 74.4469, 74.4443, 74.4417, 74.4393, 74.437, 74.4347, 74.4325, 74.4304, 74.4284, 74.4265]

Kilkukrotne wywołanie powyższego kodu pozwala zauważyć dwie własności. Widzimy, że wraz ze wzrostem pp wartości dp(a,b)d_p(a,b) zdają się tworzyć ciąg nierosnący. Ponadto koncentrują się one “w pobliżu” liczby

d∞(a,b)=max⁡i≤10∣ai−bi∣.d_\infty(a, b) = \max_{i \leq 10} |a_i-b_i|.

Rzeczywiście dowodzi się, że dla dowolnego p≥1p \geq 1 oraz dowolnego α>0\alpha > 0

dp+α(a,b)≤dp(a,b),d_{p+\alpha}(a,b) \leq d_p(a,b),

dla dowolnych a,b∈Rna, b \in \mathbb{R}^n. Ponadto formuła

d∞(a,b)=max⁡i≤n∣ai−bi∣,a,b∈Rn,d_\infty(a, b) = \max_{i \leq n} |a_i-b_i|, \qquad a,b \in \mathbb{R}^n,

definiuje metrykę w Rn\mathbb{R}^n zwaną metryką maksimum. W literaturze metryka ta nazywana jest także metryką Czebyszewa lub metryką nieskończoność.

Przykład 3 - generowanie metryk przez funkcje różnowartościowe

Niech f ⁣:X→Rf \colon X \to \mathbb{R} będzie dowolną funkcją różnowartościową. Wówczas funkcja d ⁣:X×X→[0,∞)d \colon X \times X \to [0, \infty) określona dla dowolnych x,y∈Xx,y \in X wzorem

d(x,y)=∣f(x)−f(y)∣d(x,y) = |f(x) - f(y)|

jest metryką.

Sprawdźmy, że spełnione są warunki z definicji metryki.

  1. Jeśli x=yx=y, to d(x,y)=d(x,x)=∣f(x)−f(x)∣=0d(x,y)=d(x,x)= |f(x)-f(x)|=0. Warunek d(x,y)=0d(x,y)= 0 implikuje f(x)=f(y)f(x)=f(y). Z różnowartościowości ff dostajemy x=yx=y.

  2. Dla dowolnych x,y∈Xx,y \in X mamy d(x,y)=∣f(x)−f(y)∣=∣f(y)−f(x)∣=d(y,x)d(x,y) = |f(x) - f(y)| = |f(y) - f(x)| = d(y,x).

  3. Z nierówności trójkąta dla metryki euklidesowej (w przypadku jednowymiarowym) mamy:

d(x,z)=∣f(x)−f(z)∣=∣f(x)−f(y)+f(y)−f(z)∣≤∣f(x)−f(y)∣+∣f(y)−f(z)∣=d(x,y)+d(y,z)d(x,z) = |f(x) - f(z)| = |f(x) -f(y) +f(y) - f(z)| \leq |f(x) -f(y)| +|f(y) - f(z)| = d(x,y) + d(y,z)

dla dowolnych x,y,z∈Xx,y,z \in X.

Powyższy przykład daje nam możliwość definiowania rozmaitych metryk. Przyjmując X=NX = \mathbb{N} oraz f(x)=1xf(x) =\frac{1}{x} dostajemy metrykę określoną wzorem

ρ(n,m)=∣1n−1m∣.\rho (n, m) = \bigg| \frac{1}{n} - \frac{1}{m} \bigg |.

Zauważmy, że w tej metryce odległość między dowolnymi elementami ze zbioru N\mathbb{N} nie przekracza 1.

Przykład 4 - generowanie metryk przez funkcje rosnące i subaddytywne

Niech (X,d)(X,d) będzie przestrzenią metryczną. Wykazać, że funkcja

ρ(x,y)=d(x,y)1+d(x,y)\rho(x,y) = \frac{d(x,y)}{1+d(x,y)}

jest metryką w XX.

Niech ρ(x,y)=0\rho(x,y) = 0 dla x,y∈Xx,y \in X. Z definicji ρ\rho wynika, że d(x,y)1+d(x,y)=0\frac{d(x,y)}{1+d(x,y)}=0. Wyrażenie to jest dobrze określone, bo funkcja dd przyjmuje wartości nieujemne. Zatem fakt

ρ(x,y)=0\rho(x,y)= 0

jest równoważny

d(x,y)=0,d(x,y)=0,

który z kolei jest równoważny warunkowi x=yx=y.

Drugi z warunków wynika bezpośrednio z faktu, że dd jest metryką i spełnia warunek symetrii (warunek 2 definicji). Aby udowodnić warunek trójkąta, ustalmy dowolne x,y,z∈Xx,y,z \in X. Mamy do udowodnienia poniższą nierówność

d(x,y)1+d(x,y)≤d(x,z)1+d(x,z)+d(z,y)1+d(z,y).\frac{d(x,y)}{1 +d(x,y)} \leq \frac{d(x,z)}{1 +d(x,z)}+ \frac{d(z,y)}{1 +d(z,y)}.

Zauważmy, że dla t≥0t \geq 0 funkcja f ⁣:[0,+∞)→[0,1)f \colon [0, +\infty) \to [0, 1) określona wzorem t↦tt+1=1−1t+1t \mapsto \frac{t}{t+1}= 1 - \frac{1}{t+1} jest rosnąca. Istotnie, dla 0≤a<b0\leq a<b mamy ciąg implikacji

a<b  ⟹  a+1<b+1  ⟹  1a+1>1b+1  ⟹  1−1a+1<1−1b+1  ⟹  f(a)<f(b).a<b \quad \implies a+1 <b+1 \quad \implies \frac{1}{a+1} > \frac{1}{b+1} \quad \implies 1- \frac{1}{a+1} < 1- \frac{1}{b+1} \quad \implies f(a) < f(b).

Zatem

ρ(x,y)=f(d(x,y))≤f(d(x,z)+d(z,y))=d(x,z)+d(z,y)1+d(x,z)+d(z,y)≤d(x,z)1+d(x,z)+d(z,y)1+d(z,y)=ρ(x,z)+ρ(z,y).\rho(x, y) = f(d(x,y)) \leq f(d(x,z) + d(z,y)) = \frac{d(x,z) +d(z,y)}{1+d(x,z) +d(z,y)} \leq \frac{d(x,z)}{1+d(x,z)} + \frac{d(z,y)}{1+d(z,y)} = \rho(x,z) +\rho(z,y).

Zauważmy, że w powyższym przykładzie istotne były trzy własności funkcji ff:

  1. f(0)=0f(0)= 0,

  2. ff jest rosnąca w [0,+∞)[0,+\infty),

  3. ff jest subaddytywna, tzn. f(x+y)≤f(x)+f(y)f(x+y) \leq f(x) +f(y) dla x,y∈[0,+∞)x,y \in [0, +\infty).

W ramach ćwiczenia można pokazać, że jeśli (X,d)(X,d) jest przestrzenią metryczną, to również (X,ρ)(X, \rho) jest przestrzenią metryczną, gdzie

ρ(x,y)=f(d(x,y)),x,y∈X,\rho(x,y) = f(d(x,y)), \qquad x,y \in X,

gdzie f ⁣:[0,+∞)→[0,+∞)f \colon [0, +\infty) \to [0, +\infty) jest funkcją spełniającą warunki (1−3)(1-3).

Przykład 5 - metryka Hamminga

Innym ważnym z punktu widzenia zastosowań informatycznych przykładem jest tzw. metryka Hamminga. Przypuśćmy, że mamy pewien skończony zbiór znaków CC. Niech n∈Nn \in \mathbb{N} będzie ustaloną liczbą. Przez XnX_n oznaczmy zbiór wszystkich ciągów znaków ze zbioru CC o długości nn. Przez ρH(u,w)\rho_H(u,w) oznaczmy liczbę indeksów, na których ciągi u,w∈Xnu,w \in X_n różnią się.

Pokażemy, że ρH ⁣:Xn×Xn→[0,∞)\rho_H \colon X_n \times X_n \to [0,\infty) jest metryką. Pierwsze dwa warunki są oczywiste. Udowodnijmy nierówność trójkąta. Niech x,y,z∈Xnx,y,z \in X_n. Niech ρH(x,y)=α\rho_H(x,y) = \alpha i niech ρH(y,z)=β\rho_H(y,z)=\beta. Oznaczmy przez A={i1,…,iα}A =\{i_1,\dots,i_\alpha\} zbiór indeksów, którymi różnią się ciągi xx i yy i niech B={j1,…,jβ}B= \{j_1,\dots,j_\beta\} oznacza zbiór indeksów, którymi różnią się elementy yy i zz. Zauważmy, że zbiór indeksów, na którym różnią się ciągi xx i zz, zawiera się w sumie A∪BA \cup B (jeśli jk=ilj_k=i_l, to yy różni się od xx i od zz na tym indeksie, istnieje więc możliwość, że xjk=zjkx_{j_k}=z_{j_k}). Jeśli więc DD oznacza zbiór indeksów, na których ciągi xx i zz się różnią, to D⊂A∪BD \subset A \cup B.

Zatem

ρH(x,z)=∣D∣≤∣A∪B∣≤∣A∣+∣B∣=ρH(x,y)+ρH(y,z).\rho_H(x,z) = |D| \leq |A \cup B| \leq |A| + |B| = \rho_H(x,y) + \rho_H(y,z).

Zilustrujmy działanie metryki Hamminga prostym przykładem. Ponieważ wszystkie typy danych przedstawiają się w pamięci komputera za pomocą ciągów binarnych, przyjmijmy C={0,1}C= \{0,1\}, n=8n=8 i niech u=10101101u = 10101101, v=00111000v=00111000, w=10001000w=10001000. Wówczas ρH(u,v)=4\rho_H(u,v)=4, ρH(u,w)=3\rho_H(u,w)=3, ρH(v,w)=3\rho_H(v,w)=3.

Kule w przestrzeniach metrycznych

Def. Niech (X,d)(X, d) będzie przestrzenią metryczną. Kulą otwartą o środku w punkcie x0∈Xx_0 \in X i promieniu r>0r>0 nazywamy zbiór

Br(x0)=B(x0,r)={x∈X ⁣: d(x0,x)<r}.B_r(x_0) = B(x_0,r) = \{x\in X \colon \,d(x_0,x) < r\}.

Zbiór

Br(x0)‾=B(x0,r)‾={x∈X ⁣: d(x0,x)≤r}\overline{B_r(x_0)} = \overline{B(x_0,r)} =\{x\in X \colon \,d(x_0,x) \leq r \}

nazywamy kulą domkniętą o środku w punkcie x0∈Xx_0 \in X i promieniu r>0r>0. Gdy r=1r=1, w powyższych oznaczeniach kul będziemy pomijali indeks. Takie kule będziemy nazywali kulami jednostkowymi (otwartą lub domkniętą).

Przykładowo w metryce dyskretnej mamy B(x)={x}B(x) = \{x\}, ale B(x)‾=X\overline{B(x)}= X przy dowolnym x∈Xx \in X. Dla różnych metryk określonych na tym samym zbiorze kule mogą przedstawiać różne zbiory. Przeanalizujmy, jak zmieniają się kule jednostkowe o środku w punkcie O(0,0)O(0,0) dla X=R2X = \mathbb{R}^2 i metryk Minkowskiego przy różnych pp.

  1. Metryka Manhattan (p=1p=1): B(O)={(x,y)∈R2  ⁣:∣x∣+∣y∣<1}B(O)=\{(x,y) \in \mathbb{R}^2 \, \colon |x| + |y| <1\},

  2. Metryka euklidesowa (p=2p=2): B(O)={(x,y)∈R2  ⁣:x2+y2<1}B(O)= \{(x,y) \in \mathbb{R}^2 \, \colon x^2 + y^2 <1\},

  3. Metryka maksimum (p=∞p=\infty): B(O)={(x,y)∈R2  ⁣:max⁡(∣x∣,∣y∣)<1}B(O)=\{(x,y) \in \mathbb{R}^2\, \colon \max(|x|,|y|) <1\}.

Na wykresach poniżej wygenerujemy sfery jednostkowe w poszczególnych metrykach Minkowskiego. Sferą Sr(x0)S_r(x_0) o środku w x0∈Xx_0 \in X i promieniu r>0r>0 w przestrzeni metrycznej (X,d)(X,d) nazywamy zbiór

Sr(x0)={x∈X ⁣:d(x0,x)=r}.S_r(x_0) = \{x \in X \colon d(x_0, x) = r\}.
<Figure size 576x576 with 1 Axes>
<Figure size 576x576 with 1 Axes>
<Figure size 576x576 with 1 Axes>

Podsumujmy naszą pracę pisząc kod funkcji, która dla zadanego p≥1p\geq 1 (można wywołać ją także z p∈(0,1)p \in (0,1)) wyrysuje nam sferę jednostkową o środku w punkcie O(0,0)O(0,0).

<Figure size 576x576 with 1 Axes>

Średnica zbioru, odległość punktu od zbioru, odległość między zbiorami

Pojęcie metryki umożliwia nam wprowadzenie pojęć średnicy zbioru, odległości punktu od zbioru, odległości między zbiorami w przestrzeniach metrycznych.

Def. Średnicą zbioru A⊂XA \subset X przestrzeni metrycznej (X,d)(X,d) nazywamy liczbę

diam⁡(A)=sup⁡x,y∈Ad(x,y).\operatorname{diam}(A)=\sup_{x,y \in A}d(x,y).

Odległością punktu x0∈Xx_0 \in X od zbioru A⊂XA \subset X nazywamy liczbę

dist⁡(x0,A)=inf⁡a∈Ad(x0,a).\operatorname{dist}(x_0, A) = \inf_{a \in A}d(x_0,a).

Odległością między zbiorami A⊂XA \subset X i B⊂XB \subset X nazywamy liczbę

d⁡(A,B)=inf⁡a∈A,b∈Bd(a,b).\operatorname{d}(A,B) = \inf_{a \in A, b \in B}d(a,b).

Zauważyliśmy wcześniej, że średnica zbioru N\mathbb{N} w metryce

ρ(n,m)=∣1n−1m∣,n,m∈N\rho (n, m) = \bigg| \frac{1}{n} - \frac{1}{m} \bigg |, \quad n,m \in \mathbb{N}

wynosi 1.
Jeśli A={1,…,10}A = \{1,\dots, 10\} i B={100,… }B=\{100,\dots\}, to

d⁡(A,B)=inf⁡n∈A,m∈Bρ(n,m)=inf⁡n∈A,m∈B∣1n−1m∣=110−1100=9100.\operatorname{d}(A,B) = \inf_{n \in A, m \in B}\rho(n,m)= \inf_{n \in A, m \in B} \bigg|\frac{1}{n} - \frac{1}{m}\bigg| = \frac{1}{10} - \frac{1}{100}= \frac{9}{100}.

Jeśli P\mathbb{P} jest zbiorem liczb parzystych, to

d⁡(P,N∖P)=0.\operatorname{d}(\mathbb{P}, \mathbb{N} \setminus \mathbb{P}) = 0.

Istotnie, dla dowolnego 1≥ε>01 \geq \varepsilon >0 biorąc n=[1ε]n = \big[\tfrac{1}{\varepsilon}\big] oraz m=[1ε]+1m = \big[\tfrac{1}{\varepsilon}\big] +1 (zauważmy, że przy takim wyborze jedna z liczb jest parzysta i jedna jest nieparzysta) mamy

d⁡(P,N∖P)≤∣1n−1m∣=∣1[1/ε]−1[1/ε]+1∣=∣1[1/ε]([1/ε]+1)∣≤ε.\operatorname{d}(\mathbb{P}, \mathbb{N} \setminus \mathbb{P}) \leq \bigg|\frac{1}{n}-\frac{1}{m} \bigg|= \bigg|\frac{1}{[1/\varepsilon]} -\frac{1}{[1/\varepsilon]+1} \bigg| = \bigg|\frac{1}{[1/\varepsilon]([1/\varepsilon]+1)} \bigg| \leq \varepsilon.

Z dowolności ε>0\varepsilon > 0 wynika, że d⁡(P,N∖P)=0\operatorname{d}(\mathbb{P}, \mathbb{N} \setminus \mathbb{P})=0.