'Python - Creating simple Algebraic Decision Diagram (ADD) with py-mdd or dd packages
I would like to create and ouput a graphical representation with Python 3 of an Algebraic Decision Diagram (ADD) [Bahar et al.].
Here an example of an ADD to output:
The inputs a
and b
are Boolean values. A plain edge corresponds to set the variable to True
, and a dotted edge to False
. The outputs are integers.
The function in the example could be expressed as:
def my_function(a, b):
if a == False and b == False:
return 2
if a == False and b == True:
return 1
if a == True and b == False:
return 1
if a == True and b == True:
return 0
Or as a list of dictionnaries:
my_add = [{'a': False, 'b': False, 'output': 2},
{'a': False, 'b': True, 'output': 1},
{'a': True, 'b': False, 'output': 1},
{'a': True, 'b': True, 'output': 0},]
How can I generate the graphical representation of this function as an ADD?
Which package is better suited for that: dd or py-mdd?
Many thanks!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|