US 12,093,245 B2
Temporal directed cycle detection and pruning in transaction graphs
Guangnan Ye, Yorktown Heights, NY (US); Toyotaro Suzumura, New York, NY (US); Keith Coleman Houck, Rye, NY (US); and Kumar Bhaskaran, Englewood Cliffs, NJ (US)
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Apr. 17, 2020, as Appl. No. 16/852,312.
Prior Publication US 2021/0326332 A1, Oct. 21, 2021
Int. Cl. G06N 20/00 (2019.01); G06F 16/23 (2019.01); G06F 16/901 (2019.01); G06Q 20/40 (2012.01)
CPC G06F 16/2379 (2019.01) [G06F 16/9024 (2019.01); G06N 20/00 (2019.01); G06Q 20/4016 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A computing device comprising:
a processor;
a temporal directed cycle detection and pruning engine configured to improving computing efficiency when detecting unauthorized computerized transactions by performing acts comprising:
identifying irrelevant nodes in a transaction graph based on a plurality of transactions, the transaction graph including nodes indicating transaction origination points and transaction destination points, and edges indicating interactions between the nodes;
pruning the irrelevant nodes of the transaction graph including nodes involved in an interaction below a first threshold as well as nodes identified as a super node related to an account having a number of incoming or outgoing transactions that is above a second threshold;
partitioning the pruned transaction graph into sections, where each section includes selected nodes that are linked to other linked nodes therein;
detecting, by the processor, strong connected components for each of the sections;
performing, by the processor, parallel detection of a temporal directed cycle in each strongly connected component to reduce the computing time and resources for cycle detection;
trimming each of the sections having non-cyclic nodes;
detecting cycles of detected cycle nodes for each of the sections;
identifying a geo-location of each of the detected cycle nodes;
pruning selected nodes of the detected cycle nodes upon determining that the selected nodes are associated with a single entity, the selected nodes are separated by a predetermined minimum distance, and the selected nodes are associated with interactions performed within a predetermined maximum time separation; and
displaying unauthorized transactions on a display, based on the detecting cycles of detected cycle nodes and the pruning.