木構造および化学構造に対する特徴ベクトル:
埋め込み、検索、構造推定
阿久津 達也
京都大学 化学研究所
バイオインフォマティクスセンター
講演内容

木の編集距離の埋め込み



順序木:オイラー文字列を利用した文字列の編集距離へ
の埋め込み
⇒文字列編集距離の L1 空間への埋め込み
⇒順序木編集距離の L1 空間への埋め込み
無順序木:特徴ベクトルを用いた L1 空間への埋め込み
特徴ベクトルからの構造推定


特徴ベクトルからの木構造推定
その新規化学構造設計への応用可能性
埋め込み
編集距離空間
L1空間
O
距離: DL1
距離: DT
O
  DL  DT    DL
1
構造推定
1
特徴ベクトル
空間
化合物空間
O
O
CH3
O
NH2
O
O
Part-I
木の編集距離の埋め込み
背景
背景

木構造のパターンマッチング

バイオインフォマティクス


XMLデータベース


RNA構造の比較、糖鎖構造の比較
類似XML文書の検索
画像理解
木構造の比較

部分グラフに基づく最大共通部分木



編集距離に基づく最大共通部分木



順序木:O(n2)時間
無順序木: O(n2.5/log n)時間
順序木: O(n3)時間
無順序木:NP困難(MAX SNP困難)
本研究での対象


順序木、および、無順序木 (頂点にラベルあり)
高さに制限(無順序木の場合)


DBLPのXML文書では高さは最大で6、99%は2以下
単位編集コスト
n: 二つの入力木のうち、大きい方の頂点数
順序木の編集距離の計算

上限
O(n6)時間 [K-C.Tai, 1979]
4
 O(n )時間
[K. Zhang & D. Shasha, 1989]
 O(n3log n)時間
[P. N. Klein, 1998]
 O(n3)時間
[E. Demaine et al., 2007]


下限

Ω (n3)時間
[E. Demaine et al., 2007]
(ただし、decomposition strategy algorithms の枠内)
無順序木に対する計算

編集距離



NP困難 [K. Zhang, R. Statman, D. Shasha, 1992]
MAX SNP困難 [K. Zhang & T. Jiang, 1994]
最大共通部分木




MAX SNP困難 [K. Zhang & T. Jiang, 1994]
一方が高さ1の木で、もう一方が高さ2の木でも
定数近似困難 [M. M. Halldorsson & K. Tanaka, 1996]
O(log 2n)近似 [M. M. Halldorsson & K. Tanaka, 1996]
高さが h の時、2h 近似 [M. M. Halldorsson & K. Tanaka, 1996]
⇒ 1.5h近似 [Akutsu, Fukagawa, Takasu, 2008]
文字列の編集距離の埋め込み

編集距離 計算



O(n2)程度の時間がかかる ⇒ 近似
2000年代に多くの優れた研究
最適に近い結果

L1埋め込みの近似(歪み)下限
  log n 

[Khot & Naor, FOCS2005]


[Krauthgamer & Rabani, SODA2006]
L1埋め込みの近似(歪み)上限


 log n
O( log n loglog n )
2
[Ostrovsky & Rabani, STOC2006 & JACM 2007]
編集距離の近似計算

ほぼ線形時間で
~
O( log n ) 近似
2
[Andoni & Onak, STOC2009]
講演内容(Part-1)

順序木 (Ω(n3))


文字列の編集距離への変換 [Akutsu, IPL, 2006]
⇒O(n2)時間O(h)近似アルゴリズム
O(n2)時間、O(n3/4)近似アルゴリズム

ただし、木の最大次数は定数以下
[Akutsu, Fukagawa & Takasu, Algorithmica (to appear)]

無順序木 (MAX SNP-hard)

特徴ベクトルによる編集距離の2h+2近似
[Fukagawa, Akutsu & Takasu, SPIRE 2009]
木の編集距離
木の編集距離

編集距離: T1 を T2 に変換するのに要する編集
操作の最小回数
削除: 頂点 v を削除し、v の子を v の親の子とする
 挿入: 削除の逆
 置換: 頂点 v のラベルを置き変える
(無順序木では、子の左右を入れ替えてもOK)

A
T1
A
C を削除
B
D
B
A
C
A
B
B
D
D
A
C を挿入
B
B
T2
B
D
A
B
木間の写像と最大共通部分木

木間写像: 以下を満たす写像 M  V (T1 ) V (T2 )
((v1 , w1 )  M )((v2 , w2 )  M )
 v1  v2  w1  w2
 v1がv2の先祖  w1がw2の先祖
 v1がv2の左  w1がw2の左 (順序木)

最大共通部分木

M id  {(v, w) | (v, w)  M , label(v)  label(w)}
の要素数が最大となる Mid により誘導される部分木

編集距離と最大共通部分木の関係

編集距離 =
| V (T1 ) |  | V (T2 ) |  | M |  | M id |
木間写像と最大共通部分木の例
編集距離=3
最大共通部分木
埋め込み
編集距離空間
埋め込み空間 X
O
距離: DT
距離: DX
O
  DX  DT    DX


α、βが1に近いほど良い
空間X (e.g., L1空間)における高速
アルゴリズム(eg. 検索)が利用可
順序木の編集距離の
O(h) 近似アルゴリズム
オイラー文字列



木を深さ優先探索
探索した順に頂点のラベルを並べる
ただし、戻る時のラベルは A の様に区別する
T1
A
B
B
“B C C E E B C D D C ”
C
C
C
s(T1)=
C
E
D
E
D
アルゴリズム


T1, T2 をオイラー文字列 s1, s2 に変換
s1, s2間の編集距離 EDS(s1,s2) を計算して出力
定理
1
2
EDS (s1, s2 )  EDT (T1, T2 )  (2h  1)EDS (s1, s2 )
h: 低い方の木の高さ
文字列の編集距離

編集操作


文字の追加
文字の削除
文字の置換
編集距離 = 文字列 s1 を s2 に変換するための最小
の編集操作回数

距離の公理を満たす
s1 = GCGTCGT
s2 = CGATCCTC
G C G ー T C G T ー
ー C G A T C C T C
アラインメント
⇒ 距離=4
命題
1
2
EDS (s1, s2 )  EDT (T1, T2 )
T1に対する1編集操作 ⇒ s1 に対する2編集操作

T1
T2
B
C
B
C
D
D
T1
T2
B
C
D
B
C
E
s1: B D D B C C
s2: B
B C C
s1: B D D B C C
s2: B E E B C C
アラインメントからの写像の復元

アラインメントから両者において完全に保存されてい
る部分木のみを抽出
上限の解析(1)


命題:途中に編集操作の入らない部分木どおしを対応
させると正当な木間写像になる
証明:部分木どおしは親子関係に無く、かつ、オイラー
文字列を利用しているので左右の関係が保存される
A
B
上限の解析(2)

文字列アライメントにおける1個のエラーが高さ×2個
(T1と T2 )の頂点の対応関係を損なう
EDT (T1 , T2 ) 
(2h  1) EDS (s1 , s2 )
定理
1
2
EDS (s1, s2 )  EDT (T1, T2 )  (2h  1)EDS (s1, s2 )
[Akutsu, IPL 2006]
順序木の編集距離の
O(n3/4) 近似アルゴリズム
最悪となる場合の例



文字列の距離=2
木の距離≒高さ
幹の頂点にAD,
BD, AE, BE な
どのラベルをつ
けてマッチを防
げば良い
枝へのラベルの割り当て(1)

すべての枝に部分木の情報を割り当てると、(オイ
ラー文字列の)エラーが大きくなりすぎる
⇒ 一部の枝のみに小さな部分木の情報を付加
枝へのラベルの割り当て(2)


Special node: 部分木のサイズが n 以下で、
親部分木のサイズが n より大
Special edge:子の少なくとも1個が special node

Special nodeを根とする部分木の情報をラベルとして与える
無順序木の編集距離の
2h+2 近似アルゴリズム
無順序木の編集距離の近似
最大共通部分木(最大化)⇔編集距離(最小化)
 しかし、近似に関しては無関係
 編集距離: MAX SNP困難以外の結果が無い
⇒無順序木の編集距離の 2h+2近似

方法
 木 T を特徴ベクトル Φ(T) に変換
1
Φ(T1 )  Φ(T2 ) 1  dist (T1 , T2 )  Φ(T1 )  Φ(T2 ) 1
2h  2
[Fukagawa, Akutsu & Takasu, SPIRE 2009]
特徴ベクトル
T1
T(v) : v とその子孫から誘導さ
れる T の部分木
 Φt(T)= #(T,t)= |{ v | T(v)~t }|,
Φ(Ti) = < Φt(Ti) | t∊{Ti(v)|i=1,2} >

T2
r
r
c
a
a b
b
a c
Φ(T1)= ( 1, 2, 0, 1, 1, 0,
1, 0 )
Φ(T2)= ( 1, 1, 1, 1, 0, 1,
0, 1 )
a b c
a
b
c
c T
1
a b a c
c
T2
a
b
特徴ベクトルの性質
T1
補題1
Φ (T1 )  Φ (T2 ) 1 
(2h  2)  dist (T1 , T2 )
証明:編集操作1に
より距離が高々
2h+2 増加
補題2
dist (T1 , T2 ) 
Φ(T1 )  Φ(T2 ) 1
証明:略
T2
r
r
c
a b
c
a
b
a
a c
b
Φ(T1)= ( 1, 2, 0, 1, 1, 0,
1, 0 )
Φ(T2)= ( 1, 1, 1, 1, 0, 1,
0, 1 )
a b c
a
b
c
c T
1
a b a c
T2
乱数の利用による埋め込み

Φ(Ti)の計算


T1,T2, … , Tm を知る必要があり、データベース検索に不向き
code(T(v)): T(v)の一意な表現(整数値)


そのままだと O(n) サイズ
code(T(v)) mod p を利用 ( pは素数) ⇒ O(log n)サイズ
(Karp-Rabin の randomized fingerprint)
Φ (T ) 
p
k
 # (T , t)
ただし、 T(k , p)  {t Ti | code (t )  k mod p }
tΤ( k , p )
定理: N  i Ti 、 n  maxi Ti 、   N 2 n 2 log N とし、
ランダムな素数

p が [0,...,  1] の
確率 1  O(1 / n)で以下が成立
1
Φ p (T1 )  Φ p (T2 )  dist (T1 , T2 )  Φ p (T1 )  Φ p (T2 )
1
1
2h  2
結論 (Part-I)

順序木 (Ω(n3))



高さが h の木に対するO(n2)時間O(h)近似
O(n2)時間、O(n3/4)近似アルゴリズム
無順序木 (MAX SNP-hard)

特徴ベクトルによる 2h+2近似
Open Problem



無順序木の編集距離の h に依存しない近似
O(n3/4)近似における定数次数制約の除去
順序木の編集距離の埋め込み
Part-II
特徴ベクトルからの構造推定
サポートベクターマシン




カーネル法の一つ
1990年代に、Cortes と Vapnik が発明
トレーニングデータとして与えられた正例と負例から、
それらを分離する超平面を計算
機械学習、統計学、人工知能、パターン認識、バイオ
インフォマティクスなど様々な分野に応用





配列分類
タンパク質フォールド予測、二次構造構造
遺伝子発現データ解析
タンパク質相互作用予測
化合物の性質推定
サポートベクターマシン


正例と負例(e.g.,
活性あり化合物、
活性なし化合物)
を与えて、それらを
最適(マージンを最
大)に分離する超
平面を学習
カーネルを適切に
定義することにより
超平面以外での分
離が可能
margin
カーネル




サポートベクターマシン:基本的には超平面で分離
Φ(x) (特徴ベクトル):「非線形曲面⇒超平面」に写像
カーネル K(x,y)=Φ(x)・Φ(y)
x と y の類似度が高い ⇔ K(x,y)が大
φ(x)
カーネル法に基づく化合物活性予測


化合物を特徴ベクトルに写像
SVM(SVR)を用いて活性の有無(活性値)を予測
化合物空間
Φ
O
O
CH3
O
NH2
O
O
特徴ベクトル
空間
化合物に対する特徴ベクトル
Walk based (パスの出現頻度)
Descriptor based (部分構造の出現頻度)
特徴ベクトルからの化学構造の推定

従来のカーネル法


データ ⇒ 特徴ベクトル
我々のアプローチ

(写像 Φ)
(pre-image 問題)
特徴ベクトル ⇒ データ
(逆写像 Φ-1)
化合物空間
特徴空間
Φ
CH3
Φ-1
none
approximate
pre-image
Φ-1
創薬への応用可能性(1)

二つの化合物の中間構造を持つ新たな化合物の設計
A
CH3
CH3
(A+B)/2
B
創薬への応用可能性(2)

以下の化合物は既知






(A) 効能はあるが、悪い副作用もある
(B) 効能も無く、悪い副作用も無い
(C) 効能は無いが、悪い副作用はある
ここから、効能があり、
悪い副作用が無い
化合物を設計したい
新規化合物
(A)
効能あり
効能なし
(C)
副作用
あり
(B)
副作用
なし
44
既存研究




カーネルPCA + 回帰
[Bakir, Wetson & Schoelkopf, 2003]
シミュレーテッドアニーニング [Bakir, Tsuda & Schoelkopf, 2004]
文字列のpre-image
 オイラー閉路問題に帰着
[Cortes, Mohri & Weston, 2005]
グラフに対しては厳密アルゴリズムや計算論的考察
は無し
問題の定式化


入力: 長さ K 以下のラベル付きパスの出現頻度から
なる特徴ベクトル v
出力: 特徴ベクトルをΦ(G)とする時、 Φ(G)=v を満た
す化学構造(グラフ) G(V,E)
Φ
v
理論的結果

特徴ベクトルからの化学構造推定は、以下の場合、
動的計画法により多項式時間で計算可能




ラベルの種類が定数以下
パスの長さが定数以下
最大次数が定数以下の木構造
(木構造はある制約つきの外平面グラフに拡張可能)
一方、パスの長さに制約がない場合には、木構造に
対しても NP困難
[Akutsu & Fukagawa, CPM 2005,BIOINFO 2005]

特徴ベクトルからの化学構造推定は、K=1の場合、
Graph Detachment を用いることにより、一般のグ
ラフに対しても多項式時間で計算可能
[Nagamochi, COCOON 2006]
動的計画法アルゴリズムの概要

木は葉を1個づつ付加することにより生成可能
a
a
a
a
b
a
D(v)=1
a
a
b
a
b
a
b
b
b
 Φ(T)=v を満たす v が存在
D(na , nb , naa , nab , nba , nbb )  1 
D(na  1, nb , naa  2, nab , nba , nbb )  1 
D(na  1, nb , naa , nab  1, nba  1, nbb )  1 
D(na , nb  1, naa , nab  1, nba  1, nbb )  1 
D(na , nb  1, naa , nab , nba , nbb  2)  1
 多項式とはいえ、
計算量が大きく
非実用的
単純な分枝限定法アルゴリズム





頂点を一つずつ追加することにより木構造(もしくは
木に似た構造)を生成
いくつかの候補を記憶しておき、最も目的の特徴ベク
トルに近いものを展開
深さ優先探索 (DFS, depth-first search procedure)
に基づく
現時点での木構造が、対象の特徴ベクトルに至らな
いことが判明した時点でバックトラックを行う
木構造+ベンゼン環に対応可能
数え上げに基づく分枝限定法アルゴリズム

中野 & 宇野の木構造数え上げと以下の組み合わせ





次数制約によるカット
特徴ベクトルによるカット
Detachment カット [Ishida et al., GIW 2008]
主に永持研で開発
二つのバージョン
水素原子を陽に扱う、扱わない
アルカン(CnH2n+2)の数え上げでは、ほぼ最高速
特徴ベクトルからの化学構造推定では、水素を除いて20~30
原子程度の化合物まで対応可能



[Fujiwara et al., J. Chemical Information & Modeling, 2008]
化学構造数え上げサーバ
制約を満たす木構造の数え上げサーバ

http://sunflower.kuicr.kyoto-u.ac.jp/~ykato/chem/

与えられたパス頻度に関する制約を満たす木構
造を数え上げて表示
SMILE形式の構造式も出力
永持研で開発されたプログラムを実装
限定的ながらもベンゼン環にも対応
アルカンなどの数え上げも可能




Web server開発: Y. Kato
サーバの
実行例
C6H14
サーバの
実行例
C6H14
結論(Part-II):特徴ベクトルからの構造推定



木に対する多項式時間アルゴリズム
パスの長さに制約がない場合のNP困難性
分枝限定法アルゴリズム



木構造の数え上げ
次数制約カット、特徴ベクトルによるカット、detachmentカット
WEBサーバの構築
今後の課題




提案手法の新規化合物設計における有効性の証明
更なる改良、拡張
 より広いグラフクラスへの拡張
エラーを許した場合のアルゴリズムの開発
他問題への応用
 NMR/質量分析データからの構造推定
結論 (Part-I):

順序木 (Ω(n3))
高さが h の木に対するO(n2)時間O(h)近似
O(n2)時間、O(n3/4)近似アルゴリズム



無順序木 (MAX SNP-hard)
特徴ベクトルによる 2h+2近似

結論(Part-II):



特徴ベクトルからの構造推定
木に対する多項式時間アルゴリズム
パスの長さに制約がない場合のNP困難性
分枝限定法アルゴリズム
木構造の数え上げ
次数制約カット、特徴ベクトルによるカット、detachmentカット



特徴ベクトルによる木の編集距離の埋め込み
WEBサーバの構築
Acknowledgment



A. Takasu & D. Fukagawa at NII
H. Nagamochi & Members of Nagamochi Lab. at Kyoto U.
Y. Kato at BIC, Kyoto U.
ダウンロード

資料2 - 情報論的学習理論と機械学習 (IBISML)