Abstract

Hash tables are common lookup data structures. A key element of such data structure is a hash function because it greatly affects its latency. A badly designed hash function may slow down the hash table by producing hash collisions which is a negative state that has to be resolved using additional computation time. There is no deterministic method for designing a well performing hash function. The designer solely relies on his/her experience, knowledge or intuition. This paper focuses on the evolutionary design of hash functions for Cuckoo hashing which is a modern approach to collision resolution. Its main benefit is constant time complexity of lookup which is achieved by using two or more hash functions per hash table. Hash functions are automatically designed using common elementary hashing operations such as multiplication or binary shift by means of genetic programming. The evolved hash functions are about 2.7 to 7 times faster, can utilize about 1 to 1.6% more keys and use fewer elementary operations than human-created counterparts on the IP address hashing problem.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call