見出し画像

【第52回】AIはまっすぐ進めないとき距離をどう測る?マンハッタン距離とは

街の道路のように、斜めに進めず縦横だけで移動する場面を想像してみてください。
そんなときの距離の考え方が「マンハッタン距離」です。
この記事では、ユークリッド距離との違いも含めてやさしく解説します。


1. 読み方

マンハッタン距離 = まんはったんきょり


2. 意味(定義)

マンハッタン距離を一言で言うと、「碁盤の目のように張り巡らされた道を、カクカクと曲がりながら進んだときの距離」のことです。

前回の「ユークリッド距離」は、空を飛ぶドローンのように直線で結ぶ距離でしたね。 でも、現実はそう簡単ではありません。

想像してみてください。あなたは今、ビルがぎっしり立ち並ぶニューヨークのマンハッタンにいます。 目的地まで行きたいけれど、ビルを突き抜けて歩くことはできませんよね?

  1. まずは「東に3ブロック」進む

  2. 次に「北に4ブロック」曲がる

  3. そして目的地に到着!

このように、「縦の移動距離」と「横の移動距離」を単純に足し算した距離のこと。これがマンハッタン距離です。 (ちなみに、数学の世界では「L1距離」とも呼ばれます)


3. 歴史・背景

なぜ、わざわざ「直線」ではなく「カクカクした距離」なんてものを考えるのでしょうか?

実は、AIが扱うデータは、私たちが普段見ている「2次元の地図」よりもずっと複雑で、次元(データの項目数)が非常に多いことがよくあります。

データが大量にある世界(高次元空間)では、直線距離(ユークリッド距離)を計算しようとすると、計算量が増えすぎたり、データの特徴をうまく捉えられなかったりすることがあります。

そこで、「シンプルに各項目の差を足し合わせればいいじゃないか」という考え方が生まれました。これがマンハッタン距離の便利なところです。計算がとてもシンプルなので、コンピュータにとっても処理がしやすく、特定の状況では直線距離よりもデータの「本質的な違い」をうまく表現できることが分かってきました。


4. 比較・対比(似た用語との違い)

前回の「ユークリッド距離」と改めて比較してみましょう。

【ユークリッド距離】(鳥の視点)

  • ルート: 2点を直線で結ぶ「最短ルート」。

  • イメージ: 空を飛ぶドローン、あるいは真っさらな野原を歩く感じ。

  • 特徴: 2点間の「絶対的な最短距離」を知りたいときに最適。

【マンハッタン距離】(タクシーの視点)

  • ルート: 軸に沿って直角に曲がりながら進むルート。

  • イメージ: ビル街を走るタクシー、あるいは格闘ゲームのキャラクターがタイル状のマップを移動する感じ。

  • 特徴: 各項目(軸)ごとの差を個別に評価して合計したいときに最適。


5. 活用シーン(実社会のどこで、どんな問題に使うか)

① データの「重要な項目」を選び出す(Lasso回帰) AIに予測をさせるとき、項目が多すぎると混乱することがあります。マンハッタン距離の考え方を取り入れた計算手法(Lasso回帰といいます)を使うと、「あまり重要ではない項目の影響力をゼロにする」という処理がしやすくなります。これにより、AIが「どのデータが本当に重要か」を人間が理解しやすい形で提示してくれるようになります。

② ゲームやロボットの経路探索 例えば、チェス盤のようなマス目状のマップを移動するゲームAIや、倉庫の中を格子状に移動する配送ロボットが「目的地まであとどれくらいか」を計算するときに使われます。壁がある世界では直線的に進めないため、マンハッタン距離で計算したほうが、より現実的な移動距離を把握できるからです。


6. G検定での出題傾向

G検定では、ユークリッド距離との「使い分け」や「定義」が問われることが多いです。

  • 定義問題: 「軸に沿った距離の絶対値の和を求める尺度はどれか?」という形式。

  • 概念の理解: 「マンハッタン距離はL1距離とも呼ばれる」という名称の一致。

  • 性質の理解: 直線距離(ユークリッド)ではなく、格子状の移動を想定している点。

「マンハッタン = タクシー = カクカク = L1」というセットで記憶してしまいましょう!


7. G検定の例題

【問題1:最頻出(基礎的な定義)】

2つのデータ点間の距離を測る際、各次元における差の絶対値の合計を計算する手法はどれか?

A. ユークリッド距離
B. マンハッタン距離
C. コサイン類似度
D. マハラノビス距離

【問題2:頻出(特徴に関する問題)

マンハッタン距離に関する記述として、適切なものはどれか?

A. 2点間を直線で結んだ最短距離を求める手法である。
B. ベクトルの向き(角度)を用いて類似度を測る手法である。
C. データの分散や相関を考慮して距離を測る手法である。
D. L1距離とも呼ばれ、軸に沿った移動距離の合計を求める手法である。

【問題3:ひっかけ(勘違いしやすいポイント)】

2次元平面上の点A(0, 0)から点B(3, 4)までの距離を測る際、ユークリッド距離よりもマンハッタン距離の方が「値が大きくなる(または等しくなる)」か?

A. 必ず大きくなる
B. 必ず小さくなる
C. 常に同じ値になる
D. データの分散によって変わる


8. 7の例題の回答と解説

【問題1:回答】 B

【解説】 正解はBです。「各次元の差の絶対値の合計」というのは、まさに「縦にどれだけ、横にどれだけ進んだかを足し算する」ということなので、マンハッタン距離の定義そのものです。

【問題2:回答】 D

【解説】 正解はDです。

  • Aは「ユークリッド距離」の説明です。

  • Bは「コサイン類似度」の説明です。

  • Cは「マハラノビス距離」の説明です。 マンハッタン距離 = L1距離 という別名もしっかり押さえておきましょう。

【問題3:回答】 A

【解説】 正解はAです。

  • ユークリッド距離(直線)なら:5

  • マンハッタン距離(カクカク)なら:3+4=7 直線が常に最短ルートになるため、カクカクと曲がって進むマンハッタン距離は、直線距離よりも必ず「等しいか、あるいは大きくなる」ことになります。ここは直感的にイメージしておきましょう。


9. Ankiアプリ用(CSV形式)

マンハッタン距離とはどのような距離のことか?,2点間の各次元における差の絶対値の合計(軸に沿った距離の和)。
マンハッタン距離の別名は何か?,L1距離。
ユークリッド距離とマンハッタン距離では、どちらが常に値が小さくなるか?,ユークリッド距離(直線が最短であるため)。
マンハッタン距離が活用されるAIの例は?,Lasso回帰による特徴量選択や、格子状マップの経路探索。
マンハッタン距離を例えるならどのような移動か?,ビル街(マンハッタン)をタクシーで走るように、道を直角に曲がりながら進む移動。


📝 総評・まとめ

お疲れ様でした!今回は、現実世界の「道のり」に近いマンハッタン距離について学びました。

「直線が最短」というのは当たり前のように感じますが、AIの世界ではあえて「カクカクした距離」を使うことで、データの重要なポイントを見つけ出したり、効率的に計算したりしています。数学的な視点を変えることで、AIはより賢く判断できるようになるんですね。

✅ 絶対に覚えて!

  • マンハッタン距離 = 軸に沿った距離の合計(L1距離)。

  • イメージは「ビル街を走るタクシー」。

  • ユークリッド距離(直線)よりも、値が大きくなる傾向がある。


🚀 次回予告 さて、これまで「距離」という物差しの話をたくさんしてきましたが、いよいよここから「AIがどうやって学習するのか」という本丸の話に入ります!

【第53回】AIはどうやって学ぶ?教師あり・教師なし・半教師あり学習とは


【第53回】へ進む

【第4章】へ進む

【第3章】へ戻る

📚 シリーズトップへ戻る

✅ この記事が役に立ったら「スキ」で応援してください!
あなたの応援が、次の解説を作るエネルギーになります!🚀

いいなと思ったら応援しよう!