This repository contains the source code to reproduce the implementation reported in the manuscript Pushing diversity into higher dimensions: The LID effect on diversified similarity searching, submitted to the Information Systems Journal.
The repository tree is structured as follows.
Directory | Description |
---|---|
root | This folder. |
br/uff/LabESI/SimilaritySearch/examples | Contains main routines of diversity browsing and BRID. |
br/uff/LabESI/SimilaritySearch/algorithms | Contains the implementations of diversity browsing and BRID. |
examples | A running example is provided as a shellscript run.sh. |
The implementations of both distance and diversity browsing algorithms can be found inside the br_uff_LabESI_SimilaritySearch folder. The code is implemented in Java version 1.8.0_301 with the Java Development Kit (JDK) version 17.
The experiments were executed in our local cluster, a QLustar server with two nodes, each with 48 AMD Opteron 2.2GHz hyper-thread cores, 96GB of RAM, a 1 TB SATA hard drive and a dedicated JVM process reserved for the experiments.
A step-by-step guide to execute distance browsing, diversity browsing and a sequential scan BRID implementation can be found in the examples folder. A more detailed explanation on how to execute these examples can be found in the README.md inside the examples folder.
The directory tree is structured as follows.
Dir | Description |
---|---|
root | This folder. |
br/uff/LabESI/SimilaritySearch | Path to the Java implementation. |
examples | Step-by-step guide to execute Diversity Browsing. |
(C) THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OF THIS SOFTWARE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.