Boolean Algebra + DeMorgans Law: Homework Help

Discussion in 'Homework Help' started by Life617, May 23, 2012.

  1. Life617

    Thread Starter Member

    May 23, 2012
    30
    0
    I have gone over this problem a couple times and keep getting the wrong answer. I was wondering if anybody could show/tell me what I am doing wrong.

    I am not sure how to type it out on the forum so i took a screenshot of the problem.

    [​IMG]

    Uploaded with ImageShack.us
     
  2. WBahn

    Moderator

    Mar 31, 2012
    17,757
    4,800
    As you go from Step 1 to Step 2 (in the blue portion), you are incorrectly applying DeMorgan's theorem to the middle term by treating a double inversion the same as a single inversion. If you miss the fact that a double inversion cancels out (a point which you clearly recognize in going from Step 2 to Step 3), then you must apply DeMorgan's theorem twice, taking care of one inversion at a time. Hence:

    (A(C')D)'' = [(A(C')D)']'
    = [(A)' + (C')' + (D)']'
    = [A' + C + D']'
    = (A')' (C)' (D')'
    = A(C')D

    Which, reassuringly, is the same thing you get by cancelling the two inversions directly.

    (A(C')D)'' = A(C')D

    Try again with this in mind and, if you still don't get the correct solution, repost your new attempt and we'll tackle the next hurdle.

    Never forget that you can (and should) check your results along the way. With only three inputs, you only have eight possible conditions and so should be able to make a truth table. If necessary, check whether or not each step is consistent with that truth table. If nothing else, check whether the parts that change from step to step remain consistent with each other. For instance, in going from Step 1 to Step 3 and only looking at the terms coming out of that middle term, in Step 3 is clear that if A is true, then the entire output has to be true. But in Step 1 in that middle term, having A be true doesn't force anything and, in fact, it's influence in the middle term is completely suppressed if D happens to be false. So something has happened to change the behavior of this term.
     
  3. Life617

    Thread Starter Member

    May 23, 2012
    30
    0
  4. WBahn

    Moderator

    Mar 31, 2012
    17,757
    4,800
    Congrats!

    The only thing I would point out is that there is no need to jump through the Boolean gymnastics on that middle term from the second to the fifth line. You have some boolean expression, in this case AC'D, that is inverted twice. The double inversions cancel out. There is no reason not to exploit that, especially since you use that same rule to cancel out double inversions in other places (where there are single variables involved).

    This is actually a subtle little problem. Had you just given the starting expression and the final expression, my initial gut reaction would have been that it was incorrect because it says that if C is LO, that Z is HI regardless of A and D. That is not at all obvious to me by looking at the three terms in the original expression to see how C being LO guarantees that at least one of those terms is LO. The key is that, when C is LO, each of the four possible combinations for A and D will result in at least one of the terms being LO. What makes it subtle is that different combinations make different terms go LO and, when sanity checking things, we tend to look at each term in isolation.

    Good job.
     
    absf likes this.
  5. Life617

    Thread Starter Member

    May 23, 2012
    30
    0
    I know they cancel out, but it was something I had to do because I overlooked it on my first 4 or 5 attempts.

    This problem is kind of hard for me to visualize so i cannot follow all of what you're saying in your second paragraph (you're definitely wiser than me :D). I honestly would not be able to determine if a problem like this was right or wrong without the back of the book.

    Thanks again!
     
  6. WBahn

    Moderator

    Mar 31, 2012
    17,757
    4,800
    If you were just going through the steps in order to see how they actually play out, then that is a completely fine and reasonable -- and good -- thing to do.

    This is a tough problem to visualize. But you most certainly can tell if you have it correct even without having the answer in the back of the book. You simply enumerate all of the possibilities.

    Problem:

    <br />
Z = \bar{(C+D)\bar{(A\bar C D)}(\bar A C+ \bar D)} <br />

    Proposed Solution:

    <br />
Y = \bar C + AD<br />

    To help make producing the table easier, let's do it in a couple of steps:

    <br />
Z = \bar{RST} <br />
\\where\\<br />
R=(C+D)<br />
S=\bar{(A\bar C D)}<br />
T=(\bar A C+ \bar D)<br />

    A C D R S T Z Y
    F F F F T T T T
    F F T T T F T T
    F T F T T T F F
    F T T T T T F F
    T F F F T T T T
    T F T T F F T T
    T T F T T T F F
    T T T T T F T T


    In a surprisingly high fraction of engineering problems, it is possible to determine if your answer is correct or not. If nothing else, it is almost always possible to do sanity checks to test simple cases or limiting cases. This is a practice you want to get into. Not only will it significantly improve your grades while you are in school, but it will significantly reduce the chances that you will let a mistake go unnoticed that ends up killing people once you are out of school.
     
    absf likes this.
Loading...