Efficient Enumeration of Induced Subtrees in a K-Degenerate Graph ¡ Kunihiro ¡Wasa 1 , ¡Hiroki ¡Arimura 1 , ¡and ¡Takeaki ¡Uno 2 1. Hokkaido ¡University, ¡Japan ¡ 2. National ¡Institute ¡of ¡Informatics, ¡Japan ¡ ISAAC ¡2014, ¡Dec. ¡15-‑17, ¡Jeonju, ¡Korea 1 ¡
Induced ¡subtree A ¡labeled ¡graph ¡G ¡= ¡(V, ¡E). ¡ ¡ 1 7 2 3 5 4 6 2 ¡
Induced ¡subtree 1. Select ¡a ¡set ¡ A ¡labeled ¡graph ¡G ¡= ¡(V, ¡E). ¡ ¡ S ¡of ¡vertices ¡ 1 7 2 3 S 5 4 6 3 ¡
Induced ¡subtree 1. Select ¡a ¡set ¡ A ¡labeled ¡graph ¡G ¡= ¡(V, ¡E). ¡ ¡ S ¡of ¡vertices ¡ 1 2. Take ¡all ¡ 7 2 edges ¡both ¡ 3 of ¡whose ¡ S endpoints ¡ 5 belong ¡to ¡S 4 6 4 ¡
Induced ¡subtree 1. Select ¡a ¡set ¡ A ¡labeled ¡graph ¡G ¡= ¡(V, ¡E). ¡ ¡ S ¡of ¡vertices ¡ 1 2. Take ¡all ¡ 7 2 edges ¡both ¡ 3 of ¡whose ¡ S endpoints ¡ 5 belong ¡to ¡S 4 S ¡is ¡an ¡induced ¡ subtree! ¡ 6 5 ¡
Induced ¡subtree A ¡labeled ¡graph ¡G ¡= ¡(V, ¡E). ¡ ¡ 1 7 2 3 S 5 4 6 6 ¡
Induced ¡subtree A ¡labeled ¡graph ¡G ¡= ¡(V, ¡E). ¡ ¡ 1 Not ¡an ¡ 7 2 induced ¡ 3 S subtree ¡S ¡ 5 4 6 7 ¡
Induced ¡subtree A ¡labeled ¡graph ¡G ¡= ¡(V, ¡E). ¡ ¡ 1 The ¡task ¡is ¡ ¡ 7 2 to ¡enumerate ¡ ¡ 3 all ¡induced ¡subtrees ¡ 5 in ¡G ¡ 4 6 8 ¡
・・・ Problem: ¡Induced ¡subtree ¡enumeration Input : ¡ ¡ ¡A ¡labeled ¡graph ¡G ¡= ¡(V, ¡E). ¡ ¡ Task : ¡ ¡ ¡ ¡Enumerate ¡all ¡induced ¡subtrees ¡in ¡G ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡without ¡duplication . ¡ 1 S 1 G 1 S 2 1 1 S 5 2 7 7 2 2 3 S 3 7 4 3 6 5 S 6 4 3 5 S 4 2 3 6 7 5 9 ¡
Related ¡work: ¡Enumeration Subtrees ¡ n Spanning ¡trees ¡in ¡a ¡graph ¡(1970s ¡to ¡1990s) ¡ – Polynomial ¡time ¡enumeration ¡ (Read ¡& ¡Tarjan, ¡Networks, ¡1975) ¡ – Constant ¡time ¡enumeration ¡ (Shioura, ¡Tamura, ¡Uno, ¡SIAM ¡J. ¡Comp., ¡ 1997). ¡ ¡ n Fixed-‑size ¡subtrees ¡in ¡a ¡graph. ¡(2010’s) ¡ – O(size ¡of ¡subtree) ¡time ¡enumeration ¡in ¡a ¡graph ¡ (Ferreira, ¡ Grossi, ¡Rizzi, ¡ESA ¡2011). ¡ – Constant ¡time ¡enumeration ¡in ¡a ¡tree. ¡(Wasa, ¡Kaneta, ¡Uno, ¡ Arimura, ¡COCOON ¡2012). ¡ ¡ Induced ¡subgraphs ¡ n Connected ¡induced ¡subgraphs ¡in ¡a ¡graph. ¡ ¡ – Polynomial ¡time ¡enumeration ¡ (Avis ¡& ¡Fukuda, ¡DAM, ¡1996). ¡ Applications ¡of ¡reverse ¡search. ¡ ¡ n Chordless ¡cycles ¡and ¡chordless ¡paths ¡in ¡a ¡graph. ¡ ¡ – Linear ¡time ¡enumeration ¡ (Ferreira, ¡Grossi ¡et ¡al. ¡ESA ¡2014; ¡Uno ¡& ¡ Satoh, ¡DS ¡2014) ¡ ¡ 10 ¡
Related ¡work: ¡Enumeration Subtrees ¡ n Spanning ¡trees ¡in ¡a ¡graph ¡(1970’s ¡to ¡1990’s) ¡ – Polynomial ¡time ¡enumeration ¡ (Read ¡& ¡Tarjan, ¡Networks, ¡1975) ¡ – Constant ¡time ¡enumeration ¡ (Shioura, ¡Tamura, ¡Uno, ¡SIAM ¡J. ¡Comp., ¡ 1997). ¡ ¡ n Fixed-‑size ¡subtrees ¡in ¡a ¡graph. ¡(2010’s) ¡ Complexity ¡of ¡enumeration ¡of ¡ – O(size ¡of ¡subtree) ¡time ¡enumeration ¡in ¡a ¡graph ¡ (Ferreira, ¡ Grossi, ¡Rizzi, ¡ESA ¡2011). ¡ Induced ¡subtrees ¡in ¡a ¡graph ¡is ¡ – Constant ¡time ¡enumeration ¡in ¡a ¡tree. ¡(Wasa, ¡Kaneta, ¡Uno, ¡ Arimura, ¡COCOON ¡2012). ¡ ¡ still ¡open! ¡ Induced ¡subgraphs ¡ n Induced ¡subgraphs ¡in ¡a ¡graph. ¡ ¡ – Polynomial ¡time ¡enumeration ¡ (Avis ¡& ¡Fukuda, ¡DAM, ¡1996). ¡ Applications ¡of ¡reverse ¡search. ¡ ¡ n Chordless ¡cycles ¡and ¡chordless ¡paths ¡in ¡a ¡graph. ¡ ¡ – Linear ¡time ¡enumeration ¡ (Ferreira, ¡Grossi ¡et ¡al. ¡ESA ¡2014; ¡Uno ¡& ¡ Satoh, ¡DS ¡2014) ¡ ¡ 11 ¡
Research ¡Goal n We ¡study ¡the ¡complexity ¡of ¡enumeration ¡of ¡ Induced ¡subtrees. ¡ – From ¡the ¡view ¡of ¡amortized ¡time ¡per ¡solution ¡ ¡ Observations ¡ n O(maximum ¡degree) ¡time ¡enumeration ¡is ¡not ¡hard. ¡ ¡ n Constant ¡amortized ¡time ¡enumeration ¡seems ¡ difficult ¡for ¡general ¡input ¡graphs. ¡ n Can ¡induced ¡subtrees ¡be ¡enumerable ¡if ¡we ¡restrict ¡ input ¡graph? ¡ Trees, ¡bounded-‑degree, ¡Chordal ¡graphs, ¡ bounded-‑tree ¡width, ¡Planar ¡graphs, ¡…. ¡ 12 ¡
K-‑degeneracy n A ¡property ¡describing ¡the ¡average ¡degree ¡of ¡a ¡ given ¡graph ¡G. ¡ ¡ n Well-‑known ¡graph ¡classes ¡have ¡K-‑degenerate ¡ for ¡some ¡K ¡ – K ¡= ¡1: ¡trees, ¡forests ¡ – K ¡= ¡2: ¡grid ¡graphs, ¡outer ¡planar ¡graphs ¡ – K ¡= ¡3: ¡ ¡Apollonian ¡graphs ¡ – K ¡= ¡5: ¡planar ¡graphs ¡ 13 ¡
K-‑degenerate ¡Graph Definition ¡1: ¡ Every ¡induced ¡subgraph ¡of ¡G ¡has ¡a ¡vertex ¡whose ¡degree ¡is ¡at ¡most ¡k. ¡ ¡ Definition ¡2: ¡ ¡ ¡ There ¡is ¡an ¡ordering ¡among ¡vertices ¡such ¡that, ¡for ¡every ¡vertex, ¡ ¡ the ¡number ¡of ¡its ¡larger ¡neighbors ¡is ¡at ¡most ¡k. ¡ • We ¡can ¡get ¡this ¡ordering ¡in ¡linear ¡time ¡[MB83]. ¡ ¡ G 1 7 2 3 5 6 5 4 2 3 7 1 4 small large 6 2-‑degenerate ¡graph 14 ¡ [MB83] ¡Matula, ¡Beck.: ¡ ¡Smallest-‑last ¡ordering ¡and ¡clustering ¡and ¡graph ¡coloring ¡algorithms, ¡J. ¡of ¡ ¡ACM ¡30 ¡(3): ¡417–427,1983.
Main ¡result Theorem ¡1: ¡There ¡exists ¡an ¡enumeration ¡ algorithm ¡that ¡lists ¡all ¡induced ¡subtrees ¡ in ¡a ¡graph ¡G ¡in ¡O(k) ¡amortized ¡time ¡per ¡ solution ¡where ¡k ¡is ¡the ¡degeneracy ¡of ¡G. ¡ Corollary ¡2: ¡All ¡induced ¡subtrees ¡in ¡a ¡graph ¡ are ¡constant ¡amortized ¡time ¡enumerable ¡for ¡ planar ¡input ¡graphs ¡(k ¡= ¡5) ¡ 15 ¡
Proposed ¡algorithm 16 ¡
Basic ¡Ideas ¡of ¡our ¡algorithm 1. Dynamic ¡partitioning ¡based ¡enumeration ¡ ¡ ⇒ ¡O(input ¡size) ¡time ¡ 2. Incremental ¡update ¡of ¡the ¡candidate ¡set ¡ ¡ ⇒ ¡O(degree) ¡time ¡ 3. Reducing ¡the ¡cost ¡of ¡acyclicity ¡check ¡for ¡ neighbors ¡ ¡ ¡ ⇒ ¡O(k) ¡time 17 ¡
Partitioning ¡based ¡enumeration empty ¡ n By ¡iteratively ¡adding ¡vertices, ¡ ¡ subtree Add ¡1? we ¡get ¡a ¡larger ¡induced ¡subtree ¡ ¡ from ¡a ¡smaller ¡one. ¡ 1 n Many ¡redundant ¡ ¡ 1 additions. Add ¡2? ¡ Add ¡2? 2 1 1 Add ¡3? Add ¡3? 3 2 Yes 3 No 1 3 Add ¡4? Input 1 7 4 3 2 1 5 Add ¡5? 3 4 5 4 6 18 ¡
Partitioning ¡based ¡enumeration empty ¡ n By ¡iteratively ¡adding ¡vertices, ¡ ¡ subtree Add ¡1? we ¡get ¡a ¡larger ¡induced ¡subtree ¡ ¡ from ¡a ¡smaller ¡one. ¡ 1 n Many ¡redundant ¡ ¡ 1 additions. ¡ Add ¡2? Add ¡2? 2 Cycle 1 1 Add ¡3? Add ¡3? 3 2 Yes 3 Disconnected No 1 3 Add ¡4? Input 1 7 4 3 2 1 5 Add ¡5? 3 4 5 4 6 19 ¡
Partitioning ¡based ¡enumeration empty ¡ n By ¡iteratively ¡adding ¡vertices, ¡ ¡ subtree Add ¡1? we ¡get ¡a ¡larger ¡induced ¡subtree ¡ ¡ from ¡a ¡smaller ¡one. ¡ 1 n Many ¡redundant ¡ ¡ 1 additions. ¡ Add ¡2? Add ¡2? 2 Cycle 1 1 Add ¡3? Add ¡3? 3 2 Yes 3 Disconnected No 1 3 Add ¡4? Input 1 7 4 3 2 How ¡can ¡we ¡avoid ¡ ¡ 1 5 Add ¡5? 3 these ¡ ¡generations? 4 5 4 6 20 ¡
Basic ¡Idea ¡1: ¡Dynamic ¡partitioning n We ¡iteratively ¡add ¡only ¡vertices ¡ ¡ Add ¡1? that ¡does ¡not ¡make ¡cycles ¡ 1 and ¡disconnect ¡ ¡ 1 Add ¡2? Add ¡2? to ¡an ¡induced ¡subtree. ¡ ¡ 2 Skip ¡checking ¡3 1 Add ¡3? Add ¡4? 1 Add ¡4 ¡after ¡5 2 3 1 4 Add ¡5? Input 1 3 7 5 3 2 1 5 Add ¡4? 3 4 5 4 6 21 ¡
Recommend
More recommend