Master's Thesis

Quine-McCluskey method of minimizing logic functions and its extension

Final Thesis 1.19 MB Appendix 34.37 kB

Author of thesis: Bc. Vojtěch Krampla

Acad. year: 2025/2026

Supervisor: doc. Ing. Jakub Kůdela, Ph.D.

Reviewer: Mgr. Monika Dosoudilová, Ph.D.

Abstract:

This master's thesis deals with the minimization of logic functions using the Quine-McCluskey method. The aim of the thesis was to implement both phases of this method. The first phase was to be realized more efficiently, while the second phase was to be formulated as a minimum cover problem and solved by a custom implementation of the branch and bound method. The thesis also includes the conversion of input functions from files in the PLA format, the construction of the covering table, and the verification of results using the GAMS system. The obtained results were further compared with the heuristic tool Espresso. The proposed solution was experimentally evaluated on both synthetic instances and real-world benchmarks. The results show that the implementation of the second phase provides the same solution as the reference model in the GAMS system in most of the tested cases. The limitations lie in the time and memory complexity of the first phase and in the difficulty of certain structurally unfavorable instances in the second phase.

Keywords:

Quine-McCluskey method, logic function minimization, prime implicants, set covering problem, branch and bound, bit representation, Boolean algebra

Date of defence

09.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student obeznámil komisi s výsledky své DP. Po přečtení posudků následovaly dotazy oponenta (viz posudek oponenta) a komise: Historie KM. Omezení na vstupy (počet proměnných). Porovnání metod (urychlení). Řešení výkonnosti. Student reagoval na všechny dotazy uspokojivě.

Language of thesis

Czech

Faculty

Department

Study programme

Applied Computer Science and Control (N-AIŘ-P)

Composition of Committee

doc. Ing. Oldřich Trenz, Ph.D. (předseda)
doc. Ing. Jakub Kůdela, Ph.D. (místopředseda)
prof. Ing. Zdeněk Hadaš, Ph.D. (člen)
doc. Ing. Pavel Škrabánek, Ph.D. (člen)
doc. Ing. David Fojtík, Ph.D. (člen)
prof. Ing. Jiří Jaroš, Ph.D. (člen)
doc. Ing. Miloš Hammer, CSc. (člen)

Supervisor’s report
doc. Ing. Jakub Kůdela, Ph.D.

Diplomová práce se zabývá problematikou minimalizace logických funkcí pomocí Quine–McCluskeyho metody a jejího rozšíření o exaktní řešení druhé fáze minimalizace formulované jako úloha minimálního pokrytí. Téma práce je odborně relativně náročné, kombinuje oblasti Booleovy algebry, kombinatorické optimalizace a algoritmizace, a vyžaduje jak teoretické porozumění problematice, tak schopnost navrhnout a implementovat efektivní softwarové řešení. Původním vedoucím této práce byl prof. Šeda.

V teoretické části práce student přehledně shrnuje základy Booleovy algebry, principy minimalizace logických funkcí a popisuje Quine–McCluskeyho metodu včetně její výpočetní složitosti a souvislosti s úlohou minimálního pokrytí.

Za hlavní přínos práce považuji implementační část. Student navrhl a realizoval dvě varianty první fáze algoritmu: základní referenční implementaci a následně optimalizovanou verzi využívající bitovou reprezentaci termů a efektivnější generování kandidátů ke slučování. Součástí práce je rovněž vlastní implementace řešení druhé fáze pomocí metody větví a mezí. Pozitivně hodnotím také využití systému GAMS pro ověření správnosti výsledků a porovnání s heuristickým nástrojem Espresso.

Experimentální část práce je zpracována pečlivě a obsahuje testování na syntetických i reálných benchmarkových instancích ve formátu PLA. Student diskutuje časovou i paměťovou náročnost navrženého řešení a otevřeně uvádí limity exaktních metod při řešení rozsáhlejších úloh.

Po formální stránce je práce zpracována na velmi dobré úrovni. Text je přehledný, stylisticky kultivovaný a obsahuje odpovídající množství ilustrativních příkladů, schémat a pseudokódů.

Přestože by bylo možné některé části dále rozšířit, například hlubší teoretickou analýzu některých optimalizačních aspektů nebo širší srovnání s dalšími moderními přístupy, považuji práci za kvalitní a odborně hodnotný celek. Student splnil všechny cíle zadání a prokázal schopnost samostatné odborné práce i implementace netriviálních algoritmů.

Diplomovou práci doporučuji k obhajobě a navrhuji hodnocení A/výborně.
Evaluation criteria Grade
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita B
Schopnost interpretovat dosažené výsledky a vyvozovat z nich závěry A
Využitelnost výsledků v praxi nebo teorii B
Logické uspořádání práce a formální náležitosti B
Grafická, stylistická úprava a pravopis A
Práce s literaturou včetně citací A
Samostatnost studenta při zpracování tématu A

Grade proposed by supervisor: A

Diplomová práce se zabývá problematikou minimalizace logických funkcí pomocí Quine-McCluskeyho metody. Po stručné rešeršní části autor implementuje obě fáze této metody, nechybí srovnání, vyhodnocení.

Práce je zpracována systematicky a propojuje teoretické poznatky s praktickou implementací. Pozitivně hodnotím zejména vlastní návrh algoritmických řešení a snahu o optimalizaci jednotlivých částí metody. Přínosná je také experimentální část, ve které autor porovnává dosažené výsledky jak s referenčním modelem v systému GAMS, tak s heuristickým nástrojem Espresso.

K práci nemám větší výhrady, jen k části věnované Karnaughově mapě, v příkladě (str. 14) chybí vyznačení smyček, z nichž vychází minimalizovaný výraz, přičemž uvedený minimalizovaný výraz (14) navíc neodpovídá správnému výsledku. Další výtka, autor místy pracuje s pojmy a termíny bez předchozího vysvětlení či odkazu na jejich definici, která je uvedena až v pozdějších částech textu. 

I přes výše zmíněné nedostatky považuji zpracování za zdařilé, práce splňuje stanovené cíle, prokazuje schopnost autora samostatně řešit komplexní algoritmické úlohy. DP doporučuji k obhajobě a hodnotím známkou velmi dobře / B.
Evaluation criteria Grade
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod B
Vlastní přínos a originalita B
Schopnost interpretovat dosaž. výsledky a vyvozovat z nich závěry B
Využitelnost výsledků v praxi nebo teorii B
Logické uspořádání práce a formální náležitosti C
Grafická, stylistická úprava a pravopis A
Práce s literaturou včetně citací A
Topics for thesis defence:
  1. Když neberete v potaz počet vstupů, které jsou hlavní příčiny časové a paměťové náročnosti obou fází Quine-McCluskeyho metody? Napadá Vás, jak by se dalo zapracovat na vylepšení Vašich algoritmů v tomto smyslu?

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová