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

  • Context: Undergrad 
  • Thread starter Thread starter macca
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around creating a Boolean circuit with four inputs that outputs TRUE if an odd number of inputs are TRUE. Participants explore various approaches to simplify the initial solution and clarify the use of logical operators.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant presents an initial solution as A+B+C+D+ABC+ABD+ACD+BCD and seeks simplification.
  • Another participant claims the initial solution is incorrect, suggesting it simplifies to A+B+C+D.
  • Some participants clarify the notation used, indicating that "+" represents OR and not XOR, while others discuss the representation of XOR in different contexts.
  • A participant proposes an alternative representation using XOR: A⊕(B⊕(C⊕D)), asserting it is a simpler form.
  • Another participant mentions that XOR is associative, allowing for the expression A⊕B⊕C⊕D to be equivalent.
  • One participant describes their process of using a truth table and Karnaugh map, but expresses difficulty in simplifying to the consensus answer of A⊕B⊕C⊕D.
  • Another participant challenges the algebraic steps taken by one of the contributors, suggesting a different grouping approach.
  • A participant notes that XOR outputs TRUE for an odd number of high inputs, reinforcing the relevance of XOR in this context.

Areas of Agreement / Disagreement

There is no consensus on the initial solution's correctness, with multiple competing views on simplification methods and the representation of logical operations. Participants express differing opinions on the simplification process and the validity of various expressions.

Contextual Notes

Participants express uncertainty regarding the simplification steps and the application of Boolean algebra. Some assumptions about the notation and the properties of XOR are discussed but not universally agreed upon.

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 [itex]\veebar[/itex]. In circuits, xor is [itex]\oplus[/itex]. 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:

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

[tex]A\oplus(B\oplus(C\oplus D))[/tex]

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. [itex]A\oplus B\oplus C\oplus D[/itex] 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:

[tex]A\oplus(B\oplus(C\oplus D))[/tex]


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:

[tex] A'B'(C'D+CD') + AB(C'D+CD') + C'D'(A'B+AB') + CD(A'B+AB')[/tex]

[tex] A'B'(C \oplus D) + AB(C \oplus D) + C'D'(A \oplus B) + CD(A \oplus B)[/tex]

[tex] (A \oplus B) + (C \oplus D)[/tex]

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

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:
[tex] A'B'(C'D+CD') + AB(C'D+CD') + C'D'(A'B+AB') + CD(A'B+AB')[/tex]

[tex] A'B'(C \oplus D) + AB(C \oplus D) + C'D'(A \oplus B) + CD(A \oplus B)[/tex]

[tex] (A \oplus B) + (C \oplus D)[/tex]

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

[tex] (AB+A'B')(C \oplus D) + (A \oplus B)(CD+C'D')[/tex]

[tex] (A \oplus B)'(C \oplus D) + (A \oplus B)(C \oplus D)'[/tex]

[tex] (A \oplus B)\oplus(C \oplus D)[/tex]
 
  • #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.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
5K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
14
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 125 ·
5
Replies
125
Views
21K