IP Library Granted Patent US 10,521,458
Granted Patent B1
US 10,521,458 · App. 15/681,200 · Granted Dec 31, 2019

Efficient data clustering

Inventor: Roy Batruni (Danville, CA)
Assignee: Cyber Atomics, Inc.
G06F16/285G06F16/9024G06F17/16
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,521,458
App. No.
15/681,200
Granted
Dec 31, 2019
Kind
B1
Abstract

A data processing technique includes: accessing a matrix (M) representing a graph; wherein: the graph comprises a plurality of nodes to be clustered and a plurality of edges; an edge in the plurality of edges represents an association between two of the plurality of nodes; and an entry of the matrix has a corresponding edge among the plurality of edges. The technique further includes performing an operation on the matrix to generate a result matrix, the operation includes a multiplication function on the matrix; and identifying one or more clusters among the plurality of nodes, based at least in part on the result matrix, including detecting one or more vertices among the plurality of nodes using the result matrix.

Claims (58)

1. A method, comprising:

accessing a matrix (M) representing a graph; wherein:

the graph comprises a plurality of nodes to be clustered and a plurality of edges;

an edge in the plurality of edges represents an association between two of the plurality of nodes; and

an entry of the matrix has a corresponding edge among the plurality of edges;

performing an operation on the matrix to generate a result matrix, the operation includes a multiplication function on the matrix; and

identifying one or more clusters among the plurality of nodes, based at least in part on the result matrix, including detecting one or more vertices among the plurality of nodes using the result matrix.

2. The method of claim 1 , further comprising outputting information pertaining to the identified one or more clusters.

3. The method of claim 1 , wherein the matrix is an N×N matrix, and wherein N corresponds to number of nodes to be clustered.

4. The method of claim 1 , wherein the multiplication function on the matrix is M 2 .

5. The method of claim 1 , wherein the multiplication function on the matrix is M(M−I) j , and wherein I is an identity matrix and j is a positive integer.

6. The method of claim 1 , wherein the multiplication function on the matrix is M(M−I) j , where I is an identity matrix and j is a positive integer; and the one or more vertices are one or more j-th order vertices.

7. The method of claim 1 , wherein the one or more vertices among the plurality of nodes are detected by comparing entries of the result matrix with a threshold value or selecting one or more top entries in the result matrix.

8. The method of claim 1 , wherein the plurality of edges are associated with a corresponding plurality of weighted values.

9. The method of claim 1 , wherein at least some of the plurality of edges are associated with negative values.

10. The method of claim 1 , wherein:

at least some of the plurality of edges are associated with negative values;

the one or more vertices among the plurality of nodes are detected by identifying one or more entries of the result matrix that exceed a negative threshold value or selecting one or more bottom entries in the result matrix; and

the one or more clusters are identified as one or more unfriendly clusters.

11. The method of claim 1 , wherein:

at least some of the plurality of edges are associated with negative values;

the one or more vertices among the plurality of nodes are detected by identifying one or more entries of the result matrix that exceed a negative threshold value or selecting one or more bottom entries in the result matrix;

the one or more clusters are identified as one or more unfriendly clusters; and

the method further comprises:

clustering unconnected nodes in an identified unfriendly cluster to be in a friendly cluster.

12. A system, comprising:

one or more processors configured to:

access a matrix (M) representing a graph; wherein:

the graph comprises a plurality of nodes to be clustered and a plurality of edges;

an edge in the plurality of edges represents an association between two of the plurality of nodes; and

an entry of the matrix has a corresponding edge among the plurality of edges;

perform an operation on the matrix to generate a result matrix, the operation includes a multiplication function on the matrix; and

identify one or more clusters among the plurality of nodes, based at least in part on the result matrix, including to detect one or more vertices among the plurality of nodes using the result matrix; and

one or more memories coupled to the one or more processors and configured to provide the one or more processors with instructions.

13. The system of claim 12 , wherein the one or more processors are further configured to output information pertaining to the identified one or more clusters.

14. The system of claim 12 , wherein the matrix is an N×N matrix, and wherein N corresponds to number of nodes to be clustered.

15. The system of claim 12 , wherein the multiplication function on the matrix is M 2 .

16. The system of claim 12 , wherein the multiplication function on the matrix is M(M−I) j , and wherein I is an identity matrix and j is a positive integer.

17. The system of claim 12 , wherein the multiplication function on the matrix is M(M−I) j , where I is an identity matrix and j is a positive integer; and the one or more vertices are one or more j-th order vertices.

18. The system of claim 12 , wherein the one or more vertices among the plurality of nodes are detected by comparing entries of the result matrix with a threshold value or selecting one or more top entries in the result matrix.

19. The system of claim 12 , wherein the plurality of edges are associated with a corresponding plurality of weighted values.

20. The system of claim 12 , wherein at least some of the plurality of edges are associated with negative values.

21. The system of claim 12 , wherein:

at least some of the plurality of edges are associated with negative values;

the one or more vertices among the plurality of nodes are detected by identifying one or more entries of the result matrix that exceed a negative threshold value or selecting one or more bottom entries in the result matrix; and

the one or more clusters are identified as one or more unfriendly clusters.

22. The system of claim 12 , wherein:

at least some of the plurality of edges are associated with negative values;

the one or more vertices among the plurality of nodes are detected by identifying one or more entries of the result matrix that exceed a negative threshold value or selecting one or more bottom entries in the result matrix;

the one or more clusters are identified as one or more unfriendly clusters; and

the one or more processors are further configured to cluster unconnected nodes in an identified unfriendly cluster to be in a friendly cluster.

23. A computer program product embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

accessing a matrix (M) representing a graph; wherein:

the graph comprises a plurality of nodes to be clustered and a plurality of edges;

an edge in the plurality of edges represents an association between two of the plurality of nodes; and

an entry of the matrix has a corresponding edge among the plurality of edges;

performing an operation on the matrix to generate a result matrix, the operation includes a multiplication function on the matrix; and

identifying one or more clusters among the plurality of nodes, based at least in part on the result matrix, including detecting one or more vertices among the plurality of nodes using the result matrix.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2022
From: CYBER ATOMICS, INC.
To: BATRUNI, ROY G.
Reel/Frame 060289/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2017
From: BATRUNI, ROY
To: CYBER ATOMICS, INC.
Reel/Frame 044076/0288 →
Continuity (1)
Provisional Application 62379633 · Aug 25, 2016
Cited By (1)
US 12,367,400