How do i simplify f = x'yz + xy'z + xyz'?

Alex picture Alex · Apr 1, 2019 · Viewed 8.7k times · Source

I am working on simplifying the expression f = x'yz + xy'z + xyz' + xyz. Actually, it may not be this expression. The question is: simplify the boolean expression for a voting system, the system being: three people vote on multiple candidates, and two or more people should agree(true) on the candidate in order to pass. So I think the answer would be xy + yz + xz, but I can't figure out the process between. Can anyone explain?

enter image description here

Answer

shree.pat18 picture shree.pat18 · Apr 1, 2019

From the idempotent/identity law, we have x + x = x, and so xyz + xyz = xyz. Applying this principle, we can rewrite your expression as:

 f = x'yz + xy'z + xyz' + xyz
=> f = x'yz + xy'z + xyz' + xyz + xyz + xyz --OR with xyz twice without affecting the value
=> f = x'yz + xyz + xy'z + xyz + xyz' + xyz --Rearrange
=> f = yz (x + x') + xz (y + y') + xy(z' + z) --Group
=> f = yz + xz + xy --Since x+x' = 1

That said, as the diagram clearly shows, you can simply take AND together each pair of inputs, and OR them together to get the same result. By doing this, you ensure that:

  • If any 2 of the 3 inputs are true, your overall result is true
  • When all 3 are true, the result is still true

The advantage of expressing it in this way is that you can just focus on each pair of inputs at one time, without worrying about the impact of the third one.