Solve Boolean Problem: Odd Number of TRUE Inputs | A+B+C+D+ABC+ABD+ACD+BCD

  • Thread starter Thread starter macca
  • Start date Start date
AI Thread Summary
The discussion centers on simplifying a Boolean expression for a circuit that outputs TRUE when an odd number of four inputs are TRUE. The initial proposed solution, A+B+C+D+ABC+ABD+ACD+BCD, is deemed incorrect and simplifies to A+B+C+D. Participants suggest using a Karnaugh map and truth tables to derive the correct expression, ultimately arriving at A⊕B⊕C⊕D as the simplest form. The conversation highlights the importance of understanding XOR operations and their associative properties in Boolean algebra. The final consensus confirms that the expression A⊕B⊕C⊕D accurately represents the desired output for the circuit.
macca
Messages
1
Reaction score
0
Guys I need help with this problem if you'd be so kind?

Q. Make a circuit comprising four inputs, output is TRUE if an odd number of inputs are TRUE.

My solution => A+B+C+D+ABC+ABD+ACD+BCD

So, how do I simplify that?

Thank you.
 
Mathematics news on Phys.org
macca said:
Guys I need help with this problem if you'd be so kind?

Q. Make a circuit comprising four inputs, output is TRUE if an odd number of inputs are TRUE.

My solution => A+B+C+D+ABC+ABD+ACD+BCD

So, how do I simplify that?

Thank you.

First off, your solution is incorrect, since it would simplify to A+B+C+D.

Secondly, the real solution doesn't simplify using AND or OR gates. (but you can simplify the circuit.)
 
I think he's using + for or, not xor. Silly having 4 ways to write the same thing. :frown:
 
Hurkyl said:
I think he's using + for or, not xor. Silly having 4 ways to write the same thing. :frown:
I thought the symbol for xor is a circle-enclosed plus sign. What "thing" are you talking about?

macca: Draw yourself a Karnaugh map of the circuit behaviour. It shouldn't be too difficult.
 
In logic, xor is \veebar. In circuits, xor is \oplus. In GF(2n), xor is +. In C, xor is ^.
 
Last edited:
Assuming + is OR and multiplication is AND

A+B+C+D+ABC+ABD+ACD+BCD is wrong because:

ABD + ABC = AB(D + C)
A+B+C+D+ABC+ABD+ACD+BCD = A(True + BC + BD + CD) + B(True + CD) + C +D
True+BC+BD+CD = true and True + CD = true
A + B + C + D
If any of them is true...

(A xor BCD) + (B xor ACD) + (C xor ABD) + (D xor ABC)
would make more sense, either one is true or three are true. I'm not sure how to simplify this because.. well I haven't ever "done" boolean math except minimally in programming.
 
The simplest representation for this circuit that I know of is:

A\oplus(B\oplus(C\oplus D))
 
master_coda said:
The simplest representation for this circuit that I know of is:

A\oplus(B\oplus(C\oplus D))

Right, because every true NOTs the final answer (starting with false)... right?
 
Alkatran said:
Right, because every true NOTs the final answer (starting with false)... right?

If you mean what I think you mean, than yes.

Actually, I made it unnecessarily complicated. A\oplus B\oplus C\oplus D does the same thing, now that I think about it. I forgot that xor is associative.
 
  • #10
master_coda said:
The simplest representation for this circuit that I know of is:

A\oplus(B\oplus(C\oplus D))


This what I meant when I said it could be simplfied. I was trying to give him a push in the right direction without giving him the answer outright, just in case this was a homework assignment.
 
  • #11
This question has me curious. By putting it into a truth table, then transferring to a K-Map doesn't help. You are unable to make any groups.
So reading directly from the truth table, I end up with:
A'B'C'D + A'B'CD' + A'BC'D' + A'BCD + AB'C'D' + AB'CD + ABC'D + ABCD'

By beginning to group and simplify I get:

<br /> A&#039;B&#039;(C&#039;D+CD&#039;) + AB(C&#039;D+CD&#039;) + C&#039;D&#039;(A&#039;B+AB&#039;) + CD(A&#039;B+AB&#039;)

<br /> A&#039;B&#039;(C \oplus D) + AB(C \oplus D) + C&#039;D&#039;(A \oplus B) + CD(A \oplus B)

<br /> (A \oplus B) + (C \oplus D)

As you can see by this, I am not getting down to the simplified answer given by you guys:A \oplus B \oplus C \oplus D

But, I do agree with you answer, because when I figure a truth table using your answer, I get the desired output results of true when there are an odd number of true inputs.

How would one go about simplifying this step by step?
Where did I make an error in my algebra?
 
  • #12
paul11273 said:
<br /> A&#039;B&#039;(C&#039;D+CD&#039;) + AB(C&#039;D+CD&#039;) + C&#039;D&#039;(A&#039;B+AB&#039;) + CD(A&#039;B+AB&#039;)

<br /> A&#039;B&#039;(C \oplus D) + AB(C \oplus D) + C&#039;D&#039;(A \oplus B) + CD(A \oplus B)

<br /> (A \oplus B) + (C \oplus D)

The third line does not follow from the second. You should instead be getting:

<br /> (AB+A&#039;B&#039;)(C \oplus D) + (A \oplus B)(CD+C&#039;D&#039;)

<br /> (A \oplus B)&#039;(C \oplus D) + (A \oplus B)(C \oplus D)&#039;

<br /> (A \oplus B)\oplus(C \oplus D)
 
  • #13
XOR gives 1 when odd number of inputs are high ... (works for n number of inputs and its bcos as noticed by master coda ... XOR is associative)

-- AI
 
  • #14
Cool, I now see where my error was. Thanks master_coda.
 
Back
Top