oneperm-kmin-benchmark
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (2.4%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: danielenglaro
- Language: C++
- Default Branch: main
- Size: 42.2 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
READ ME
Questo repository contiene l'implementazione degli algoritmi K-MinHash e One-Permutation Hashing, utilizzati per la stima della similarità di Jaccard. Include anche test sulle prestazioni relative al tempo di esecuzione e alla qualità degli algoritmi.
Struttura del repository
src/: contiene tutto il codice sorgente del progetto.src/KMinHash.hesrc/KMinHash.cpp: implementazione dell'algoritmo K-MinHash.src/OnePermutation.hesrc/OnePermutation.cpp: implementazione dell'algoritmo One-Permutation Hashing.src/HashFunction.hesrc/HashFunction.cpp: implementazione delle funzioni hash utilizzate.src/Prime.hesrc/Prime.cpp: metodi per la generazione di numeri primi utili nell'hashing.src/JS.hesrc/JS.cpp: calcolo della similarità di Jaccard, sia esatta che approssimata.src/Test.hesrc/Test.cpp: test sulle prestazioni e sulla qualità degli algoritmi.src/LettoreFile.hesrc/LettoreFile.cpp: lettura di insiemi da file per testare gli algoritmi.src/StampaVettore.hesrc/StampaVettore.cpp: funzioni di utility per la stampa dei vettori.main.cpp: permette di eseguire i test e gli esperimenti sugli algoritmi implementati.
Compilazione
Per compilare il progetto, eseguire il seguente comando:
bash
g++ -Wall -Wextra -std=c++23 -O2 *.cpp
Esecuzione dei test
Dopo la compilazione, è possibile eseguire i test utilizzando:
bash
./a.out <modalità>
Dove
Dataset
Il progetto utilizza dataset generati tramite script Python per testare la qualità delle stime. I file vengono letti e analizzati per confrontare la similarità esatta con quella stimata dagli algoritmi implementati.
Risultati
I risultati dei test vengono salvati in file CSV e possono essere visualizzati tramite script Python dedicati per la generazione dei grafici.
Owner
- Login: danielenglaro
- Kind: user
- Repositories: 1
- Profile: https://github.com/danielenglaro
Citation (CITATION.cff)
cff-version: 1.2.0
message: "Se usi questo codice, per favore cita come segue."
authors:
- family-names: Englaro
given-names: Daniele
title: "One Permutation vs K-Min Hashing: Benchmark and Analysis"
version: "1.0.0"
date-released: 2024-2025
repository-code: "https://github.com/danielenglaro/oneperm-kmin-benchmark"
GitHub Events
Total
- Push event: 7
Last Year
- Push event: 7