MCPで接続 →

計算を入力してください

公式

広告

結果

マンハッタン距離
7
|x₂−x₁| + |y₂−y₁|
水平方向の距離 |x₂−x₁| 3
垂直方向の距離 |y₂−y₁| 4

マンハッタン距離とは?

マンハッタン距離とは、「タクシー距離」「市街地距離(シティブロック距離)」「L1距離」などとも呼ばれ、水平方向と垂直方向にしか移動できない場合に2点がどれだけ離れているかを表す指標です。マンハッタンの碁盤目状の街区をタクシーが走る様子をイメージするとわかりやすいでしょう。直線で結ぶユークリッド距離とは異なり、水平方向と垂直方向の移動量をそれぞれ別々に足し合わせるため、ブロックを斜めに横切ることはできません。

2点間のマンハッタン経路と直線経路を示すグリッド
マンハッタン距離は直線の対角線(破線)と違い、グリッド線(赤)に沿います。

この計算ツールの使い方

1つ目の点の座標を X₁・Y₁ に、2つ目の点の座標を X₂・Y₂ に入力してください。マンハッタン距離の合計値が即座に表示されるほか、水平方向・垂直方向それぞれの成分も確認できるので、どのように答えが導かれたのかが一目でわかります。

計算式の解説

マンハッタン距離は $$d = \left| x_2 - x_1 \right| + \left| y_2 - y_1 \right|$$ で定義されます。縦棒は絶対値を表し、符号を取り除くため移動の向きは関係ありません。左に動いても右に動いても、どちらも正の水平移動として扱われます。この2つの絶対値の差を単純に足し合わせるだけです。

広告
2点間の水平辺と垂直辺を示す直角三角形の図
この式は2点間の水平方向と垂直方向の辺の長さを合計します。

計算例

たとえば、点1を (1, 2)、点2を (4, 6) とします。水平方向の差は \(\left| 4 - 1 \right| = 3\)、垂直方向の差は \(\left| 6 - 2 \right| = 4\) です。これらを足すと $$d = 3 + 4 = 7$$ となります。同じ2点のユークリッド距離は 5 になることに注目してください。格子状の制約があることで、タクシー経路のほうが長くなることがわかります。

よくある質問

マンハッタン距離とユークリッド距離はどう違いますか? ユークリッド距離は「鳥が飛ぶように」まっすぐ結んだ直線距離です。一方マンハッタン距離は座標軸に沿った移動しか認めないため、常にユークリッド距離以上の値になります。

座標に負の数や小数を使えますか? はい、使えます。計算式では絶対値を用いるため、負の数や小数の座標でも問題なく計算できます。

マンハッタン距離はどんな場面で使われますか? 機械学習(k近傍法やクラスタリング)、チェスや格子状の経路探索、画像処理、街路網に沿った物流ルートの最適化など、幅広い分野で活用されています。

最終更新: