• 検索結果がありません。

多項式時間計算可能な根無しラベル付き木の編集距離

N/A
N/A
Protected

Academic year: 2021

シェア "多項式時間計算可能な根無しラベル付き木の編集距離"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

多項式時間計算可能な根無しラベル付き木の編集距離

Edit Distance Computable in Polynomial Time

between Unrooted Labeled Tree

芳野 拓也

1

平田 耕一

1,2

Takuya Yoshino

1

Kouichi Hirata

1,2

1

九州工業大学大学院情報工学府

1

Graduate School of Computer Science and Systems Engineering,

2

九州工業大学情報工学研究院

2

Department of Artificial Intelligence,

Kyushu Institute of Technology

Abstract: In this paper, we formulate an edit distance for unrooted tree as the minimum cost transforming from a tree to another tree by using unrooted edit operations and an confluent mapping between unrooted trees extended the Tai mapping. This is a revised of the path-preserving mapping introduced in SISA’16 [7]. We also formulate an isolated-subtree mapping for unrooted trees and investigate whether it is the minimum of rooted isolated-subtree mapping for every pair of nodes in 2 trees.

1

はじめに

2つの根付き木 (rooted tree) 間の Tai マッピング (Tai mapping ) [4]は, 単射であり, かつ, 先祖子孫関係を保 存するノード間の対応付けである. この Tai マッピン グは, マッピングによる対応付けがあるノードを置換 (あるいは未操作), 対応付けがない木のノードを削除と 挿入とみなすことで, 2 つの根付き木間の Tai マッピン グの最小コストが木編集距離 (tree edit distance) とな ることが知られている [4]. また, Tai マッピングに様々 な制約を入れることで, 数多くの木編集距離の変種を 導入することができ [9, 10, 12], そのときの Tai マッピ ングが階層を成すことも知られている [3, 5]. さらに, Taiマッピングは, 木カーネルの一種であるマッピング カーネルの定式化における数え上げの対象でもある. このように, 根付き木において Tai マッピングは木編 集距離や木カーネルとして重要な概念であるが, この

Taiマッピングを根無し木 (unrooted tree) に拡張する

ためには, 単射であることに加えて, 先祖子孫関係に代 わる条件を導入する必要がある. Zhang ら [12] は, 挿 入と削除を次数 2 以下のノードに制限した次数 2 距離 (degree-2 distance)を根無し木に拡張する際, 根付き木 の LCA 保存マッピングの拡張として, 3 つのノードの 中心 (center ) を保存する中心保存マッピング (center-∗連絡先: 九州工業大学大学院情報工学符 〒 820-8502 福岡県飯塚市河津 680-4 E-mail: [email protected] preserving mapping)を導入した. ここで, 3 つのノー ドの中心とは, 2 つのノード間の 3 つのパスの共通ノー ドである. また中心保存マッピングの最小コストとして 定義される中心保存距離 (center-preserving distance) は, 2 つの木の任意のノードを根とみなした根付き木間 の次数 2 距離の最小値として求めることができる [12]. 本論文では, 編集操作を根無し木に拡張し, 根無し木 の編集距離を定式化する. また,孤立部分木マッピング (isolated-subtree mapping)を根無し木に拡張する.

2

準備

閉路を持たない連結グラフを木という. 木 T = (V, E) に対して, V, E をそれぞれ V (T ), E(T ) で表し, v V (T )を単に v∈ T と表す. また, |V (T )| を T の大き さ (size) といい, |T | で表す. 簡単のため, v ∈ V を単 に v∈ T で表し, 空の木を ∅ で表す. 木 T のうち,根ノード r∈ T を 1 つ選んだものを根 付き木, そうでないものを根無し木という. 根付き木 T の根を r(T ) と表し, 根ノード r∈ T を根として選んだ 根付き木を Trで表す. T = (V, E)を木とする. u, v ∈ V に対して, V′ = {v1, . . . , vn}, E′ = {(vi, vi+1)| 1 ≤ i ≤ n − 1}, v1 = u, vn = v を満たす木 (E′, V′)を u から v へのパスと

いい, [u, v] で表す. また, [u, v]\ {u, v} を [[u, v]] で表 す. u, v, w ∈ V に対して, [u, v], [v, w], [w, u] に共通す

人工知能学会研究会資料 SIG-FPAI-B506-14

(2)

るノードを{u, v, w} の中心 [12] といい, c(u, v, w) で表 す. V′ ⊆ V , E′ ⊆ E, T′ = (V′, E′)とする. すべて の u, v∈ V′に対して u から v へのパスが T’ 中に存在 するとき, T′を T の部分木という. v ∈ V に対して, {u ∈ T | (u, v) ∈ E} を v の隣接ノードといい, N(v) で 表す. 特に, 根付き木 T の根を r とするとき, ノード v(∈ T\ {r}) に対して, [r, v] ∩ N(v) のノードを v の親とい い, par (v) で表す. また, [r, v]\ {v} のノードを v の先 祖という. u, v∈ T に対して, v が u の親であるとき, u を v の子といい, v が u の先祖であるとき, u を v の子 孫という. 子を持たないノードを葉という. v∈ T に対 して, v および v の子孫からなる Trの部分木を Tr vを根とした完全部分木といい, Tr[v]で表す. 本論文では, 根付き木 Trにおいて, v が u の先祖で あることを, u <rvと表し, u <rvまたは u = v であ ることを, u ≤r vと表す. また, u≤r v, v ≤r uを共 に満たさないことを, u #r vと表す. u, v ∈ T に対し て, u≤rw, v≤rwであり, w′ <r wなる w′が存在し ないような w を u と v の最近共通先祖 (LCA) といい, u⊔rvで表す. 以上より, 以下の自明な補題を得る. 補題 1 根付き木 T の根ノードを r とし, u, v∈ T とす る. このとき c(u, v, r) = u⊔rvが成り立つ. アルファベット Σ の要素が各ノードに割り当てられ ているような木をラベル付き木という. また各ノード に割り当てられた記号をラベルといい, v∈ T のラベル を l(v) で表す. ε̸∈ Σ を空文字とし, Σ ∪ {ε} = Σεと する. 本論文ではラベル付き木を単に木として扱う. 定義 1 (編集操作 [4]) 根付き木 T の編集操作 (edit op-erations)を以下のように定義する. 1. 置換 (Substitution): T のノード v のラベルを変 更する. 2. 削除 (Deletion): v′ ∈ T を親に持つ v を削除し, vの子を v′の子とする. 3. 挿入 (Insertion): 削除の逆操作. ノード v を v′ Tの子として挿入し, v′の子の部分集合を v の子 とする. ここで, ラベルの組 (l1, l2)∈ (Σε× Σε\ {(ε, ε)}) に 対して, 編集操作を (l17→ l2)と書き, l1̸= ε かつ l2̸= ε のときに置換を, l2= εのときに削除を, l1= εのとき に挿入をそれぞれ表す. さらに, ラベルの組に, コスト関数 (cost function) γ : (Σε× Σε\ {(ε, ε)}) → R+ を定義する. 多くの 場合, コスト関数 γ はメトリック (metric) の制約をつ ける. すなわち, γ(l1, l2)≥ 0, γ(l1, l2) = 0 iff l1 = l2, γ(l1, l2) = γ(l2, l1)および γ(l1, l3)≤ γ(l1, l2)+γ(l2, l3) を満たすようなコスト関数をもちいる. l1̸= l2のとき, γ(l1, l2) = 1となるコスト関数を単一コスト関数 (unit cost function)といい, µ で表す. 定義 2 (編集距離 [4]) γ をコスト関数とする. 編集操 作 e = (l1 7→ l2)に対して, γ(e) = γ(l1, l2)で与えら れる値を, 編集操作 e のコストという. また, 編集操作 列 E = e1, . . . , ek に対して, γ(E) =k i=iγ(ei)で与 えられる値を, 編集操作列 E のコストという. そして, 根付き木 T1と T2に対して, 以下のように定義される τr

Tai(T1, T2)を, T1と T2間の編集距離 (edit distance)

という. τr Tai(T1, T2) = min { γ(E) Eは T1から T2を得る ための編集操作列 } . 定義 3 (Tai マッピング [4]) Tur 1 と T vr 2 を根付き木と し, M ⊆ V (T1)× V (T2)とする. このとき, 任意の (u1, v1), (u2, v2)∈ M が以下の条件を満たすとき, 3 つ

組 (M, T1, T2)を Taiマッピング (Tai mapping) という.

1. u1= u2 iff v1= v2 (一対一対応). 2. u1≤ur u2 iff v1≤vrv2(先祖関係保存). 誤解のない限り, (M, T1, T2)を単に M と書く. また, T1, T2間のすべての Tai マッピングの集合をMrTai(T1, T2) で表す. 集合{v ∈ T1 | (v, w) ∈ M} と {w ∈ T2 | (v, w) ∈ M} を, それぞれ M|1, M|2で表す. M ∈ MrTai(T1, T2) に対して, M のコスト (cost) γ(M ) を以下のように与 える. γ(M ) =(v,w)∈M γ(v, w) +v∈T1\ M|1 γ(v, ε) +w∈T2\ M|2 γ(ε, w).

定理 1 (Tai [4]) τTaiγ (T1, T2) = min{γ(M) | M ∈

MTai(T1, T2)}. 定義 4 (孤立部分木マッピング [5]) Tur 1 , T vr 2 を根付 き木とし, M ∈ MrTai(T1, T2)とする. 任意の (u1, v1), (u2, v2), (u3, v3)∈ M が以下の条件を満たすとき, M を孤立部分木マッピング (isolated-subtree mapping) [5] (あるいは制限マッピング (constrained mapping) [10, 11])といい, M∈ MrIlst(T1, T2)で表す. u1⊔uru2= u1⊔uru3 ⇐⇒ v1⊔vr v2= v1⊔vrv3. 定理 1 と同様に, 孤立部分木距離 (isolated-subtree distance) [5] τr (T 1, T2)を以下のように定める.

(3)

τIlstr (T1, T2) = min{γ(M) | M ∈ MrIlst(T1, T2)}. さらに, 以下の定理が知られている. 定理 2 T1, T2 を木とし, n = |T1|, m = |T2|, D = max{d(T1), d(T2)}, d = min{d(T1), d(T2)} とする. 1. ([3]) MrIlst(T1, T2) ⊆ MrTai(T1, T2). すなわち, τr Tai(T1, T2)≤ τ r Ilst(T1, T2). 2. ([1, 11]) τr Tai(T1, T2)の計算問題は, T1, T2が二 分木であっても MAX SNP 困難である. 3. ([6]) τIlstr (T1, T2)は O(nmd) 時間で計算可能で ある. 編集操作や編集距離を根無し木に拡張するため, 根無 し木におけるノードの削除, 挿入を定式化する. 定義 5 (根無し木の編集操作) 根無し木 T の編集操作を 以下のように定義する. 1. 置換: 根付き木同様, T のノード v のラベルを変 更する. 2. 削除: ノード v′ ∈ N(v) を選択したのち, ノード vを削除し N (v)\{v′} を N(v′)に追加する. 言い 換えると, 各 u∈ N(v) と v をつなぐ辺 (u, v), お よびノード v を削除し, すべての u∈ N(v) \ {v′} に対して, 辺 (u, v′)を追加する. 図 1 (上) に操作 の模式図を示す. 3. 挿入: 削除の逆操作. ノード v′ に対して N N (v′)を選んだ後, ノード v を挿入し N∪ {v′} を N (v)とする. 言い換えると, ノード v を追加し, すべての u ∈ N に対して辺 (u, v′)を削除, その 後すべての u∈ N ∪ {v′} に対して辺 (u, v) を追 加する. 図 1 (下) に操作の模式図を示す. 削除 v v 0 v1 vm vi 7→ v 0 v1 vm vi 挿入 v 0 u w vm v 1 7→ v v 0 u w vm v 1 図 1: 根無し木における削除 (上) と挿入 (下). 定義 6 (根無し木編集距離) γ をコスト関数とする. そ して, 根無し木 T1と T2に対して, 以下のように定義 される τTai(T1, T2)を, T1と T2間の根無し編集距離と いう. τTai(T1, T2) = min { γ(E) Eは T1から T2を得るた めの根無し編集操作列 } . 定義 7 (根無し Tai マッピング (合流マッピング)) T1, T2を根無し木とする. M ⊆ V (T1)× V (T2)が以下の条 件を満たすとき, 3 つ組 (M, T1, T2)を Taiマッピング

(Tai mapping),あるいは根付き木間の Tai マッピング

との区別のため,合流マッピング (confluent mapping) という. 1. ∀(u1, v1), (u2, v2)∈ M, u1= u2 iff v1= v2(一対 一対応). 2. 任意の (u1, v1), (u2, v2), (u3, v3)∈ M が [[u1, u2]]̸= ∅ かつ [[v1, v2]] ̸= ∅, c(u1, u2, u3) ∈ [[u1, u2]] c(v1, v2, v3) ∈ [[v1, v2]] を満たすように取り換え ることができる (合流条件). 誤解のない限り, (M, T1, T2)を単に M と書く. また, T1, T2間のすべての合流マッピングの集合をMCnfl(T1, T2) で表す. SISA’16 [7]では, パス保存マッピングを導入したが, パ ス保存マッピングの最小コストが編集距離と一致しな いことが判明した. そのため, 上記合流マッピングを もって, パス保存マッピングの代替とする. 定理 3 T1, T2を根無し木とする. τTai(T1, T2) = min{γ(M) | M ∈ MCnfl(T1, T2)} . 定義 8 (中心保存マッピング [12]) M が以下の条件を 満たすとき, M を中心保存マッピング (center-preserving mapping)という. 任意の (u1, v1), (u2, v2), (u3, v3)∈ M に対して, (c(u1, u2, u3), c(v1, v2, v3))∈ M.

3

根無し孤立部分木距離

本節では, 根付き木の孤立部分木マッピングおよび孤 立部分木距離を根無し木に拡張する. 定義 9 (根無し孤立部分木マッピング) T1, T2を根無し 木とし, M ∈ MCnfl, (ur, ur) ∈ M とする. 任意の

(4)

(u1, v1), (u2, v2), (u3, v3) ∈ M が以下の条件を満たす

とき, M を (ur, vr)孤立部分木マッピングという.

c(ur, u1, u2) = c(ur, u2, u3) = c(ur, u3, u1)

⇔ c(vr, v1, v2) = c(vr, v2, v3) = c(vr, v3, v1). また, すべての (u, v)∈ M が (u, v) 孤立部分木マッピ ングとなるような M を,孤立部分木マッピングといい, M ∈ MIlst(T1, T2)と表す. 定義 10 (根無し孤立部分木距離) 孤立部分木距離 τIlst(T1, T2)を以下のように定義する.

τIlst(T1, T2) = min{γ(M) | M ∈ MIlst(T1, T2)} .

以下は, 孤立部分木マッピングに関する予想である. 推測 1 T1, T2を根無し木とする. このとき, 以下は等 価である. 1. M ∈ MIlst(T1, T2) 2. 任意の (u1, v1), (u2, v2), (u3, v3), (u4, v4)∈ M に 対して, 以下が成り立つ.

c(u1, u2, u3) = c(u1, u2, u4) = c(u1, u3, u4)

⇔ c(v1, v2, v3) = c(v1, v2, v4) = c(v1, v3, v4). 推測 2 T1, T2を根無し木とする. このとき, 以下が成 り立つ. τIlst(T1, T2) = min { γ(M ) M ∈ MrIlst(Tur 1 , T vr 2 ), (ur, vr)∈ V (T1)× V (T2) } . 推測 2 の確認のため, 2 つの根無し木の, すべてのノー ドの組を根とした根付き木として孤立部分木距離を計 算し最小値を取ったものと, 中心保存距離の比較を行う. ここで, コスト関数は常に単一コスト関数 µ とする. 本論文では, KEGG [2] の提供する N 型糖鎖データ を用いる. 木の総数は 2, 142 であり, 総当たりの組数 は 2, 293, 011 となる. ノードと葉の数の平均はそれぞ れ 11.0696, 3.2876 であり, 高さと次数の平均はそれぞ れ 5.3838, 2.0724 である. 距離の分布を図 2 に示す. また, 距離の大小関係のみ の比較結果を表 1 に示す. 表 1: 根付き孤立部分木距離の最小値と中心保存距離 の大小関係 不等式 組数 % 中心保存距離=最小孤立部分木距離 2078529 90.6463 中心保存距離>最小孤立部分木距離 214482 9.3537 中心保存距離<最小孤立部分木距離 0 0.0000 表 1 より, 根付き孤立部分木距離の最小値が中心保 存距離を下回るものはなかった. これは, 次数 2 距離と 根付き孤立部分木距離の関係と同様であるため, 推測 2 を否定しえない. 0 5 10 15 20 25 30 35 40 45 0 5 10 15 20 25 30 35 40 45 Center-preserving distance

Minimum of isolated-subtree distance

図 2: 根付き孤立部分木距離の最小値と中心保存距離 の分布.

4

まとめと今後の課題

本論文では, 根付き木の編集距離を根無し木に拡張 し, Tai マッピング, 孤立部分木マッピングも同様に根 無し木への拡張を行った. また, N 型糖鎖をもちいて, 根無し孤立部分木距離と等価であると予想される任意 のノードの組を根と考えた根付き孤立部分木距離の最 小値と, 中心保存距離との比較を行った. N 型糖鎖で は, 推測 2 を否定する要素, すなわち, 中心保存距離を 上回る最小根付き孤立部分木距離は見つからなかった. よって, 推論 2 の証明が今後の課題として挙げられる.

参考文献

[1] K. Hirata, Y. Yamamoto, T. Kuboyama: Im-proved MAX SNP-hard results for finding an edit distance between unordered trees, Proc. CPM 2011, LNCS 6661, 402–415, 2011.

[2] KEGG: Kyoto Encyclopedia of Genes and Genomes, http://www.kegg.jp/.

[3] T. Kuboyama: Matching and learning in trees, Ph.D thesis, University of Tokyo, 2007.

[4] K.-C. Tai: The tree-to-tree correction problem, J. ACM 26, 422–433, 1979.

[5] J. T. L. Wang, K. Zhang: Finding similar consensus between trees: An algorithm and a distance hierar-chy , Pattern Recog. 34, 127–137, 2001.

[6] Y. Yamamoto, K, Hirata, T. Kuboyama: Tractable and intractable variations of unordered tree edit dis-tance, Internat. J. Found. Comput. Sci. 25, 307–329, 2014.

[7] T. Yoshino, K. Hirata: Enhanced Tai Mapping for Unrooted Trees, Proc. SISA’16, 6–11, 2016.

(5)

[8] T. Yoshino, K. Hirata: Tai mapping hierarchy for rooted labeled trees through common subforest , The-ory of Comput. Sys (to appear).

[9] K. Zhang: Algorithms for the constrained editing dis-tance between ordered labeled trees and related prob-lems, Pattern Recog. 28, 463–474, 1995.

[10] K. Zhang: A constrained edit distance between un-ordered labeled trees, Algorithmica 15, 205-222, 1996. [11] K. Zhang, T. Jiang: Some MAX SNP-hard results concerning unordered labeled trees, Inform. Process. Lett. 49, 249–254, 1994.

[12] K. Zhang, J. Wang, D. Shasha: On the editing dis-tance between undirected acyclic graphs, Internat. J. Found. Comput. Sci. 7, 43-58. 1996.

図 2: 根付き孤立部分木距離の最小値と中心保存距離 の分布. 4 まとめと今後の課題 本論文では, 根付き木の編集距離を根無し木に拡張 し, Tai マッピング, 孤立部分木マッピングも同様に根 無し木への拡張を行った

参照

関連したドキュメント

The time span from the slot where an initial collision occurs up to and including the slot from which all transmitters recognize that all packets involved in the above initial

The paper is organized as follows: in Section 2 is presented the necessary back- ground on fragmentation processes and real trees, culminating with Proposition 2.7, which gives a

Some of the above approximation algorithms for the MSC include a proce- dure for partitioning a minimum spanning tree T ∗ of a given graph into k trees of the graph as uniformly

The intention of this work is to generalise the limiting distribution results for the Steiner distance and for the ancestor-tree size that were obtained for the special case of

There are at least two possible (and extreme) solutions to this: (1) recomputing an entirely new optimal tree spanner for G − e, or (2) replacing just the failing edge e by another

The operators considered in this work will satisfy the hypotheses of The- orem 2.2, and henceforth the domain of L will be extended so that L is self adjoint. Results similar to

Figure 3: A colored binary tree and its corresponding t 7 2 -avoiding ternary tree Note that any ternary tree that is produced by this algorithm certainly avoids t 7 2 since a

This property is a measure-theoretic analogue of the ergodic “mixing property.” Theorem 3.8 gives a graph-theoretic analogue of the Wallace theo- rem in which the horocycle flow on