| dc.contributor.advisor | Kučera, Petr | |
| dc.creator | Humlíček, Pavel | |
| dc.date.accessioned | 2025-07-11T09:01:52Z | |
| dc.date.available | 2025-07-11T09:01:52Z | |
| dc.date.issued | 2025 | |
| dc.identifier.uri | http://hdl.handle.net/20.500.11956/200777 | |
| dc.description.abstract | Booleovské funkce jsou jedním ze základních pojmů informatiky, které se využívají například v reprezentaci znalostí, teoretické informatice nebo kryptografii. Tato práce se zabývá reprezentací booleovských funkcí pomocí switch-list reprezentace (SLR). Existuje exaktní algoritmus pro kompilaci z DNF do SLR, který však není prakticky použitelný pro větší počet switchů. V této práci se nejdříve věnujeme modifikaci exaktního algoritmu pro CNF a následně navrhneme tři rozdílné heuristické přístupy ke kompilaci do SLR: řadící a shlukovací heuristiky, heuristický přístup založený na strojovém učení a dva lo- kálně optimalizační algoritmy. Rozdílné přístupy jsou implementovány a experimentálně porovnány z hlediska kvality výsledné reprezentace a časové náročnosti. Výsledky uka- zují, že vhodně zvolená heuristika může výrazně zlepšit poměr mezi kvalitou řešení a časovou náročností a že existují heuristiky, které vedou k podstatně kompaktnější SLR reprezentaci, než jiné. Kromě toho ukážeme slibný potenciál ve využití strojového učení pro kompilaci do SLR a velkou efektivitu lokálně optimalizačního sifting algoritmu. | cs_CZ |
| dc.description.abstract | Boolean functions are one of the basic concepts of computer science used, for example, in knowledge representation, theoretical computer science, or cryptography. This work deals with the representation of boolean functions using switch-list representation (SLR). There is an exact algorithm for compiling from DNF to SLR, but it is not suitable for practical applications where the number of switches gets larger. In this work, we first look at modifying the exact algorithm for CNF, and then we design three different heuristic approaches to compiling to SLR: sequencing and clustering heuristics, a machine learning heuristic approach, and two local optimization algorithms. The different approaches are implemented and compared experimentally in terms of the quality of the resulting representation and the time required. The results show that a well-chosen heuristic can significantly improve the ratio between the quality of the solution and time consumption, and that there are heuristics that lead to a significantly more compact SLR representation, than others. In addition, we will show promising potential in using machine learning to compile into SLRs and great efficiency of the locally optimizing sifting algorithm. | en_US |
| dc.language | Čeština | cs_CZ |
| dc.language.iso | cs_CZ | |
| dc.publisher | Univerzita Karlova, Matematicko-fyzikální fakulta | cs_CZ |
| dc.subject | boolean function|switch list representation | en_US |
| dc.subject | booleovské funkce|switch list reprezentace | cs_CZ |
| dc.title | Heuristické přístupy ke kompilaci do SLR reprezentace | cs_CZ |
| dc.type | bakalářská práce | cs_CZ |
| dcterms.created | 2025 | |
| dcterms.dateAccepted | 2025-06-20 | |
| dc.description.department | Katedra teoretické informatiky a matematické logiky | cs_CZ |
| dc.description.department | Department of Theoretical Computer Science and Mathematical Logic | en_US |
| dc.description.faculty | Matematicko-fyzikální fakulta | cs_CZ |
| dc.description.faculty | Faculty of Mathematics and Physics | en_US |
| dc.identifier.repId | 267520 | |
| dc.title.translated | Heuristic approaches to the compilation to the SLR representation | en_US |
| dc.contributor.referee | Čepek, Ondřej | |
| thesis.degree.name | Bc. | |
| thesis.degree.level | bakalářské | cs_CZ |
| thesis.degree.discipline | Computer Science with specialisation in Foundations of Computer Science | en_US |
| thesis.degree.discipline | Informatika se specializací Obecná informatika | cs_CZ |
| thesis.degree.program | Informatika | cs_CZ |
| thesis.degree.program | Computer Science | en_US |
| uk.thesis.type | bakalářská práce | cs_CZ |
| uk.taxonomy.organization-cs | Matematicko-fyzikální fakulta::Katedra teoretické informatiky a matematické logiky | cs_CZ |
| uk.taxonomy.organization-en | Faculty of Mathematics and Physics::Department of Theoretical Computer Science and Mathematical Logic | en_US |
| uk.faculty-name.cs | Matematicko-fyzikální fakulta | cs_CZ |
| uk.faculty-name.en | Faculty of Mathematics and Physics | en_US |
| uk.faculty-abbr.cs | MFF | cs_CZ |
| uk.degree-discipline.cs | Informatika se specializací Obecná informatika | cs_CZ |
| uk.degree-discipline.en | Computer Science with specialisation in Foundations of Computer Science | en_US |
| uk.degree-program.cs | Informatika | cs_CZ |
| uk.degree-program.en | Computer Science | en_US |
| thesis.grade.cs | Výborně | cs_CZ |
| thesis.grade.en | Excellent | en_US |
| uk.abstract.cs | Booleovské funkce jsou jedním ze základních pojmů informatiky, které se využívají například v reprezentaci znalostí, teoretické informatice nebo kryptografii. Tato práce se zabývá reprezentací booleovských funkcí pomocí switch-list reprezentace (SLR). Existuje exaktní algoritmus pro kompilaci z DNF do SLR, který však není prakticky použitelný pro větší počet switchů. V této práci se nejdříve věnujeme modifikaci exaktního algoritmu pro CNF a následně navrhneme tři rozdílné heuristické přístupy ke kompilaci do SLR: řadící a shlukovací heuristiky, heuristický přístup založený na strojovém učení a dva lo- kálně optimalizační algoritmy. Rozdílné přístupy jsou implementovány a experimentálně porovnány z hlediska kvality výsledné reprezentace a časové náročnosti. Výsledky uka- zují, že vhodně zvolená heuristika může výrazně zlepšit poměr mezi kvalitou řešení a časovou náročností a že existují heuristiky, které vedou k podstatně kompaktnější SLR reprezentaci, než jiné. Kromě toho ukážeme slibný potenciál ve využití strojového učení pro kompilaci do SLR a velkou efektivitu lokálně optimalizačního sifting algoritmu. | cs_CZ |
| uk.abstract.en | Boolean functions are one of the basic concepts of computer science used, for example, in knowledge representation, theoretical computer science, or cryptography. This work deals with the representation of boolean functions using switch-list representation (SLR). There is an exact algorithm for compiling from DNF to SLR, but it is not suitable for practical applications where the number of switches gets larger. In this work, we first look at modifying the exact algorithm for CNF, and then we design three different heuristic approaches to compiling to SLR: sequencing and clustering heuristics, a machine learning heuristic approach, and two local optimization algorithms. The different approaches are implemented and compared experimentally in terms of the quality of the resulting representation and the time required. The results show that a well-chosen heuristic can significantly improve the ratio between the quality of the solution and time consumption, and that there are heuristics that lead to a significantly more compact SLR representation, than others. In addition, we will show promising potential in using machine learning to compile into SLRs and great efficiency of the locally optimizing sifting algorithm. | en_US |
| uk.file-availability | V | |
| uk.grantor | Univerzita Karlova, Matematicko-fyzikální fakulta, Katedra teoretické informatiky a matematické logiky | cs_CZ |
| thesis.grade.code | 1 | |
| uk.publication-place | Praha | cs_CZ |
| uk.thesis.defenceStatus | O | |