Analýza efektivity výpočtů grafového izomorfizmu
Analysis of Graph Isomorphism Computation Performance
Type of document
bakalářská prácebachelor thesis
Author
Ales Shvaibovich
Supervisor
Chum Ondřej
Opponent
Ryšavý Petr
Field of study
SoftwareStudy program
Otevřená informatikaInstitutions assigning rank
katedra počítačůRights
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Show full item recordAbstract
Tato bakalářská práce se zabývá studiem a analýzou chování široce používaného heuristického algoritmu Nauty, se zaměřením na jeho výkonnost napříč různými třídami grafů. Algoritmus je podrobně zkoumán s důrazem na identifikaci a interpretaci výkonnostních anomálií. Práce dále navrhuje nové charakterizování výkonnosti algoritmu Nauty na základě experimentálních výsledků, čímž poskytuje intuitivní popis typů grafů, které algoritmus zpracovává nejefektivněji. Pro účely analýzy byl vyvinut softwarový nástroj s názvem GI-Pipe. Tento nástroj umožňuje generování grafů z různých tříd, detekci izomorfismů pomocí algoritmu Nauty, vizualizaci časů zpracování a odhadování třídy časové složitosti algoritmu. Výsledkem analýzy je zjištění, že algoritmus Nauty vykazuje suboptimální výkon u určitých typů grafů, pro které existuje algoritmus s lineární časovou složitostí. Ukazujeme, že efektivní detekce těchto typů grafů před spuštěním Nauty přináší zanedbatelnou režii pro všechny typy grafů, zatímco umožňuje použití specializovaného algoritmu, pokud je to možné. Součástí práce je také stručný přehled implementace nástroje GI-Pipe se zaměřením na hlavní použité techniky. Kompletní technická dokumentace a uživatelská příručka jsou přiloženy jako příloha k práci. This thesis studies and provides an analysis of the behavior of the widely used heuristic algorithm Nauty, focusing on its performance across various classes of graphs. The algorithm is examined in detail with particular attention to identifying and interpreting performance anomalies. Additionally, the thesis proposes a new characterization of Nautys performance based on experimental results. This provides an intuitive description of the graph types that Nauty processes most efficiently. To support the analysis, a software tool named GI-Pipe was developed. It is capable of generating graphs from different classes, detecting graph isomorphisms using Nauty, visualizing processing times, and estimating the algorithms time complexity class. As a result of the analysis, we show that the Nauty algorithm exhibits suboptimal performance for certain types of graphs, where a linear-time algorithm exists. We demonstrate that efficient detection of such graph types prior to Nauty execution introduces negligible overhead for all types of graph, while allowing us to execute a specialized algorithm if possible. The thesis also includes a concise overview of the GI-Pipe implementation, highlighting the core techniques used. Full technical documentation and a user guide are provided as an attachment to the thesis.
Collections
- Bakalářské práce - 13136 [1229]