%\begin{itemize}
%\item Zhodnocení splnění cílů DP a  vlastního přínosu práce (při formulaci je &%třeba vzít v potaz zadání práce). 
%\item Diskuse dalšího možného pokračování práce.
%\end{itemize} 

Cílem této diplomové práce bylo navrhnout a v jazyce C++ implementovat nástroj, který bude schopen vyhodnotit, zda-li je zadaná logická funkce tautologií. Důraz při této realizaci byl kladen na časovou efektivitu výpočtu a uvažovalo se i s možností kombinace různých algoritmů pro detekci tautologie za účelem optimalizace rychlosti. Výsledný nástroj je optimalizován tak, aby efektivně pracoval s různorodými vstupními instancemi logických funkcí co do počtu proměnných a termů či procentuálního zastoupení DC symbolů. Program je primárně založen na algoritmech použitých v nástroji Espresso a tvoří zapouzdřený celek, který je možné začlenit do jádra nástroje na minimalizaci logických funkcí, BOOM~II. Lze tedy říci, že touto realizací nástroje na detekci tautologie byly splněny všechny cíle zadání.

V průběhu realizace byl použit odlišný způsob pro vnitřní reprezentaci analyzovaných logických funkcí, pomocí dvourozměrných dynamických polí, což přineslo natolik významné zrychlení oproti použití generických STL kolekcí ve třídách programu BOOM~II, že se rozhodlo o obdobné změně vnitřní reprezentace logických funkcí ve třídách jádra programu BOOM~II. Dále byl navržen a implementován vlastní způsob na detekci a tvorbu komponent v maticovém pokrytí analyzované logické funkce.

Ze závěrečného testování vyplývá, že jako nejuniverzálnější nástroj na detekci tautologie je náš program, který dosahoval nejlepších výsledků u drtivé většiny testovaných instancí. Velmi dobrých výsledků dosahovala i knihovna z nástroje Espresso, která však byla více citlivá na procentuální zastoupení DC symbolů, počet termů i počet proměnných. 

Dalším významným poznatkem z testování byl objev hranice procentuálního zastoupení DC symbolů, u níž dochází při generování instancí k přechodu mezi tautologiemi a ne-tautologiemi. Odvodili jsme i vztah, jak tuto hranici vypočítat. Výsledky testování dokládají, že tato hranice má zásadní vliv na výpočetní časy jednotlivých algoritmů. Testování také přineslo poznatek, že kompilace programu pod vývojovým prostředím Dev-C++ je významně rychlejší než překlad pomocí MS Visual Studia 2005.

Nástroj nabízí možnosti na vylepšení především v oblastech unátní redukce a detekce komponent, eventuelně by se daly implementovat obdobné prvky zvyšující časovou efektivitu. 



