Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Throw an exception when potentially losing precision in FDBSCAN-DenseBox #560

Merged
merged 1 commit into from
Oct 12, 2022

Commits on Oct 12, 2022

  1. 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.
    aprokop committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    4d83a65 View commit details
    Browse the repository at this point in the history