Here is a short description of this method for simplifcation of boolean functions:

lets start with a boolean function with 2 variables:
f(x1,x2) = x1^x2 v !x1^x2

A map for a function with 2 variables looks like this:

   x1
00 10
01 11 x2
Now you can mark that parts which are 1:
   x1
0 0
1 1 x2
As you now can see one can merge the two ones, so that the shortened boolean function is just f(x1,x2) = x2
Though this is a pretty easy example, this method becomes useful for four variables (with more this method is not very useful).
The basic concept is that you can merge neighbouring ones. You can merge two or four ones in a row or column or four ones as a square.
A Karnaugh map for three variable looks like this:

    --x1--   
000 100 101 001 
010 110 111 011 x2
--x3--

Now a closing four variable example:

   ----x1---
   0000 1000 1010 0010
0100 1100 1110 0110 x2
x4 0101 1101 1111 0111 x2
x4 0001 1001 1011 0011
----x3---

1 0 0 0 
1 0 0 0
1 0 0 0
1 0 0 0

This function is: g(x1,x2,x3,x4)= !x1^!x2^!x3^!x4 v !x1^x2^!x3^!x4 v !x1^x2^!x3^x4 v !x1^!x2^!x3^x4
This column can be merged to !x1^!x3. So the minimized function is: g(x1,x2,x3,x4) = !x1^!x3
If for example the third column is also full of ones, the function would be: g(x1,x2,x3,x4) = !x1^!x3 v !x1^x3
This method is pretty handy for functions with 4 variables, because the boolean cube does not work anymore and it is easier than Quine-McClusky

I hope this looks good on all systems, if not please message me.

Log in or register to write something here or to contact authors.