Q
Q
qooke2019-10-23 17:42:05
Programming
qooke, 2019-10-23 17:42:05

What is the correct way to minimize a boolean function?

With the help of a carnot map, I minimized the function.
Input function: A∧(B∨C∨D)∨B∧(C∨D)∨C∧D Function
vector: 0001011101111111
And got the result:
Minimized DNF:
AB∨AC∨AD∨BC∨BD∨CD
But in this version functions 11 operations instead of my 8!
Question - why is the second option called "minimized", and which function will be faster?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
R
Rsa97, 2019-10-23
@Rsa97

Your original function is not in one of the normal forms. The minimal form is defined just for DNF and CNF.
DNF means that the expression is written as a multiple disjunction, each member of which is a conjunction of variables or their inversions.
MDNF is such a DNF notation in which the number of terms in the disjunction is minimal.
For KNF, everything is the same.
There is no mention of the minimum number of the total number of operations here.
And for the program, it is necessary to compose an expression in such a way that when calculating, get the result as soon as possible. For example, if you have A = false, then (B∨C∨D) will not be evaluated at all.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question