Subexponential Algorithms for Subgraph Isomorphism (and related problems) on Minor-Free Graphs Hans Bodlaender (U Utrecht, TU Eindhoven) Jesper Nederlof (TU Eindhoven) Tom van der Zanden (U Utrecht) 1 Subgraph Isomorphism β’ Given: a pattern graph π and host graph πΊ β’ Question: does πΊ have a subgraph isomorphic to π β’ Upper bound and (assuming ETH) matching lower bound 2 Complexity of Subgraph Isomorphism β’ Let π = π πΊ and π = π π and π‘π€ = π‘π€ πΊ β’ General graphs: β O(π!) time β 2Ξ© π log π lower bound [Fomin et al. β15] β’ Planar: β 2π π π time [Dorn β09] β Connected and bounded degree: see previous talk π β This talk: 2π(π π + π / log π) time β This talk: 2Ξ©(π/ log π) lower bound under ETH 3 Our Results β’ Theorem For any π», and π > 0: If π is π»-Minor Free, and πΊ has treewidth π‘π€, Subgraph Isomorphism can be solved in π(π π π‘π€ + π / log π) 2 time. β’ Interesting special cases: πΊ and π of bounded treewidth, πΊ and π planar. β’ Theorem Assume the ETH. There is no 2π(π/ log π) algorithm for Subgraph Isomorphism, even when β πΊ and π are forests, with each component a caterpillar, or β πΊ is connected, has pathwidth 2 with one vertex of degree larger than 3 and π is a tree 4 Similar results β’ Upper and lower bound result hold for: β Induced Subgraph Isomorphism β Minor β Induced Minor β Topological Minor β Shallow Minor (bounded radius) β’ With small modifications to proofs and arguments 5 Lower bound proof β’ Simple proof (=> incomplete talkβ¦) using β’ Theorem. (By Sparsification Lemma) Assume the ETH. There is no 2π(π/ log π) algorithm for 3-SAT with π(π) clauses. 6 Numbers and strings β’ Number variables 1 β¦ π, and clauses π + 1, β¦ , π = π(π) β’ Change each number to bitstring with 4log π bits: β Take the number in binary β Add the number in binary with 0 and 1 switched β Add the string reversed: β’ I.e.: 6 -> 110 001 100 011 β’ Note: strings are `incomparableβ 7 G and P (partly on board) β’ G: β For each variable π₯π a caterpillar for π₯π = π‘ππ’π and a caterpillar for π₯π = ππππ π β’ P β For each variable π₯π a caterpillar (βto eat the false literalβ) β For each clause a caterpillar (βto make sure it is satisfiedβ) β 3(π β π) β π paths (βto eat unused clauses in true literalsβ ) 8 End of proof β’ Instance of 3-Sat is satisfiable, if and only if P is isomorphic to a subgraph of G β’ G and P has π(π log π) vertices, so 2π(π/ log π) algorithm would break ETH 9 Modifications β’ Connected G and P: β Add one vertex with edges (see board) β’ Minor, topological minor: same construction β’ Induced subgraph, induced minor: trivial modification to proof 10 Outline of algorithm β’ Dynamic programming on a tree decomposition of πΊ β’ Partial solution: map of bag into π + set of connected components π β’ Use isomorphism to reduce the number of partial solutions 11 Partial Solution ππ‘ π(ππ‘ ) πΊ[π‘] β’ Partial solution: π: πΊ[π‘] β π π βͺ β‘ 12 Partial Solution ππ‘ π(ππ‘ ) πΊ[π‘] β’ Partial solution: π: πΊ[π‘] β π π βͺ β‘ β’ Consider connected components π β π ππ‘ 13 Partial Solution ππ‘ π(ππ‘ ) πΊ[π‘] β’ Partial solution: π: πΊ[π‘] β π π βͺ β‘ β’ Consider connected components π β π ππ‘ β’ Either completely IN or completely OUT 14 Partial Solution β’ A partial solution can be characterized by β Image of Xt : 2π π‘π€ log π options β List for each connected component of π β π ππ‘ if it is in or out: can be 2π options: still too many π(ππ‘ ) 15 Partial Solution β’ A partial solution can be characterized by β Image of Xt : 2π π‘π€ log π options β List for each connected component of π β π ππ‘ if it is in or out: can be 2π options: still too many β’ Idea: it does not matter which of the isomorphic components we have, only how many π(ππ‘ ) π(ππ‘ ) 16 Cases β’ For well chosen c: β’ A component is large if it has at least c log n vertices β’ Small components are isomorphic if β There is an isomorphism that also takes care of the adjacencies to π ππ‘ π(ππ‘ ) 17 Info In DP β’ For each large component: store if it is in or out β π/π log π large components: 2π(π/ log π) β’ For each equivalence class of small components: β Store how many in the class are in β Equivalence test is sufficiently fast (only done on subgraphs with π(log π) vertices) β Counting argument shows that the number of cases is bounded by 2π(π/ log π) 18 Number of isomorphisms (1) β’ Theorem [Amini et al. β12]: for any graph π», there is a constant πΆπ» so that there are at most πΆπ» π nonisomorphic π-vertex π»-Minor Free graphs β’ For small enough π, at most πΆπ» π log π = ππ This bounds the number of isomorphism classes except for how components are attached to π(ππ‘ ) 19 Small Components β’ Component πΆ itself: πΆπ» π log π options β’ What about incidence to π(ππ‘ )? β’ Each conn. comp. πΆ is incident to subset π β π ππ‘ β’ Each vertex π£ β πΆ is incident to subset of π π(ππ‘ ) 20 Small Components β Case 1 β’ Small Component with Big Neighborhood β’ πβ₯ π» β’ Lemma [Gajarský et al.]: there are O(tw) small components with Big Neighborhood β’ 2O(tw) cases π(ππ‘ ) 21 Small Components β Case 2 β’ Small Component with Small Neighborhood β’ π< π» π(ππ‘ ) β’ Lemma [Gajarský et al.]: there are O(tw) different possible small neighborhoods 22 Counting Small Components β’ πΆπ» π log π distinct isomorphism classes: β’ π ππ‘ distinct small neighborhoods β’ Each vertex: 2 π» cases for adjacency to neighborhood π(ππ‘ ) π log π π» π log π β’ Total: πΆπ» ππ‘ 2 β’ Small enough π: = π(π π π‘π€) 23 Wrapping Up π(π π π‘π€) π(π πβ² π‘π€) β’ π+1 =2 cases for small components (0 β¦ π of each) β’ 2π(π/ log π+π‘π€) for large comps., large nbh.βs β’ π+1 π‘π€ = 2π π‘π€ log π cases for π π π π π‘π€+π / log π β’ ο¨2 π(π) algorithm for Subgraph Isomorphism on Minor-Free graphs 24 Consequences π π π π‘π€+π / log π β’ 2 π(π) algorithm for Subgraph Isomorphism on Minor-Free graphs β’ + result Fomin et al. (previous talk) β’ ο¨ 2π π / log π π(π) algorithm for Subgraph Isomorphism on Apex-Minor-Free graphs for connected patterns 25 Conclusions β’ 2Ξ π/ log π algorithm and lower bound for Subgraph Isomorphism and other problems on Hminor free graphs (resolves some open problems) β’ Can we do 2π π/ log π ππππ¦(π) in the disconnected case? Lower bound? β’ For which `embeddingsβ does this work? β’ Algorithm has nice, simple, useful technique: speed up DP by isomorphism test β Isomorphic subproblems have the same answer β Counting shows there are sufficiently few 26
© Copyright 2026 Paperzz