Aşağıdaki özelliklere sahip n-bit sayılardan n-bit sayılara bir işlev olup olmadığını bilmek istiyorum :
- yönlü olmalı
- Hem hem de oldukça hızlı hesaplanabilir olmalıdır
- , girdisiyle anlamlı bir korelasyonu olmayan bir sayı döndürmelidir.
Gerekçe şudur:
Veriler üzerinde çalışan bir program yazmak istiyorum. Verilerin bazı bilgileri, arama anahtarının bir alfabenin sembolü olduğu ikili bir arama ağacında saklanır. Zamanla alfabeye başka semboller ekliyorum. Yeni semboller sadece bir sonraki boş numarayı alır. Bu nedenle, ağaç her zaman küçük anahtarlara küçük bir önyargıya sahip olacaktır, bu da bence gerekli olması gerektiğinden daha fazla yeniden dengelenmeye neden olur.
Benim fikrim, sembol numaralarını ile ( geniş bir alana yayılacak şekilde değiştirmek . Sembol numaraları sadece bir kez gerçekleşen giriş ve çıkış sırasında önemli olduğundan, böyle bir fonksiyonun uygulanması çok pahalı olmamalıdır.
Xorshift rasgele sayı üretecinin bir tekrarı hakkında düşündüm, ancak teorik olarak mümkün olsa da, onu geri almanın bir yolunu gerçekten bilmiyorum.
Böyle bir işlevi bilen var mı?
Bu iyi bir fikir mi?