27.09.2013 Views

a modern C++ library for the manipulation of Boolean functions

a modern C++ library for the manipulation of Boolean functions

a modern C++ library for the manipulation of Boolean functions

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.2.9 Combined search <strong>for</strong> entailed, disentailed and equivalent variables . 19<br />

3.2.10 Build a ROBDD representing some variable equivalences . . . . . . 19<br />

3.2.11 Projection onto a set . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

3.2.12 Shift renaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

3.2.13 Renaming with respect to an equivalence relation . . . . . . . . . . 22<br />

3.2.14 Elimination <strong>of</strong> entailed and disentailed variables . . . . . . . . . . . 23<br />

3.2.15 Elimination <strong>of</strong> equivalent variables . . . . . . . . . . . . . . . . . . 24<br />

3.2.16 Combined search and elimination <strong>of</strong> entailed and disentailed variables 25<br />

3.2.17 Forcing a set <strong>of</strong> variables to true or false . . . . . . . . . . . . . . . 25<br />

3.2.18 Forcing some variables to be equivalent in a positive function . . . 29<br />

3.2.19 Exotic operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

4 Policy-based composite representations 34<br />

4.1 Composite representations <strong>of</strong> <strong>Boolean</strong> <strong>functions</strong> . . . . . . . . . . . . . . . 34<br />

4.1.1 Beyond ROBDDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

4.1.2 Implementation policies . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

4.2 Algorithms with composite representations . . . . . . . . . . . . . . . . . . 37<br />

4.2.1 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

4.2.2 Implementing <strong>the</strong> normalization algorithm . . . . . . . . . . . . . . 37<br />

4.2.3 Conjunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

4.2.4 Disjunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

4.2.5 Entailed, disentailed and equivalent variables . . . . . . . . . . . . 42<br />

4.2.6 Projections and variable renaming . . . . . . . . . . . . . . . . . . 42<br />

5 Experimental evaluation 43<br />

5.1 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

5.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

5.2.1 Plain ROBDD representation . . . . . . . . . . . . . . . . . . . . . 45<br />

5.2.2 ROBDD plus entailed variables representation . . . . . . . . . . . . 48<br />

5.2.3 ROBDD plus entailed and equivalent variables representation . . . 51<br />

6 Conclusions 54<br />

6.1 Future developments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

ii

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!