第6回 - 埼玉大学

.
.
.
..
.
.
.
地理情報システム特論
第 6 回:近接図形の検索
大沢 裕
埼玉大学
.
Ohsawa (Saitama Univ.)
GIS-6
1 / 23
GIS-6
2 / 23
.
. .1 k-NN 検索
.
. .2 深さ優先探索
.
. .3 最適優先探索
.
. .4 ANN 検索
.
. .5 RNN
.
Ohsawa (Saitama Univ.)
.
k-NN 検索
k-NN 検索
ある点 p に最も距離が近いものからオ
ブジェクトを k 個 (任意個) 検索する.
k-NN 検索が用いられる分野
p
コンピュータビジョン
空間データベース
データマイニング
計算機科学,等々
.
Ohsawa (Saitama Univ.)
GIS-6
3 / 23
k-NN 検索
定義とアルゴリズム
.
定義 1 (k-NN 検索)
..
.
.
.
NN(q, k, S) = {o1 , o2 , . . . , ok },
ここで d(q, oi ) ≤ d(q, o ′ ) ∀i, 1 ≤ i ≤ k, oi ∈ S かつ
′
∀o
. ∈ S − {o1 , o2 , . . . , ok }.
..
k-NN 検索アルゴリズムの分類 (Rui et al.)
分割ベース (partition based) アルゴリズム
k-d 木や R 木などを利用 (後述)
グラフベースアルゴリズム
ボロノイ分割などを利用
範囲ベース (range based) アルゴリズム
ネットワーク経由での検索に適する.指定した範囲のデータをサー
バーから得て,クライアントで k-NN 検索を実行する.
.
Ohsawa (Saitama Univ.)
GIS-6
4 / 23
.
k-NN 検索
分割ベースによる k-NN 検索
深さ優先探索 (depth first search): Rousspoulos et al.
深さ優先探索により,1つの最近接図形候補を求める
その図形候補が最近接であることを確認する
最適探索 (best first search)
R 木のノード展開の際に,MBR への距離に基づき PQ にノードを投
入する
PQ から MBR への距離が近い順に取り出し,そのノードを展開する.
展開結果は再び PQ に投入する
.
Ohsawa (Saitama Univ.)
GIS-6
5 / 23
k-NN 検索
インクリメンタル検索
道路網距離での kNN 検索では,ユークリッド距離で候補を絞り込
み,それを道路網距離で検証する枠組み (IER: incremental Euclidean
restriction) が用いられる.
インクリメンタル検索とは,最初に最適なもの(例えば NN 検索で
は最近接)を求め,2 回目以降では次に最適なものを順次求める検
索である.
この検索は深さ優先探索では実現が困難である.
そのため,インクリメンタル検索には最適優先探索が用いられる.
.
Ohsawa (Saitama Univ.)
GIS-6
6 / 23
.
深さ優先探索
深さ優先探索の基本
Step1: 最近接オブジェクトが存在する可能性があるノードを根から
葉に向かってたどり,最近接オブジェクトの候補 q を得る.
Step2: 木を根に戻りつつ,q が最近接であることを検証する.その
途中で,より近いオブジェクトが求まったときには,q を更新する.
4
4
D
C
H
4
4
Step2 でどの程度の範囲を探索
したら,最近接図形を正しく検
索できるか
Ohsawa (Saitama Univ.)
4
G
複数の子ノードの内,Step1 で
どれを選択して下降するか
.
4
4
問題
I
4
4
E
M
4
4
K
C
D
E F
G H
I
J K L
J
F
L
4
D4VTGGߩᧁ⴫⃻
C4VTGGߩ㗔ၞಽഀ
GIS-6
7 / 23
深さ優先探索
MINDIST
.
.
定義 2
..
点 Q とある MBR R との最小距離 MINDIST(Q,R) は次式で与えられる.
MINDIST (Q, R) =
n
∑
|qi − ri |2
(1)
i=1
ri =

 si
t
 i
qi
.
..
近接するオブジェクトの下限距離
.
Ohsawa (Saitama Univ.)
if qi < si
if qi > ti
otherwise
.
GIS-6
.
ここで,
8 / 23
.
深さ優先探索
MBR と図形の関係
.
.
.
性質 1
..
R 木における MBR の全ての辺は,必ずその MBR に含まれるオブジェク
トに接している.
.
..
.
.
Proof.
.
..
もし,MBR のある辺が,その中に
含まれるオブジェクトのいずれにも
接していないとすれば,よりタイト
な MBR が存在するはずであり,
MBR の定義に反する.従って,R 木
中の全ての MBR の各辺は,必ずそ
の MBR の内部の少なくとも1つの Figure: MBR とその内部オブジェクト
オブジェクトに接している.
の関係
.
..
.
࡟ࡌ࡞ - ߩࡁ࡯࠼ߦ߅ߌࠆ
/$4
.
࡟ࡌ࡞ - ߩࡁ࡯࠼ߦ߅ߌࠆ /$4
.
Ohsawa (Saitama Univ.)
GIS-6
9 / 23
深さ優先探索
MINMAXDIST
.
.
定義 3
..
点 Q と,ある MBR R = (S, T ) との MINMAXDIST(Q,R) は次式で定義
される.
∑
MINMAXDIST (Q, R) = min (|qk − rmk |2 +
|qi − rMi |2 ) (2)
1≤k≤n
1≤i≤n,i̸=k
{
rMi =
.
..
.
si
ti
if qi ≥ (si + ti )/2
otherwise
(3)
(4)
.
Ohsawa (Saitama Univ.)
GIS-6
.
ここで,rmk 及び rMi は次の様に定義される.
{
sk if qk ≤ (sk + tk )/2
rmk =
tk otherwise
10 / 23
.
深さ優先探索
MINMAXDIST (Cont.)
m in
m inm ax
MINDIST: NN の可能性があるオブジェクトへの下限距離
MINMAXDIST: NN の可能性があるオブジェクトへの上限距離
.
Ohsawa (Saitama Univ.)
GIS-6
11 / 23
深さ優先探索
枝刈り
...
ある MBR M に注目するとき,他の MBR M ′ の
MINMAXDIST(Q,M’) より大きな MINDIST(Q,M) を持つ場合は,M
の子ノードは枝刈できる.(下方向枝刈)
...
点 Q の近接オブジェクト候補 O が探索により得られているとき,
MINMAXDIST(Q,M) が距離 QO より小さい場合,オブジェクト O
は最近接オブジェクトの候補から除くことができる.何故なら
MBRM 中には O より近い別のオブジェクトが含まれているためで
ある.
(下方向枝刈)
...
あるオブジェクト O との距離 |QO| より大きな MINDIST(Q,M) を有
する MBR M は枝刈できる.
(上方向枝刈)
1
2
3
.
Ohsawa (Saitama Univ.)
GIS-6
12 / 23
.
最適優先探索
最適優先探索
Rousspoulos(1995) のアルゴリズムは深さ優先探索
予め指定された数の NN を探せる
インクリメンタル検索には不向き.(eg. 次の NN)
Hjaltason & Samet(1995) は,MINDIST を PQ で管理し,最も
MINDIST が小さいノードを選択してたどるアルゴリズムを提案
Berchtold ら (1997) は,同様に MINDIST を用いた最適優先探索法を
提案
最適優先探索では,インクリメンタル検索が可能
アルゴリズムも単純
.
Ohsawa (Saitama Univ.)
GIS-6
13 / 23
ANN 検索
ANN 検索
GNN(group nearest neighbor) という名で Papadias らが提案 (2004)
ANN(aggregate nearest neighbour) という名に変更 (2005)
MBM(minimum bounding method) が性能的に優れる
.
Ohsawa (Saitama Univ.)
GIS-6
14 / 23
.
ANN 検索
R 木を用いた ANN 検索
T
S
5
S
< 6, R1 >
S
< 11, R2 >
< 10, p1 >
T
< 15, p2 >
S
5
.
Ohsawa (Saitama Univ.)
GIS-6
15 / 23
RNN
Reverse Nearest Neighbor 検索とは
.
定義 1
..
ある POI の集合 P と検索点 q が与えられたとき,RkNN 検索とは q を
kNN とする P 中のすべての要素を列挙する検索である.即ち,
.
.ここで,pk (p) は p の kNN である.
..
.
.
RkNN(q) = {p ∈ P|(d(p, q) ≤ d(p, pk (p))
E
q の R1NN は a と b である.
F
c の NN は d, d の NN は c であ
るので,これらは a の R1NN で
はない.
T
D
.
Ohsawa (Saitama Univ.)
G
GIS-6
16 / 23
.
RNN
Bichromatic RNN (1)
2 つのデータ集合 P と O がある.p ∈ P が与えられたとき,BRNN はあ
る点 o ∈ O に対して P 中の NN が p であるすべての点を答える.
R
R
R
S
S
R
R
R
R
この図において,BRNN(p1, P)={o1, o2, o3},
BRNN(p2, P)={o4, o5, o6, o7, }
.
Ohsawa (Saitama Univ.)
GIS-6
17 / 23
RNN
Bichromatic RNN (2)
P をコンビニとし,新しいコンビニの立地を計画する.
左図の場合,BRNN(p3, P)={01, 03}
右図の場合,BRNN(p3, P)={o2, o3, o4, o5}
多くの客に近いという観点からは,右図の p3 位置が好ましい
R
R
S
.
R
S
S
S
R
R
R
R
R
S
R
S
R
Ohsawa (Saitama Univ.)
R
R
GIS-6
R
R
18 / 23
.
RNN
KM アルゴリズム
Korn and Muthukrishnan (2000): vicinity circle
&
T
'
T %
)
(
$
*
vicinity circle: その円内には他のオブジェクトが存在しない
q1 の RNN は A と B
q2 の RNN は存在しない
.
Ohsawa (Saitama Univ.)
GIS-6
19 / 23
RNN
データ点の追加と削除
データ点の追加
データ点の削除
.
Ohsawa (Saitama Univ.)
GIS-6
20 / 23
.
RNN
RkNN
RkNN(q) = {r ∈ S|∀p ∈ S : d(r , q) ≤ d(r , pk )}
(5)
kNN までの距離を半径とする Vicinity Circle を定義しておけば,RkNN
検索を行える.しかし,予め k 値を定める必要がある.
.
Ohsawa (Saitama Univ.)
GIS-6
21 / 23
RNN
SAA と SFT
SFT アルゴリズム
SAA アルゴリズム
Satoni et al. (2000): RkNN 検索に
適用可能
.
Ohsawa (Saitama Univ.)
Singh et al. (2003): RkNN 検索に適
用可能
GIS-6
22 / 23
.
RNN
TPL
Tao et al. (2004): 高次元データの RkNN に適用可能
.
.
Ohsawa (Saitama Univ.)
GIS-6
23 / 23