距離空間

**距離空間**（きょりくうかん、*metric space*）とは、**[[距離函数|距離関数]]**（きょりかんすう）と呼ばれる非負実数値関数が与えられている集合のことである。

古代より、平面や空間、地上の 2 点間の離れ具合を表す尺度である距離は測量や科学、数学において重要な役割を果たしてきた。1906年にモーリス・フレシェは、様々な集合の上で定義された関数の一様連続性の概念を統一的に研究した論文 において、ユークリッド空間から距離の概念を抽出して用い、距離空間の理論を築いた。

平面 **R**2 の上の 2 点 *P*1 = (*x*1, *y*1), *P*2 = (*x*2, *y*2) の間の距離にもマンハッタン距離
: d_1(P_1, P_2) := |x_1 - x_2| + |y_1 - y_2|
やユークリッド距離
: d_2(P_1,P_2) := \sqrt{ (x_1 - x_2)^2 + (y_1 - y_2)^2 }
などがあり、同じ集合に対して何種類もの異なる距離関数を考える事も少なくないため、集合 *X* と距離関数 *d* を組にして (*X*,*d*) と書き、距離空間と呼ぶ。

特に距離が与えられることによって、点同士の関係を実数値として定量的に捉えることができるので、極限や連続性の概念が扱いやすくなる。フレシェは位相幾何学の成果のうちで距離に関するものを汲み上げ、一般の距離空間の性質として証明しなおして適用することで汎関数の極限を調べている。

距離空間では、距離を用いて近傍系を定義する事もできるため、位相空間の特殊な例になっている。ユークリッド距離とマンハッタン距離であれば、**R**2 上に同じ近傍系を定めることができるが、異なる近傍系を持つ距離もある。

フェリックス・ハウスドルフは位相空間の重要な性質として距離・近傍系・極限の 3 つを考察し、近傍系を選び位相空間の公理化を行った。そして、極限や連続性などの概念も距離とは無関係に一般化されていった。こういった一般の位相空間から距離は導かれないので距離空間で論じられる空間は一般の位相空間より狭い範囲のものに限られてしまう。しかし、距離空間は一般の位相空間における定理の意味を掴みやすく、また、位相空間論が応用される集合は距離空間として考えることができる空間が多いため、距離空間は今なお重要な概念である。

## 定義

また、非退化性、対称性、三角不等式より導かれる性質として、

**非負性**
: \forall x,y\in X~:~d(x,y) \ge 0
がある。
なお、距離の関連概念として以下のものがある。以下の表で「○」はその条件を課すことを指し、非退化性の欄に
: \forall x\in X~:~ d(x,x)=0
と書いてあるのは非退化性を課す代わりにそれよりも弱い条件である
: d(x,x)=0
を課している事を指す。

集合 *A* と距離空間 (*X*, *d*) と単射

があるとき、 *a*1,*a*2&isin;*A* に対して
: 
と定義すれば (*A*,*d**f*) も距離空間になり、*f*によって**誘導された距離空間**という。

*A*が*X*の部分集合であれば包含写像  によって距離空間(*A*,*d*id)が誘導される。このように*X* の部分集合と包含写像によって定義された距離空間のことを (*X*, *d*) の**部分距離空間**または**部分空間**という。

### 関連概念
距離空間は距離関数の定義を一般化することでその定義を拡張することが出来る。集合  上の 2 変数実数値関数  が、半正定値性、非退化性、対称性を満たし、三角不等式の代わりにさらに強い条件（超距離不等式）


\max{\{d(x, y), d(y, z)\}} \ge d(x, z)


を満たすなら、距離関数  は**非アルキメデス的** () あるいは**超距離** () であるという。超距離不等式からは三角不等式が導かれるので、超距離は距離でもある。

集合  上に定義された2つの距離  は、次の条件を満たす場合、互いに同値と言われる。

* 任意の  と正数  に対し正数  が存在し、任意の  について、
\{d_1(x,a)  かつ 
\{d_2(x, a) 

つまり、同値な距離とは、同じ位相を誘導する距離である（次項「距離の誘導する位相」参照）。

 を距離空間、 を  の部分集合とするとき、 は  の**[[径|直径]]**とよばれる。任意の正の実数  に対して有限個の直径  以下の部分集合たちで  を覆うことができる場合、 は**[[全有界]]**であると言う。

任意のコーシー列が収束するとき、完備であると言う。

## 距離の誘導する位相
*X* を距離空間、*A*をその部分集合とする。*A* の点 *x* について、ある正の数 &epsilon; が存在して *x* を中心とする半径 &epsilon; の開球（&epsilon;-近傍 , &epsilon;-開球） (これを*U*(*x*; &epsilon;)とか *N*(*x*; &epsilon;)などと書くこともある) が *A* に含まれる時、*x* を *A* の**[[内部 (位相空間論)|内点]]** といい、 *A* を点 *x* の**[[近傍 (位相空間論)|近傍]]**という。 *X* における *x* の近傍の全体 V(*x*)（近傍は *X* の部分集合なので V(*x*) は集合族になる）を *x* の**[[近傍系]]**という。 このようにして *X* の各点 *x* に対し*X* の部分集合の族 V(*x*) を対応させる対応は位相空間論における近傍系の公理を満たしており、*X* を位相空間と見なすことができる。

距離空間に対しては、位相空間論の各概念を点列の収束をもちいて次のように特徴づけられることが知られている。*Y* を *X* の部分集合とする。
# 点 *y* が *Y* の内部にある ⇔ 補集合 *Y*c に含まれる点列で、*y* に収束するものは存在しない。
# 点 *y* が *Y* の外部にある ⇔ *Y* に含まれる点列で、*y* に収束するものは存在しない。
# 点 *y* が *Y* の縁にある ⇔ *Y* に含まれる点列で *y* に収束するものが存在し、*Y*cに含まれる点列で *y* に収束するものも存在する。
*y* &isin; *X* が *Y* の内部にあれば、補集合 *Y*c から *y* に近づく（収束する）事はできないのだから、*y* は *Y* の縁ではない中身の部分にあるとみなせる。同様に *y* &isin; *X* が *Y* の外部にあれば、*Y* から *y* に近づく事はできないのだから、*y* は *Y* の縁ではない外側の部分にあるとみなせる。また *y* &isin; *X* が *Y* の境界にあれば、*Y* の中からも外からも *y* に近づけるのだから、*y* は*Y* の縁にある。

距離空間は位相空間として第一可算性（任意の点が可算の近傍生成基を持つ）、パラコンパクト性、完全正規性やハウスドルフ性など、いくつかの扱いやすいと見なされる性質を持っている。また、距離空間が可算コンパクト性や点列コンパクト性を持つならばその空間が位相空間としてコンパクトであることが導かれる。この距離空間のコンパクト性は距離空間が全有界かつ完備であることと同値になる。さらに距離空間が可分である（稠密な可算部分集合を持つ）ことと第二可算公理を満たす（可算個の開集合によってその位相が生成される）ことは同値になる。

## 距離の誘導する一様構造・粗構造
*X* を距離空間、*U*を *X*&times;*X* の部分集合とする。ある正の数 &epsilon; が存在して *X* の対角成分の近傍
: \Delta_\varepsilon := \{(x,y) \in X\times X\mid d(x, y) 
が *U* に含まれるとき、 *U*を  *X* の一様近縁という。距離空間の一様近縁全体は一様構造を定める。これを距離から定まる自然な一様構造という。同値な距離からはおなじ一様構造が得られるので、位相構造など一様構造にのみよる概念は同値な距離に対して同じものを与える。

*X* を距離空間、*U*を *X*&times;*X* の部分集合とする。ある正の数 &epsilon; が存在して *X* の対角成分の近傍
: \Delta_\varepsilon := \{(x,y) \in X\times X\mid d(x, y) 
が *U* を含むとき、 *U*を  *X* の有界近縁という。距離空間の有界近縁全体は粗構造を定める。これを距離から定まる有界粗構造という。同値な距離からはおなじ粗構造が得られるので、有界性など粗構造にのみよる概念は同値な距離に対して同じものを与える。

一般の一様空間は距離函数の値が小さい時の距離の振る舞いの抽象化であり、また一般の粗空間は距離函数の値が大きい時の距離の振る舞いを抽象化するものである。

## 距離空間の間の写像

## 初等的な例
### 離散距離構造
距離空間のもっとも自明な例は任意の集合に対して定義できる離散距離構造と呼ばれるものである。集合*X* の上の2変数関数

によって定められた距離を**離散距離** (discrete metric) といい、距離空間(*X*,*d*) を**離散距離空間** という。ただしこの距離は議論において何の役にも立たず、距離の定義の緩やかさを示すに過ぎない。

### 実数の直積集合における距離
実数全体のなす集合 **R** に、距離 *d* を絶対値を用いて *d*2(*x*, *y*) = |*x* − *y*| と定めることで、 (**R**, *d*) は距離空間になる。

実数全体のなす集合 **R** の *n* 個の直積を **R***n* と書くとき、 (**R**, *d*) の距離関数 *d* の一般化として次のような 2つの距離関数を考える。

距離*d*1 は マンハッタン距離 と呼ばれる。一方、距離*d*2 は *n* 次元**ユークリッド距離**とよばれ、距離空間(**R***n*, *d*2)は *n* 次元ユークリッド空間という。上述の絶対値の例は 1 次元ユークリッド距離になっていることが分かる。教育や自然科学における応用では、多くの場合ユークリッド距離がもちいられる。

また、これの一般化として -乗平均距離
d_k(x, y) := (\sum_{i=1}^n |x_i - y_i|^k)^{1/k}
を考えたとき、その極限

d_\text{max}(x, y)
:= \lim_{k \to \infty} d_k (x, y)
= \max_{1 \le i \le n} |x_i - y_i|

はチェビシェフ距離と呼ばれる。

このように、同じ集合に対して定めることのできる距離は一つではない。
一般には集合が同じであっても異なる距離関数を与えれば位相空間としても異なるが、ここで定義した *d*1, *d*2, *d*maxに関しては

という関係があり、これら同値な距離はユークリッド空間上に同じ位相構造を定めている。言い換えると、この 3 つの距離はいずれも同じ開集合系を定めるのである。例えば、*d*1 に関する開集合は必ず *d*2 に関する開球の和集合に表され、逆に *d*2 に関する開集合は必ず *d*1 に関する開球の和集合に表される。*d*maxによって定まる位相と *d*1,*d*2のそれぞれによって定まる位相との関係についても同じことが言える。

### 球面上の距離

他の例としては球面距離がある。
球面上の2点P1、P2の球面距離は、P1とP2を結ぶ大円弧の長さの事である。ただし、P1とP2を結ぶ大円弧は2つあるが、そのうち短い方の弧長を距離として採用する。もっと直観的に言うと、P1、P2の球面距離は、巻尺をP1始点にしてP2へと球面に巻きつけたときに巻尺に書かれた長さの事である。

球面上には直線距離という別の距離も考えられる。これはP1、P2を結ぶ弦の長さとしてあたえられる。

## 距離空間の構成
### 劣加法的関数
距離空間 (*X*, *d*) と劣加法的な広義単調増加関数 *f*: **R**&ge;0&rarr; **R**&ge;0が与えられたとき、*f*&#9702;*d* も距離となる。*f* が原点で 0 を取り連続なとき *f*&#9702;*d* は *d* と同じ位相を定める。特に *f*(*x*) = *x*/(1 + *x*) は *f*(0) = 0 となる劣加法的で有界な広義単調増加連続関数なので
: \frac{d(x, y)}{1 + d(x, y)}
は *d* と位相を同じくする有界な距離を定める。

### 有限直積
距離空間 (*X*, *d**X*), (*Y*, *d**Y*) に対し *X* &times; *Y* 上に距離関数を
:*d**p*((*x*0, *y*0),(*x*1, *y*1)) := (*d**X*(*x*0, *x*1)*p*+ *d**Y*(*y*0, *y*1)*p*)1/*p*
によって定めることができる（ただし 0 &le; *p* max((*x*0, *y*0),(*x*1, *y*1)) := max{*d**X*(*x*0, *x*1), *d**Y*(*y*0, *y*1) }
を定めることも出来る。

### 無限直積
可算個の原点付き距離空間の族 (*X**n*, *d**n*, *b**n*)*n* &isin; **N**が与えられたとき、直積集合  上に拡張距離関数を
:
によって定めることができる（ただし 0 &le; *p* &le; &infin; で &#x2016; &#x2016;*p*は数列空間上の <math>\ell^p</math>ノルム）。特に
:
上では距離関数となっている。更に *D**n* を *X**n* の直径としたとき、&#x2016;(*D**n*)*n*&isin;**N**&#x2016;*p**n*を位相空間と見なしたときの  上の直積位相に一致している。

特に、(*X**n*, *d**n*) を2点集合に離散距離（の (1/2)*n*倍）を入れたものの場合、えられる直積距離空間 ({0, 1}**N**, *d*) はカントール集合に実数の差の絶対値から定まる距離を与えたものと同一視できる。

### 直和と商空間
距離空間の族 (*X**&lambda;*, *d**&lambda;*)*&lambda;* &isin; &Lambda;が与えられたとき、\coprod_{\lambda\in\Lambda}X_{\lambda}上に拡張距離を
:d_{\coprod}(x,y) := \begin{cases}
  d_{\lambda}(x,y) &(x,y\in X_{\lambda}),\\
  \infty & \text{(otherwise)}
\end{cases}
と定めることが出来る。

距離空間 (*X*, *d*) と全射 *f*: *X* &rarr;*Y* が与えられたとき、*Y* 上に擬距離を
:d_f(y_0,y_1) := \inf\left\{\sum_{n=0}^N d(x_{2n},x_{2n+1}) : f(x_{2n-1})=f(x_{2n}) \; (0
と定めることが出来る。この擬距離は *f* を1-リプシッツにする最大の擬距離である。

この2つの方法を組み合わせることにより距離空間の張り合わせが定義される。

## 応用数学・組み合わせ論における距離構造
### ハミング距離
**ハミング距離**は、2つの文字列の間に定義される距離で、2つの文字列の中に異なる文字何個があるかである。
たとえば「simply」と「sample」は異なる文字が2つ(iとa、yとe)あるので、「simply」と「sample」のハミング距離は2である。

このようなものにも距離を定義すると、抽象的で分かりにくかった対象に図形的に分かりやすい解釈を与える事ができる。
例えばハミング距離は誤り訂正を図形的で分かりやすいものにしてくれる。
誤り訂正とは、データ通信の際に生じる誤りを取り除く方法の事である。例えば「apple」という文章を送ったはずがデータ通信の途中でエラーが入り、
「axple」になってしまったとしよう。
そうしたらデータを受信した人は辞書を引いて、「axple」とハミング距離が一番近い単語を探す事で誤りを訂正できる。
このようにハミング距離は、「誤りを訂正する」という図形的ではないものに、「距離が一番近いものを探す」という図形的な解釈を与えてくれるのである。

### グラフ距離
別の例としては、グラフ上の距離がある。グラフの2頂点P1、P2の間の距離は P1からP2へ到達するのに最低いくつの辺を通らねばならないかである。この特別な場合として離散群のケイリーグラフとその上の語距離 (word length metric) が挙げられる。これは離散群G上にその生成集合Sによって定まる距離で、Gの元 *g*, *h* の間の距離は *g*-1*h* を S の元の積として表すのに必要な項の数の最小数として定められる。有限生成群における、有限集合の範囲での生成集合の取り替えはケイリーグラフ上に互いに同値な距離を与える。

## 幾何学における距離構造
### リーマン多様体
可微分多様体 *M* と、*M*上の計量テンソルと呼ばれる（非退化・正定値・対称）2階の共変テンソル *g* をあわせたものはリーマン多様体と呼ばれる。テンソル*g*によって *M*の各点での接空間に対し接ベクトルの長さを表す正定値の2次形式が与えられ、これをもとにして*M*上の曲線の弧長を定義することができる。*M*上の距離は2点間を結ぶ長さ最小の曲線（測地線）の長さとして定められる。

### 双曲空間
&delta; を正の数とする。2点間の測地線が定められるような距離空間 X について、&delta;-双曲性の概念が以下のように定式化できる。Xの任意の3点a, b, cに対してこれらを頂点とし、それらの間の測地線A, B, Cを辺とするような三角形が考えられることになるが、そのどの一辺もほかの二辺の &delta;-近傍に含まれているとき、Xは&delta;-双曲的であるという。有限生成離散群 G のケイリーグラフがある&delta;について&delta;-双曲的となる場合に G は双曲群と呼ばれる。

## 代数学における距離構造
*p* を素数としたとき、**[[p進距離|-進距離]]**は有理数の（あるいはより一般にp進数の）集合上に定義される距離で、整数 *n* について有理数 *a*, *b* の差 *a* − *b* が *p**n* の整数倍だが *p**n* + 1の整数倍ではないとき、*p*−*n*を *a* と *b* の間の *p* 進距離と定義する。ただし *a* = *b* のときは *a* と *b* の *p* 進距離は 0 であると定義する。たとえば 15 − 3 = 12 は 22 の倍数であるが 23 の倍数では無いので、15 と 3 の 2&nbsp;進距離は 2−2 = 1/4 である。*p*&nbsp;進整数環 **Z***p* は距離空間として離散距離空間  の可算個のコピーの直積空間  になっている。

## 解析学における距離構造
### 位相線型空間
実数または複素数体上のノルム空間は、二つの元の間の距離をそれらの差のノルムとして定めると距離空間と見なせる。こうして得られる距離空間のうち完備なものはバナッハ空間と呼ばれ、関数解析学における主要な枠組みの一つとなっている。

ノルムによって位相が定まっているとは限らない位相線型空間のうち、平行移動不変な距離について完備空間となっているものはフレシェ空間と呼ばれる。バナッハ空間のほかに、微分多様体上の滑らかな関数のなす空間や、急減少数列のなす空間などがフレシェ空間の例になっている。

### 可分距離空間
実数の差の絶対値による距離を与えた単位閉区間の可算個の直積  は完備可分距離空間となり、**[[ヒルベルト立方体]]**とよばれる。位相的にはこれはコンパクト空間 [0, 1] の可算個の直積の積位相によって得られるコンパクト空間になっている。可分な（あるいは同値なことだが、第二可算公理を満たす）距離空間 (X, d) は、その稠密な可算部分集合  をもちいて  と定義される写像によりヒルベルトキューブの中に埋め込むことができる。こうして任意の可分距離空間は位相的にはヒルベルト・キューブの部分空間と同一視することができる。

完備な可分距離空間のボレル集合のなす&sigma;代数はきわめて限られたものになっている。実際、そのような&sigma;代数は
# 高々可算集合の離散距離空間
# 単位閉区間 [0, 1] に、実数の絶対値からきまる距離を付与した距離空間
のボレル集合のなす2種類&sigma;代数の和として表すことができる。

## 脚注

### 注釈

### 出典

## 参考文献
* 矢野公一『距離空間と位相構造』共立出版 1997年 ISBN 4-320-01556-8
* 

## 関連項目
* マハラノビス距離
* レーベンシュタイン距離
* ユークリッド空間
* F-空間
* 超距離空間

## 外部リンク
* 
* 
* 
*  / 
*