Saya ingin tahu apakah ada fungsi dari nomor n-bit ke nomor n-bit yang memiliki karakteristik berikut:
- harus bijective
- Baik dan harus dapat dihitung dengan cukup cepat
- harus mengembalikan nomor yang tidak memiliki korelasi signifikan dengan inputnya.
Alasannya adalah ini:
Saya ingin menulis sebuah program yang beroperasi pada data. Beberapa informasi data disimpan dalam pohon pencarian biner di mana kunci pencarian adalah simbol alfabet. Seiring waktu, saya menambahkan simbol lebih lanjut ke alfabet. Simbol baru dengan mudah mendapatkan nomor gratis berikutnya. Oleh karena itu, pohon akan selalu memiliki bias kecil untuk kunci yang lebih kecil yang menyebabkan penyeimbangan kembali dari yang saya pikir seharusnya diperlukan.
Ide saya adalah untuk memotong angka simbol dengan sehingga mereka tersebar luas di seluruh rentang . Karena angka simbol hanya penting selama input dan output yang terjadi hanya sekali, menerapkan fungsi seperti itu seharusnya tidak terlalu mahal.
Saya berpikir tentang satu iterasi dari generator angka acak Xorshift, tetapi saya tidak benar-benar tahu cara untuk membatalkannya, meskipun secara teori hal itu harus dimungkinkan.
Apakah ada yang tahu fungsi seperti itu?
Apakah ini ide yang bagus?