Symmetric Continuous Subgraph Matching with Bidirectional Dynamic Programming

by   Seunghwan Min, et al.

In many real datasets such as social media streams and cyber data sources, graphs change over time through a graph update stream of edge insertions and deletions. Detecting critical patterns in such dynamic graphs plays an important role in various application domains such as fraud detection, cyber security, and recommendation systems for social networks. Given a dynamic data graph and a query graph, the continuous subgraph matching problem is to find all positive matches for each edge insertion and all negative matches for each edge deletion. The state-of-the-art algorithm TurboFlux uses a spanning tree of a query graph for filtering. However, using the spanning tree may have a low pruning power because it does not take into account all edges of the query graph. In this paper, we present a symmetric and much faster algorithm SymBi which maintains an auxiliary data structure based on a directed acyclic graph instead of a spanning tree, which maintains the intermediate results of bidirectional dynamic programming between the query graph and the dynamic graph. Extensive experiments with real and synthetic datasets show that SymBi outperforms the state-of-the-art algorithm by up to three orders of magnitude in terms of the elapsed time.


page 10

page 11

page 15

page 16


New Dynamic Programming Algorithm for the Multiobjective Minimum Spanning Tree Problem

The Multiobjective Minimum Spanning Tree (MO-MST) problem is a variant o...

Reinforcement Learning Based Query Vertex Ordering Model for Subgraph Matching

Subgraph matching is a fundamental problem in various fields that use gr...

Time Constrained Continuous Subgraph Search over Streaming Graphs

The growing popularity of dynamic applications such as social networks p...

Distributed Subgraph Enumeration via Backtracking-based Framework

Finding or monitoring subgraph instances that are isomorphic to a given ...

A Hybrid Approach to Temporal Pattern Matching

The primary objective of graph pattern matching is to find all appearanc...

GSI: GPU-friendly Subgraph Isomorphism

Subgraph isomorphism is a well-known NP-hard problem that is widely used...

Efficient Continuous Multi-Query Processing over Graph Streams

Graphs are ubiquitous and ever-present data structures that have a wide ...

Please sign up or login with your details

Forgot password? Click here to reset