Está en la página 1de 23

ÁLGEBRA DE BOOLE

INTRODUCCIÓN.
En 1854 George Boole introdujo una notación simbólica para el tratamiento de variables
cuyo valor podría ser verdadero o falso (variables binarias) Así el álgebra de Boole nos
permite manipular relaciones proposicionales y cantidades binarias. Aplicada a las técnicas
digitales se utiliza para la descripción y diseño de circuitos más económicos. Las
expresiones booleanas serán una representación de la función que realiza un circuito digital.
En estas expresiones booleanas se utilizarán las tres operaciones básicas (AND, OR, NOT)
para construir expresiones matemáticas en las cuales estos operadores manejan variables
booleanas (lo que quiere decir variables binarias).
El estudio de los sistemas numéricos nos ha permitido visualizar que el sistema binario
tiene una implementación natural mediante algún dispositivo electrónico como por
ejemplo, un interruptor que habilita o deshabilita una variable eléctrica como son Voltaje e
Intensidad de corriente.
El estudio de los códigos nos entregó una forma compacta para la representación de
números y símbolos alfanuméricos de uso habitual en nuestro lenguaje. En lo que sigue,
estudiaremos la base técnica en la cual se sustenta el funcionamiento de los diferentes
circuitos electrónicos digitales, los cuales permiten desarrollar funciones específicas.
ÁLGEBRA DE BOOLE.
Un conjunto R sobre el cual se han definido operaciones binarias (+, *), se llama álgebra de
Boole, si cumple los postulados:
Postulado 1: La multiplicación y la suma son conmutativas.
i) a+b=b+a
ii) a·b=b·a
Postulado 2: R contiene elementos neutros, 0 y 1, con respecto a la + y a la *, tal que:
i) a+0=a
ii) a·1=a
Postulado 3: Cada operación es distributiva respecto a la otra, es decirse verifica que:
i) a+b·c = (a+b)·(a+c)
ii) a·(b+c) = a·b + a·c
Postulado 4: Cada operación tiene elemento inverso, es decir tal que:

Un álgebra de boole satisface el principio de dualidad:


"Todo teorema deducible de los 4 postulados de un álgebra Booleana sigue siendo válido
si se intercambian los símbolos + y *, los elementos 0 y 1 entre si."
En consecuencia basta demostrar uno de los enunciados para posteriormente deducir el otro
por dualidad.
Ejemplo 1: Demostrar que a+a=a.
Dualidad
Los postulados y teoremas presentados anteriormente están representados en pares. La
razón es que cada teorema posee lo que llamamos un dual. El dual de una expresión se
obtiene intercambiando las ocurrencias de OR por AND, 0 por 1 y viceversa.. Si un
teorema es valido, también lo será su dual, En efecto siguiendo el dual de la demostración
del teorema, se obtiene la demostración del dual del teorema.
Por ejemplo dado el postulado 0+0 = 0 se obtiene el dual haciendo 1·1 = 1
FUNCIONES BOOLEANAS.
Sea R = {a,b,c,...} un álgebra Booleana, definimos:
Constante: Un valor dado que puede tomar un elemento de R , como por ejemplo 0 y 1.
Variable: Un símbolo que representa un elemento de R .
Función: Combinación finita de elementos de R a través de los operadores “·” y “+”.
Nº de variables de una función: Es el número de elementos distintos que aparecen en una
función, considerándose que una variable y su complemento son una única variable.

Ejercicios: Simplificar:
Formas Canónicas
Definiciones:
Literal: se refiere a una variable o a su complemento (por ej. A, X, )
Termino Producto (POS): Es un grupo de literales que se encuentran relacionados entre si
por un AND (por ej. A·B, C·A, ·Y·Z )
Termino Suma (SOP): Es un grupo de literales que se encuentran relacionados entre si por
un OR (por ej. A+B, C+A, +Y+Z )
Termino Normal: Término producto o termino suma en el que un literal no aparece más de
una vez
Termino Canónico: Término en el que se encuentra exactamente uno de cada uno de los
literales de la función. Si el término canónico es un producto, se denominará mintermino

Si es una suma se denominará maxtermino

Forma Normal de una función: Es la que está constituida por términos normales. Puede
estar en la forma suma de términos productos o productos de términos sumas.
Forma Canónica de una función: Es aquella constituida exclusivamente por términos
canónicos que aparecen una sola vez.
Forma canónica de funciones booleanas
La importancia de la forma canónica estriba en el hecho de ser UNICA. Como se mostró
anteriormente una función puede tener infinidad de representaciones, pero solo una
representación en forma canónica.
Existen dos formas canónicas de una función: Suma De Productos o Producto de Sumas.
(También de una manera mas formal Suma de minterminos o Producto de maxterminos)
Para obtener algebraicamente la forma canónica de una función se puede utilizar los
teoremas de expansión canónica:
Teorema 1: Para obtener la forma canónica de una función suma de productos se
multiplicará por un termino de la forma (X +X’ ) donde falte un literal para que el termino
sea canónico.
Teorema 2: Para obtener la forma canónica de una función producto de sumas se sumará
un termino de la forma (X · X’) donde falte un literal para que el termino sea canónico.
Forma canónica suma de productos (SOP):
Es aquella constituida exclusivamente por términos canónicos productos (minterminos)
sumados que aparecen una sola vez.

Para simplificar la escritura en forma de suma canónica de productos, se utiliza una


notación especial. A cada mintermino se le asocia un número binario de n bits resultantes
de considerar como 0 las variables complementadas y como 1 las variables no
complementadas. Así por ejemplo el mintermino X’Y’Z corresponde a combinación X=0,
Y=0, Z=1 que representa el numero binario 001, cuyo valor decimal es 1. A este
mintermino lo identificaremos entonces como m1.

se puede expresar como: F(X,Y,Z) = m(1, 4,5,6,7) que quiere decir la sumatoria de los
minterminos 1,4,5,6,7
Forma canónica producto de sumas (POS):
Es aquella constituida exclusivamente por términos canónicos sumas (maxterminos)
multiplicados que aparecen una sola vez.

Análogamente al caso anterior, podemos simplificar la expresión de la función, indicando


los maxterminos. Sin embargo, en este caso se hace al contrario de antes. A cada
maxtermino se le asocia un número binario de n bits resultantes de considerar como 1 las
variables complementadas y como 0 las variables no complementadas. Así por ejemplo el
maxtermino X’+ Y + Z corresponde a combinación X=1, Y=0, Z=0 que representa el
numero binario 100, cuyo valor decimal es 4. A este maxtermino lo identificaremos
entonces como M4.

Se puede expresar como: F(X,YZ) = M(0,2,3) que quiere decir el producto de los
maxterminos 0,2,3
Forma normal de funciones booleanas
Otra manera importante de expresar expresiones booleanas es la forma normal. Tiene la
misma estructura básica suma de productos o producto de sumas, pero no se requiere que
los términos sean minterminos o maxterminos.

A lo largo de este curso la forma que se utilizará con preferencia será la de suma de
productos
Compuertas Lógicas:
Un computador digital, como su nombre lo indica, es un sistema digital que realiza diversas
operaciones de cómputo. La palabra Digital implica que la información que se representa
en el computador por medio de variables que toman un número limitado de valores
discretos o cuantizados. Estos valores son procesados internamente por componentes que
pueden mantener un número limitado de estados discretos. Los dígitos decimales por
ejemplo, proporcionan 10 valores discretos (0 .. 9). Como sabemos en la práctica, los
computadores funcionan más confiablemente si sólo utilizan dos estados equiprobables.
Debido al hecho que los componentes electrónicos atienden a dos estados (encendido /
apagado) y que la lógica humana tiende a ser binaria (esto es, cierto o falsa, si o no) se
utiliza el sistema binario y se dice que son binarias.
Los computadores digitales utilizan el sistema de números binarios, que tiene dos dígitos 0
y 1. Un dígito binario se denomina un bit. La información está representada en los
computadores digitales en grupos de bits. Utilizando diversas técnicas de codificación los
grupos de bits pueden hacerse que representen no solamente números binarios sino también
otros símbolos discretos cualesquiera, tales como dígitos decimales o letras de alfabeto.
Utilizando arreglos binarios y diversas técnicas de codificación, los dígitos binarios o
grupos de bits pueden utilizarse para desarrollar conjuntos completos de instrucciones para
realizar diversos tipos de cálculos.
La información binaria se representa en un sistema digital por cantidades físicas
denominadas señales. Las señales eléctricas tales como voltajes existen a través del sistema
digital en cualquiera de dos valores reconocibles y representan un a variable binaria igual a
1 o 0. Por ejemplo, un sistema digital particular puede emplear una señal de 3 [volts ] para
representar el binario “1” y 0.5 [volts ] para el binario ”0”. La siguiente ilustración muestra
un ejemplo de una señal binaria.

Como se muestra en la figura, cada valor binario tiene una desviación aceptable del valor
nominal. La región intermedia entre las dos regiones permitidas se cruza solamente durante
la transición de estado. Los terminales de entrada de un circuito digital aceptan señales
binarias dentro de las tolerancias permitidas y los circuitos responden en los terminales de
salida con señales binarias que caen dentro de las tolerancias.
La lógica binaria tiene que ver con variables binarias y con operaciones que toman un
sentido lógico. Es utilizada para escribir, en forma algebraica o tabular. La manipulación y
procesamiento de información binaria. La manipulación de información binaria se hace por
circuitos lógico que se denominan Compuertas. Las compuertas son bloques del hardware
que producen señales del binario 1 ó 0 cuando se satisfacen los requisitos de entrada lógica.
Las diversas compuertas lógicas se encuentran comúnmente en sistemas de computadores
digitales. Cada compuerta tiene un símbolo gráfico diferente y su operación puede
describirse por medio de una función algebraica. Las relaciones entrada - salida de las
variables binarias para cada compuerta pueden representarse en forma tabular en una tabla
de verdad.
A continuación se detallan los nombres, símbolos, gráficos, funciones algebraicas, y tablas
de verdad de ocho compuertas.
Compuerta AND:
Cada compuerta tiene una o dos variables de entrada designadas por A y B y una salida
binaria designada por x. La compuerta AND produce la unión lógica AND: esto es: la salida
es 1 si la entrada A y la entrada B están ambas en el binario 1: de otra manera, la salida es .
Estas condiciones también son especificadas en la tabla de verdad para la compuerta AND.
La tabla muestra que la salida x es 1 solamente cuando ambas entradas A y B están en 1. El
símbolo de operación algebraico de la función AND es el mismo que el símbolo de la
multiplicación de la aritmética ordinaria (*). Podemos utilizar o un punto entre las variables
o concatenar las variables sin ningún símbolo de operación entre ellas. Las compuertas
AND pueden tener más de dos entradas y por definición, la salida es 1 si cualquier entrada
es 1.
Compuerta OR:

La compuerta OR produce la función OR inclusiva, esto es, la salida es 1 si la entrada A o


la entrada B o ambas entradas son 1; de otra manera, la salida es 0. El símbolo algebraico
de la función OR es (+), similar a la operación de aritmética de suma. Las compuertas OR
pueden tener más de dos entradas y por definición la salida es 1 si cualquier entrada es 1.
Compuerta NOT (Inversor):

El circuito inversor invierte el sentido lógico de una señal binaria. Produce el NOT, o
función complemento. El símbolo algebraico utilizado para el complemento es una barra
sobra el símbolo de la variable binaria. Si la variable binaria posee un valor 0, la compuerta
NOT cambia su estado al valor 1 y viceversa. El círculo pequeño en la salida de un símbolo
gráfico de un inversor designa un complemento lógico. Es decir cambia los valores binarios
1 a 0 y viceversa.
Compuerta Separador:

Un símbolo triángulo por sí mismo designa un circuito separador no produce ninguna


función lógica particular puesto que el valor binario de la salida es el mismo de la entrada.
Este circuito se utiliza simplemente para amplificación de la señal. Por ejemplo, un
separador que utiliza 3 volts para el binario 1 producirá una salida de 3 volts cuando la
entrada es 3 volts. Sin embargo, la corriente suministrada en la entrada es mucho más
pequeña que la corriente producida en la salida. De ésta manera, un separador puede excitar
muchas otras compuertas que requieren una cantidad mayor de corriente que de otra
manera no se encontraría en la pequeña cantidad de corriente aplicada a la entrada del
separador.
Compuerta NAND:

Es el complemento de la función AND, como se indica por el símbolo gráfico que consiste
en un símbolo gráfico AND seguido por un pequeño círculo. La designación NAND se
deriva de la abreviación NOT - AND. Una designación más adecuada habría sido AND
invertido puesto que Es la función AND la que se ha invertido.
Compuerta NOR:
La compuerta NOR es el complemento de la compuerta OR y utiliza un símbolo gráfico
OR seguido de un círculo pequeño. Tanto las compuertas NAND como la NOR pueden
tener más de dos entradas, y la salida es siempre el complemento de las funciones AND u
OR, respectivamente.
Compuerta OR exclusivo (XOR):

La compuerta OR exclusiva tiene un símbolo gráfico similar a la compuerta OR excepto


por una línea adicional curva en el lado de la entrada. La salida de esta compuerta es 1 si
cada entrada es 1 pero excluye la combinación cuando las dos entradas son 1. La función
OR exclusivo tiene su propio símbolo gráfico o puede expresarse en términos de
operaciones complementarias AND, OR.
Compuerta NOR exclusivo (NXOR):

El NOR exclusivo como se indica por el círculo pequeño en el símbolo gráfico. La salida
de ésta compuerta es 1 solamente si ambas entradas son tienen el mismo valor binario.
Nosotros nos referiremos a la función NOR exclusivo como la función de equivalencia.
Puesto que las funciones OR exclusivo y funciones de equivalencia no son siempre el
complemento la una de la otra. Un nombre más adecuado para la operación OR exclusivo
sería la de una función impar; esto es, la salida es 1 si un número impar de entrada es 1. Así
en una función OR (impar) exclusiva de tres entradas, la salida es 1 si solamente la entrada
es 1 o si todas las entradas son 1. La función de equivalencia es una función par; esto es, su
salida es 1 si un número par de entradas es 0. Para un función de equivalencia de tres
entradas, la salida es 1 si ninguna de las entradas son 0 (todas las entradas son 1) o si dos de
las entradas son 0 (una entrada es 1). Una investigación cuidadosa revelará que el OR
exclusivo y las funciones de equivalencia son el complemento la una de la otra cuando las
compuertas tienen un número par de entradas, pero las dos funciones son iguales cuando el
número de entradas es impar. Estas dos compuertas están comúnmente disponibles con dos
entradas y solamente en forma rara se encuentran con tres o más entradas.
RESUMEN COMPUERTAS LÓGICAS:
Retomemos el teorema DeMorgan:
El teorema DeMorgan es muy importante al tratar compuertas NOR y NAND. Expresa que
una compuerta NOR que realiza la función (x + y)’ es equivalente a la expresión función
xy’. Similarmente, una función NAND puede ser expresada bien sea por (xy)’ o por x’ + y’
por esta razón, las compuertas NOR y NAND tienen dos símbolos gráficos distintos como
se muestra en la figura:
En vez de representar una compuerta NOR por el símbolo gráfico OR seguido por un
círculo, nosotros podemos representarla por un símbolo gráfico AND precedido por
círculos en todas las entradas. El inversor AND para la compuerta NOR proviene del
teorema DeMorgan y de la convención de que los círculos pequeños denotan
complementación. Similarmente la compuerta NAND también posee dos símbolos gráficos.

Para ver cómo se utiliza la manipulación del álgebra Booleana para simplificar circuitos
digitales considere el diagrama lógico de la siguiente figura. La salida de la primera
compuerta NAND es, por el teorema DeMorgan , (AB)’ = A’ + B. La salida del circuito es
la operación NAND de este término y B’.

Utilizando el teorema DeMorgan dos veces, obtenemos:


x = ( A’ + B )’ + B = AB’ + B
Note que el teorema DeMorgan ha sido aplicado tres veces ( para demostrar su utilización )
pero podría ser aplicado solamente una vez de la siguiente manera:
x = [ ( AB’ )* B´ ] ‘ = AB’ + B
La expresión para x puede simplificarse por aplicación de las relaciones mencionadas
anteriormente:
x = AB’ + B
= B + AB’
= ( B + A) ( B + B’ )
= ( B + A) * 1
=B+A=A+B
El resultado final produce una función OR y puede ser implementado con una sola
compuerta OR como se muestra en la figura parte (b) del diagrama lógico. Uno Puede
demostrar que dos circuitos producen relaciones binarias idénticas Entrada - Salida
simplemente obteniendo la tabla de verdad para cada uno de ellos.
Mapas de Karnaugh.
Dentro de las representaciones esquemáticas de una función Booleana, ésta es una de las
más útiles. La idea es representar en forma más compactas las tablas que representan a la
función.
DEFINICIONES BÁSICAS:
Definición 1: Minterm de n variables (m)
Es el producto Booleano de las n variables, donde cada variable está presente en su valor
verdadero o falso. En otras palabras corresponde a un término producto normal.
Definición 2: Maxterm de n variables (M)
Es la suma Booleana de las n variables donde cada variable está presente en su valor
verdadero o falso. Se puede decir que corresponde a un término suma normal.
TEOREMA: Cualquier función Booleana f(x1, x2,...,xn) puede representarse:
i) Como forma canónica de suma de producto.
ii) Como forma canónica de producto de sumas.
La función F puede describirse como:

Esto es válido para cualquier nº de variables de entrada.


Ejemplo para 4 variables

Simplificación de circuitos lógicos:


La complejidad del diagrama lógico que implementa una función Booleana está
directamente relacionado con la complejidad de la expresión algebraica a partir de la cual la
función se implementa. La representación de la tabla de verdad de una función es única
pero la función puede aparecer en muchas formas diferentes como se expresa
algebraicamente. La expresión puede simplificarse utilizando las relaciones básicas del
álgebra Booleana. Este procedimiento sin embargo. es algunas veces difícil porque carece
de reglas específicas para predecir cada uno de los pasos sucesivos en el proceso de
manipulación. El método del mapa proporciona un procedimiento simple, y directo para
simplificar funciones Booleanas . Este método puede mirarse como un arreglo gráfico de
una tabla de verdad que permite una interpretación fácil para elegir el mínimo número de
variables que se necesitan para expresar la función algebraicamente. El método del mapa
también se le conoce con el nombre de Mapa de Karnaugh y diagrama de Veitch.
Cada una de las combinaciones de la variable en una tabla de verdad se denomina un
Miniterm. Por ejemplo, tenemos la siguiente tabla de verdad:
Esta tabla posee ocho miniterm. Una función de “n” variables cuando equivalente a 2n
números binarios obtenidos de los n dígitos. Una función Booleana será igual a 1 para
algunos miniterm y a 0 para los otros. La información contenida en una tabla de verdad
puede expresarse en forma compacta enumerando el decimal equivalente de aquellos,
miniterm que producen un 1 para la función Por ejemplo la tabla anterior puede expresarse
de la siguiente forma:

Las letras en paréntesis enumeran las variables binarias en el orden que ellas aparecen en la
tabla de verdad. El símbolo

se utiliza para la suma de los miniterms que siguen en el paréntesis. Los miniterms que
producen en la salida un 1 para la función se enumeran con su equivalente decimal
respectivo. Los miniterms que no aparecen en la lista son los que producen 0 para la
función Booleana.
El mapa es un diagrama hecho de cuadrados, en que cada cuadrado representa un miniterm.
Los cuadrados a los miniterm que producen 1 para la función se marcan con un “1” y los
restantes con “0” o se dejan vacíos.
Para reconocer varios patrones y combinar cuadrados marcados por 1 en el mapa, es
posible derivar las expresiones algebraicas alternas para la función, a partir de las cuales se
puede seleccionar la más conveniente.
Los mapas para las funciones de dos, tres y cuatro variables se muestran en la siguiente
figura.
El número de cuadrados en un mapa de “n” variables es 2n minitern y son listados por un
número decimal equivalente para fácil referencia. Los números de miniterms son asignados
en un arreglo ordenado de tal manera que los cuadrados adyacentes representen los
miniterms que difieren solamente en una variable. Los nombres de las variables son listados
a través de ambos lados de la línea diagonal en la esquina del mapa. Los 1 y 0 marcados a
lo largo de cada fila y de cada columna designan el valor de las variables. Cada variable
debajo de los paréntesis contiene la mitad de los cuadrados en el mapa en donde aquella
variable aparece sin comillas (no complementada). La variable aparece con un comilla
(complementada) en la mitad de los cuadrados. Toda la información que aparece en los
mapas de la figura, no siempre es necesaria, en ésta oportunidad se muestra solamente a
modo explicativo.
El miniterm representado por un cuadrado es determinado de la asignación binaria de las
variables a lo largo de los bordes izquierdo y superior del mapa.
A continuación se muestran algunos ejemplos de representación en mapa de Karnaugh de
distintas funciones a partir de su tabla de verdad, éste mapa representará los valores a
minimizar cuando la función arroje un valor igual a 1.
a) Mapa de Karnaugh para representar dos variables
b) Mapa de Karnaugh para representar tres variables
c) Mapa de Karnaugh para representar cuatro variables

Naturalmente hemos representado la forma más simple que corresponde a lo más 2


entradas. Nuestro estudio apunta a la realización de funciones Booleanas. En general, cada
variable será representativa de alguna condicionante que pudiera tener sólo 2 valores de
verdad.
Una serie de condicionantes y la o las acciones que se deseen ejecutar de acuerdo al estado
de dichas condiciones podrán ser representadas por una expresión Booleana. Dicha
expresión Booleana podrá posteriormente implementarse mediante circuitos electrónicos
capaces de reconocer 2 estados (0,1). Lo que a continuación se estudia es la forma de
obtener una expresión lo más simple posible para la representación de una función. De esta
forma podremos posteriormente obtener un circuito electrónico menos complejo.
Minimizacion de funciones booleanas.
Veamos un ejemplo:

(1) 6 AND de 4 entradas + 1 OR de 6 entradas.


(2) 2 OR de 2 entradas + 3 AND de 2 entradas.
(3) 4 AND de 3 entradas + 1 OR de 4 entradas.
Observaciones: El circuito (2) es más simple pero debe notarse que las señales A y B en el
caso (2) pasan a través de 3 niveles previo a procesar la salida.
Cualquier suma de producto o producto de suma puede realizarse por circuitos de 2 niveles
donde estos pueden ser AND - OR / OR - AND /NAND - NAND/NOR - NOR. Este tipo de
expresiones se dice una expresión de 2º orden o circuito de 2º orden.
Un circuito como el (2) que corresponde a uno de mayor orden se dice un circuito
factorizado. Este nombre proviene del hecho de que el proceso a partir de uno de 2º orden
es muy similar a un proceso de factorización del álgebra convencional.
Este tipo de factorización se basa principalmente en prueba y error y en la habilidad para
recordar que cierto tipo de productos tienen dicha factorización.
A continuación se desarrolla un proceso de minimización en el cual se obtienen expresiones
de 2º orden.
Definición: Una expresión suma de productos de 2º orden se dirá mínima
si:
a) No existe una expresión equivalente con menos productos
b) No hay una expresión equivalente que contenga el mismo número de productos, pero
con menos cantidad de variables
Igual enunciado vale para expresiones de producto de sumas, en las cuales se debe
reemplazar producto por suma y viceversa.
Nota: Puede existir más de una representación mínima.
Ejemplo:
Notemos que los 2 primeros términos se combinan para dar:

i) m0 y m1 son adyacentes, en ellos sólo cambia la variable “c”.


ii) al unir m0 y m1 observamos que no aparece la variable que marca la distancia entre
ambos minterm, es decir la variable “c”.
iii) igual caso entre m4 y m6.

Luego, en la agrupación restante se han eliminado A y C, las cuales son las variables que
cambian de valor. Así agrupando 2k minterm adyacentes pueden eliminarse k variables de
una función.

Minimizar de la forma anterior es más complicado que si se aplica un mapa de Karnaugh.

También podría gustarte