Re: Hash/permutation function for object ID creation



On 29 Jul., 10:20, Bruza <benr...@xxxxxxxxx> wrote:
I need a system to generate a series of "semi-random-non-repeating"
32-bit object IDs. For this, I plan to create a sequence counter
(starting from 0), then feed the sequence number, s, to a permutation
function, F(s). And use F(s) as the generated object ID. F() needs to
have the following properties:

1. F(x) is semi-random so that if the ID is partitioned into any
number of "buckets" (by equal range, or MOD hashing), each bucket
has roughly same number of objects.
2. F() has an inverse F' s.t. F(F'(x)) = x
3. Both F() and F'() are computationally "inexpensive" to compute
Why not use the identity function? It is not semi-random at all, but
using mod-based hash bucket assignment should work perfectly well. I
think giving a good answer to your question requires information why
identity won't suffice.
.



Relevant Pages