Dear All,
Kuniaki Mukai started showing boolean equations here:
https://groups.google.com/d/msg/swi-prolog/X2RrVc4YyTE/Q-jZljCPBQAJ
As a side problem, I started thinking about producing
a minimal DNF from a ROZDD or BDD in Prolog. Producing
just some DNF from a BDD is simple.
I am using this example from here:
Electrical Engineering - Logic Friday's minimized form
https://electronics.stackexchange.com/q/242721/177985
With just generating some DNF from the BDD, I get the following
result, which isn't bad, but which isn't exactly the minimial
from Logic Friday problem:
?- expr_tree(A*B*C + A*B*D + A*C*D + ~B* ~C*D +
A*C* ~D + ~A* ~B*D, T), expr_dnf(T, R).
R = A*C+A* ~C*D+ ~A* ~B*D
Anybody ever done computing minimal implicants in Prolog,
that would improve the above result? I think the minimal
solution uses implicants that are overlapping.
Best Regards
P.S.: Source code is here, that starts with BDD:
https://gist.github.com/jburse/503d14fc660d5bedeff4edd4c6f9f4ac#file-imp-p
There is an old article, but it doesn't use ROZDD or BDD I guess:
Minimal Boolean Sum-of-Product Forms in Prolog
A.K.Mitra in Computers & Mathematics with Applications
Volume 19, Issue 2, 1990, Pages 75-81
https://www.sciencedirect.com/science/article/pii/089812219090010H