Sto cercando un algoritmo o un'idea per il seguente problema.
Supponiamo di avere un tipo di dati, diciamo intero a 64 bit. Ora abbiamo un set relativamente piccolo di tali elementi, diciamo al massimo qualche centinaio. Il modo più semplice per programmare è avere un elenco di elementi, ovvero un set sparse.
Ora il problema: voglio comprimere quell'elenco in modo che sia molto più piccolo, forse perdendo alcune informazioni.
Requisiti:
- Ci deve essere un modo per verificare se un elemento appartiene all'insieme e deve essere piuttosto veloce.
- La generazione del set compresso potrebbe essere lenta.
- Se un oggetto era presente nel set non compresso, allora deve essere positivo nel set compresso.
- Se un elemento era assente dal set non compresso, allora potrebbe essere presente nel set compresso, tuttavia la probabilità di tale evento deve essere bassa.
Un'idea che ho avuto: se abbiamo un generatore di numeri pseudocasuali, cerchiamo tali semi, in modo che nelle prime migliaia di iterazioni siano presenti tutti gli elementi richiesti. Il seme sarebbe la rappresentazione compressa. Un'altra idea: reti neurali (la descrizione sarà la rappresentazione).