Evoluční návrh hašovacích funkcí

Loading...
Thumbnail Image
Date
ORCID
Mark
B
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Hašovací tabulky jsou rychlé vyhledávací struktury, které se staly součástí moderního světa výpočetních technologií a svou snadnou implementací si získali mnoho příznivců v řadách programátorů. Volba vhodné hašovací funkce je klíčová. Nevhodně zvolená hašovací funkce může mít za následek špatný výkon hašovací tabulky a aplikace na ní navázanou. V současné době existují velmi dobré implementace obecných hašovacích funkcí, tedy takových, jejichž vstup není omezen na konkrétní doménu. Na druhé straně, pokud známe vstupní doménu, můžeme navrhnout hašovací funkcí na míru dané aplikaci a tím dosáhnout výrazně lepších výsledků než v případě hašovací funkce obecné. Návrh hašovací funkce není triviální záležitost. Neexistují pevně dané normy, pravidla, návody ani automatizované nástroje, který by za nás tuto práci odvedly. V případě ručního návrhu se autor hašovací funkce musí spoléhat na své znalosti, zkušenosti, vynalézavost a intuici. V případě takto komplikovaných úloh je někdy vhodné se uchýlit k méně tradičním technikám návrhu jako jsou evoluční algoritmy. Evoluční algoritmy přistupují k řešení problémů způsobem prohledávání stavového prostoru, inspirují se v přírodních procesech a to konkrétně v Darwinistické reprodukci druhů. V této práci se budeme zabývat evolučním návrhem hašovacích funkcí pro doménu IP adres, unikátních identifikátorů síťového rozhraní v sítích řízených internetovým protokolem. Vybraným evolučním algoritmem je genetické programování, velmi specifická podskupina počítání podle přírody, která svými vlastnosmi umožňuje navrhnovat skutečně kvalitní hašovací funkce. Evolučně navržené hašovací funkce nabízejí velmi dobré vlastnosti s ohledem na specifickou aplikaci. A předčí své state-of-the- art obecné, člověkem navržené protějšky co se rychlosti i odolnosti vůči kolizím týče.
Hash tables are fast associative array implementations which became part of modern world of information technology and thanks to its simplicity became very popular among computer programmers. The choice of proper hash function is very important. Improperly selected hash function can result in poor hash table performance and its application. Currently there are many exceptional implementations of general hash functions. Such functions are not constrained to a concrete set of inputs, they perform on any input. On the other hand if we know the input domain we can design a specific hash function for desired application thus reaching better levels of performance compare to a general hash function. However hash function design is not trivial. There are no rules, standards, guides nor automated tools that would help us with such a task. In case of manual design the hash function author has to rely on his/her knowledge, experience, inventiveness and intuition. In case of such complicated tasks there is sometimes advantageous to choose a different path and use techniques such as evolution algorithms. Natural computing is an approach of certain problem solutions that are inspired by the process of species reproduction as defined by Charles Darwin. In this thesis we will design hash functions for the domain of IP addresses, that serve as an unique network device interface identifier in internet protocol networks. The chosen subset of natural computing is the genetic programming, a very specific technique that is an adequate approach to our problem thanks to its properties. Evolutionary designed hash functions offer good properties. They outperform state-of-the-art generic, human-created hash functions in terms of speed and collision resistance.
Description
Citation
KIDOŇ, M. Evoluční návrh hašovacích funkcí [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2016.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Matematické metody v informačních technologiích
Comittee
prof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. RNDr. Jitka Kreslíková, CSc. (místopředseda) prof. RNDr. Milan Češka, CSc. (člen) Ing. Martin Hrubý, Ph.D. (člen) RNDr. Marek Rychlý, Ph.D. (člen) doc. Ing. Oldřich Trenz, Ph.D. (člen)
Date of acceptance
2016-06-22
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B. Otázky u obhajoby: Jaký je význam četnosti 0.05 u elitismu v tabulce 4.1 na str. 27? Jakým způsobem byly získány trénovací datasety a v čem se zásadně odlišují, když v řadě případů dávají značně různé výsledky při vyhodnocování výsledných hašovacích funkcí? Kolik operací (řádově) obsahují Vámi nalezené hašovací funkce? Je možné výrazy hašovacích funkcí, nalezené pomocí CGP, dále optimalizovat (zjednodušit) např. pomocí vhodného matematického SW?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO