大規模位置イベントデータからの 空間的近接パター...
TRANSCRIPT
大規模位置イベントデータからの 空間的近接パターン発見アルゴリズム
Efficient Discovery of Spatial Proximity Patterns from Massive Point Location Event Data - 1次元と2次元空間における点集合パターンを効率良く列挙するアルゴリズム -
◎ 関根 渓 (北海道大学工学部) 宇野 毅明(国立情報学研究所) 有村 博紀(北海道大学大学院情報科学研究科)
DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓
背景
移動体センサーやストリーム技術の発展
大規模な位置イベントデータの出現
背景:大規模位置イベントデータ
例:MurderMap
ロンドン市内で起きた殺人事件のデータベース
各殺人事件は,位置の座標と,色をもつ.
色:手段(凶器,方法,など)
“MurderMap - London Homicide Reported Direct from The Old Bailey” http://www.murdermap.co.uk/
背景:大規模位置イベントデータ
例: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
背景:大規模位置イベントデータ
例: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
有用な情報を取り出したい!!
背景:データ上の特徴的パターン
特徴的なパターン ある一定の制約を満たす決められた形の領域 (それが含む点集合)
例: 青色 (Bomb 爆弾)を多く含む領域:「テロが発生しやすい区域
紅色 (Vehicle 乗り物)を多く含む領域:「ひき逃げが多い区域」
様々な色を含む領域:「治安が悪い区域」
“MurderMap - London Homicide Reported Direct from The Old Bailey” http://www.murdermap.co.uk/
研究目的 特徴的なパターンを取り出す効率的な手法が必要
基礎技術として,1次元と2次元の「点集合パターン列挙問題」を考察する 固定サイズの図形に含まれる異なる点集合をすべて列挙する問題
今回は「矩形」に着目
成果 1次元の点集合パターン列挙問題を厳密にとく線形時間アルゴリズム,𝜀 −尺取虫法を開発
計算量解析と計算機実験
2次元の点集合パターン列挙問題への拡張を議論
“MurderMap - London Homicide Reported Direct from The Old Bailey” http://www.murdermap.co.uk/
関連研究 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次元の固定サイズかつ実数座標の問題から研
究を開始.
問題の定義
1次元の点集合:𝑃 = {𝑝1, 𝑝2, … , 𝑝𝑛}
幅𝑚の1次元区間:𝐵 = [𝑥, 𝑥 + 𝑚]
Bが定義するP中の1次元点集合パターン:
𝐵(𝑃) = 𝐵 ∩ 𝑃
問題の定義(1次元)
𝑚
𝐵
𝐵 𝑃 = 𝐵 ∩ 𝑃 = {𝑝𝑘+1, 𝑝𝑘+2, … , 𝑝𝑙 , 𝑝𝑙+1}
𝑃
𝑝1 𝑝𝑙 𝑝𝑘+2 𝑝𝑘+1 𝑝𝑘 𝑝𝑙+1 𝑝7 𝑝𝑛
𝑥
区間𝐵と𝐵’が同値である
⇔ 𝐵 ∩ 𝑃 = 𝐵’ ∩ 𝑃
問題の定義(1次元)
𝑝𝑙 𝑝𝑘+2 𝑝𝑘+1 𝑝𝑙+1
𝑝𝑙 𝑝𝑘+2 𝑝𝑘+1 𝑝𝑙+1
矩形を少しだけ右に動かす
𝐵
𝐵’ 同じパターン
問題の定義(1次元)
1次元の点集合パターン列挙問題
入力:1次元の点集合𝑃,区間幅𝑚 > 0
出力:幅𝑚の区間で表される, 𝑃中の全ての異なる1次元点集合パターンを列挙せよ
問題の定義(2次元)
2次元の点集合:𝑃 = {𝑝1, 𝑝2, … , 𝑝𝑛}
縦,横の長さが𝑎, 𝑏の2次元長方形:𝐵
Bが定義するP中の2次元点集合パターン:𝐵(𝑃) = 𝐵 ∩ 𝑃
𝐵 𝐵’
𝑎
𝑏
同じパターン 𝑝1 𝑝2
𝑝3
𝑝4 𝑝5
𝑝1 𝑝2
𝑝3
𝑝4 𝑝5
2次元の点集合パターン列挙問題
入力:2次元の点集合𝑃,長方形の縦と横の長さ𝑎, 𝑏
出力:幅と高さ𝑎 × 𝑏の長方形で表される,𝑃中の全ての異なる2次元点集合パターンを列挙せよ
問題の定義(2次元)
𝑥 𝑥
𝑦
アルゴリズム
ε-尺取虫法 (ε-Inchworm Method)
矩形が尺取虫のように常に左から右へと前進しながら近接パターンを列挙
左端と次に矩形から出る点の距離 𝑟と,矩形の右端と次に矩形に入る点の距離 𝑓を比較,場合分けすることで矩形の動かし方を決定
矩形内の点集合の構成が変化するように矩形を動かすので,パターンを重複して出力することがない
極小数 𝜀 の導入により,実数座標に対応
2次元への拡張に用いることができる
𝑚
𝑟 𝑓
ε-尺取虫法:擬似コード
手続き 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, 神戸, 北海道大学, 関根渓
手続き 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, 神戸, 北海道大学, 関根渓
ε-尺取虫法:擬似コード
(1) 𝑟 > 𝑓のとき
ε-尺取虫法:動作
P[R]
P[L] P[R+1]
P[L] P[R]
𝐿:矩形内の最左点の添字 𝑅:矩形内の最右点の添字 𝑟:矩形の左端とP[L]の距離 𝑓:矩形の右端とP[R+1]の距離
𝑚
𝑟 𝑓
𝑚
DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓
(2) 𝑟 = 𝑓のとき
P[R] P[L]
𝑚
𝑟 𝑓
P[R+1]
P[L]
𝑚
P[R]
𝐿:矩形内の最左点の添字 𝑅:矩形内の最右点の添字 𝑟:矩形の左端とP[L]の距離 𝑓:矩形の右端とP[R+1]の距離
ε-尺取虫法:動作 DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓
(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, 神戸, 北海道大学, 関根渓
(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, 神戸, 北海道大学, 関根渓
ε-尺取虫法:計算量
計算量の見積もり
出力は定数時間で行えると仮定する
矩形の初期位置決定に 𝑂(𝑛)
全近接パターン数をsとすると,パターン計算には全体で 𝑂(𝑠)
アルゴリズム全体の計算時間は 𝑂(𝑛 + 𝑠)
点集合パターン数 𝑠の見積もり
変数𝐿, 𝑅はアルゴリズムの構造上減少しない
𝐿 ≦ 𝑛,𝑅 ≦ 𝑛である
→ 𝐿, 𝑅共に最大n回しか増加しない
→ パターン数は高々 s = 𝑂(𝑛)個
サイズ𝑛の任意の入力点集合𝑃と区間幅𝑚 > 0が与えられたとき,ε-尺取虫法アルゴリズムは,𝑂 𝑛 + 𝑠 = 𝑂(𝑛)時間と𝑂(𝑛)領域で,𝑃中の全ての異なるの1次元点集合パターンを列挙する.
定理
DEIM2012, 2012.03.03, 神戸, 北海道大学, 関根渓
sは1次元点集合パターンの総数
ε-尺取虫法:計算量
アルゴリズムのアイディア
ε-尺取虫法の2次元への拡張 2次元の点集合パター
ン列挙問題を,1次元の問題に帰着できる.
(Step I) Y方向に,𝑎 × 𝑣の水平な帯(ストライプ)を,上から下に下げる.
(Step II) 帯ごとに,X方向に,𝑎 × 𝑏の矩形を左から右に動かす.
以上により,近接パターンを全て列挙する.
Step IとStep IIの両方で尺取虫法を用いることができる!!!
𝑢
𝑣
𝑏
𝑎
計算機実験
実験手法
データ 乱数によって生成した重複無しのソート済み整数点集合
実験方法
𝜀 −尺取虫法をC言語で実装 テキストデータとパラメータをプログラムに読み込ませる
手続きの開始と同時に計測を開始 全近接パターンの計算が終了した時点で計測を終了
実験1:入力データに対する計算時間
矩形の幅 𝑚を固定し,空間の幅 𝑙とデータ数 𝑛を同じ割合で増加させた
入力データが増加すると,解の個数も増えていくので,計算時間も増加していくことが予想される
結果より,予想が正しいことが確認できた
𝑇𝑖𝑚𝑒[𝑠]
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑝𝑜𝑖𝑛𝑡𝑠
実験2:ウィンドウ幅と計算時間
空間の幅 𝑙とデータ数 𝑛を固定して,矩形の幅𝑚を増加させた
矩形の幅が大きくなるほど,空間上で矩形を動かせる範囲が制限されていくので,出力されるパターン数が少なくなり,またそれに伴って計算時間も小さくなっていくことが予想される
結果より,その予想が正しいことが確認できた
𝑊𝑖𝑑𝑡ℎ 𝑜𝑓 𝑊𝑖𝑛𝑑𝑜𝑤 𝑊𝑖𝑑𝑡ℎ 𝑜𝑓 𝑊𝑖𝑛𝑑𝑜𝑤
𝑇𝑖𝑚
𝑒[𝑠
]
𝑁𝑢
𝑚𝑏
𝑒𝑟 𝑜
𝑓 𝑎
𝑛𝑠𝑤
𝑒𝑟
空間の幅 𝑙とウィンドウ幅 𝑚を固定し,データ数nを増加させた
空間内の点の密度が高くなるにつれて,出力する解の個数が増加すること,またそれに伴って計算時間が増加することが予想される
結果より,その予想が概ね正しいことが確認できた
𝑇𝑖𝑚
𝑒[𝑠
]
𝑁𝑢
𝑚𝑏
𝑒𝑟 𝑜
𝑓 𝑎
𝑛𝑠𝑤
𝑒𝑟𝑠
𝐷𝑒𝑛𝑠𝑖𝑡𝑦 𝑛/𝑙 𝐷𝑒𝑛𝑠𝑖𝑡𝑦 𝑛/𝑙
実験3:点の密度と計算時間
おわりに
1次元と2次元空間における点集合パターンを列挙問題について考察した.
効率よい1次元点のアルゴリズムε-尺取虫法を与えた.
設計と理論的解析:O(n+s)=O(n)時間で動く.
計算機実験で動作を確認.
2次元のアルゴリズムの基本的構成法
今後の課題
素朴なアルゴリズムとの比較実験を行う
2次元空間のアルゴリズムの設計と理論的解析を行う
地理データマイニング(色つき点集合データ)への応用
一般のd≧3次元へのアルゴリズムの拡張