Simplest algorithm for computing the resultant of a boolean expression?

spikenigma
Messages
61
Reaction score
0
hi,

let's take something simple, for example:

(a>b) && ((b>c) && c>d) || (d > c)

Intuitively, it's easy to work out given the values of a, b, c and d and just evaluating the brackets in order of precedence.

i.e.

Is b > c?? then is c > d
Then in addition to the above answer being true is a > b?
Then despite the earlier answer is d > c?
If true return true, if false return false.

But surely there is an elegant, simple algorithm for working this out computationally?

Could you for example take each expression, number them in terms of their evaluation step then evaluate in n steps based on [some factor] to get the answer?

i.e.

1) b>c, and then because of [factor], compute &&
2) c>d, and then because of [factor], compute &&
3) a>b, and then because of [factor], compute ||
4) d > c
5) answer

I know the factor is sign-right or sign-left of the expression and it could be used to create an algorithm.

But has anybody got anything more elegant?
 
Mathematics news on Phys.org
The problem itself is NP complete, i.e. no algorithm is known, which decides in polynomial time whether a general Boolean expression is satisfiable or not, see https://en.wikipedia.org/wiki/Boolean_satisfiability_problem. This means in return, that given a certain example, we can probably use specific properties to be faster, but not in general.
 
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. In Dirac’s Principles of Quantum Mechanics published in 1930 he introduced a “convenient notation” he referred to as a “delta function” which he treated as a continuum analog to the discrete Kronecker delta. The Kronecker delta is simply the indexed components of the identity operator in matrix algebra Source: https://www.physicsforums.com/insights/what-exactly-is-diracs-delta-function/ by...
Fermat's Last Theorem has long been one of the most famous mathematical problems, and is now one of the most famous theorems. It simply states that the equation $$ a^n+b^n=c^n $$ has no solutions with positive integers if ##n>2.## It was named after Pierre de Fermat (1607-1665). The problem itself stems from the book Arithmetica by Diophantus of Alexandria. It gained popularity because Fermat noted in his copy "Cubum autem in duos cubos, aut quadratoquadratum in duos quadratoquadratos, et...
Thread 'Imaginary Pythagorus'
I posted this in the Lame Math thread, but it's got me thinking. Is there any validity to this? Or is it really just a mathematical trick? Naively, I see that i2 + plus 12 does equal zero2. But does this have a meaning? I know one can treat the imaginary number line as just another axis like the reals, but does that mean this does represent a triangle in the complex plane with a hypotenuse of length zero? Ibix offered a rendering of the diagram using what I assume is matrix* notation...
Back
Top