Efficient data clustering
AssigneeCyber Atomics, Inc.
InventorRoy Batruni
Life of this patent
Estimating the term…
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.
Claims25
A method, comprising:
- accessing a matrix (M) representing a graph;
- wherein:
- the graph comprises a plurality of nodes and a plurality of edges;
- a node in the plurality of nodes represents an object or entity;
- and
- an edge in the plurality of edges represents an association between two of the plurality of nodes;
- performing an operation on the matrix to generate a result matrix, the operation includes a multiplication function on the matrix;
- 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;
- and
- outputting information about the identified one or more clusters to be displayed, further processed, or both.
A system, comprising:
- one or more processors configured to:
- access a matrix (M) representing a graph;
- wherein:
- the graph comprises a plurality of nodes and a plurality of edges;
- a node in the plurality of nodes represents an object or entity;
- and
- an edge in the plurality of edges represents an association between two of the plurality of nodes;
- perform an operation on the matrix to generate a result matrix, the operation includes a multiplication function on the matrix;
- identify 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;
- and
- output information about the identified one or more clusters to be displayed, further processed, or both;
- and
- one or more memories coupled to the one or more processors and configured to provide the one or more processors with instructions.
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 and a plurality of edges;
- a node in the plurality of nodes represents an object or entity;
- and
- an edge in the plurality of edges represents an association between two of the plurality of nodes;
- performing an operation on the matrix to generate a result matrix, the operation includes a multiplication function on the matrix;
- 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;
- and
- outputting information about the identified one or more clusters to be displayed, further processed, or both.
Dependencies are inferred from the claim text.