2020
DOI: 10.1007/978-3-030-51372-6_19
|View full text |Cite
|
Sign up to set email alerts
|

The Glasgow Subgraph Solver: Using Constraint Programming to Tackle Hard Subgraph Isomorphism Problem Variants

Abstract: The Glasgow Subgraph Solver provides an implementation of state of the art algorithms for subgraph isomorphism problems. It combines constraint programming concepts with a variety of strong but fast domain-specific search and inference techniques, and is suitable for use on a wide range of graphs, including many that are found to be computationally hard by other solvers. It can also be equipped with side constraints, and can easily be adapted to solve other subgraph matching problem variants. We outline its ke… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
19
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
4
1
1

Relationship

2
4

Authors

Journals

citations
Cited by 32 publications
(19 citation statements)
references
References 24 publications
0
19
0
Order By: Relevance
“…Glasgow Subgraph Solver [24] and PathLAD [21] (the two strongest CP-inspired approaches), and to VF2 [10] and RI [6] (simpler algorithms which perform well on easy instances). The high level approach has very slow startup times (which is to be expected as it involves launching a Java virtual machine and reading in a very large table constraint), but much more worryingly, only catches up with the worst other solver in number of instances solved as the timeout approaches.…”
Section: Initial Experiments and Motivationmentioning
confidence: 99%
See 2 more Smart Citations
“…Glasgow Subgraph Solver [24] and PathLAD [21] (the two strongest CP-inspired approaches), and to VF2 [10] and RI [6] (simpler algorithms which perform well on easy instances). The high level approach has very slow startup times (which is to be expected as it involves launching a Java virtual machine and reading in a very large table constraint), but much more worryingly, only catches up with the worst other solver in number of instances solved as the timeout approaches.…”
Section: Initial Experiments and Motivationmentioning
confidence: 99%
“…This design is based upon the notion that a CP solver and a subgraph solver can have enough of a shared understanding of a problem to solve it co-operatively. Indeed, the Glasgow Subgraph Solver [24] employs a CP approach to solve subgraph-finding problems, but using special data structures and algorithmsfor example, rather than representing the adjacency constraint using an explicit table, it uses bitset adjacency matrices [22]. The solver also exploits various graph invariants involving degrees [36] and paths [2] to further reduce the search space, and employs special search order heuristics [1].…”
Section: High-level Modellingmentioning
confidence: 99%
See 1 more Smart Citation
“…Search order heuristics. The solver's default search order heuristics are based upon three principles: that it is good to branch on variables with few remaining values in a domain, that it is good to branch on variables corresponding to high-degree vertices, and that it is good to try mapping to vertices of high degree [McCreesh et al, 2018;Archibald et al, 2019]. These principles do not appear to be specific to subgraph isomorphism, and so we do not alter the search order heuristics.…”
Section: Design and Implementationmentioning
confidence: 99%
“…However, in application-oriented papers, particularly from bioinformatics and chemistry, the same name is often implicitly used to mean the non-induced version of the problem (which does not require that non-adjacency be preserved) since this more accurately models the real-world problem being solved [Willett, 1999;Ehrlich and Rarey, 2011]. Despite being theoretically hard problems, these applications, along with others in areas including compilers [Blindell et al, 2015], graph databases [McCreesh et al, 2018] and pattern recognition , have given rise to a large amount of research into designing practical algorithms for solving these problems. Most approaches are based either upon very fast but simple backtracking algorithms [Cordella et al, 2004;Bonnici et al, 2013;Carletti et al, 2017] which often but not always perform well on very easy instances, or upon constraint programming algorithms [Zampelli et al, 2010;Solnon, 2010;Audemard et al, 2014;Archibald et al, 2019], which have higher startup costs but that perform vastly better on harder instances and much more consistently on easy instances [McCreesh et al, 2018;Solnon, 2019].…”
Section: Introductionmentioning
confidence: 99%