Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Warn about loss of precision in FDBSCAN-DenseBox
For some problems and eps, FDBSCAN-DenseBox may suffer from severe loss of precision when computing cellBox(). This may result in wrong DBSCAN results. Initially, the problem was observed on a full NGSIM dataset: ``` $ ./ArborX_DBSCAN.exe --binary \ --filename /data/data_and_logs/2021_02_20_dbscan_datasets/mustafa_2019/ngsim.arborx \ --print-dbscan-timers --core-min-size 2 --eps 1.0 --max-num-points 90000 \ --impl fdbscan-densebox --verify <...> Core point is marked as noise: 41888 [-1] Core point is marked as noise: 17027 [-1] Core point is marked as noise: 43104 [-1] ``` Tracking down the issue revealed that a point 2279 (part of a dense cell) was finding point 10369 (not part of a dense cell), but the reverse was not true (i.e., 10369 was not finding the dense cell that 2279 was in). Studying the dense boxes, I observed that the problematic box had bounds [[6452399.000000,1872182.375000,0.000000], [6452399.000000,1872183.000000,0.577350]] Note the same x coordinate for both min and max corner. The h in this run was ~0.57. So it completely got lost. Even Y coordinate lost some precision, though not as much.
- Loading branch information