Reputation: 1660
How could I go about simplifying an arbitrarily complex boolean expression?
For example:
!(!a && !b || !a && b || a && !b) && !(!a && !b || !a && b || a && !b) ||
!(!a && !b || !a && b || a && !b) && (!a && !b || !a && b || a && !b) ||
(!a && !b || !a && b || a && !b) && !(!a && !b || !a && b || a && !b)
Is an extremely verbose way of saying:
a && b
I could just about do this manually by using boolean laws intuitively. Is there a programmatic approach?
How does Wolfram Alpha do it?
Upvotes: 2
Views: 1091
Reputation: 7197
thats simple boolean algebra
see : http://en.wikipedia.org/wiki/Binary_decision_diagram
http://en.wikipedia.org/wiki/Circuit_minimization
http://en.wikipedia.org/wiki/Karnaugh_map
Upvotes: 2