Efektivní práce s Booleovskými funkcemi - Maťufka, Ján (Vysoké učení technické v Brně. Fakulta informačních technologií, 2025)
Binárne rozhodovacie diagramy (BDD) sú dôležitou dátovou štruktúrou v model checkingu, umožňujúcou efektívnu reprezentáciu Booleovských funkcií. Pri práci s BDD sa často vyžaduje aj efektívna manipulácia s ich štruktúrou. Jednou z najdôležitejších operácií pre manipuláciu BDD je Apply. Apply vezme na vstup 2 BDD reprezentujúce Booleovské funkcie a Booleovský operátor, a vytvorí BDD reprezentujúci ich kombinovanú sémantiku. Hlavným cieľom tejto práce je vytvoriť algoritmický rámec pre funkciu Apply pracujúcu s binárnymi rozhodovacími diagramami s redukčnými pravidlami založenými na stromových automatoch (ABDD). Algoritmus funguje tak, aby nebolo potrebné nadbytočne rozbaľovať redukované štruktúry. Zložitosť algoritmu tým pádom nie je závislá na počte premenných, ale na veľkostiach grafov vstupných dvoch ABDD.

Binary decision diagrams (BDDs) are an important data structure in model checking, allowing efficient representation of Boolean functions. When working with BDDs, efficient manipulation of their structure is also often required. One of the most important functions on BDDs is Apply. Apply takes two BDDs representing Boolean functions, a Boolean operator, and produces a BDD representing their combined semantics. The main goal of this work is to develop an algorithmic framework for the Apply function operating on binary decision diagrams with reduction rules based on tree automata (ABDDs). The algorithm works such that no unnecessary unfolding of the reduced structure is done. The complexity of the algorithm is not dependent on the number of variables but on the initial graph sizes of the two input ABDDs.
Efficient Handling of Boolean Functions
Keywords: Binárny rozhodovací diagram; Stromový automat; Apply; Binary decision diagram; Tree automaton; Apply