subgraph isomorphism meets cutting planes
play

Subgraph Isomorphism Meets Cutting Planes Jakob Nordstr om KTH - PowerPoint PPT Presentation

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, . .


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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