IP Library › Granted Patent US 10,409,828
Granted Patent B2
US 10,409,828 · App. 15/223,475 · Granted Sep 10, 2019

Methods and apparatus for incremental frequent subgraph mining on dynamic graphs

Inventors: Ehab Abdelhamid Mohammed Abdelhamid (Jeddah, SA); Bishwaranjan Bhattacharjee (Yorktown Heights, NY); Mustafa Canim (Ossining, NY); Yuan Chi Chang (Armonk, NY); Mohammad Sadoghi Hamedani (Chappaqua, NY)
Assignee: International Business Machines Corporation
G06F16/2465G06F16/9024
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,409,828
App. No.
15/223,475
Granted
Sep 10, 2019
Kind
B2
Abstract

Methods and apparatus are provided for incremental frequent subgraph mining on dynamic graphs. An exemplary subgraph mining method comprises maintaining a set of embeddings comprising matching embeddings of a given subgraph in an input graph; maintaining a first fringe set of subgraphs comprising subgraphs substantially on a fringe of frequent subgraphs in the input graph that satisfy a predefined support threshold; maintaining a second fringe set of subgraphs comprising subgraphs substantially on a fringe of infrequent subgraphs in the input graph that do not satisfy the predefined support threshold; for an edge addition, checking a support of the subgraphs in the second fringe set based on the set of the embeddings and searching for new embeddings created by the edge addition; and for an edge deletion, removing obsolete embeddings that comprise the deleted edge from the first fringe set based on the set of embeddings.

Claims (37)

1. A computer-implemented subgraph mining method, comprising:

maintaining a set of embeddings comprising matching embeddings of a given subgraph in an input graph;

maintaining a first fringe set of subgraphs comprising subgraphs substantially on a fringe of frequent subgraphs in said input graph that satisfy a predefined support threshold;

maintaining a second fringe set of subgraphs comprising subgraphs substantially on a fringe of infrequent subgraphs in said input graph that do not satisfy said predefined support threshold;

for an edge addition to the input graph, checking, using at least one processing device, a support of the subgraphs in said second fringe set based on said set of said embeddings and searching for new embeddings created by the edge addition; and

for an edge deletion from the input graph, removing, using at least one processing device, obsolete embeddings that comprise said deleted edge from said first fringe set based on the said set of embeddings.

2. The method of claim 1 , wherein said set of said embeddings further comprises, for each subgraph satisfying said predefined support threshold, only a substantially minimal set of embeddings that satisfy the predefined support threshold.

3. The method of claim 1 , wherein said set of said embeddings further comprises, for each subgraph that does not satisfy said predefined support threshold, a substantially entire set of said embeddings.

4. The method of claim 1 , wherein said set of said embeddings further comprises a hash table of said embeddings indexed by a key.

5. The method of claim 1 , wherein said set of said embeddings further comprises an inverted index from said given graph node to said embeddings of said given subgraph that comprise said given node.

6. The method of claim 1 , wherein said set of said embeddings further comprises a count value of how many of said embeddings are pointed to by the given node.

7. The method of claim 1 , further comprising the step of batching a plurality of update operations to one or more of (1) evaluate each subgraph once for multiple edge changes, (2) prune updates that cancel each other out, and (3) remove redundant updates.

8. The method of claim 1 , further comprising the step of postponing evaluation of one or more invalid nodes in determining whether a given subgraph satisfies said predefined support threshold, wherein said one or more invalid nodes is a node that belongs to said input graph and cannot be a part of said given subgraph in said input graph.

9. The method of claim 1 , wherein software is provided as a service in a cloud environment.

10. A computer program product for subgraph mining, comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to implement the following steps:

maintaining a set of embeddings comprising matching embeddings of a given subgraph in an input graph;

maintaining a first fringe set of subgraphs comprising subgraphs substantially on a fringe of frequent subgraphs in said input graph that satisfy a predefined support threshold;

maintaining a second fringe set of subgraphs comprising subgraphs substantially on a fringe of infrequent subgraphs in said input graph that do not satisfy said predefined support threshold;

for an edge addition to the input graph, checking, using at least one processing device, a support of the subgraphs in said second fringe set based on said set of said embeddings and searching for new embeddings created by the edge addition; and

for an edge deletion from the input graph, removing, using at least one processing device, obsolete embeddings that comprise said deleted edge from said first fringe set based on the said set of embeddings.

11. The computer program product of claim 10 , wherein said set of said embeddings further comprises, for each subgraph satisfying said predefined support threshold, only a substantially minimal set of embeddings that satisfy the predefined support threshold.

12. The computer program product of claim 10 , wherein said set of said embeddings further comprises, for each subgraph that does not satisfy said predefined support threshold, a substantially entire set of said embeddings.

13. The computer program product of claim 10 , wherein said set of said embeddings further comprises one or more of a hash table of said embeddings indexed by a key and an inverted index from said given graph node to said embeddings of said given subgraph that comprise said given node.

14. The computer program product of claim 10 , wherein said set of said embeddings further comprises a count value of how many of said embeddings are pointed to by the given node.

15. The computer program product of claim 10 , further comprising the step of batching a plurality of update operations to one or more of (1) evaluate each subgraph once for multiple edge changes, (2) prune updates that cancel each other out, and (3) remove redundant updates.

16. The computer program product of claim 10 , further comprising the step of postponing evaluation of one or more invalid nodes in determining whether a given subgraph satisfies said predefined support threshold, wherein said one or more invalid nodes is a node that belongs to said input graph and cannot be a part of said given subgraph in said input graph.

17. A system for subgraph mining, comprising:

a memory; and

at least one processing device coupled to the memory and configured for:

maintaining a set of embeddings comprising matching embeddings of a given subgraph in an input graph;

maintaining a first fringe set of subgraphs comprising subgraphs substantially on a fringe of frequent subgraphs in said input graph that satisfy a predefined support threshold;

maintaining a second fringe set of subgraphs comprising subgraphs substantially on a fringe of infrequent subgraphs in said input graph that do not satisfy said predefined support threshold;

for an edge addition to the input graph, checking, using at least one processing device, a support of the subgraphs in said second fringe set based on said set of said embeddings and searching for new embeddings created by the edge addition; and

for an edge deletion from the input graph, removing, using at least one processing device, obsolete embeddings that comprise said deleted edge from said first fringe set based on the said set of embeddings.

18. The system of claim 17 , wherein said set of said embeddings further comprises one or more of (i) for each subgraph satisfying said predefined support threshold, only a substantially minimal set of embeddings that satisfy the predefined support threshold; and (ii) for each subgraph that does not satisfy said predefined support threshold, a substantially entire set of said embeddings.

19. The system of claim 17 , wherein said set of said embeddings further comprises one or more of a hash table of said embeddings indexed by a key; an inverted index from said given graph node to said embeddings of said given subgraph that comprise said given node; and a count value of how many of said embeddings are pointed to by the given node.

20. The system of claim 17 , further comprising the step of batching a plurality of update operations to one or more of (1) evaluate each subgraph once for multiple edge changes, (2) prune updates that cancel each other out, and (3) remove redundant updates.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: MOHAMMED ABDELHAMID, EHAB ABDELHAMID; BHATTACHARJEE, BISHWARANJAN; CANIM, MUSTAFA; CHANG, YUAN CHI; HAMEDANI, MOHAMMAD SADOGHI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039291/0698 →
Continuity (1)
Related Publication 20180032587A1 · Feb 1, 2018
Cited By (1)
US 12,572,592