2.26k likes | 2.4k Views
Hardness of Robust Graph Isomorphism, Lasserre Gaps, and Asymmetry of Random Graphs. Ryan O’Donnell (CMU) John Wright (CMU) Chenggang Wu ( Tsinghua ) Yuan Zhou (CMU). Hardness of Robust Graph Isomorphism , Lasserre Gaps, and Asymmetry of Random Graphs. Ryan O’Donnell (CMU)
E N D
Hardness of Robust Graph Isomorphism, Lasserre Gaps,and Asymmetry of Random Graphs Ryan O’Donnell (CMU) John Wright (CMU) Chenggang Wu (Tsinghua) Yuan Zhou (CMU)
Hardness of Robust Graph Isomorphism,Lasserre Gaps,and Asymmetry of Random Graphs Ryan O’Donnell (CMU) John Wright (CMU) Chenggang Wu (Tsinghua) Yuan Zhou (CMU)
Motivating Example Yesterday’s Facebook graph Yesterday’s Facebook graph Graph Isomorphism algorithm A
Motivating Example Yesterday’s Facebook graph Yesterday’s Facebook graph Graph Isomorphism algorithm A
Motivating Example Yesterday’s Facebook graph Yesterday’s Facebook graph Graph Isomorphism algorithm A should: • output “YES, same graph” • unscramble graph #2
Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A
Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A
Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A
Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A
Motivating Example Yesterday’s Facebook graph Today’s Facebook graph Graph Isomorphism algorithm A will: • output “NO, not isomorphic” • terminate
Motivating Example Yesterday’s Facebook graph Today’s Facebook graph But these graphs are almost isomorphic! • can we detect this? • can we unscramble graph #2?
Robust Graph Isomorphism Given two “almost isomorphic” graphs, find the “best almost-isomorphism” between them (or something close to it)
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijectionπ:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) π H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms A bijection π:V(G) → V(H) is an isomorphism if (u, v) ∈E(G) ⇔ (π(u), π(v)) ∈ E(H) H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms, eq. A bijection π:V(G) → V(H) is an isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = 1 (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms, eq. A bijection π:V(G) → V(H) is an isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = 1 (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) (uniformly random) H = (V(H), E(H)) G = (V(G), E(G))
Isomorphisms, eq. A bijection π:V(G) → V(H) is an isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = 1 (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) H = (V(H), E(H)) G = (V(G), E(G))
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|)
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π Fact: π is an isomorphism ⇔π is a 1-isomorphism
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|)
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) π Fact: This π is a ½-isomorphism.
Approximate Isomorphisms A bijectionπ:V(G) → V(H) is an α-isomorphism if Pr[(π(u), π(v)) ∈ E(H)] = α (u, v) E(G) ~ (assuming |E(G)| = |E(H)|) G and H are α-isomorphic if they have a β-isomorphism, • and β≥ α.
Approximate GISO (c, s)-approximate GISO c > s, c “close to 1” s “far from 1” Given G and H, output: • YES if G and H are c-isomorphic • NO if G and H are not s-isomorphic Fact: (1, s)-approximate GISO is no harder than GISO. Not so clear for (1-ε, s)-approximate GISO…
Robust GISO Given G and H which are (1-ε)-isomorphic, output a (1-r(ε))-isomorphism. (r(ε)→0 as ε→0+) • Robust algorithms previously studied for CSPs • a characterization conjectured by [Guruswami and Zhou 2011] • confirmed by [Barto and Kozik 2012] • Robust GISO introduced in [WYZV 2013] • gives a robust GISO algorithm if G and H are trees • which other classes of graphs have robust GISO algorithms?
Approximate GISO, a brief history • [Arora et al. 2002] give a PTAS for this problem in the case of dense graphs • Our graphs will be sparse, i.e. m = O(n) • [Arvind et al. 2012] have shown hardness of approximation results for variants of our problem • e.g., GISO with colored graphs
GISO Hardness • Famously not known to be in P or NP-complete • Evidence that it’s not NP-complete • What about robust GISO?
Our result Thm: Assume Feige’s Random 3XOR Hypothesis. Then there is no poly-time algorithm for Robust GISO. There exists a constant ε0 such that: For all ε > 0, no poly-time algorithm can distinguish between: • (1-ε)-isomorphic graphs G and H • not (1-ε0)-isomorphic graphs G and H (constantly far apart) In other words, no poly-time algorithm solves (1-ε, 1-ε0)-approximate GISO.
Our (newer) result Thm: Assume RP≠NP. Then there is no poly-time algorithm for Robust GISO. There exists a constant ε0 such that: For all ε > 0, no poly-time algorithm can distinguish between: • (1-ε)-isomorphic graphs G and H • not (1-ε0)-isomorphic graphs G and H (constantly far apart) In other words, no poly-time algorithm solves (1-ε, 1-ε0)-approximate GISO.