Publication Details
Evolutionary design of hash functions for IP address hashing using genetic programming
Hash function, Hash table, Cuckoo hashing, Evolutionary design, Genetic programming
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.
@INPROCEEDINGS{FITPUB11322, author = "Marek Kido\v{n} and Roland Dobai", title = "Evolutionary design of hash functions for IP address hashing using genetic programming", pages = "1720--1727", booktitle = "2017 IEEE Congress on Evolutionary Computation (CEC)", year = 2017, location = "San Sebastian, ES", publisher = "Institute of Electrical and Electronics Engineers", ISBN = "978-1-5090-4601-0", doi = "10.1109/CEC.2017.7969509", language = "english", url = "https://www.fit.vut.cz/research/publication/11322" }