Here you can ask questions and find or give answers to organizational, academic and other questions about studying computer science.

1.1k questions

1.2k answers

1.6k comments

529 users

0 votes
Hello,

I don't understand why the DNF of the function is (!a & !b)|(a & b)|(!a&c). I get (!a & !b)|(!a & b & c)|(a & b), I do it the same way as I do for CNF. Why is the b omitted, what am I doing wrong?
in # Mandatory Modules Bachelor by (380 points)

1 Answer

0 votes

I think both is correct, note the the DNF is not a canonical normal form without further restrictions. You can verify the following equivalences:

  • ((a->b) ∧ (c∨a∨¬b)) <-> (¬a∧¬b ∨ a∧b ∨ ¬a∧c)
  • ((a->b) ∧ (c∨a∨¬b)) <-> (¬a∧¬b ∨ ¬a∧b∧c ∨ a∧b)

It is a matter of logic minimization. The function has even two minimal DNFs which are

  • !a&!b|a&b|b&c
  • !a&!b|a&b|!a&c
by (166k points)
So if I write it that way on the exam, it would still be acceptable and correct?
Sure! The task was to compute a DNF and a CNF and every one that is equivalent to the given formula is a correct solution. The example solution already lists four versions for the DNF and two for the CNF.
Thanks! What about ex. 6 where minimization is needed?
There is it different, of course, since you have to determine a minimal DNF or CNF. Still, there might be different solutions and anyone of the minimal DNFs or CNFs would be correct. Other non-minimal DNFs/CNFs would however not be accepted.

Related questions

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
asked Aug 23, 2020 in # Mandatory Modules Bachelor by VF (120 points)
0 votes
1 answer
asked Aug 18, 2020 in # Mandatory Modules Bachelor by landgram (230 points)
Imprint | Privacy Policy
...