How to solve these boolean equations?

Thread Starter

Josh Samman

Joined Mar 29, 2013
11
Hello,

I'm having some difficulty with boolean algebra and i have no one to help me :(. There are 3 exercises in the link bellow i couldn't solve. I spent some time trying unsuccessfully. Please if someone solve these 3 for me i will get'em as an example to make others which i'm having the same problems. There's no need of explanation, the resolution step-by-step alone is enough.

http://img801.imageshack.us/img801/650/boolean.png

Thank you!
 

tshuck

Joined Oct 18, 2012
3,534
Sorry Josh, that isn't going to happen. You need to do something before we will attempt your homework. This isn't a place where you can drop off your homework and come back a couple hours later with the solution, ready to be turned in. If all you want are examples, go look in the book, there are plenty there. We will help point you in the right direction for actual learning as opposed to a rote or copied answer.


What do you know about DeMorgan's theorem? Can you apply it? If not, start here, then see if you can split up your expressions to be groups of ANDed terms that are ORed together....

For the last one, perhaps using the distributive property might help....

For your reading pleasure, the properties of Boolean algebra...
 

Thread Starter

Josh Samman

Joined Mar 29, 2013
11
Sorry Josh, that isn't going to happen. You need to do something before we will attempt your homework. This isn't a place where you can drop off your homework and come back a couple hours later with the solution, ready to be turned in. If all you want are examples, go look in the book, there are plenty there. We will help point you in the right direction for actual learning as opposed to a rote or copied answer.


What do you know about DeMorgan's theorem? Can you apply it? If not, start here, then see if you can split up your expressions to be groups of ANDed terms that are ORed together....

For the last one, perhaps using the distributive property might help....

For your reading pleasure, the properties of Boolean algebra...
Alright sir, then i'll evolve the problem as far as i can so you can help me. i have the basics, my problems are the precedences, cases of NOT's over NOT's (where each not cover different ranges of the equation in different layers, like the second exercise) and some cases of distributive property.

1 -

F = abc(NOT(bc + ab))
= abc(NOT(bc) * NOT(ab))
= abc(b'+c' * a' + b')
= abb'c + abcc' * aa'bc + abb'c
= [ac*0 + ab*0] * [bc*0 + ac*0]
= 0 + 0 * 0 + 0
= 0
-- I don't know if that's right (i never know!)--

2 -

F = NOT(ab + NOT(ac + bc))
F = NOT(ab + [NOT(ac) * NOT(bc)])
F = NOT(ab + [a' + c' * b' + c'])
F = a' + b' * ac + bc
--- I don't know what to do from here --
Probably there's some distributive i can't see...

3 -

F = (ab + c)*(a' + ac)
= aa'b + aabc * a'c + acc (Distributive, like you recommended)
= 0 + abc * a'c + ac
= abc * c(a + a')
= abc * [c*1]
= abc * c
-- Question now --
Is "= abcc = abc" right? Or it is " = c(ab + 1) = c" ?

-- End --

Thank you tshuck for helping me out, i'm new here, never meant to get easy "ready answers".
 

DerStrom8

Joined Feb 20, 2011
2,390
1 -

F = abc(NOT(bc + ab))
= abc(NOT(bc) * NOT(ab))
= abc(b'+c' * a' + b')
= abb'c + abcc' * aa'bc + abb'c
= [ac*0 + ab*0] * [bc*0 + ac*0]
= 0 + 0 * 0 + 0
= 0
-- I don't know if that's right (i never know!)--
Your technique is close to correct, but take a closer look at the bold section above. When you split up the bar over (bc), you MUST keep the parentheses. If you don't, you will come out with the wrong answer.

This in mind, try doing that part over and see what you get.

Matt
 

WBahn

Joined Mar 31, 2012
33,192
Alright sir, then i'll evolve the problem as far as i can so you can help me. i have the basics, my problems are the precedences, cases of NOT's over NOT's (where each not cover different ranges of the equation in different layers, like the second exercise) and some cases of distributive property.

1 -

F = abc(NOT(bc + ab))
= abc(NOT(bc) * NOT(ab))
= abc(b'+c' * a' + b')
= abb'c + abcc' * aa'bc + abb'c
= [ac*0 + ab*0] * [bc*0 + ac*0]
= 0 + 0 * 0 + 0
= 0
-- I don't know if that's right (i never know!)--
Ah, but with boolean algebra you can always know! Just make a truth table. With only three variables, the truth table only has eight lines.

a|b|c||abc|bc|ab|(bc+ab)|(bc+ab)'||F
0|0|0||0|0|0|0|1||0
0|0|1||0|0|0|0|1||0
0|1|0||0|0|0|0|1||0
0|1|1||0|1|0|1|0||0
1|0|0||0|0|0|0|1||0
1|0|1||0|0|0|0|1||0
1|1|0||0|0|1|1|0||0
1|1|1||0|1|1|1|0||0

So it appears you got the correct answer, so now the question is whether this is by coincidence or not.

Part of your problem is that you are using different notations for the same thing within your work, specifically, you are using both NOT and the apostrophe for logical inversion. Pick one or the other.

Next, be liberal in your use of parentheses to keep things grouped together. For instance:

F = abc(NOT(bc + ab))
= abc(NOT(bc) * NOT(ab))
= abc([NOT(bc)] * [NOT(ab)])
Notice the additional brackets around the terms about to be expanded.
= abc([b'+c'] * [a' + b'])
Now it's obvious that you can't just distribute abc term across so cavalierly.

Is "= abcc = abc" right? Or it is " = c(ab + 1) = c" ?
Yes, abcc = abc because xx = x (draw the truth table). Also, think of any simple analogy -- You can have dessert if (you finish your vegetables) AND (you finish your vegetables). Clearly these are redundant conditions and one can be eliminated. Similarly, you can have dessert if (you finish your vegetables) OR (you finish your vegetables). Again, clearly redundant.

I don't follow the reasoning for the second version. You have

abc*c

How are you getting

c(ab+1) out of this?

The best you could do would be

c(ab*1)

This is the same as when you factor things out n normal algebra.
 

Thread Starter

Josh Samman

Joined Mar 29, 2013
11
Ah, but with boolean algebra you can always
Part of your problem is that you are using different notations for the same thing within your work, specifically, you are using both NOT and the apostrophe for logical inversion. Pick one or the other.

Next, be liberal in your use of parentheses to keep things grouped together. For instance:

F = abc(NOT(bc + ab))
= abc(NOT(bc) * NOT(ab))
= abc([NOT(bc)] * [NOT(ab)])
Notice the additional brackets around the terms about to be expanded.
= abc([b'+c'] * [a' + b'])
Now it's obvious that you can't just distribute abc term across so cavalierly.
Ok so i'll make negation only with apostrophes:

F = abc(bc + ab)'
= abc((bc)' * (ab)')
= abc([(bc)'] * [(ab)'])
= abc([(b'+c')] * [(a' + b')])

So, if i can't just distribute the full abc term, i guess i have to make it one-by-one, going like this:



F = [(ab' + ac') * (aa' + ab')] * [(bb' + bc')*(a'b + bb')] * [(b'c + cc')*(a'c + b'c)]
= [ab' + (ac' * aa')] * [bb' + (bc' * a'b)] * [b'c+(cc' * a'c)]
= ab' * (bc' * a'b) * b'c
= aa'bb'cc' (Eliminating parentheses)
= 0

Is that right, now or it's just another coincidence?

Quote:
Is "= abcc = abc" right? Or it is " = c(ab + 1) = c" ?
Yes, abcc = abc because xx = x (draw the truth table). Also, think of any simple analogy -- You can have dessert if (you finish your vegetables) AND (you finish your vegetables). Clearly these are redundant conditions and one can be eliminated. Similarly, you can have dessert if (you finish your vegetables) OR (you finish your vegetables). Again, clearly redundant.

I don't follow the reasoning for the second version. You have

abc*c

How are you getting

c(ab+1) out of this?

The best you could do would be

c(ab*1)

This is the same as when you factor things out n normal algebra.
Yeah i understand now :D thank you.

Quote:
Originally Posted by Josh Samman
1 -

F = abc(NOT(bc + ab))
= abc(NOT(bc) * NOT(ab))
= abc(b'+c' * a' + b')
= abb'c + abcc' * aa'bc + abb'c
= [ac*0 + ab*0] * [bc*0 + ac*0]
= 0 + 0 * 0 + 0
= 0
-- I don't know if that's right (i never know!)--


Your technique is close to correct, but take a closer look at the bold section above. When you split up the bar over (bc), you MUST keep the parentheses. If you don't, you will come out with the wrong answer.

This in mind, try doing that part over and see what you get.
Yeah, i think i got it now. Thank you too DerStrom8.

----------------------------------------------------

What about the second one? Any clues?

Thank you all for the help. I appreciate it.
 

Attachments

DerStrom8

Joined Feb 20, 2011
2,390
I'm not sure what you just did is correct. You need to distribute what's inside the parentheses first ((b'+c')*(a'+c')). Once you've distributed that, THEN you distribute the abc and see if you get the same answer.

Hope this helps :)

Matt
 

Thread Starter

Josh Samman

Joined Mar 29, 2013
11
I'm not sure what you just did is correct. You need to distribute what's inside the parentheses first ((b'+c')*(a'+c')). Once you've distributed that, THEN you distribute the abc and see if you get the same answer.

Hope this helps :)

Matt
Here i go again then :) :

F = abc(bc + ab)'
= abc((bc)' * (ab)')
= abc([(bc)'] * [(ab)'])
= abc([(b'+c')] * [(a' + b')])
= abc([a'(b' + c')] + [b'(b' + c')])
= abc([a'b' + a'c'] + [b' + b'c'])
= aa'bb'c + aa'bcc' + abb'c + abb'cc'
= 0

How about now?

I hope it's right.
 

WBahn

Joined Mar 31, 2012
33,192
Here i go again then :) :

F = abc(bc + ab)'
= abc((bc)' * (ab)')
= abc([(bc)'] * [(ab)'])
= abc([(b'+c')] * [(a' + b')])
= abc([a'(b' + c')] + [b'(b' + c')])
= abc([a'b' + a'c'] + [b' + b'c'])
= aa'bb'c + aa'bcc' + abb'c + abb'cc'
= 0

How about now?

I hope it's right.
Yes, that is valid. You can do it a bit shorter as follows:

F = abc(bc + ab)'
= abc((bc)' * (ab)')
= a * [(bc) * (bc)'] * (ab)' // Just writing as four factors ANDed together
= a * 0 * (ab)'
= 0
 

Thread Starter

Josh Samman

Joined Mar 29, 2013
11
I guess i figured the last one (2nd exercise) :D :

F = (ab + (ac + bc)')'
= (ab + ([(ac)' * (bc)']))'
= (ab)' * ((ac) + (bc))
= [(a' + b')] * ((ac) + (bc))
= [(ac)(a' + b')] + [(bc)(a' + b')]
= [aa'c + ab'c] + [a'bc + bb'c]
= ab'c + a'bc
= c(ab' + a'b)
 
Top