4.3 EXPRESIONES BOOLEANAS

4.3.1 Definición. Una expresión booleana es una sucesión de símbolos que incluye 0,1, algunas variables y las operaciones booleanas.

Para ser más precisos definamos una expresión boolena en n variables x1, x2..., xn recursivamente como:


Ejemplo 1.

Las siguientes son cuatro expresiones booleanas en las tres variables x, y, z:

Es obvio que las expresiones del lado izquierdo involucran las tres variables, las del lado derecho dos y una variable respectivamente. Las expresiones booleanas 0 y 1 pueden verse como expresiones en cualquier número de variables.

 
El número de variables de una expresión booleana es el número de letras distintas que aparezcan en la expresión, sin tener en cuenta si están o no complementadas.

4.3.2 Forma normal disyuntiva. Una expresión booleana está en forma normal disyuntiva en n variables x1, x2,... xn, si la expresión es una suma de términos del tipo E1 (x1) x E2( x2) x ... x En(xn), donde Ei(xi) = xi o xi para i = 1, 2,..., n, y ningún par de términos son idénticos. Además se dice que 0 y 1 están en F.N.D en una variable para todo n ³ 0.



4.3.2.1 Teorema. Toda expresión booleana que no contiene constantes es igual a una función en forma normal disyuntiva.

La manera de realizar esa transformación la ilustra el siguiente ejemplo.

 

Ejemplo 2

Escribir (xy + xz) + x' en F.N.D

 

Solución:

( xy + xz) + x' = (xy)(xz) + x'

= (x + y)(x + z) + x

= (x + y)x + (x + y)z + x

= x + xy + xz + yz + x

= x + yz

= x(y + y)(z + z) + yz(x + x)

= x y z + x y z + x y z + x y z + x y z

Cualquier expresión booleana puede colocarse en forma normal disyuntiva en más de una forma. Basta cambiar el número de variables.

 

Ejemplo 3.

f = x y es una expresión booleana en dos variables en F.N.D. Si la multiplicamos por z + z (que es 1), obtenemos f = x y z + x y z la cual es una expresión booleana en tres variables escrita en F.N.D.

Se considerará, a menos que se diga otra cosa, que la F.N.D se refiere a aquella forma que contiene el menor número posible de variables. Con esta excepción, se puede demostrar que la F.N.D de una función está determinada unívocamente por la función.

Si se desea escoger sólo uno de los términos posibles en una F.N.D en n variables, es decir, escoger a x o a x para cada una de las n variables xi, i = 1,2,...,n; hay exactamente 2n términos distintos que pueden aparecer.

4.3.2.2 Definición. La forma normal disyuntiva en n variables, que contiene 2n términos se llama forma normal disyuntiva completa en n variables.

4.3.2.3 Teorema. Si a cada una de las n variables de una expresión booleana en la F.N.D se le asigna el valor 0 o 1 de una forma arbitraria pero fija, entonces exactamente un término de la F.N.D completa tendrá el valor 1, todos los demás términos tendrán el valor 0.

Demostración. Suponga que a1, a2,... an, representan los valores asignados a x1, x2,... xn, en ese orden, donde cada ai es 0 o 1. Escoja un término de la forma normal completa como sigue: Use xi si ai = 1, y use xi si ai = 0 para cada xi, i = 1,2,...,n. El término así escogido es un producto de n unos, y por lo tanto, es 1. Todos los otros términos contendrán por lo menos un factor 0, y en consecuencia, serán 0.

Una consecuencia de este teorema, es que la F.N.D completa sea identica a 1.

Ejemplo 4.

Sea f(x,y) = x y + x y + x y + x y. Si se asigna a x el valor de 0 y a y el valor 1 entonces se tendrá:

f(x,y) = 1.1 + 1.0 + 0.1 + 0.0

= 1 + 0 + 0 + 0 = 1.

4.3.2.4 Teorema. Dos expresiones booleanas son iguales si y sólo si sus respectivas F.N.D son iguales.

4.3.2.5 Teorema. Para establecer cualquier Identidad en álgebra booleana, es suficiente verificar el valor de cada función para todas las combinaciones de 0 y 1 que pueden asignarse a las variables.

Se concluye entonces, que una expresión booleana está completamente determinada por los valores que toma para cada asignación posible de 0 y 1 a las variables respectivas. Luego las funciones se pueden especificar completamente dando una tabla que represente estas propiedades.

En el diseño de circuitos, esta es precisamente la manera como las expresiones booleanas son construidas. Si tal tabla ha sido dada, entonces la expresión booleana en F.N.D puede escribirse por inspección. A cada conjunto de condiciones para los cuales la expresión booleana sea 1, corresponderá un término en la F.N.D escogida. La suma de estos términos da la función aunque no necesariamente en la forma más simple.

Ejemplo 5.
Encuentre y simplifique la expresión booleana especificada por la siguiente tabla.


 
 
RENGLON
x
y
z
f(x,y,z)
1
0
0
0
0
2
0
0
1
0
3
0
1
0
0
4
0
1
1
0
5
1
0
0
1
6
1
0
1
0
7
1
1
0
1
8
1
1
1
0

La expresión booleana tendrá dos términos que se obtienen de las filas 5 y 7 donde la expresión booleana vale 1.

 

f(x,y,z) = x y' z' + x y z'

= x z' (y + y')

= x z.

 

Ejemplo 6.

Hallar el complemento de la expresión booleana del ejemplo 5, en F.N.D.

Solución. El complemento de cualquier expresión booleana en la F.N.D contiene los términos de la forma normal disyuntiva completa que faltan en la función dada.

El complemento será entonces la siguiente expresión booleana.

f'(x,y,z) = x z + x' z + x' z'


Se puede demostrar fácilmente que f'(x,y,z) = x' + z que es el resultado obtenido si hubiéramos utilizado las leyes de morgan en la expresión f(x,y,z) = x z'.

4.3.3 Forma normal conjuntiva. En esta forma cada función se representa como un producto de sumas, en lugar de una suma de productos.

4.3.3.1 Definición. Una función booleana está en F.N.C en n variables x1, x2,... xn, para n ³ 0, si la función en un producto de factores del tipo E1 (x1) + E2( x2) + ... + En(xn), donde Ei(xi) = xi o xi para i = 1, 2, ..., n, y ningún par de factores son idénticos. Se dice también que 0 y 1 están en F.N.C en n variables para n ³ 0.

4.3.3.2 Teorema. Toda función en un álgebra booleana que no contiene constantes es igual a una función en forma normal conjuntiva.

Ejemplo 7.

Escribir la función (x y' + x z)' + x' en F.N.C.

 

Solución:

(x y' + xz)' + x'

= (x' + y) (x' + z') + x'

= (x' + x' + y) (x' + x' + z' )

= (x' + y) (x' + z' )

= (x' + y + z z' ) (x' + z' + yy' )

= (x' + y + z ) (x' + y + z' ) (x' + y' + z ) (x' + y' + z' )

 

4.3.3.3 Definición. La forma normal conjuntiva en n variables que contienen 2n factores se llama forma normal conjuntiva completa en n variables.

4.3.3.4 Teorema. Si a cada una de las n variables de una F.N.C se le asigna el 0 o 1 de una manera arbitraria, pero fija, entonces exactamente un factor de la F.N.C en las n variables tendrá el valor 0 y todos los demás factores tendrán el valor 1.

Acá se asignará a las variables sin prima el valor de 0 y las variables con prima el valor de 1. El factor adecuado es entonces la suma de estas letras, cada una de las cuales tiene el valor 0. Todos los demás factores tienen el valor 1.

4.3.3.5 Teorema. Dos funciones, cada una expresada en la forma normal conjuntiva en n variables, son iguales si y sólo si contienen idénticos factores.

Ejemplo 8.

Encuentre y simplifique la función f(x,y,z) dada por la siguiente tabla.

x
y
z
f(x,y,z)
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1

La F.N.C tendrá 2 términos o factores y serán los correspondientes a las filas segunda y sexta las cuales la función es 0.

Esto es:
 

f(x,y,z) = ( x + y + z) ( x + y + z)
f(x,y,z) = y + z

 

Generalmente la F.N.C es usada cuando el número de ceros es menor que el número de unos en la columna F; y la F.N.D es usada cuando el número de unos es menor que el número de ceros en la columna f.

 

El complemento de una función booleana escrito en F.N.C está constituido por los factores de la F.N.C completa que faltan en la función dada.

 

Ejemplo 9.

El complemento de ( x + y')( x + y) es ( x + y)( x + y).

 

Ejercicios 4.3

1. Exprese cada una de las siguientes funciones en F.N.D en el menor número posible de variables.

2. Escriba los términos de la F.N.D completa en x,y,z. Determine que término es igual a 1 si x = 1 Ù y = z = 0.

3. Encuentre el complemento de las siguientes funciones:

xz + xz xy + xy + xy

4. Escriba la función de las tres variables x, y, z que vale 1 si x = y = 1 y z = 0 o si x = z = 1 Ù y = 0 y que vale 0 para los demás casos en F.N.D y F.N.C.


 

5. A partir de la siguiente tabla de verificación, encuentre la expresión booleana correspondiente en F.N.D y en F.N.C.



x
y
z
f(x,y,z)
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
0
0
1


6. Hallar el complemento de la F.N.D del ejemplo anterior. Y simplifique si es posible.


 

7. Exprese en F.N.D y F.N.C en el menor número de variables.

xyz + (x + y) (u + v) + u v

8. Encuentre el complemento de las siguientes funciones.



9. Simplifique las siguientes expresiones usando teoremas del álgebra booleana.



10. Halle los complementos de las expresiones booleanas del ejercicio número 9.