大規模位置イベントデータからの 空間的近接パター...

31
大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム Efficient Discovery of Spatial Proximity Patterns from Massive Point Location Event Data 1次元と2次元空間における点集合パターンを効率良く 列挙するアルゴリズム ◎ 関根 渓 (北海道大学工学部) 宇野 毅明(国立情報学研究所) 有村 博紀(北海道大学大学院情報科学研究科) DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

Upload: others

Post on 01-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

Efficient Discovery of Spatial Proximity Patterns from Massive Point Location Event Data - 1次元と2次元空間における点集合パターンを効率良く列挙するアルゴリズム -

◎ 関根 渓 (北海道大学工学部) 宇野 毅明(国立情報学研究所) 有村 博紀(北海道大学大学院情報科学研究科)

DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

Page 2: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

背景

移動体センサーやストリーム技術の発展

大規模な位置イベントデータの出現

Page 3: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

背景:大規模位置イベントデータ

例:MurderMap

ロンドン市内で起きた殺人事件のデータベース

各殺人事件は,位置の座標と,色をもつ.

色:手段(凶器,方法,など)

“MurderMap - London Homicide Reported Direct from The Old Bailey” http://www.murdermap.co.uk/

Page 4: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

背景:大規模位置イベントデータ

例:MurderMap

ロンドン市内で起きた殺人事件のデータベース

各殺人事件は,位置の座標と,色をもつ.

色:手段(凶器,方法,など)

“MurderMap - London Homicide Reported Direct from The Old Bailey” http://www.murdermap.co.uk/

Knife (ナイフ),Gun (銃),Ligature, Poison (毒), None, Vehicle (乗り物), Bomb (爆弾), Blunt Object (鈍器), Other

Page 5: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

背景:大規模位置イベントデータ

例:MurderMap

ロンドン市内で起きた殺人事件のデータベース

各殺人事件は,位置の座標と,色をもつ.

色:手段(凶器,方法,など)

“MurderMap - London Homicide Reported Direct from The Old Bailey” http://www.murdermap.co.uk/

Knife (ナイフ),Gun (銃),Ligature, Poison (毒), None, Vehicle (乗り物), Bomb (爆弾), Blunt Object (鈍器), Other

有用な情報を取り出したい!!

Page 6: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

背景:データ上の特徴的パターン

特徴的なパターン ある一定の制約を満たす決められた形の領域 (それが含む点集合)

例: 青色 (Bomb 爆弾)を多く含む領域:「テロが発生しやすい区域

紅色 (Vehicle 乗り物)を多く含む領域:「ひき逃げが多い区域」

様々な色を含む領域:「治安が悪い区域」

“MurderMap - London Homicide Reported Direct from The Old Bailey” http://www.murdermap.co.uk/

Page 7: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

研究目的 特徴的なパターンを取り出す効率的な手法が必要

基礎技術として,1次元と2次元の「点集合パターン列挙問題」を考察する 固定サイズの図形に含まれる異なる点集合をすべて列挙する問題

今回は「矩形」に着目

成果 1次元の点集合パターン列挙問題を厳密にとく線形時間アルゴリズム,𝜀 −尺取虫法を開発

計算量解析と計算機実験

2次元の点集合パターン列挙問題への拡張を議論

“MurderMap - London Homicide Reported Direct from The Old Bailey” http://www.murdermap.co.uk/

Page 8: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

関連研究 Sadakane, Imai (IEICE Trans., 2001)

文字列検索版の1次元点集合パターン発見問題

𝑂(𝑛)時間アルゴリズム

Kim, Lee, Park (Info. Proc. Letter, 2004) 上記の拡張.本発表のε-尺取虫法と類似の𝑂(𝑛)時間アルゴリズム.

本研究と異なり実数座標は扱っていない.

Dondi, Fertin, Vialette (CPM2011) グラフ版の近接パターン発見問題

一般に計算困難(NP困難)

Boros, Ibaraki, Ichikawa, Nonobe, Uno, Yagiura (Pacfic J. Optimization, 2005) 可変サイズの矩形による重み付き点集合パターンによるデータの最適な被

覆をみつける貪欲アルゴリズム

われわれの研究: 1)2次元かつ,2)固定サイズかつ,3)実数座標の矩形による点集合

パターンの列挙が目標.

アルゴリズム分野で未解決の問題. そのための第一歩として,1次元の固定サイズかつ実数座標の問題から研

究を開始.

Page 9: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

問題の定義

Page 10: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

1次元の点集合:𝑃 = {𝑝1, 𝑝2, … , 𝑝𝑛}

幅𝑚の1次元区間:𝐵 = [𝑥, 𝑥 + 𝑚]

Bが定義するP中の1次元点集合パターン:

𝐵(𝑃) = 𝐵 ∩ 𝑃

問題の定義(1次元)

𝑚

𝐵

𝐵 𝑃 = 𝐵 ∩ 𝑃 = {𝑝𝑘+1, 𝑝𝑘+2, … , 𝑝𝑙 , 𝑝𝑙+1}

𝑃

𝑝1 𝑝𝑙 𝑝𝑘+2 𝑝𝑘+1 𝑝𝑘 𝑝𝑙+1 𝑝7 𝑝𝑛

𝑥

Page 11: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

区間𝐵と𝐵’が同値である

⇔ 𝐵 ∩ 𝑃 = 𝐵’ ∩ 𝑃

問題の定義(1次元)

𝑝𝑙 𝑝𝑘+2 𝑝𝑘+1 𝑝𝑙+1

𝑝𝑙 𝑝𝑘+2 𝑝𝑘+1 𝑝𝑙+1

矩形を少しだけ右に動かす

𝐵

𝐵’ 同じパターン

Page 12: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

問題の定義(1次元)

1次元の点集合パターン列挙問題

入力:1次元の点集合𝑃,区間幅𝑚 > 0

出力:幅𝑚の区間で表される, 𝑃中の全ての異なる1次元点集合パターンを列挙せよ

Page 13: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

問題の定義(2次元)

2次元の点集合:𝑃 = {𝑝1, 𝑝2, … , 𝑝𝑛}

縦,横の長さが𝑎, 𝑏の2次元長方形:𝐵

Bが定義するP中の2次元点集合パターン:𝐵(𝑃) = 𝐵 ∩ 𝑃

𝐵 𝐵’

𝑎

𝑏

同じパターン 𝑝1 𝑝2

𝑝3

𝑝4 𝑝5

𝑝1 𝑝2

𝑝3

𝑝4 𝑝5

Page 14: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

2次元の点集合パターン列挙問題

入力:2次元の点集合𝑃,長方形の縦と横の長さ𝑎, 𝑏

出力:幅と高さ𝑎 × 𝑏の長方形で表される,𝑃中の全ての異なる2次元点集合パターンを列挙せよ

問題の定義(2次元)

𝑥 𝑥

𝑦

Page 15: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

アルゴリズム

Page 16: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

ε-尺取虫法 (ε-Inchworm Method)

矩形が尺取虫のように常に左から右へと前進しながら近接パターンを列挙

左端と次に矩形から出る点の距離 𝑟と,矩形の右端と次に矩形に入る点の距離 𝑓を比較,場合分けすることで矩形の動かし方を決定

矩形内の点集合の構成が変化するように矩形を動かすので,パターンを重複して出力することがない

極小数 𝜀 の導入により,実数座標に対応

2次元への拡張に用いることができる

𝑚

𝑟 𝑓

Page 17: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

ε-尺取虫法:擬似コード

手続き 1DimInchWorm(𝑃, 𝑛, 𝑚, 𝑢) 1: 𝑅 ← 0 𝐿 ← 0 2: 𝑟 ← 0 𝑓 ← 0 3: 矩形の初期位置を決定 4: 矩形内の点を出力 5: while 矩形の右端が終端に到達していない do 6: if 𝑟 > 𝑓 then 7: 矩形に点を1つ入れる 8: r, fの値を更新する 10: else if 𝑟 = 𝑓 then 11: 矩形に点を1つ入れる 12: r, fの値を更新する 14: else if 𝑟 < 𝑓 then 15: if (𝑅 = 𝐿 𝑎𝑛𝑑 𝑃 [𝑅 + 1] − 𝑃 [𝐿] > 𝑚 then 16: 矩形に点を1つ入れて,1つ出す 17: r, fの値を更新する 19: else 20: 𝜀 ← (𝑓 − 𝑟)/2 21: 矩形から点を1つ出す 22: r, fの値を更新する 24: end if 25: end if 23: ウィンドウ(L,R)とそれが含む点の情報を出力する 26: end while

DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

Page 18: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

手続き 1DimInchWorm(𝑃, 𝑛, 𝑚, 𝑢) 1: 𝑅 ← 0 𝐿 ← 0 2: 𝑟 ← 0 𝑓 ← 0 3: 矩形の初期位置を決定 4: 矩形内の点を出力 5: while 矩形の右端が終端に到達していない do 6: if 𝑟 > 𝑓 then 7: 矩形に点を1つ入れる 8: r, fの値を更新する 10: else if 𝑟 = 𝑓 then 11: 矩形に点を1つ入れる 12: r, fの値を更新する 14: else if 𝑟 < 𝑓 then 15: if (𝑅 = 𝐿 𝑎𝑛𝑑 𝑃 [𝑅 + 1] − 𝑃 [𝐿] > 𝑚 then 16: 矩形に点を1つ入れて,1つ出す 17: r, fの値を更新する 19: else 20: 𝜀 ← (𝑓 − 𝑟)/2 21: 矩形から点を1つ出す 22: r, fの値を更新する 24: end if 25: end if 23: ウィンドウ(L,R)とそれが含む点の情報を出力する 26: end while

P[R] P[L] P[R+1]

𝑚

𝑟 𝑓

P[L-1]

𝐿:矩形内の最左点の添字 𝑅:矩形内の最右点の添字 𝑟:矩形の左端とP[L]の距離 𝑓:矩形の右端とP[R+1]の距離

点集合はソート済み配列で入力される

DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

ε-尺取虫法:擬似コード

Page 19: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

(1) 𝑟 > 𝑓のとき

ε-尺取虫法:動作

P[R]

P[L] P[R+1]

P[L] P[R]

𝐿:矩形内の最左点の添字 𝑅:矩形内の最右点の添字 𝑟:矩形の左端とP[L]の距離 𝑓:矩形の右端とP[R+1]の距離

𝑚

𝑟 𝑓

𝑚

DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

Page 20: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

(2) 𝑟 = 𝑓のとき

P[R] P[L]

𝑚

𝑟 𝑓

P[R+1]

P[L]

𝑚

P[R]

𝐿:矩形内の最左点の添字 𝑅:矩形内の最右点の添字 𝑟:矩形の左端とP[L]の距離 𝑓:矩形の右端とP[R+1]の距離

ε-尺取虫法:動作 DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

Page 21: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

(3) 𝑟 < 𝑓 かつ𝑅 = 𝐿 かつ P[R+1]-P[L]>𝑚

P[L],P[R]

P[R+1]-P[L]>𝑚

𝑟 𝑓

P[R+1]

𝑚

P[L],P[R]

𝐿:矩形内の最左点の添字 𝑅:矩形内の最右点の添字 𝑟:矩形の左端とP[L]の距離 𝑓:矩形の右端とP[R+1]の距離

ε-尺取虫法:動作 DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

Page 22: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

(4) 𝑟 < 𝑓 かつ(3)以外の場合

P[R] P[L]

𝑚

𝑟 𝑓

P[L-1]

P[R] P[L-1] P[R+1]

ε

P[R+1]

𝐿:矩形内の最左点の添字 𝑅:矩形内の最右点の添字 𝑟:矩形の左端とP[L]の距離 𝑓:矩形の右端とP[R+1]の距離

ε-尺取虫法:動作 DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

Page 23: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

ε-尺取虫法:計算量

計算量の見積もり

出力は定数時間で行えると仮定する

矩形の初期位置決定に 𝑂(𝑛)

全近接パターン数をsとすると,パターン計算には全体で 𝑂(𝑠)

アルゴリズム全体の計算時間は 𝑂(𝑛 + 𝑠)

点集合パターン数 𝑠の見積もり

変数𝐿, 𝑅はアルゴリズムの構造上減少しない

𝐿 ≦ 𝑛,𝑅 ≦ 𝑛である

→ 𝐿, 𝑅共に最大n回しか増加しない

→ パターン数は高々 s = 𝑂(𝑛)個

Page 24: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

サイズ𝑛の任意の入力点集合𝑃と区間幅𝑚 > 0が与えられたとき,ε-尺取虫法アルゴリズムは,𝑂 𝑛 + 𝑠 = 𝑂(𝑛)時間と𝑂(𝑛)領域で,𝑃中の全ての異なるの1次元点集合パターンを列挙する.

定理

DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓

sは1次元点集合パターンの総数

ε-尺取虫法:計算量

Page 25: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

アルゴリズムのアイディア

ε-尺取虫法の2次元への拡張 2次元の点集合パター

ン列挙問題を,1次元の問題に帰着できる.

(Step I) Y方向に,𝑎 × 𝑣の水平な帯(ストライプ)を,上から下に下げる.

(Step II) 帯ごとに,X方向に,𝑎 × 𝑏の矩形を左から右に動かす.

以上により,近接パターンを全て列挙する.

Step IとStep IIの両方で尺取虫法を用いることができる!!!

𝑢

𝑣

𝑏

𝑎

Page 26: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

計算機実験

Page 27: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

実験手法

データ 乱数によって生成した重複無しのソート済み整数点集合

実験方法

𝜀 −尺取虫法をC言語で実装 テキストデータとパラメータをプログラムに読み込ませる

手続きの開始と同時に計測を開始 全近接パターンの計算が終了した時点で計測を終了

Page 28: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

実験1:入力データに対する計算時間

矩形の幅 𝑚を固定し,空間の幅 𝑙とデータ数 𝑛を同じ割合で増加させた

入力データが増加すると,解の個数も増えていくので,計算時間も増加していくことが予想される

結果より,予想が正しいことが確認できた

𝑇𝑖𝑚𝑒[𝑠]

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑝𝑜𝑖𝑛𝑡𝑠

Page 29: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

実験2:ウィンドウ幅と計算時間

空間の幅 𝑙とデータ数 𝑛を固定して,矩形の幅𝑚を増加させた

矩形の幅が大きくなるほど,空間上で矩形を動かせる範囲が制限されていくので,出力されるパターン数が少なくなり,またそれに伴って計算時間も小さくなっていくことが予想される

結果より,その予想が正しいことが確認できた

𝑊𝑖𝑑𝑡ℎ 𝑜𝑓 𝑊𝑖𝑛𝑑𝑜𝑤 𝑊𝑖𝑑𝑡ℎ 𝑜𝑓 𝑊𝑖𝑛𝑑𝑜𝑤

𝑇𝑖𝑚

𝑒[𝑠

]

𝑁𝑢

𝑚𝑏

𝑒𝑟 𝑜

𝑓 𝑎

𝑛𝑠𝑤

𝑒𝑟

Page 30: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

空間の幅 𝑙とウィンドウ幅 𝑚を固定し,データ数nを増加させた

空間内の点の密度が高くなるにつれて,出力する解の個数が増加すること,またそれに伴って計算時間が増加することが予想される

結果より,その予想が概ね正しいことが確認できた

𝑇𝑖𝑚

𝑒[𝑠

]

𝑁𝑢

𝑚𝑏

𝑒𝑟 𝑜

𝑓 𝑎

𝑛𝑠𝑤

𝑒𝑟𝑠

𝐷𝑒𝑛𝑠𝑖𝑡𝑦 𝑛/𝑙 𝐷𝑒𝑛𝑠𝑖𝑡𝑦 𝑛/𝑙

実験3:点の密度と計算時間

Page 31: 大規模位置イベントデータからの 空間的近接パター …k-sekine/slides/deim2012.pdf大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム

おわりに

1次元と2次元空間における点集合パターンを列挙問題について考察した.

効率よい1次元点のアルゴリズムε-尺取虫法を与えた.

設計と理論的解析:O(n+s)=O(n)時間で動く.

計算機実験で動作を確認.

2次元のアルゴリズムの基本的構成法

今後の課題

素朴なアルゴリズムとの比較実験を行う

2次元空間のアルゴリズムの設計と理論的解析を行う

地理データマイニング(色つき点集合データ)への応用

一般のd≧3次元へのアルゴリズムの拡張