IP Library Granted Patent US 9,703,856
Granted Patent B2
US 9,703,856 · App. 14/325,258 · Granted Jul 11, 2017

Hilbert curve partitioning for parallelization of DBSCAN

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 9,703,856
App. No.
14/325,258
Granted
Jul 11, 2017
Kind
B2
Abstract

DBSCAN clustering analyses can be improved by pre-processing of a data set using a Hilbert curve to intelligently identify the centers for initial partitional analysis by a partitional clustering algorithm such as CLARANS. Partitions output by the partitional clustering algorithm can be process by DBSCAN running in parallel before intermediate cluster results are merged.

Claims (32)

1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

indexing a data set using a Hilbert curve that assigns a Hilbert distance to each of a plurality of data points in the data set;

initiating a partitional clustering algorithm with parameters for a plurality of clusters identified using the indexing of the data set, the partitional clustering algorithm outputting the data set grouped into a plurality of partitions, the parameters comprising one or more cluster center values selected based on one or more sequences identified from the Hilbert distances;

determining the one or more cluster center values, the determining comprising grouping the Hilbert distances for the plurality of points into the plurality of clusters, identifying one or more sequences of Hilbert distances as members of a cluster of the plurality of clusters, and choosing a cluster center value for the cluster based on a median of the Hilbert distances in the cluster;

constraining the partitional clustering algorithm to randomly choose a new cluster center value for the cluster with a greater preference for the new cluster value to be within the grouped Hilbert distances for the cluster;

processing the plurality of partitions, the processing comprising running a DBSCAN algorithm on the partitions in parallel to generate intermediate cluster results for each partition; and

generating a final result, the generating comprising merging the intermediate results.

2. The computer program product of claim 1 , wherein the operations further comprise merging two or more of the plurality of clusters prior to the initiating of the partitional clustering algorithm, the merging comprising identifying data points in adjacent cells of the indexed data set.

3. The computer program product of claim 1 , wherein the partitional clustering algorithm comprises a CLARANS algorithm.

4. A system comprising:

computer hardware configured to perform operations comprising:

indexing a data set using a Hilbert curve that assigns a Hilbert distance to each of a plurality of data points in the data set;

initiating a partitional clustering algorithm with parameters for a plurality of clusters identified using the indexing of the data set, the partitional clustering algorithm outputting the data set grouped into a plurality of partitions, the parameters comprising one or more cluster center values selected based on one or more sequences identified from the Hilbert distances;

determining the one or more cluster center values, the determining comprising grouping the Hilbert distances for the plurality of points into the plurality of clusters, identifying one or more sequences of Hilbert distances as members of a cluster of the plurality of clusters, and choosing a cluster center value for the cluster based on a median of the Hilbert distances in the cluster;

constraining the partitional clustering algorithm to randomly choose a new cluster center value for the cluster with a greater preference for the new cluster value to be within the grouped Hilbert distances for the cluster;

processing the plurality of partitions, the processing comprising running a DBSCAN algorithm on the partitions in parallel to generate intermediate cluster results for each partition; and

generating a final result, the generating comprising merging the intermediate results.

5. The system of claim 4 , wherein the operations further comprise merging two or more of the plurality of clusters prior to the initiating of the partitional clustering algorithm, the merging comprising identifying data points in adjacent cells of the indexed data set.

6. The system of claim 4 , wherein the partitional clustering algorithm comprises a CLARANS algorithm.

7. The system of claim 4 , wherein the computer hardware comprises:

a programmable processor; and

a computer readable medium storing instructions that, when executed by the programmable processor, cause the programmable processor to perform at least some of the operations.

8. A computer implemented method comprising:

indexing a data set using a Hilbert curve that assigns a Hilbert distance to each of a plurality of data points in the data set;

initiating a partitional clustering algorithm with parameters for a plurality of clusters identified using the indexing of the data set, the partitional clustering algorithm outputting the data set grouped into a plurality of partitions, the parameters comprising one or more cluster center values selected based on one or more sequences identified from the Hilbert distances;

determining the one or more cluster center values, the determining comprising grouping the Hilbert distances for the plurality of points into the plurality of clusters, identifying one or more sequences of Hilbert distances as members of a cluster of the plurality of clusters, and choosing a cluster center value for the cluster based on a median of the Hilbert distances in the cluster;

constraining the partitional clustering algorithm to randomly choose a new cluster center value for the cluster with a greater preference for the new cluster value to be within the grouped Hilbert distances for the cluster;

processing the plurality of partitions, the processing comprising running a DBSCAN algorithm on the partitions in parallel to generate intermediate cluster results for each partition; and

generating a final result, the generating comprising merging the intermediate results.

9. The computer implemented method of claim 8 , further comprising merging two or more of the plurality of clusters prior to the initiating of the partitional clustering algorithm, the merging comprising identifying data points in adjacent cells of the indexed data set.

10. The computer implemented method of claim 8 , wherein the partitional clustering algorithm comprises a CLARANS algorithm.

11. The computer implemented method of claim 8 , wherein the indexing, the initiating, the processing, and the generating are performed by at least one system comprising computer hardware.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2014
From: TYERCHA, EDWARD-ROBERT; KAZMAIER, GERRIT SIMON; GILDHOFF, HINNERK; VOLKER, LARS; PEKEL, ISIL; GROUISBORN, TIM
To: SAP AG
Reel/Frame 033272/0664 →