Subgraph Isomorphism Meets Cutting Planes Jakob Nordstr¨ om KTH Royal Institute of Technology NordConsNet 2019 Simula Research Laboratory Oslo, Norway May 21, 2019 Joint work in progress with Jan Elffers, Stephan Gocht, Ciaran McCreesh, . . . Jakob Nordstr¨ om (KTH ) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 1/19
Subgraph Isomorphism Meets Cutting Planes Jakob Nordstr¨ om KTH Royal Institute of Technology University of Copenhagen NordConsNet 2019 Simula Research Laboratory Oslo, Norway May 21, 2019 Joint work in progress with Jan Elffers, Stephan Gocht, Ciaran McCreesh, . . . Jakob Nordstr¨ om (KTH ) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 1/19
The Problem Input Pattern graph P with vertices V ( P ) = { a, b, c, . . . } Target graph T with vertices V ( T ) = { u, v, w, . . . } Task Find all subgraph isomorphisms ϕ : V ( P ) → V ( T ) I.e., if ϕ ( a ) = u 1 ϕ ( b ) = v 2 ( a, b ) ∈ E ( P ) 3 then must have ( u, v ) ∈ E ( T ) Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 2/19
The Problem Input Pattern graph P with vertices V ( P ) = { a, b, c, . . . } Target graph T with vertices V ( T ) = { u, v, w, . . . } Task Find all subgraph isomorphisms ϕ : V ( P ) → V ( T ) I.e., if ϕ ( a ) = u 1 ϕ ( b ) = v 2 ( a, b ) ∈ E ( P ) 3 then must have ( u, v ) ∈ E ( T ) Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 2/19
Subgraph Isomorphism Example Target 2nd target Pattern No subgraph Has subgraph isomorphism isomorphism In fact, two of them Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 3/19
Subgraph Isomorphism Example Target 2nd target Pattern No subgraph Has subgraph isomorphism isomorphism In fact, two of them Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 3/19
Subgraph Isomorphism Example Target 2nd target Pattern No subgraph Has subgraph isomorphism isomorphism In fact, two of them Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 3/19
Subgraph Isomorphism Example Target 2nd target Pattern No subgraph Has subgraph isomorphism isomorphism In fact, two of them Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 3/19
Subgraph Isomorphism Example Target 2nd target Pattern No subgraph Has subgraph isomorphism isomorphism In fact, two of them Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 3/19
Subgraph Isomorphism Example Target 2nd target Pattern No subgraph Has subgraph isomorphism isomorphism In fact, two of them Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 3/19
The Challenge Subgraph isomorphism important in biochemistry compiler construction computer vision plagiarism and malware detection et cetera. . . But computationally very challenging! 1 How to solve efficiently? 2 How do we know if answer is correct? (In particular, that we found all subgraph isomorphisms) Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 4/19
The Challenge Subgraph isomorphism important in biochemistry compiler construction computer vision plagiarism and malware detection et cetera. . . But computationally very challenging! 1 How to solve efficiently? 2 How do we know if answer is correct? (In particular, that we found all subgraph isomorphisms) Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 4/19
The Challenge Subgraph isomorphism important in biochemistry compiler construction computer vision plagiarism and malware detection et cetera. . . But computationally very challenging! 1 How to solve efficiently? 2 How do we know if answer is correct? (In particular, that we found all subgraph isomorphisms) Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 4/19
The Challenge Subgraph isomorphism important in biochemistry compiler construction computer vision plagiarism and malware detection et cetera. . . But computationally very challenging! 1 How to solve efficiently? 2 How do we know if answer is correct? (In particular, that we found all subgraph isomorphisms) Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 4/19
This Work Analyze Glasgow Subgraph Solver [ADH + 19, McC19] Show algorithm can be formalized in cutting planes proof system Consequences: Produce efficient proofs of correctness with low overhead (hopefully) 1 Learn pseudo-Boolean no-goods ⇒ exponential speed-up (maybe) 2 Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 5/19
This Work Analyze Glasgow Subgraph Solver [ADH + 19, McC19] Show algorithm can be formalized in cutting planes proof system Consequences: Produce efficient proofs of correctness with low overhead (hopefully) 1 Learn pseudo-Boolean no-goods ⇒ exponential speed-up (maybe) 2 Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 5/19
This Work Analyze Glasgow Subgraph Solver [ADH + 19, McC19] Show algorithm can be formalized in cutting planes proof system Consequences: Produce efficient proofs of correctness with low overhead (hopefully) 1 Learn pseudo-Boolean no-goods ⇒ exponential speed-up (maybe) 2 Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 5/19
This Work Analyze Glasgow Subgraph Solver [ADH + 19, McC19] Show algorithm can be formalized in cutting planes proof system Consequences: Produce efficient proofs of correctness with low overhead (hopefully) 1 Learn pseudo-Boolean no-goods ⇒ exponential speed-up (maybe) 2 Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 5/19
This Work Analyze Glasgow Subgraph Solver [ADH + 19, McC19] Show algorithm can be formalized in cutting planes proof system Consequences: Produce efficient proofs of correctness with low overhead (hopefully) 1 Learn pseudo-Boolean no-goods ⇒ exponential speed-up (maybe) 2 Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 5/19
This Work Analyze Glasgow Subgraph Solver [ADH + 19, McC19] Show algorithm can be formalized in cutting planes proof system Consequences: Produce efficient proofs of correctness with low overhead (hopefully) 1 Learn pseudo-Boolean no-goods ⇒ exponential speed-up (maybe) 2 Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 5/19
Solving Subgraph Isomorphism Graph Notation and Terminology Undirected graphs G with vertices V ( G ) and edges E ( G ) No loops in this talk (for simplicity) Neighbours N G ( v ) = { u | ( u, v ) ∈ E ( G ) } � � Degree deg G ( v ) = � N G ( v ) � Degree sequence degseq G ( v ) = sort > ( { deg G ( u ) | u ∈ N G ( v ) } ) deg( v ) = 3 degseq( v ) = (3 , 3 , 1) Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 6/19
Solving Subgraph Isomorphism Graph Notation and Terminology Undirected graphs G with vertices V ( G ) and edges E ( G ) No loops in this talk (for simplicity) Neighbours N G ( v ) = { u | ( u, v ) ∈ E ( G ) } � � Degree deg G ( v ) = � N G ( v ) � Degree sequence degseq G ( v ) = sort > ( { deg G ( u ) | u ∈ N G ( v ) } ) deg( v ) = 3 degseq( v ) = (3 , 3 , 1) v Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 6/19
Solving Subgraph Isomorphism Graph Notation and Terminology Undirected graphs G with vertices V ( G ) and edges E ( G ) No loops in this talk (for simplicity) Neighbours N G ( v ) = { u | ( u, v ) ∈ E ( G ) } � � Degree deg G ( v ) = � N G ( v ) � Degree sequence degseq G ( v ) = sort > ( { deg G ( u ) | u ∈ N G ( v ) } ) deg( v ) = 3 degseq( v ) = (3 , 3 , 1) v Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 6/19
Solving Subgraph Isomorphism Graph Notation and Terminology Undirected graphs G with vertices V ( G ) and edges E ( G ) No loops in this talk (for simplicity) Neighbours N G ( v ) = { u | ( u, v ) ∈ E ( G ) } � � Degree deg G ( v ) = � N G ( v ) � Degree sequence degseq G ( v ) = sort > ( { deg G ( u ) | u ∈ N G ( v ) } ) deg( v ) = 3 degseq( v ) = (3 , 3 , 1) v Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 6/19
Solving Subgraph Isomorphism Preprocessing Preprocessing Using Degree and Degree Sequence Input Pattern graph P with vertices V ( P ) = { a, b, c, . . . } Target graph T with vertices V ( T ) = { u, v, w, . . . } Preprocessing � > 1 If � � � � � V ( P ) � V ( T ) � , then no solution 2 If deg P ( a ) > deg T ( u ) , then a �→ u 3 If degseq P ( a ) � degseq T ( u ) pointwise, then a �→ u Jakob Nordstr¨ om (UCPH) Subgraph Isomorphism Meets Cutting Planes NordConsNet ’19 7/19
Recommend
More recommend